<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:dcterms="http://purl.org/dc/terms/"
     xmlns:media="http://search.yahoo.com/mrss/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:cf="https://www.futureplc.com/rss/content-flags"
>
    <channel>
                    <atom:link href="https://www.pcgamer.com/feeds/articletype/deals/" rel="self" type="application/rss+xml" />
                            <title><![CDATA[ Latest from PC Gamer in Deals ]]></title>
                <link>https://www.pcgamer.com/deals</link>
        <description><![CDATA[ All the latest deals content from the PC Gamer team ]]></description>
                                    <lastBuildDate>Thu, 22 Oct 2026 10:04:38 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ Best Black Friday controller deals ]]></title>
                                                                                                <dc:content><![CDATA[ <p>If there's one thing I'm sure of this November, it's that there will be some great Black Friday controller deals going around. It's going to still be tough to get full systems, graphics cards, and especially memory and storage at big discounts, but there will be peripherals going for a song. That's particular exciting because things have been changing in controllers over the past year, and previous models are still quality, but will likely have big discounts attached to them.</p><p><strong>👉</strong><a href="https://www.pcgamer.com/black-friday-pc-gaming-deals/" target="_blank"><strong>All our favorite Black Friday PC gaming deals</strong></a><strong>👈</strong></p><p>When it comes to the key high-end technology of today, such as TMR sticks and Hall effect triggers, that isn't necessarily the preserve of the super-premium $200 controllers. Companies such as GameSir and Easy SMX have brought these features down into the mainstream and you can find some of the <a href="https://www.pcgamer.com/best-controller-for-pc-gaming/" target="_blank">best PC controllers</a> sporting them for bargain prices right now. </p><h2 id="where-to-find-the-best-black-friday-controller-deals">Where to find the best Black Friday controller deals</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.com/s?k=controllers&crid=39ANCIZGH03O&sprefix=controller%2Caps%2C179&ref=nb_sb_noss_1" target="_blank"><strong>All the pads you could ever want</strong></a></li><li><strong>Walmart:</strong> <a href="https://www.walmart.com/search?q=controllers" target="_blank">Solid controllers, series savings</a></li><li><strong>Best Buy:</strong> <a href="https://www.bestbuy.com/site/searchpage.jsp?id=pcat17071&st=controllers" target="_blank">Big name pads with big value discounts</a></li><li><strong>Newegg:</strong> <a href="https://www.newegg.com/p/pl?d=controllers" target="_blank">Big savings on big brand controllers</a></li></ul><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-t4n1495 *:not(svg):not(path) { box-sizing: border-box; }    #widget-t4n1495 h1, #widget-t4n1495 p, #widget-t4n1495 h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-t4n1495, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-t4n1495); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-t4n1495 tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-t4n1495 tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-t4n1495 td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-t4n1495: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-t4n1495: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-t4n1495 td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-t4n1495 td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-t4n1495 td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-t4n1495 td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-t4n1495 td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-t4n1495 td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-t4n1495: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-t4n1495: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-t4n1495"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 55 controller reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Controller";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%228NKgZmo3fxQQhxjqHrn2AB%22%2C%22title%22%3A%22Scuf%20Omega%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fscuf-omega-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-07T15%3A02%3A11Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FPfiU4gZmnbsVoGaYsi3iY8.jpg%22%2C%22strapline%22%3A%22Closer%20to%20an%20Alpha%20or%20Beta%20than%20an%20Omega.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22wireless%20controller%22%2C%22wired%20controller%22%2C%22game%20controller%22%2C%22PC%20controller%22%2C%22Scuf%22%2C%22Scuf%20Omega%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22Closer%20to%20an%20Alpha%20or%20Beta%20than%20an%20Omega.%22%7D%2C%7B%22id%22%3A%22UqYpGJHzTjVNBBmU2SrrJn%22%2C%22title%22%3A%22GameSir%20T7%20Pro%20Sugar%20Whirl%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fgamesir-t7-pro-sugar-whirl-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-14T13%3A13%3A19Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fmx7yo6es2nmRYz34Vbuagg.jpg%22%2C%22strapline%22%3A%22Not%20quite%20the%20sweetest%20of%20treats.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22Review%22%2C%22Hardware%22%2C%22GameSir%22%2C%22Xbox%20Wireless%20Controller%22%2C%22Pink%22%2C%22Blue%22%2C%22purple%22%2C%22wireless%20controller%22%2C%22charging%22%2C%22charging%20stand%22%2C%22dock%22%2C%22TMR%20sticks%22%2C%22Hall%20effect%22%5D%2C%22score%22%3A75%2C%22summary%22%3A%22Not%20quite%20the%20sweetest%20of%20treats.%22%7D%2C%7B%22id%22%3A%22LxaJz5yKcWogc5hm5z84mj%22%2C%22title%22%3A%22GameSir%20G7%20Pro%208K%20Aimlabs%20Edition%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fgamesir-g7-pro-8k-aimlabs-edition-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-05-01T11%3A37%3A15Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FuT6Y9ABVa5DY9xXcAJrEwf.jpg%22%2C%22strapline%22%3A%22Would%20you%20pay%20%2410%20more%20for%20higher%20polling%3F%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22PC%20controller%22%2C%22game%20controller%22%2C%22wireless%20controller%22%2C%22Hardware%22%2C%22GameSir%22%2C%22GameSir%20G7%20Pro%208K%22%2C%22TMR%22%2C%22TMR%20sticks%22%2C%22GameSir%20g7%20Pro%208K%20Aimlabs%20Edition%22%5D%2C%22score%22%3A84%2C%22summary%22%3A%22Would%20you%20pay%20%2410%20more%20for%20higher%20polling%3F%22%7D%2C%7B%22id%22%3A%22B4p3aPJNV2Ckc47kSywXKQ%22%2C%22title%22%3A%22Steam%20Controller%20(2026)%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fsteam-controller-2026-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-04-27T17%3A00%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FaUXA7Xr75b7Xuvt2S6eeKY.jpg%22%2C%22strapline%22%3A%22Second%20time's%20the%20charm.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Valve%22%2C%22Steam%20Controller%22%2C%22controller%22%2C%22game%20pad%22%2C%22Steam%22%5D%2C%22score%22%3A83%2C%22summary%22%3A%22Second%20time's%20the%20charm.%22%7D%2C%7B%22id%22%3A%22WRLnnowV6sabshmTC8HujQ%22%2C%22title%22%3A%22EasySMX%20D05%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Feasysmx-d05-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-31T15%3A00%3A43Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FPqjBcwBzNJUwKiWav7NBZF.jpg%22%2C%22strapline%22%3A%22You%20can%20get%20Hall%20effect%20controllers%20slightly%20cheaper%2C%20but%20you'd%20struggle%20to%20find%20as%20feature-rich%20a%20package%20without%20some%20heavy%2C%20heavy%20sales.%20%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22wired%20controller%22%2C%22wireless%20controller%22%2C%22budget%22%2C%22Hall%20effect%22%2C%22EasySMX%22%2C%22EasySMX%20D10%22%2C%22Hardware%22%5D%2C%22score%22%3A87%2C%22summary%22%3A%22You%20can%20get%20Hall%20effect%20controllers%20slightly%20cheaper%2C%20but%20you'd%20struggle%20to%20find%20as%20feature-rich%20a%20package%20without%20some%20heavy%2C%20heavy%20sales.%20%22%7D%2C%7B%22id%22%3A%22fM5EQd4AH6qDUADhLjdeqe%22%2C%22title%22%3A%22EasySMX%20D10%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Feasysmx-d10-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-27T15%3A14%3A14Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FUgLVpPDZm7T9ZV36sAHGz4.jpg%22%2C%22strapline%22%3A%22A%20feature-rich%20budget%20TMR%20controller%20that%20only%20sometimes%20feels%20like%20a%20compromise.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22game%20controller%22%2C%22budget%22%2C%22TMR%22%2C%22TMR%20sticks%22%2C%22Hall%20effect%22%2C%22Review%22%2C%22Hardware%22%5D%2C%22score%22%3A80%2C%22summary%22%3A%22A%20feature-rich%20budget%20TMR%20controller%20that%20only%20sometimes%20feels%20like%20a%20compromise.%22%7D%2C%7B%22id%22%3A%22euxMmPNTRBtjcL6Rz4W3kD%22%2C%22title%22%3A%22Hyperkin%20Competitor%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fhyperkin-competitor-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-24T11%3A59%3A23Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F3TEoYfnGkzXiCm8xisUHGZ.jpg%22%2C%22strapline%22%3A%22It%20competes%20with%20a%20home%20field%20advantage%20on%20bang%20for%20buck%2C%20but%20can%20fall%20short%20on%20away%20games.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22controller%22%2C%22game%20pad%22%2C%22Hyperkin%22%5D%2C%22score%22%3A72%2C%22summary%22%3A%22It%20competes%20with%20a%20home%20field%20advantage%20on%20bang%20for%20buck%2C%20but%20can%20fall%20short%20on%20away%20games.%22%7D%2C%7B%22id%22%3A%22fjGZ5xcK8LaBGjLhbCCzjU%22%2C%22title%22%3A%22Moza%20AB9%20FFB%20Base%20%2B%20MH16%20Flightstick%20%2B%20MTP%20Throttle%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fmoza-ab9-ffb-base-mh16-flightstick-mtp-throttle-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-02-18T14%3A48%3A01Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F7sPx82rcLMVn5XmFgPZj97.jpg%22%2C%22strapline%22%3A%22One%20for%20the%20serious%20flight%20simmers%2C%20but%20a%20very%20impressive%20experience.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Flight%20Sims%22%2C%22force%20feedback%22%2C%22MOZA%22%2C%22joystick%22%2C%22flight%20stick%22%2C%22throttle%20controller%22%2C%22Moza%20AB9%20FFB%20Base%22%2C%22Moza%20MH16%20Flightstick%22%2C%22MSFS%202024%22%5D%2C%22score%22%3A86%2C%22summary%22%3A%22One%20for%20the%20serious%20flight%20simmers%2C%20but%20a%20very%20impressive%20experience.%22%7D%2C%7B%22id%22%3A%22NobwmgxJUWpkrLFPmkrnxL%22%2C%22title%22%3A%22Victrix%20Pro%20BFG%20Reloaded%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fvictrix-pro-bfg-reloaded-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222025-11-05T10%3A33%3A51Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fw5YASeamdYp7YnYfoUvq.jpg%22%2C%22strapline%22%3A%22A%20boon%20for%20fight%20pad%20lovers%2C%20but%20not%20a%20controller%20for%20the%20mainstream.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22PDP%22%2C%22Turtle%20Beach%22%2C%22Hardware%22%2C%22controller%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20boon%20for%20fight%20pad%20lovers%2C%20but%20not%20a%20controller%20for%20the%20mainstream.%22%7D%2C%7B%22id%22%3A%22ifyAnNg9BLtnbkM7627JrR%22%2C%22title%22%3A%228BitDo%20Pro%203%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2F8bitdo-pro-3-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222025-10-24T16%3A21%3A45Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F2ViNbtNwhhNsspHfd3k2A5.jpg%22%2C%22strapline%22%3A%22My%20new%20everyday%20controller%2C%20despite%20its%20flaws.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22controller%22%2C%22wireless%20controller%22%2C%228bitdo%22%2C%228BitDo%20Pro%203%22%2C%22PC%20controller%22%5D%2C%22score%22%3A76%2C%22summary%22%3A%22My%20new%20everyday%20controller%2C%20despite%20its%20flaws.%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 55;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Controller Widget"></iframe></div><h2 class="article-body__section" id="section-black-friday-controller-deals"><span>Black Friday controller deals </span></h2><div class="product"><a data-dimension112="f2d49b12-cf90-11f1-956f-affb4a3fb0cb" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="$24.99" href="https://www.walmart.com/ip/GameSir-Nova-Lite-USB-Gamepad-Wireless-Bluetooth-Joystick-for-Apple-Arcade-Games/5394301595" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:425px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qrNkN3FB5J5tnFHGYuiYtE" name="Nova Lite" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qrNkN3FB5J5tnFHGYuiYtE-1920-80.jpg" mos="" align="middle" fullscreen="" width="425" height="425" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>It's incredible to think you can spend so little and get a stick drift-resistant wireless controller that doesn't completely suck. Luckily for the GameSir Nova Lite, it does all of the above and manages to feel good and light in the hands, too. </p><p><strong>Key specs: Wireless (Bluetooth and 2.4 GHz) | Asymmetric | Hall effect</strong><a class="view-deal button" href="https://www.walmart.com/ip/GameSir-Nova-Lite-USB-Gamepad-Wireless-Bluetooth-Joystick-for-Apple-Arcade-Games/5394301595" target="_blank" rel="nofollow" data-dimension112="f2d49b12-cf90-11f1-956f-affb4a3fb0cb" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="$24.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49b80-cf90-11f1-b190-2d446c3cfe10" data-action="Deal Block" data-label="Ultimate 2C" data-dimension48="Ultimate 2C" data-dimension25="$29.99" href="https://www.amazon.com/dp/B0D736BCNM/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="VzGnuWAwAyES8AAmGqAW9d" name="8BitDo Ultimate 2C Wireless Controller.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VzGnuWAwAyES8AAmGqAW9d-1920-80.jpg" mos="" align="middle" fullscreen="" width="200" height="200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0D736BCNM/?th=1" target="_blank" rel="nofollow" data-dimension112="f2d49b80-cf90-11f1-b190-2d446c3cfe10" data-action="Deal Block" data-label="Ultimate 2C" data-dimension48="Ultimate 2C" data-dimension25="$29.99">Ultimate 2C: $29.99</a></strong><br>We've already raved about Hall effect joysticks and how they spell the end for the dreaded stick drift. In this wireless gaming controller, they're a welcome feature, but this handful of gaming hardware packs a few quirky surprises too. For instance, there are <em>extra </em>bumper buttons.</p><p><strong>Key specs: Hall effect sticks, triggers | 2.4G wireless | 19 h battery</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0D736BCNM/?th=1" target="_blank" rel="nofollow" data-dimension112="f2d49b80-cf90-11f1-b190-2d446c3cfe10" data-action="Deal Block" data-label="Ultimate 2C" data-dimension48="Ultimate 2C" data-dimension25="$29.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49be4-cf90-11f1-8803-cb1cb1128c9d" data-action="Deal Block" data-label="Ultimate 3-mode" data-dimension48="Ultimate 3-mode" data-dimension25="$39.99" href="https://www.amazon.com/Ultimate-Controller-Joysticks-Triggers-Gaming-Console/dp/B0D1VHH4C5?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="TsR8EiJ3DDMXkFgnBrMDYB" name="PCGamer Deal Block (34)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TsR8EiJ3DDMXkFgnBrMDYB-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Ultimate-Controller-Joysticks-Triggers-Gaming-Console/dp/B0D1VHH4C5?th=1" target="_blank" rel="nofollow" data-dimension112="f2d49be4-cf90-11f1-8803-cb1cb1128c9d" data-action="Deal Block" data-label="Ultimate 3-mode" data-dimension48="Ultimate 3-mode" data-dimension25="$39.99">Ultimate 3-mode: was $69.99 now $39.99</a></strong><br>Though not the latest Ultimate controller to date, it is the best-priced right now, and with a cute included charging dock and stick-drift-resistant sticks, it's sure to last you a long time. The only real caveat to me is the 250 Hz polling (200 Hz wireless), which is better than Sony and Microsoft, but it means a 4-5 ms response time to your device. </p><p><strong>Key specs: Wired and Wireless | Hall effect joysticks and impulse triggers | 2 back paddle buttons | 3.5 mm jack | up to 250 Hz polling | 250 g</strong><a class="view-deal button" href="https://www.amazon.com/Ultimate-Controller-Joysticks-Triggers-Gaming-Console/dp/B0D1VHH4C5?th=1" target="_blank" rel="nofollow" data-dimension112="f2d49be4-cf90-11f1-8803-cb1cb1128c9d" data-action="Deal Block" data-label="Ultimate 3-mode" data-dimension48="Ultimate 3-mode" data-dimension25="$39.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49c48-cf90-11f1-96fc-4774f6b5c449" data-action="Deal Block" data-label="X05 Pro" data-dimension48="X05 Pro" data-dimension25="$45.99" href="https://www.amazon.com/EasySMX-X05Pro-Wireless-Gaming-Controller-Charging/dp/B0GVS7HTWZ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:425px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="3eZyZnfyR9iAHvwpLaYTFo" name="D05" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/3eZyZnfyR9iAHvwpLaYTFo-1920-80.jpg" mos="" align="middle" fullscreen="" width="425" height="425" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The X05 Pro doesn't look like a budget controller. It uses Hall effect for the thumbsticks, which makes it resistant to stick drift. Moreover, it's wireless and comes with a charging dock. It's an easy pick even at full price.</p><p><strong>Key specs: Wireless (2.4 + Bluetooth) | HE sticks </strong><a class="view-deal button" href="https://www.amazon.com/EasySMX-X05Pro-Wireless-Gaming-Controller-Charging/dp/B0GVS7HTWZ" target="_blank" rel="nofollow" data-dimension112="f2d49c48-cf90-11f1-96fc-4774f6b5c449" data-action="Deal Block" data-label="X05 Pro" data-dimension48="X05 Pro" data-dimension25="$45.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49cac-cf90-11f1-b539-5f731982b2fb" data-action="Deal Block" data-label="Wireless controller" data-dimension48="Wireless controller" data-dimension25="$49.49" href="https://www.walmart.com/ip/Microsoft-Xbox-Wireless-Controller-Carbon-Black/15060559533?classType=VARIANT&athbdg=L1200&from=/search" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="YTRwUu9W6d8x3mJzaimi69" name="1781604007.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YTRwUu9W6d8x3mJzaimi69-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="2000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/Microsoft-Xbox-Wireless-Controller-Carbon-Black/15060559533?classType=VARIANT&athbdg=L1200&from=/search" target="_blank" rel="nofollow" data-dimension112="f2d49cac-cf90-11f1-b539-5f731982b2fb" data-action="Deal Block" data-label="Wireless controller" data-dimension48="Wireless controller" data-dimension25="$49.49">Wireless controller: was $64 now $49.49</a></strong><br>It may be vulnerable to stick drift (and that's a big downside), but it's hard to deny the quality on show with Microsoft's Xbox controller. Textured grips, clicky buttons, a nice weight and feel: it's got everything you need, ergonomically speaking.</p><p><strong>Key specs: Wireless | Asymmetric sticks </strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/microsoft-xbox-wireless-controller-for-xbox-series-x-xbox-series-s-xbox-one-pcs-and-cloud-enabled-devices-deep-pink/JJGXPXQ257" target="_blank">Best Buy $69.99</a> | <a href="https://www.amazon.com/Xbox-Wireless-Gaming-Controller-Headsets-Console/dp/B0F1J12R6N/ref=sr_1_3" target="_blank">Amazon $54.99</a></p></div><div class="product"><a data-dimension112="f2d49d10-cf90-11f1-8cdb-b190f9520499" data-action="Deal Block" data-label="Valor Pro (wired)" data-dimension48="Valor Pro (wired)" data-dimension25="$109.95" href="https://www.amazon.com/gp/aw/d/B0DTB3F17W" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:964px;"><p class="vanilla-image-block" style="padding-top:98.96%;"><img id="Cyg8mvo5nBb2p5NVftwaoj" name="1792663014.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Cyg8mvo5nBb2p5NVftwaoj-1920-80.jpg" mos="" align="middle" fullscreen="" width="964" height="954" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/gp/aw/d/B0DTB3F17W" target="_blank" rel="nofollow" data-dimension112="f2d49d10-cf90-11f1-8cdb-b190f9520499" data-action="Deal Block" data-label="Valor Pro (wired)" data-dimension48="Valor Pro (wired)" data-dimension25="$109.95">Valor Pro (wired): $109.95</a></strong><br>This is the <a href="https://www.pcgamer.com/best-controller-for-pc-gaming/#section-the-best-wired-controller" target="_blank">best wired controller for PC gaming</a> because it's just so damn satisfying to use. Everything about it screams quality, from the clicky DPAD to thunky back paddles. And it's fairly modular and customizable, too.</p><p><strong>Key specs: Wired (USB-C) | Hall effect thumbsticks | 260 g</strong></p><p><strong>Price check: </strong><a href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-black" target="_blank">Scuf OOS</a><a class="view-deal button" href="https://www.amazon.com/gp/aw/d/B0DTB3F17W" target="_blank" rel="nofollow" data-dimension112="f2d49d10-cf90-11f1-8cdb-b190f9520499" data-action="Deal Block" data-label="Valor Pro (wired)" data-dimension48="Valor Pro (wired)" data-dimension25="$109.95">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49d6a-cf90-11f1-860e-0521650de222" data-action="Deal Block" data-label="Wolverine V3 Pro 8K" data-dimension48="Wolverine V3 Pro 8K" data-dimension25="$151.99" href="https://www.amazon.com/dp/B0FC9DTDJ3" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="oyWyECCjM2npsCm4FAktzU" name="PCGamer Deal Block (9)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oyWyECCjM2npsCm4FAktzU-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>With a great feel, superb specs, and a bunch of remappable buttons, the Wolverine V3 Pro 8K is not only viable as a competitive choice, but comfy enough for everyday use. </p><p><strong>Key specs: Up to 8,000 Hz | TMR thumbsticks | Hall effect triggers |</strong> <strong>included carry case | Wireless and wired | 20 hour battery life (with 1,000 Hz polling)</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FC9DTDJ3" target="_blank" rel="nofollow" data-dimension112="f2d49d6a-cf90-11f1-860e-0521650de222" data-action="Deal Block" data-label="Wolverine V3 Pro 8K" data-dimension48="Wolverine V3 Pro 8K" data-dimension25="$151.99">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><div class="vizualizer-embed"><fc-author-commerce-widget data-fcaw-version="1" data-fcaw-full-bleed="false">  <style data-fcaw-host-protection>fc-author-commerce-widget[data-fcaw-version="1"] {  display: block !important;  width: 100% !important;  min-width: 0 !important;  max-width: none !important;  isolation: isolate !important;  contain: style !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]{  width: min(    1200px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1200px !important;  margin-left: var(    --fcaw-full-bleed-offset,    calc(50% - min(600px, 50vw))  ) !important;  margin-right: 0 !important;  position: relative !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]  #tg-df-spreadsheet-filters {  width: min(    1500px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1500px !important;  margin-left: calc(    (      100% -      min(1500px, var(--fcaw-viewport-width, 100vw))    ) / 2  ) !important;  margin-right: 0 !important;}fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::before,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::after {  box-sizing: border-box;}</style>  <div data-fcaw-fallback class="fcaw-v1-fallback">    <style>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with 'tg-df-' to prevent CMS style leakage.    */    .tg-df-container { user-select: text; -webkit-user-select: text;      container-type: inline-size;      container-name: tg-df;                  --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]    {      width: min(        1200px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1200px !important;      margin-left: calc(        (          100% -          min(1200px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;      position: relative !important;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]      #tg-df-spreadsheet-filters {      width: min(        1500px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1500px !important;      margin-left: calc(        (          100% -          min(1500px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: var(--tg-df-blue);    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }        .tg-df-filters {      display: flex;      justify-content: center;      width: 100%;      gap: 12px;      margin: 0 auto;      max-width: 42rem;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;      max-width: 280px;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    .tg-df-scroll-btn {      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 4px;    }    .tg-df-scroll-btn.right {      right: 4px;    }    @container tg-df (max-width: 768px) {      .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;      margin: 0 auto;    }    .tg-df-filters {        justify-content: center;        width: 100%;        margin: 0 auto;        margin-bottom: -320px;        padding: 0 0 320px 0;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: calc(100% + 32px);      max-width: none;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;      margin: 0 -16px -16px -16px;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }    .tg-df-buying-guide-badge {      left: auto;      right: 12px;      max-width: calc(100% - 24px);      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges { position: absolute; bottom: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; z-index: 10; }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-card-listings {      margin: 0 0 12px;    }    .tg-df-card-listings-title {      display: block;      color: var(--tg-df-text-muted);      font-size: 11px;      font-weight: 700;      letter-spacing: 0.45px;      line-height: 1.2;      margin-bottom: 4px;      text-transform: uppercase;    }    .tg-df-card-listings-links {      border-top: 1px solid var(--tg-df-border);    }    .tg-df-container .tg-df-card-listing-link {      align-items: center;      border-bottom: 1px solid var(--tg-df-border);      box-sizing: border-box;      color: var(--tg-df-blue);      display: flex;      font-size: 13px;      font-weight: 700;      justify-content: space-between;      line-height: 1.2;      min-height: 34px;      padding: 5px 2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-listing-link::after {      content: '↗';      font-size: 14px;      font-weight: 600;      margin-left: 8px;    }    .tg-df-container .tg-df-card-listing-link:hover,    .tg-df-container .tg-df-card-listing-link:focus-visible {      background: #f8fafc;      color: var(--tg-df-blue);      outline: 2px solid var(--tg-df-blue);      outline-offset: -2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: calc(100% + 32px);      max-width: none;      box-sizing: border-box;      background-color: var(--tg-df-blue);      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;      margin: 0 -16px -16px -16px;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      filter: brightness(0.85);    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /* Optional mobile 2x2 filter grid */    .tg-df-mobile-2x2-container {      display: none;      width: 100%;      margin: 0 0 16px 0;      position: relative;      z-index: 30;    }    .tg-df-mobile-2x2-grid {      display: grid;      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);      width: 100%;      border: 1px solid var(--tg-df-border, #e2e8f0);      background: var(--tg-df-bg, #ffffff);    }    .tg-df-container .tg-df-mobile-grid-cell {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      min-width: 0;      padding: 12px 14px;      font-family: inherit;      font-size: 11px;      font-weight: 600;      line-height: 1.2;      text-transform: uppercase;      letter-spacing: 0.5px;      text-align: left;      color: var(--tg-df-text-muted, #64748b);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-mobile-grid-cell > span {      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }    .tg-df-mobile-grid-cell > svg {      flex: 0 0 auto;      margin-left: 8px;      transition: transform 0.15s ease;    }    .tg-df-mobile-grid-cell > svg.is-open {      transform: rotate(180deg);    }    .tg-df-mobile-grid-cell {      border-bottom: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-grid-cell:nth-child(odd) {      border-right: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-2x2-grid--even .tg-df-mobile-grid-cell:nth-last-child(-n + 2) {      border-bottom: 0;    }    .tg-df-mobile-2x2-grid--odd .tg-df-mobile-grid-cell:last-child {      grid-column: 1 / -1;      border-right: 0;      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-grid-cell.active,    .tg-df-container .tg-df-mobile-grid-cell:hover {      background: var(--tg-df-bg-secondary, #f8fafc);      color: var(--tg-df-text, #0f172a);    }    .tg-df-container .tg-df-mobile-grid-cell.has-active-filter {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;    }    .tg-df-mobile-menu-drawer {      width: 100%;      max-height: 260px;      overflow-y: auto;      overscroll-behavior: contain;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-top: 0;      background: var(--tg-df-bg, #ffffff);      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);    }    .tg-df-container .tg-df-mobile-menu-item {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      width: 100%;      min-height: 42px;      padding: 12px 16px;      font-family: inherit;      font-size: 12px;      font-weight: 500;      line-height: 1.3;      text-align: left;      color: var(--tg-df-text, #0f172a);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-bottom: 1px solid #f1f5f9;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-container .tg-df-mobile-menu-item:last-child {      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-menu-item.selected {      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.08);      font-weight: 600;    }    .tg-df-container .tg-df-mobile-menu-item:hover {      background: var(--tg-df-bg-secondary, #f8fafc);    }    .tg-df-mobile-cell-badge {      display: inline-flex;      align-items: center;      justify-content: center;      padding: 2px 6px;      margin-left: 4px;      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.1);      border-radius: 9999px;      font-size: 10px;      font-weight: 700;    }    @container tg-df (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    @media (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    /* A non-full-bleed desktop embed is constrained to the article column.       Reuse the compact filter grid there instead of squeezing the rails. */    @container tg-df (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    @media (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-mobile-authors { gap: 16px !important; }      .tg-df-mobile-authors .tg-df-author-row-item { width: 56px !important; }      .tg-df-mobile-authors .tg-df-author-img-wrapper { width: 48px !important; height: 48px !important; }      .tg-df-mobile-authors .tg-df-author-brand-logo { width: 18px !important; height: 18px !important; bottom: -2px !important; right: -2px !important; }      .tg-df-mobile-authors .tg-df-author-row-name { font-size: 11px !important; }      .tg-df-mobile-authors .tg-df-author-row-role { font-size: 10px !important; }            .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-controls {        padding: 16px 0 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 8px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    @media (max-width: 599px) {      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }        .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: var(--tg-df-blue);      position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }      .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }        .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;      scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-scroll-left {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: rgba(255, 255, 255, 0.4);      color: var(--tg-df-blue);      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);      border: none;      cursor: pointer;      transition: background-color 0.2s;      margin-top: -4px;      z-index: 10;    }    .tg-df-container .tg-df-carousel-scroll-right {      right: 0;    }    .tg-df-container .tg-df-carousel-scroll-left {      left: 0;    }    .tg-df-container .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-scroll-left:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left {       height: 30px;       width: 30px;       background-color: rgba(255, 255, 255, 0.8);       box-shadow: 0 2px 4px rgba(0,0,0,0.1);       margin-top: 0;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left:hover {       background-color: white;    }    .tg-df-container .tg-df-grid-wrapper {       position: relative;    }    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-left {       background-color: white;       box-shadow: 0 4px 12px rgba(0,0,0,0.15);       top: 40%;       width: 44px;       height: 44px;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }            .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover, .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      width: calc(100% + 24px);      border-radius: 0;      padding: 8px 10px;      margin: auto -12px -12px -12px;      background-color: var(--tg-df-blue);    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; padding-right: 12px; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @media (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }      .tg-df-container .hawk-deal-widget-title-product-title,      .tg-df-container .hawk-deal-widget-title-price,      .tg-df-container .hawk-deal-widget-title-retailer {        font-size: 14px !important;        line-height: 1.35 !important;        font-weight: 700 !important;      }      .tg-df-container .hawk-deal-widget-title-was-price {        font-size: 13px !important;        line-height: 1.35 !important;      }      .tg-df-container .hawk-deal-widget-text-body-main {        font-size: 14px !important;        line-height: 1.35 !important;        margin-bottom: 8px !important;      }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    /* BESPOKE AUTHOR HEADER STYLES - MAX ISOLATION PROTECTION */    .tg-df-author-embed {      width: 100% !important;      font-family: inherit !important;      background: transparent !important;      margin: 0 !important;      padding: 0 !important;      border: none !important;    }    .tg-df-author-section {      display: block !important;      width: 100% !important;      max-width: 100% !important;      opacity: 1 !important;      overflow: visible !important;      background: transparent !important;      border: none !important;      margin: 0 auto !important;      padding: 0 !important;      box-shadow: none !important;    }    .tg-df-author-card {      text-align: center !important;      padding: 1.75rem 1rem 1.25rem 1rem !important;      margin: 0 auto !important;      max-width: 48rem !important;      background: transparent !important;      border: none !important;      border-radius: 0 !important;      box-sizing: border-box !important;      box-shadow: none !important;    }    .tg-df-author-image {      width: 180px !important;      height: 180px !important;      border-radius: 50% !important;      object-fit: cover !important;      margin: 0 auto 0.75rem auto !important;      display: block !important;      border: none !important;      box-shadow: none !important;      max-width: 100% !important;    }    .tg-df-author-media-slot {      width: 100% !important;      height: 180px !important;      min-height: 180px !important;      margin: 0 auto 0.75rem auto !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;    }    .tg-df-author-media-slot .tg-df-author-image {      margin: 0 auto !important;    }    .tg-df-author-profile-image-wrapper {      position: relative !important;      width: 180px !important;      height: 180px !important;      margin: 0 auto 0.75rem auto !important;      flex: 0 0 auto !important;    }    .tg-df-author-profile-brand-logo {      position: absolute !important;      right: 12px !important;      bottom: 12px !important;      width: 42px !important;      height: 42px !important;      padding: 0 !important;      border: 3px solid var(--tg-df-bg, #fff) !important;      border-radius: 50% !important;      background: #000 !important;      object-fit: contain !important;      box-sizing: border-box !important;    }    .tg-df-author-curated-by {      font-size: 0.875rem !important;      color: #6B7280 !important;      font-style: normal !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      line-height: 1.4 !important;    }    .tg-df-author-name {      font-size: 2rem !important;      font-weight: 300 !important;      color: #111827 !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      line-height: 1.1 !important;      letter-spacing: -0.02em !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-role {      font-size: 0.9375rem !important;      font-weight: 500 !important;      color: var(--tg-df-blue, #1F69FF) !important;      margin: 0 0 1.25rem 0 !important;      padding: 0 !important;      line-height: 1.3 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-meta-slot {      width: 100% !important;      min-height: 88px !important;      display: flex !important;      flex-direction: column !important;      align-items: center !important;      justify-content: flex-start !important;    }    .tg-df-author-meta-slot--site {      padding-top: 1rem !important;    }    .tg-df-author-meta-slot--no-social {      min-height: 0 !important;    }    .tg-df-author-meta-slot--no-social .tg-df-author-role {      margin-bottom: 0.5rem !important;    }    .tg-df-author-social-links {      display: flex !important;      flex-wrap: wrap !important;      align-items: center !important;      justify-content: center !important;      gap: 1rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 !important;      max-width: 42rem !important;      width: 100% !important;      list-style: none !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-social-btn {      display: inline-flex !important;      align-items: center !important;      justify-content: center !important;      padding: 0 !important;      border-radius: 50% !important;      background-color: #f2f2f2 !important;      color: #111111 !important;      font-size: 0.8125rem !important;      font-weight: 500 !important;      text-decoration: none !important;      transition: all 0.2s ease !important;      border: 0 !important;      line-height: 1 !important;      box-shadow: none !important;      cursor: pointer !important;      outline: none !important;      margin: 0 !important;      height: 34px !important;      width: 34px !important;      min-width: 34px !important;      box-sizing: border-box !important;    }    .tg-df-author-social-btn:hover {      background-color: #dedede !important;      color: #111111 !important;      transform: translateY(-1px) !important;    }    .tg-df-author-social-btn > svg {      width: 19px !important;      height: 19px !important;      flex-shrink: 0 !important;      display: block !important;      margin: 0 !important;    }    .tg-df-author-social-btn[data-social-key="facebook"] > svg {      transform: scale(1.25) !important;    }    .tg-df-author-social-btn[data-social-key="pinterest"] > svg,    .tg-df-author-social-btn[data-social-key="tiktok"] > svg {      transform: scale(1.2) !important;    }    .tg-df-author-bio {      max-width: 42rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 0.5rem !important;      color: #4b5563 !important;      line-height: 1.6 !important;      font-weight: 300 !important;      font-size: 0.9375rem !important;      text-align: center !important;      background: none !important;      border: none !important;      border-radius: 0 !important;      box-shadow: none !important;      display: block !important;      height: auto !important;      overflow: visible !important;    }    .tg-df-author-bio-shell--stable {      width: 100% !important;      box-sizing: border-box !important;    }    .tg-df-author-bio--clamped {      min-height: 4.8em !important;      height: 4.8em !important;      max-height: 4.8em !important;      display: -webkit-box !important;      -webkit-box-orient: vertical !important;      -webkit-line-clamp: 3 !important;      overflow: hidden !important;    }    .tg-df-author-bio--expanded {      min-height: 4.8em !important;      height: auto !important;      max-height: none !important;      display: block !important;      overflow: visible !important;    }    .tg-df-author-bio--static,    .tg-df-author-bio--static:hover,    .tg-df-author-bio--static:focus,    .tg-df-author-bio--static:focus-visible {      outline: none !important;      box-shadow: none !important;      cursor: default !important;    }    .tg-df-author-bio-toggle-slot {      height: 28px !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;      margin: 0.125rem 0 0 !important;    }    .tg-df-author-bio-toggle {      appearance: none !important;      border: 0 !important;      border-bottom: 1px solid currentColor !important;      border-radius: 0 !important;      padding: 0.125rem 0 !important;      margin: 0 !important;      background: transparent !important;      color: #4b5563 !important;      box-shadow: none !important;      font: inherit !important;      font-size: 0.75rem !important;      font-weight: 600 !important;      line-height: 1.2 !important;      text-decoration: none !important;      text-transform: none !important;      cursor: pointer !important;    }    .tg-df-author-bio a {      color: var(--tg-df-blue, #1F69FF) !important;      text-decoration: underline !important;      font-weight: 400 !important;      background: none !important;      border: none !important;      padding: 0 !important;      margin: 0 !important;      border-radius: 0 !important;      display: inline !important;      box-shadow: none !important;    }    .tg-df-author-bio p,    .tg-df-author-bio div,    .tg-df-author-bio span {      margin: 0 !important;      padding: 0 !important;      color: inherit !important;      font: inherit !important;      line-height: inherit !important;      text-align: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-bio strong,    .tg-df-author-bio b {      font-weight: 600 !important;    }    .tg-df-author-bio em,    .tg-df-author-bio i {      font-style: italic !important;    }    @container tg-df (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @media (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @container tg-df (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @media (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }    @media (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }        .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button {      align-items: center; background-color: var(--tg-df-blue); box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;    }    .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button:hover { filter: brightness(0.85); text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-active-badges-row {      display: flex;      flex-wrap: wrap;      gap: 8px;      align-items: center;      margin-top: 12px;      margin-bottom: 16px;      width: 100%;    }    .tg-df-active-badge {      display: inline-flex;      align-items: center;      gap: 6px;      padding: 8px 14px;      background-color: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border: 1px solid var(--tg-df-blue, #1f69ff);      border-radius: 0px;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;    }    .tg-df-badge-remove {      display: inline-flex;      align-items: center;      justify-content: center;      width: 16px;      height: 16px;      border-radius: 0px;      border: none;      background: rgba(255, 255, 255, 0.25);      color: #ffffff;      cursor: pointer;      padding: 0;      margin-left: 4px;      transition: background-color 0.15s, color 0.15s;    }    .tg-df-badge-remove:hover {      background: rgba(255, 255, 255, 0.45);      color: #ffffff;    }    .tg-df-badge-clear-all {      display: inline-flex;      align-items: center;      justify-content: center;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;      padding: 8px 14px;      color: var(--tg-df-text-muted, #64748b);      cursor: pointer;      background: #ffffff;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-radius: 0px;      transition: all 0.15s ease;    }    .tg-df-badge-clear-all:hover {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border-color: var(--tg-df-blue, #1f69ff);    }    .tg-df-savings-squad-header {      margin-bottom: 24px;      text-align: center;    }    .tg-df-banner-img-desktop {      display: block;      width: 100%;      height: auto;      margin-bottom: 32px;    }    .tg-df-banner-img-mobile {      display: none;      width: 100%;      height: auto;      margin-bottom: 32px;    }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop {        display: none;      }      .tg-df-banner-img-mobile {        display: block;      }    }    .tg-df-header-title {      font-size: 28px;      font-weight: 700;      color: var(--tg-df-text);      margin: 32px 0 12px 0;      line-height: 1.3;    }    .tg-df-header-subtitle {      font-size: 16px;      color: var(--tg-df-text-muted);      margin: 0 0 32px 0;      line-height: 1.5;    }    @container tg-df (max-width: 599px) {      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    @media (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    /* Article Intro Content Styling */    .tg-df-article-content {      font-size: 1rem;      line-height: 1.7;      color: #334155;    }    .tg-df-article-content p {      margin-bottom: 1.25rem;      line-height: 1.7;      font-size: 1rem;      color: #334155;    }    .tg-df-article-content > p:first-of-type::first-letter {      font-size: 3.25rem;      font-weight: 700;      float: left;      line-height: 0.85;      margin-right: 0.5rem;      margin-top: 0.15rem;      color: #0f172a;      font-family: inherit;    }    .tg-df-article-content a {      color: #0066cc;      text-decoration: underline;      font-weight: 500;    }    .tg-df-article-content a:hover {      color: #004499;    }    .tg-df-article-content strong, .tg-df-article-content b {      font-weight: 700;      color: #0f172a;    }    .tg-df-article-section-banner {      border-bottom: 2px solid #e6007e;      margin: 2.25rem 0 1.25rem 0;      position: relative;      clear: both;    }    .tg-df-article-section-banner span {      background-color: #e6007e;      color: #ffffff;      padding: 6px 16px;      font-weight: 700;      font-size: 0.875rem;      text-transform: uppercase;      letter-spacing: 0.05em;      display: inline-block;    }  </style><div class="tg-df-widget-host" data-vizualizer-embed="true" data-tg-df-full-bleed="false" data-tg-df-mobile-dropdowns="true" data-tg-df-sticky-mobile-filters="false" style="--tg-df-blue: #DC191B;"><div class="tg-df-container article-body" style="background-color: transparent;"><div id="tg-df-spreadsheet-filters" style="display: block; margin-bottom: 16px;"><div class="tg-df-categories-row-container" style="border-bottom: 1px solid var(--tg-df-border); position: relative;"><button aria-label="Scroll left" class="tg-df-scroll-btn left tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 18l-6-6 6-6"></path></svg></button><button aria-label="Scroll right" class="tg-df-scroll-btn right tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-categories-row" style="display: flex; overflow-x: auto; scrollbar-width: none;"><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Hardware <span style="color: var(--tg-df-blue); font-size: 10px;">66</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Monitors <span style="color: var(--tg-df-blue); font-size: 10px;">9</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming PCs <span style="color: var(--tg-df-blue); font-size: 10px;">7</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Mice <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Headsets <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Audio <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">SSDs <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Storage <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Laptops <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Controllers <span style="color: var(--tg-df-blue); font-size: 10px;">1</span></button></div></div></div><div class="tg-df-mobile-2x2-container"><div class="tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--odd"><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>CATEGORIES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>PRICES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell has-active-filter" aria-expanded="false"><span>DISCOUNTS (25%+)</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button></div></div><div class="tg-df-controls" id="tg-df-controls" style="display: flex; margin-top: 12px; margin-bottom: 16px; justify-content: center;"><div class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0px auto;"><button class="tg-df-scroll-btn left" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 18l-6-6 6-6"></path></svg></button><button class="tg-df-scroll-btn right" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-filters"><div class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices"><option value="all">All Prices</option><option value="under50">Under $50</option><option value="50_100">$50 - $100</option><option value="100_200">$100 - $200</option><option value="200_500">$200 - $500</option><option value="over500">Over $500</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount"><option value="all">Any discount</option><option value="5">Min 5%</option><option value="10">Min 10%</option><option value="15">Min 15%</option><option value="20">Min 20%</option><option value="25">Min 25%</option><option value="30">Min 30%</option><option value="40">Min 40%</option><option value="50">Min 50%</option><option value="60">Min 60%</option><option value="70">Min 70%</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-review-sort-wrapper" style="display: none;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 7h16M7 12h10m-7 5h4"></path></svg><select class="tg-df-filter-select" id="tg-df-review-sort" aria-label="Sort Reviews"><option value="date_desc">Most recent</option><option value="rating_desc">Highest rating</option><option value="scored_first">Scored products first</option></select></div></div></div></div><div class="tg-df-active-badges-row" style="display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 10px; margin-bottom: 16px;"><span class="tg-df-active-badge">Min 25% off<button type="button" class="tg-df-badge-remove" aria-label="Remove Min 25% off"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></span></div><div class="tg-df-grid-wrapper"><div class="tg-df-grid article-body tg-df-grid-auto" id="tg-df-grid"><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-0" data-merchant="Amazon" data-previous-price="34.99" data-price="25.99" data-product-name="G203 | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $9</span><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G203 | Wired" class="tg-df-card-image" loading="lazy" src="http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G203 | Wired"><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G203 | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>25.99</span></span><span class="tg-df-card-msrp">$34.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Glorious" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-0" data-merchant="Amazon" data-previous-price="59.99" data-price="26.31" data-product-name="GHS Eternal | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33.68</span><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="GHS Eternal | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="GHS Eternal | 40 mm drivers"><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Glorious GHS Eternal | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>26.31</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-1" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed | Wireless"><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-86" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed"><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-87" data-merchant="Bestbuy" data-previous-price="69.99" data-price="34.98" data-product-name="Basilisk V3"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35.01</span><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Basilisk V3" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Basilisk V3"><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Basilisk V3</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>34.98</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-3" data-merchant="Amazon" data-previous-price="69.99" data-price="37.99" data-product-name="G502 Hero | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $32</span><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G502 Hero | Wired" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G502 Hero | Wired"><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G502 Hero | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>37.99</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-80" data-merchant="Amazon" data-previous-price="59.99" data-price="39.79" data-product-name="BlackShark V2 X"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20.2</span><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="BlackShark V2 X" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="BlackShark V2 X"><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer BlackShark V2 X</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.79</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-1" data-merchant="Amazon" data-previous-price="79.99" data-price="39.99" data-product-name="G432 | 50 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $40</span><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G432 | 50 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G432 | 50 mm drivers"><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G432 | 50 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-2" data-merchant="Amazon" data-previous-price="79.99" data-price="44.99" data-product-name="Kraken V4 X | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35</span><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Kraken V4 X | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Kraken V4 X | 40 mm drivers"><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Kraken V4 X | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>44.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Turtle Beach" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-5" data-merchant="Amazon" data-previous-price="99.99" data-price="54.99" data-product-name="Burst II Air | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $45</span><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Burst II Air | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Burst II Air | Wireless"><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Turtle Beach Burst II Air | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>54.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="HyperX" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-5" data-merchant="Amazon" data-previous-price="99.99" data-price="57.99" data-product-name="Cloud III | 53 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $42</span><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Cloud III | 53 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Cloud III | 53 mm drivers"><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>HyperX Cloud III | 53 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>57.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Nothing" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-15" data-merchant="Amazon" data-previous-price="79" data-price="59" data-product-name="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Nothing Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>59</span></span><span class="tg-df-card-msrp">$79</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="KTC" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-40" data-merchant="Newegg" data-previous-price="99.99" data-price="62.49" data-product-name="H24V27"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $37.5</span><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="H24V27" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="H24V27"><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>KTC H24V27</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code &quot;LDSF246&quot; for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>62.49</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Scuf" data-currency="$" data-deal-id="airedale-A97h9Ug45WeF5xPLdcoJyf-0" data-merchant="Amazon" data-previous-price="109.99" data-price="76.99" data-product-name="Valor Pro"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33</span><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Valor Pro" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Valor Pro"><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Scuf Valor Pro</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>76.99</span></span><span class="tg-df-card-msrp">$109.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Jess Kinghorn" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/controllers/the-best-wired-pc-controller-has-been-knocked-down-to-usd77-so-long-as-you-dont-mind-it-in-white" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Jess Kinghorn</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 24 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Acer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-41" data-merchant="Newegg" data-previous-price="129.99" data-price="79.99" data-product-name="AOpen 24KG1Y X3bip"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="AOpen 24KG1Y X3bip" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="AOpen 24KG1Y X3bip"><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Acer AOpen 24KG1Y X3bip</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Asus" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-82" data-merchant="Amazon" data-previous-price="129.99" data-price="79.99" data-product-name="ROG Pelta"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="ROG Pelta" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="ROG Pelta"><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Asus ROG Pelta</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-43" data-merchant="Bestbuy" data-previous-price="149.99" data-price="97.49" data-product-name="MAG 244F"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $52.5</span><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 244F" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 244F"><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 244F</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>97.49</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-UBBZiFU9BXsLfvbZ8d4awf-1" data-merchant="Walmart" data-previous-price="149.99" data-price="99" data-product-name="MAG 255XFV"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50.99</span><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 255XFV" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 255XFV"><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 255XFV</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>99</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Walmart</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/amazon-prime-day-gaming-monitor-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-load-more-control" style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1; overflow-anchor: none;"><button type="button" class="tg-df-tag-outline" aria-busy="false" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More</button></div><script type="application/ld+json">{"@context":"https://schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Product","name":"G203 | Wired","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":25.99,"url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":2,"item":{"@type":"Product","name":"GHS Eternal | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","brand":{"@type":"Brand","name":"Glorious"},"offers":{"@type":"Offer","priceCurrency":"USD","price":26.31,"url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":3,"item":{"@type":"Product","name":"G305 Lightspeed | Wireless","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":4,"item":{"@type":"Product","name":"G305 Lightspeed","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/dp/B07CMS5Q6P","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":5,"item":{"@type":"Product","name":"Basilisk V3","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":34.98,"url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":6,"item":{"@type":"Product","name":"G502 Hero | Wired","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":37.99,"url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":7,"item":{"@type":"Product","name":"BlackShark V2 X","image":"https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg","description":"The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.79,"url":"https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":8,"item":{"@type":"Product","name":"G432 | 50 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg","description":"Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.99,"url":"https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":9,"item":{"@type":"Product","name":"Kraken V4 X | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg","description":"If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":44.99,"url":"https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":10,"item":{"@type":"Product","name":"Burst II Air | Wireless","image":"https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg","description":"We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99","brand":{"@type":"Brand","name":"Turtle Beach"},"offers":{"@type":"Offer","priceCurrency":"USD","price":54.99,"url":"https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":11,"item":{"@type":"Product","name":"Cloud III | 53 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg","description":"We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99","brand":{"@type":"Brand","name":"HyperX"},"offers":{"@type":"Offer","priceCurrency":"USD","price":57.99,"url":"https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":12,"item":{"@type":"Product","name":"Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)","image":"https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png","description":"These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response","brand":{"@type":"Brand","name":"Nothing"},"offers":{"@type":"Offer","priceCurrency":"USD","price":59,"url":"https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":13,"item":{"@type":"Product","name":"H24V27","image":"https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png","description":"This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code "LDSF246" for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA","brand":{"@type":"Brand","name":"KTC"},"offers":{"@type":"Offer","priceCurrency":"USD","price":62.49,"url":"https://www.newegg.com/p/3D4-007C-00016","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":14,"item":{"@type":"Product","name":"Valor Pro","image":"https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png","description":"This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks","brand":{"@type":"Brand","name":"Scuf"},"offers":{"@type":"Offer","priceCurrency":"USD","price":76.99,"url":"https://www.amazon.com/dp/B0DTB3QCS5","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":15,"item":{"@type":"Product","name":"AOpen 24KG1Y X3bip","image":"https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png","description":"With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"Acer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.newegg.com/p/N82E16824011533","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":16,"item":{"@type":"Product","name":"ROG Pelta","image":"https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg","description":"With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life","brand":{"@type":"Brand","name":"Asus"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":17,"item":{"@type":"Product","name":"MAG 244F","image":"https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png","description":"With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":97.49,"url":"https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":18,"item":{"@type":"Product","name":"MAG 255XFV","image":"https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg","description":"You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":99,"url":"https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174","seller":{"@type":"Organization","name":"Walmart"}}}}]}</script></div></div><div class="tg-df-modal-backdrop "><div class="tg-df-modal"><div class="tg-df-modal-header"><h3 class="tg-df-modal-title">Available Coupons & Deals</h3><button class="tg-df-modal-close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="tg-df-modal-body"><div class="tg-df-message">No active vouchers found for .</div></div></div></div></div></div>  </div>  <script type="application/json" data-fcaw-config>{"authorBioLength":"short","authorFullBleed":false,"authorHandle":"all-authors","authorName":"All authors","backgroundColor":"transparent","customBio":"","discountAmount":"25","editorMode":false,"editorialMaxAgeMonths":"0","includeBuyingGuideProducts":false,"includeCollections":false,"includeDeals":true,"includeReviewProducts":false,"mobileDropdowns":true,"stickyMobileFilters":false,"offerType":"","preloadReviewInventory":false,"lightweightReviewDelivery":false,"hideHawkPrices":false,"prioritiseCommercialProducts":true,"priceRange":"all","productSelection":"mix","query":"","region":"auto","resultCount":"6","retailer":"","selectedBrands":[],"showAuthorBio":false,"showAuthorCounters":true,"showAuthorIdentity":false,"showAuthorRail":false,"showBrandRail":false,"showCategoryRail":true,"showCollectionsDropdown":false,"showPriceDiscountFilters":true,"showReviewSort":false,"showSocialButtons":false,"showCountdown":false,"showHeaderDetails":true,"showFreeformTagRail":false,"sort":"price_asc","viewMode":"author","website":"pcgamer","widgetSubtitle":"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.","widgetTitle":"Top Deals Handpicked by Our Editors","brands":[],"shortenedHeadlines":{},"compactEmbed":true}</script>  <script type="application/json" data-fcaw-preload>{"authors":[{"bioLong":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","bioShort":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","name":"James","fullName":"James Bentley","handle":"james-bentley","role":"Hardware writer","image":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","brandKey":"pcgamer"},{"bioLong":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","bioShort":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","name":"Dave","fullName":"Dave James","handle":"dave-james","role":"Editor-in-Chief, Hardware","image":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/not_the_gk","label":"X (Twitter)"},{"key":"email","href":"mailto:dave.james@futurenet.com","label":"Email"}]},{"bioLong":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","bioShort":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","name":"Jacob","fullName":"Jacob Fox","handle":"jacob-fox","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","brandKey":"pcgamer"},{"bioLong":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","bioShort":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","name":"Andy","fullName":"Andy Edser","handle":"andy-edser","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","brandKey":"pcgamer"},{"bioLong":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","bioShort":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","name":"Jess","fullName":"Jess Kinghorn","handle":"jess-kinghorn","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/KoeniginKatze","label":"X (Twitter)"},{"key":"linkedin","href":"https://www.linkedin.com/in/jess-kinghorn","label":"LinkedIn"}]}],"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"activeDealTag":null,"activeFreeformTag":null,"activeFreeformTags":[],"couponMap":{"Amazon":"has","Bestbuy":"none","Newegg":"none","Walmart":"none"},"totalAuthorCount":5,"totalDealCount":56,"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"reviewInventoryBaked":false,"regionalDealManifests":{"US":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-0","url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":25.99,"rawMsrp":34.99,"price":"25.99","msrp":"34.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $9","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362\" target=\"_blank\"\u003eBest Buy $39.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-0","url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","title":"GHS Eternal | 40 mm drivers","brand":"Glorious","productName":"GHS Eternal | 40 mm drivers","merchant":"Amazon","rawPrice":26.31,"rawMsrp":59.99,"price":"26.31","msrp":"59.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $33.68","savingType":"amount","isPrime":false,"starRating":null,"description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","text":"\u003cp\u003eWith a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20 hz - 20 kHz | 255 g\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-1","url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite budget wireless mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR\" target=\"_blank\"\u003eBest Buy $49.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-86","url":"https://www.amazon.com/dp/B07CMS5Q6P","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","title":"G305 Lightspeed","brand":"Logitech","productName":"G305 Lightspeed","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","text":"\u003cp\u003eAlready reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-87","url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","title":"Basilisk V3","brand":"Razer","productName":"Basilisk V3","merchant":"Bestbuy","rawPrice":34.98,"rawMsrp":69.99,"price":"34.98","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $35.01","savingType":"amount","isPrime":false,"starRating":null,"description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","text":"\u003cp\u003eThis mouse might be a few years old, but we scored it highly in \u003ca href=\"https://www.pcgamer.com/razer-basilisk-v3-gaming-mouse-review/\" target=\"_blank\"\u003eour review\u003c/a\u003e in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to \u003ca href=\"https://www.pcgamer.com/hardware/im-ashamed-to-say-that-this-razer-mouse-has-made-me-actually-take-a-shine-to-rgb-and-now-you-can-be-persuaded-too-for-almost-50-percent-off/\" target=\"_blank\"\u003etempt even those who usually hate RGB lighting\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-3","url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":37.99,"rawMsrp":69.99,"price":"37.99","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $32","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","text":"\u003cp\u003eThis is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133\" target=\"_blank\"\u003eBest Buy $69.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true}],"GB":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-10","url":"https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":19.99,"rawMsrp":30.99,"price":"19.99","msrp":"30.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £11","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-11","url":"https://www.amazon.co.uk/Logitech-Wireless-Lightweight-Programmable-compatible/dp/B07CGPZ3ZQ","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":19.99,"rawMsrp":27.99,"price":"19.99","msrp":"27.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £8","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite wireless budget mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays. Key specs: Wireless | 12,000 DPI | Right-handed","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite wireless budget mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-19","url":"https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/","image":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","title":"Quantum 100 | 40 mm drivers","brand":"JBL","productName":"Quantum 100 | 40 mm drivers","merchant":"Amazon","rawPrice":19.99,"rawMsrp":29.99,"price":"19.99","msrp":"29.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £10","savingType":"amount","isPrime":false,"starRating":null,"description":"JBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired","text":"\u003cp\u003eJBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-12","url":"https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":22.01,"rawMsrp":37.79,"price":"22.01","msrp":"37.79","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £15.78","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness. Key specs: Wired | 25,600 DPI | Right-handed","text":"\u003cp\u003eThis is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-23","url":"https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1","image":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","title":"G321 Lightspeed | 40 mm drivers","brand":"Logitech","productName":"G321 Lightspeed | 40 mm drivers","merchant":"Amazon","rawPrice":32.99,"rawMsrp":59.99,"price":"32.99","msrp":"59.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £27","savingType":"amount","isPrime":false,"starRating":null,"description":"This very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in his review. It won't blow you away with bass or features, but at this price it's still worth considering. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless Price check: Currys £42.99","text":"\u003cp\u003eThis very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in \u003ca href=\"https://www.pcgamer.com/hardware/gaming-headsets/logitech-g321-lightspeed-review/\" target=\"_blank\"\u003ehis review\u003c/a\u003e. It won't blow you away with bass or features, but at this price it's still worth considering.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless \u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g321-lightspeed-wireless-bluetooth-gaming-headset-black-10289632.html\" target=\"_blank\"\u003eCurrys £42.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-20","url":"https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/","image":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","title":"G335 | 40 mm drivers","brand":"Logitech","productName":"G335 | 40 mm drivers","merchant":"Amazon","rawPrice":34.99,"rawMsrp":64.99,"price":"34.99","msrp":"64.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £30","savingType":"amount","isPrime":false,"starRating":null,"description":"This Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired Price check: Currys £34.99","text":"\u003cp\u003eThis Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g335-gaming-headset-black-10227173.html\" target=\"_blank\"\u003eCurrys £34.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true}],"AU":[{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-5","url":"https://www.amazon.com.au/JBL-QuantumSOUND-Signature-Comfortable-Breathable/dp/B0D6NLHV8N","image":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","title":"Quantum 100M2","brand":"JBL","productName":"Quantum 100M2","merchant":"Amazon","rawPrice":29,"rawMsrp":59.95,"price":"29","msrp":"59.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$30.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.","text":"\u003cp\u003eIf you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-1","url":"https://www.amazon.com.au/dp/B0CMCPY4VG","image":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","title":"Nova Lite","brand":"GameSir","productName":"Nova Lite","merchant":"Amazon","rawPrice":32,"rawMsrp":45,"price":"32","msrp":"45","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$13","savingType":"amount","isPrime":false,"starRating":null,"description":"Our favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.","text":"\u003cp\u003eOur favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-15","url":"https://www.amazon.com.au/dp/B07MG5547J","image":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","title":"G502 Hero","brand":"Logitech","productName":"G502 Hero","merchant":"Amazon","rawPrice":55.99,"rawMsrp":149.95,"price":"55.99","msrp":"149.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$93.96","savingType":"amount","isPrime":false,"starRating":null,"description":"Logitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;","text":"\u003cp\u003eLogitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-8","url":"https://www.amazon.com.au/CORSAIR-Membrane-Wired-Gaming-Keyboard/dp/B0CP6BR96G","image":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","title":"K55 Core Membrane","brand":"Corsair","productName":"K55 Core Membrane","merchant":"Amazon","rawPrice":59,"rawMsrp":79.95,"price":"59","msrp":"79.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$20.95","savingType":"amount","isPrime":false,"starRating":null,"description":"This discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.","text":"\u003cp\u003eThis discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-11","url":"https://www.amazon.com.au/dp/B01K48R5V4","image":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","fallbackImage":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","title":"G G213 Prodigy","brand":"Logitech","productName":"G G213 Prodigy","merchant":"Amazon","rawPrice":72,"rawMsrp":129.95,"price":"72","msrp":"129.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$57.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.","text":"\u003cp\u003eIf you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-13","url":"https://www.amazon.com.au/CORSAIR-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8/","image":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","title":"Sabre v2 Pro","brand":"Corsair","productName":"Sabre v2 Pro","merchant":"Amazon","rawPrice":79,"rawMsrp":169,"price":"79","msrp":"169","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$90","savingType":"amount","isPrime":false,"starRating":null,"description":"The Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox loved its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life.","text":"\u003cp\u003eThe Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox \u003ca href=\"https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/\"\u003eloved\u003c/a\u003e its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life. \u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true}]},"regionalDealRailData":{"US":{"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"totalAuthorCount":5,"totalDealCount":56},"GB":{"brands":[{"formatted_value":"Logitech","count":6},{"formatted_value":"Steelseries","count":2},{"formatted_value":"EarFun","count":2},{"formatted_value":"Lexar","count":2},{"formatted_value":"AOC","count":2},{"formatted_value":"MSI","count":2},{"formatted_value":"JBL","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Turtle Beach","count":1}],"freeformTagCounts":{"hardware":17,"mouse":5,"gaming-mouse":5,"prime-day":5,"amazon-prime-day-2026":14,"amazon-prime-day":17,"prime-day-deals":8,"deals":17,"deal":17,"big-deal-days":17,"gaming-headset":9,"amazon-prime":3,"ssd":1,"pc-deals":3,"gaming-monitor":2,"monitors":2,"solid-state-drive":1,"solid-state":1,"hdd":1,"hard-drive":1,"storage":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"}],"tagCounts":{"Gaming Mice":5,"Hardware":17,"Gaming Headsets":9,"Gaming Audio":9,"SSDs":1,"Storage":1,"Gaming Monitors":2},"tags":["Hardware","Gaming Headsets","Gaming Audio","Gaming Mice","Gaming Monitors","SSDs","Storage"],"totalAuthorCount":4,"totalDealCount":17},"AU":{"brands":[{"formatted_value":"Logitech","count":7},{"formatted_value":"Corsair","count":4},{"formatted_value":"JBL","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"GameSir","count":1},{"formatted_value":"8BitDo","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Asus","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"SteelSeries","count":1}],"freeformTagCounts":{"hardware":20,"amazon-prime":20,"pc-deals":20,"deals":20,"prime-day-deals":20},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"}],"tagCounts":{"Hardware":20},"tags":["Hardware"],"totalAuthorCount":1,"totalDealCount":20}}}</script></fc-author-commerce-widget><script>(()=>{var Z1=Object.create;var cg=Object.defineProperty;var W1=Object.getOwnPropertyDescriptor;var I1=Object.getOwnPropertyNames;var J1=Object.getPrototypeOf,$1=Object.prototype.hasOwnProperty;var un=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var eb=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of I1(t))!$1.call(e,l)&&l!==n&&cg(e,l,{get:()=>t[l],enumerable:!(a=W1(t,l))||a.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Z1(J1(e)):{},eb(t||!e||!e.__esModule?cg(n,"default",{value:e,enumerable:!0}):n,e));var Ag=un(z=>{"use strict";var Tc=Symbol.for("react.transitional.element"),tb=Symbol.for("react.portal"),nb=Symbol.for("react.fragment"),ab=Symbol.for("react.strict_mode"),lb=Symbol.for("react.profiler"),ib=Symbol.for("react.consumer"),rb=Symbol.for("react.context"),ob=Symbol.for("react.forward_ref"),ub=Symbol.for("react.suspense"),cb=Symbol.for("react.memo"),mg=Symbol.for("react.lazy"),sb=Symbol.for("react.activity"),sg=Symbol.iterator;function db(e){return e===null||typeof e!="object"?null:(e=sg&&e[sg]||e["@@iterator"],typeof e=="function"?e:null)}var hg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pg=Object.assign,yg={};function ml(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}ml.prototype.isReactComponent={};ml.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ml.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function vg(){}vg.prototype=ml.prototype;function Ec(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}var Dc=Ec.prototype=new vg;Dc.constructor=Ec;pg(Dc,ml.prototype);Dc.isPureReactComponent=!0;var dg=Array.isArray;function Rc(){}var he={H:null,A:null,T:null,S:null},bg=Object.prototype.hasOwnProperty;function xc(e,t,n){var a=n.ref;return{$$typeof:Tc,type:e,key:t,ref:a!==void 0?a:null,props:n}}function fb(e,t){return xc(e.type,t,e.props)}function Mc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function gb(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var fg=/\/+/g;function Cc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?gb(""+e.key):t.toString(36)}function mb(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Rc,Rc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function gl(e,t,n,a,l){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var r=!1;if(e===null)r=!0;else switch(i){case"bigint":case"string":case"number":r=!0;break;case"object":switch(e.$$typeof){case Tc:case tb:r=!0;break;case mg:return r=e._init,gl(r(e._payload),t,n,a,l)}}if(r)return l=l(e),r=a===""?"."+Cc(e,0):a,dg(l)?(n="",r!=null&&(n=r.replace(fg,"$&/")+"/"),gl(l,t,n,"",function(c){return c})):l!=null&&(Mc(l)&&(l=fb(l,n+(l.key==null||e&&e.key===l.key?"":(""+l.key).replace(fg,"$&/")+"/")+r)),t.push(l)),1;r=0;var o=a===""?".":a+":";if(dg(e))for(var u=0;u<e.length;u++)a=e[u],i=o+Cc(a,u),r+=gl(a,t,n,i,l);else if(u=db(e),typeof u=="function")for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,i=o+Cc(a,u++),r+=gl(a,t,n,i,l);else if(i==="object"){if(typeof e.then=="function")return gl(mb(e),t,n,a,l);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return r}function ro(e,t,n){if(e==null)return e;var a=[],l=0;return gl(e,a,"","",function(i){return t.call(n,i,l++)}),a}function hb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var gg=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},pb={map:ro,forEach:function(e,t,n){ro(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ro(e,function(){t++}),t},toArray:function(e){return ro(e,function(t){return t})||[]},only:function(e){if(!Mc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};z.Activity=sb;z.Children=pb;z.Component=ml;z.Fragment=nb;z.Profiler=lb;z.PureComponent=Ec;z.StrictMode=ab;z.Suspense=ub;z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=he;z.__COMPILER_RUNTIME={__proto__:null,c:function(e){return he.H.useMemoCache(e)}};z.cache=function(e){return function(){return e.apply(null,arguments)}};z.cacheSignal=function(){return null};z.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=pg({},e.props),l=e.key;if(t!=null)for(i in t.key!==void 0&&(l=""+t.key),t)!bg.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(a[i]=t[i]);var i=arguments.length-2;if(i===1)a.children=n;else if(1<i){for(var r=Array(i),o=0;o<i;o++)r[o]=arguments[o+2];a.children=r}return xc(e.type,l,a)};z.createContext=function(e){return e={$$typeof:rb,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:ib,_context:e},e};z.createElement=function(e,t,n){var a,l={},i=null;if(t!=null)for(a in t.key!==void 0&&(i=""+t.key),t)bg.call(t,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(l[a]=t[a]);var r=arguments.length-2;if(r===1)l.children=n;else if(1<r){for(var o=Array(r),u=0;u<r;u++)o[u]=arguments[u+2];l.children=o}if(e&&e.defaultProps)for(a in r=e.defaultProps,r)l[a]===void 0&&(l[a]=r[a]);return xc(e,i,l)};z.createRef=function(){return{current:null}};z.forwardRef=function(e){return{$$typeof:ob,render:e}};z.isValidElement=Mc;z.lazy=function(e){return{$$typeof:mg,_payload:{_status:-1,_result:e},_init:hb}};z.memo=function(e,t){return{$$typeof:cb,type:e,compare:t===void 0?null:t}};z.startTransition=function(e){var t=he.T,n={};he.T=n;try{var a=e(),l=he.S;l!==null&&l(n,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Rc,gg)}catch(i){gg(i)}finally{t!==null&&n.types!==null&&(t.types=n.types),he.T=t}};z.unstable_useCacheRefresh=function(){return he.H.useCacheRefresh()};z.use=function(e){return he.H.use(e)};z.useActionState=function(e,t,n){return he.H.useActionState(e,t,n)};z.useCallback=function(e,t){return he.H.useCallback(e,t)};z.useContext=function(e){return he.H.useContext(e)};z.useDebugValue=function(){};z.useDeferredValue=function(e,t){return he.H.useDeferredValue(e,t)};z.useEffect=function(e,t){return he.H.useEffect(e,t)};z.useEffectEvent=function(e){return he.H.useEffectEvent(e)};z.useId=function(){return he.H.useId()};z.useImperativeHandle=function(e,t,n){return he.H.useImperativeHandle(e,t,n)};z.useInsertionEffect=function(e,t){return he.H.useInsertionEffect(e,t)};z.useLayoutEffect=function(e,t){return he.H.useLayoutEffect(e,t)};z.useMemo=function(e,t){return he.H.useMemo(e,t)};z.useOptimistic=function(e,t){return he.H.useOptimistic(e,t)};z.useReducer=function(e,t,n){return he.H.useReducer(e,t,n)};z.useRef=function(e){return he.H.useRef(e)};z.useState=function(e){return he.H.useState(e)};z.useSyncExternalStore=function(e,t,n){return he.H.useSyncExternalStore(e,t,n)};z.useTransition=function(){return he.H.useTransition()};z.version="19.2.8"});var ft=un((zS,wg)=>{"use strict";wg.exports=Ag()});var Bg=un(Se=>{"use strict";function Oc(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,l=e[a];if(0<oo(l,t))e[a]=t,e[n]=l,n=a;else break e}}function cn(e){return e.length===0?null:e[0]}function co(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,l=e.length,i=l>>>1;a<i;){var r=2*(a+1)-1,o=e[r],u=r+1,c=e[u];if(0>oo(o,n))u<l&&0>oo(c,o)?(e[a]=c,e[u]=n,a=u):(e[a]=o,e[r]=n,a=r);else if(u<l&&0>oo(c,n))e[a]=c,e[u]=n,a=u;else break e}}return t}function oo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Se.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Sg=performance,Se.unstable_now=function(){return Sg.now()}):(_c=Date,Cg=_c.now(),Se.unstable_now=function(){return _c.now()-Cg});var Sg,_c,Cg,wn=[],Qn=[],yb=1,Ut=null,et=3,kc=!1,Mi=!1,_i=!1,Lc=!1,Eg=typeof setTimeout=="function"?setTimeout:null,Dg=typeof clearTimeout=="function"?clearTimeout:null,Rg=typeof setImmediate<"u"?setImmediate:null;function uo(e){for(var t=cn(Qn);t!==null;){if(t.callback===null)co(Qn);else if(t.startTime<=e)co(Qn),t.sortIndex=t.expirationTime,Oc(wn,t);else break;t=cn(Qn)}}function Hc(e){if(_i=!1,uo(e),!Mi)if(cn(wn)!==null)Mi=!0,pl||(pl=!0,hl());else{var t=cn(Qn);t!==null&&zc(Hc,t.startTime-e)}}var pl=!1,Bi=-1,xg=5,Mg=-1;function _g(){return Lc?!0:!(Se.unstable_now()-Mg<xg)}function Bc(){if(Lc=!1,pl){var e=Se.unstable_now();Mg=e;var t=!0;try{e:{Mi=!1,_i&&(_i=!1,Dg(Bi),Bi=-1),kc=!0;var n=et;try{t:{for(uo(e),Ut=cn(wn);Ut!==null&&!(Ut.expirationTime>e&&_g());){var a=Ut.callback;if(typeof a=="function"){Ut.callback=null,et=Ut.priorityLevel;var l=a(Ut.expirationTime<=e);if(e=Se.unstable_now(),typeof l=="function"){Ut.callback=l,uo(e),t=!0;break t}Ut===cn(wn)&&co(wn),uo(e)}else co(wn);Ut=cn(wn)}if(Ut!==null)t=!0;else{var i=cn(Qn);i!==null&&zc(Hc,i.startTime-e),t=!1}}break e}finally{Ut=null,et=n,kc=!1}t=void 0}}finally{t?hl():pl=!1}}}var hl;typeof Rg=="function"?hl=function(){Rg(Bc)}:typeof MessageChannel<"u"?(Nc=new MessageChannel,Tg=Nc.port2,Nc.port1.onmessage=Bc,hl=function(){Tg.postMessage(null)}):hl=function(){Eg(Bc,0)};var Nc,Tg;function zc(e,t){Bi=Eg(function(){e(Se.unstable_now())},t)}Se.unstable_IdlePriority=5;Se.unstable_ImmediatePriority=1;Se.unstable_LowPriority=4;Se.unstable_NormalPriority=3;Se.unstable_Profiling=null;Se.unstable_UserBlockingPriority=2;Se.unstable_cancelCallback=function(e){e.callback=null};Se.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):xg=0<e?Math.floor(1e3/e):5};Se.unstable_getCurrentPriorityLevel=function(){return et};Se.unstable_next=function(e){switch(et){case 1:case 2:case 3:var t=3;break;default:t=et}var n=et;et=t;try{return e()}finally{et=n}};Se.unstable_requestPaint=function(){Lc=!0};Se.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=et;et=e;try{return t()}finally{et=n}};Se.unstable_scheduleCallback=function(e,t,n){var a=Se.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?a+n:a):n=a,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return l=n+l,e={id:yb++,callback:t,priorityLevel:e,startTime:n,expirationTime:l,sortIndex:-1},n>a?(e.sortIndex=n,Oc(Qn,e),cn(wn)===null&&e===cn(Qn)&&(_i?(Dg(Bi),Bi=-1):_i=!0,zc(Hc,n-a))):(e.sortIndex=l,Oc(wn,e),Mi||kc||(Mi=!0,pl||(pl=!0,hl()))),e};Se.unstable_shouldYield=_g;Se.unstable_wrapCallback=function(e){var t=et;return function(){var n=et;et=t;try{return e.apply(this,arguments)}finally{et=n}}}});var Og=un((GS,Ng)=>{"use strict";Ng.exports=Bg()});var Lg=un(ot=>{"use strict";var vb=ft();function kg(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Kn(){}var rt={d:{f:Kn,r:function(){throw Error(kg(522))},D:Kn,C:Kn,L:Kn,m:Kn,X:Kn,S:Kn,M:Kn},p:0,findDOMNode:null},bb=Symbol.for("react.portal");function Ab(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:bb,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}var Ni=vb.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function so(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ot.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=rt;ot.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(kg(299));return Ab(e,t,null,n)};ot.flushSync=function(e){var t=Ni.T,n=rt.p;try{if(Ni.T=null,rt.p=2,e)return e()}finally{Ni.T=t,rt.p=n,rt.d.f()}};ot.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,rt.d.C(e,t))};ot.prefetchDNS=function(e){typeof e=="string"&&rt.d.D(e)};ot.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin),l=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?rt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:l,fetchPriority:i}):n==="script"&&rt.d.X(e,{crossOrigin:a,integrity:l,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ot.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=so(t.as,t.crossOrigin);rt.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&rt.d.M(e)};ot.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin);rt.d.L(e,n,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};ot.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=so(t.as,t.crossOrigin);rt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else rt.d.m(e)};ot.requestFormReset=function(e){rt.d.r(e)};ot.unstable_batchedUpdates=function(e,t){return e(t)};ot.useFormState=function(e,t,n){return Ni.H.useFormState(e,t,n)};ot.useFormStatus=function(){return Ni.H.useHostTransitionStatus()};ot.version="19.2.8"});var Ug=un((qS,zg)=>{"use strict";function Hg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Hg)}catch(e){console.error(e)}}Hg(),zg.exports=Lg()});var Wy=un(Hu=>{"use strict";var Ge=Og(),sh=ft(),wb=Ug();function S(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function dh(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function vr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function fh(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function gh(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Gg(e){if(vr(e)!==e)throw Error(S(188))}function Sb(e){var t=e.alternate;if(!t){if(t=vr(e),t===null)throw Error(S(188));return t!==e?null:e}for(var n=e,a=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(a=l.return,a!==null){n=a;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return Gg(l),e;if(i===a)return Gg(l),t;i=i.sibling}throw Error(S(188))}if(n.return!==a.return)n=l,a=i;else{for(var r=!1,o=l.child;o;){if(o===n){r=!0,n=l,a=i;break}if(o===a){r=!0,a=l,n=i;break}o=o.sibling}if(!r){for(o=i.child;o;){if(o===n){r=!0,n=i,a=l;break}if(o===a){r=!0,a=i,n=l;break}o=o.sibling}if(!r)throw Error(S(189))}}if(n.alternate!==a)throw Error(S(190))}if(n.tag!==3)throw Error(S(188));return n.stateNode.current===n?e:t}function mh(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=mh(e),t!==null)return t;e=e.sibling}return null}var ve=Object.assign,Cb=Symbol.for("react.element"),fo=Symbol.for("react.transitional.element"),Pi=Symbol.for("react.portal"),Sl=Symbol.for("react.fragment"),hh=Symbol.for("react.strict_mode"),ys=Symbol.for("react.profiler"),ph=Symbol.for("react.consumer"),Mn=Symbol.for("react.context"),fd=Symbol.for("react.forward_ref"),vs=Symbol.for("react.suspense"),bs=Symbol.for("react.suspense_list"),gd=Symbol.for("react.memo"),Zn=Symbol.for("react.lazy");Symbol.for("react.scope");var As=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var Rb=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var Pg=Symbol.iterator;function Oi(e){return e===null||typeof e!="object"?null:(e=Pg&&e[Pg]||e["@@iterator"],typeof e=="function"?e:null)}var Tb=Symbol.for("react.client.reference");function ws(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Tb?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Sl:return"Fragment";case ys:return"Profiler";case hh:return"StrictMode";case vs:return"Suspense";case bs:return"SuspenseList";case As:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Pi:return"Portal";case Mn:return e.displayName||"Context";case ph:return(e._context.displayName||"Context")+".Consumer";case fd:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gd:return t=e.displayName||null,t!==null?t:ws(e.type)||"Memo";case Zn:t=e._payload,e=e._init;try{return ws(e(t))}catch{}}return null}var qi=Array.isArray,L=sh.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=wb.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,za={pending:!1,data:null,method:null,action:null},Ss=[],Cl=-1;function mn(e){return{current:e}}function Fe(e){0>Cl||(e.current=Ss[Cl],Ss[Cl]=null,Cl--)}function ge(e,t){Cl++,Ss[Cl]=e.current,e.current=t}var gn=mn(null),lr=mn(null),ra=mn(null),Vo=mn(null);function Xo(e,t){switch(ge(ra,t),ge(lr,e),ge(gn,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qm(t),e=Hy(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Fe(gn),ge(gn,e)}function ql(){Fe(gn),Fe(lr),Fe(ra)}function Cs(e){e.memoizedState!==null&&ge(Vo,e);var t=gn.current,n=Hy(t,e.type);t!==n&&(ge(lr,e),ge(gn,n))}function Qo(e){lr.current===e&&(Fe(gn),Fe(lr)),Vo.current===e&&(Fe(Vo),hr._currentValue=za)}var Uc,qg;function Oa(e){if(Uc===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Uc=t&&t[1]||"",qg=-1<n.stack.indexOf(`    at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return``+Uc+e+qg}var Gc=!1;function Pc(e,t){if(!e||Gc)return"";Gc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(m){var d=m}Reflect.construct(e,[],f)}else{try{f.call()}catch(m){d=m}e.call(f.prototype)}}else{try{throw Error()}catch(m){d=m}(f=e())&&typeof f.catch=="function"&&f.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),r=i[0],o=i[1];if(r&&o){var u=r.split(``),c=o.split(``);for(l=a=0;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;for(;l<c.length&&!c[l].includes("DetermineComponentFrameRoot");)l++;if(a===u.length||l===c.length)for(a=u.length-1,l=c.length-1;1<=a&&0<=l&&u[a]!==c[l];)l--;for(;1<=a&&0<=l;a--,l--)if(u[a]!==c[l]){if(a!==1||l!==1)do if(a--,l--,0>l||u[a]!==c[l]){var s=``+u[a].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=a&&0<=l);break}}}finally{Gc=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Oa(n):""}function Eb(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return Pc(e.type,!1);case 11:return Pc(e.type.render,!1);case 1:return Pc(e.type,!0);case 31:return Oa("Activity");default:return""}}function Fg(e){try{var t="",n=null;do t+=Eb(e,n),n=e,e=e.return;while(e);return t}catch(a){return`Error generating stack: `+a.message+``+a.stack}}var Rs=Object.prototype.hasOwnProperty,md=Ge.unstable_scheduleCallback,qc=Ge.unstable_cancelCallback,Db=Ge.unstable_shouldYield,xb=Ge.unstable_requestPaint,Dt=Ge.unstable_now,Mb=Ge.unstable_getCurrentPriorityLevel,yh=Ge.unstable_ImmediatePriority,vh=Ge.unstable_UserBlockingPriority,Ko=Ge.unstable_NormalPriority,_b=Ge.unstable_LowPriority,bh=Ge.unstable_IdlePriority,Bb=Ge.log,Nb=Ge.unstable_setDisableYieldValue,br=null,xt=null;function ta(e){if(typeof Bb=="function"&&Nb(e),xt&&typeof xt.setStrictMode=="function")try{xt.setStrictMode(br,e)}catch{}}var Mt=Math.clz32?Math.clz32:Lb,Ob=Math.log,kb=Math.LN2;function Lb(e){return e>>>=0,e===0?32:31-(Ob(e)/kb|0)|0}var go=256,mo=262144,ho=4194304;function ka(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Au(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var o=a&134217727;return o!==0?(a=o&~i,a!==0?l=ka(a):(r&=o,r!==0?l=ka(r):n||(n=o&~e,n!==0&&(l=ka(n))))):(o=a&~i,o!==0?l=ka(o):r!==0?l=ka(r):n||(n=a&~e,n!==0&&(l=ka(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function Ar(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Hb(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ah(){var e=ho;return ho<<=1,(ho&62914560)===0&&(ho=4194304),e}function Fc(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wr(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function zb(e,t,n,a,l,i){var r=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,u=e.expirationTimes,c=e.hiddenUpdates;for(n=r&~n;0<n;){var s=31-Mt(n),f=1<<s;o[s]=0,u[s]=-1;var d=c[s];if(d!==null)for(c[s]=null,s=0;s<d.length;s++){var m=d[s];m!==null&&(m.lane&=-536870913)}n&=~f}a!==0&&wh(e,a,0),i!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=i&~(r&~t))}function wh(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Mt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function Sh(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Mt(n),l=1<<a;l&t|e[a]&t&&(e[a]|=t),n&=~l}}function Ch(e,t){var n=t&-t;return n=(n&42)!==0?1:hd(n),(n&(e.suspendedLanes|t))!==0?0:n}function hd(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function pd(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Rh(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:Qy(e.type))}function jg(e,t){var n=$.p;try{return $.p=e,t()}finally{$.p=n}}var ba=Math.random().toString(36).slice(2),Ve="__reactFiber$"+ba,vt="__reactProps$"+ba,Jl="__reactContainer$"+ba,Ts="__reactEvents$"+ba,Ub="__reactListeners$"+ba,Gb="__reactHandles$"+ba,Yg="__reactResources$"+ba,Sr="__reactMarker$"+ba;function yd(e){delete e[Ve],delete e[vt],delete e[Ts],delete e[Ub],delete e[Gb]}function Rl(e){var t=e[Ve];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jl]||n[Ve]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Jm(e);e!==null;){if(n=e[Ve])return n;e=Jm(e)}return t}e=n,n=e.parentNode}return null}function $l(e){if(e=e[Ve]||e[Jl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Fi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(S(33))}function kl(e){var t=e[Yg];return t||(t=e[Yg]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function qe(e){e[Sr]=!0}var Th=new Set,Eh={};function Qa(e,t){Fl(e,t),Fl(e+"Capture",t)}function Fl(e,t){for(Eh[e]=t,e=0;e<t.length;e++)Th.add(t[e])}var Pb=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Vg={},Xg={};function qb(e){return Rs.call(Xg,e)?!0:Rs.call(Vg,e)?!1:Pb.test(e)?Xg[e]=!0:(Vg[e]=!0,!1)}function _o(e,t,n){if(qb(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function po(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function Sn(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+a)}}function Pt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fb(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,i=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(r){n=""+r,i.call(this,r)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){if(!e._valueTracker){var t=Dh(e)?"checked":"value";e._valueTracker=Fb(e,t,""+e[t])}}function xh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=Dh(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Zo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var jb=/[\n"\\]/g;function jt(e){return e.replace(jb,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ds(e,t,n,a,l,i,r,o){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pt(t)):e.value!==""+Pt(t)&&(e.value=""+Pt(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?xs(e,r,Pt(t)):n!=null?xs(e,r,Pt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+Pt(o):e.removeAttribute("name")}function Mh(e,t,n,a,l,i,r,o){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Es(e);return}n=n!=null?""+Pt(n):"",t=t!=null?""+Pt(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=o?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),Es(e)}function xs(e,t,n){t==="number"&&Zo(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ll(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&a&&(e[n].defaultSelected=!0)}else{for(n=""+Pt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,a&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function _h(e,t,n){if(t!=null&&(t=""+Pt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Pt(n):""}function Bh(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(S(92));if(qi(a)){if(1<a.length)throw Error(S(93));a=a[0]}n=a}n==null&&(n=""),t=n}n=Pt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==""&&a!==null&&(e.value=a),Es(e)}function jl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Qg(e,t,n){var a=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,n):typeof n!="number"||n===0||Yb.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Nh(e,t,n){if(t!=null&&typeof t!="object")throw Error(S(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var l in t)a=t[l],t.hasOwnProperty(l)&&n[l]!==a&&Qg(e,l,a)}else for(var i in t)t.hasOwnProperty(i)&&Qg(e,i,t[i])}function vd(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Xb=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Bo(e){return Xb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function _n(){}var Ms=null;function bd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tl=null,Hl=null;function Kg(e){var t=$l(e);if(t&&(e=t.stateNode)){var n=e[vt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Ds(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+jt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var l=a[vt]||null;if(!l)throw Error(S(90));Ds(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&xh(a)}break e;case"textarea":_h(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ll(e,!!n.multiple,t,!1)}}}var jc=!1;function Oh(e,t,n){if(jc)return e(t,n);jc=!0;try{var a=e(t);return a}finally{if(jc=!1,(Tl!==null||Hl!==null)&&(Nu(),Tl&&(t=Tl,e=Hl,Hl=Tl=null,Kg(t),e)))for(t=0;t<e.length;t++)Kg(e[t])}}function ir(e,t){var n=e.stateNode;if(n===null)return null;var a=n[vt]||null;if(a===null)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(S(231,t,typeof n));return n}var Ln=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_s=!1;if(Ln)try{yl={},Object.defineProperty(yl,"passive",{get:function(){_s=!0}}),window.addEventListener("test",yl,yl),window.removeEventListener("test",yl,yl)}catch{_s=!1}var yl,na=null,Ad=null,No=null;function kh(){if(No)return No;var e,t=Ad,n=t.length,a,l="value"in na?na.value:na.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var r=n-e;for(a=1;a<=r&&t[n-a]===l[i-a];a++);return No=l.slice(e,1<a?1-a:void 0)}function Oo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yo(){return!0}function Zg(){return!1}function bt(e){function t(n,a,l,i,r){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=i,this.target=r,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?yo:Zg,this.isPropagationStopped=Zg,this}return ve(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=yo)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var Ka={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},wu=bt(Ka),Cr=ve({},Ka,{view:0,detail:0}),Qb=bt(Cr),Yc,Vc,ki,Su=ve({},Cr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wd,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ki&&(ki&&e.type==="mousemove"?(Yc=e.screenX-ki.screenX,Vc=e.screenY-ki.screenY):Vc=Yc=0,ki=e),Yc)},movementY:function(e){return"movementY"in e?e.movementY:Vc}}),Wg=bt(Su),Kb=ve({},Su,{dataTransfer:0}),Zb=bt(Kb),Wb=ve({},Cr,{relatedTarget:0}),Xc=bt(Wb),Ib=ve({},Ka,{animationName:0,elapsedTime:0,pseudoElement:0}),Jb=bt(Ib),$b=ve({},Ka,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),eA=bt($b),tA=ve({},Ka,{data:0}),Ig=bt(tA),nA={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},aA={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},lA={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function iA(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=lA[e])?!!t[e]:!1}function wd(){return iA}var rA=ve({},Cr,{key:function(e){if(e.key){var t=nA[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Oo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?aA[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wd,charCode:function(e){return e.type==="keypress"?Oo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Oo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),oA=bt(rA),uA=ve({},Su,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jg=bt(uA),cA=ve({},Cr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wd}),sA=bt(cA),dA=ve({},Ka,{propertyName:0,elapsedTime:0,pseudoElement:0}),fA=bt(dA),gA=ve({},Su,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mA=bt(gA),hA=ve({},Ka,{newState:0,oldState:0}),pA=bt(hA),yA=[9,13,27,32],Sd=Ln&&"CompositionEvent"in window,Vi=null;Ln&&"documentMode"in document&&(Vi=document.documentMode);var vA=Ln&&"TextEvent"in window&&!Vi,Lh=Ln&&(!Sd||Vi&&8<Vi&&11>=Vi),$g=" ",em=!1;function Hh(e,t){switch(e){case"keyup":return yA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var El=!1;function bA(e,t){switch(e){case"compositionend":return zh(t);case"keypress":return t.which!==32?null:(em=!0,$g);case"textInput":return e=t.data,e===$g&&em?null:e;default:return null}}function AA(e,t){if(El)return e==="compositionend"||!Sd&&Hh(e,t)?(e=kh(),No=Ad=na=null,El=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Lh&&t.locale!=="ko"?null:t.data;default:return null}}var wA={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tm(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!wA[e.type]:t==="textarea"}function Uh(e,t,n,a){Tl?Hl?Hl.push(a):Hl=[a]:Tl=a,t=gu(t,"onChange"),0<t.length&&(n=new wu("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Xi=null,rr=null;function SA(e){Oy(e,0)}function Cu(e){var t=Fi(e);if(xh(t))return e}function nm(e,t){if(e==="change")return t}var Gh=!1;Ln&&(Ln?(bo="oninput"in document,bo||(Qc=document.createElement("div"),Qc.setAttribute("oninput","return;"),bo=typeof Qc.oninput=="function"),vo=bo):vo=!1,Gh=vo&&(!document.documentMode||9<document.documentMode));var vo,bo,Qc;function am(){Xi&&(Xi.detachEvent("onpropertychange",Ph),rr=Xi=null)}function Ph(e){if(e.propertyName==="value"&&Cu(rr)){var t=[];Uh(t,rr,e,bd(e)),Oh(SA,t)}}function CA(e,t,n){e==="focusin"?(am(),Xi=t,rr=n,Xi.attachEvent("onpropertychange",Ph)):e==="focusout"&&am()}function RA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Cu(rr)}function TA(e,t){if(e==="click")return Cu(t)}function EA(e,t){if(e==="input"||e==="change")return Cu(t)}function DA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bt=typeof Object.is=="function"?Object.is:DA;function or(e,t){if(Bt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!Rs.call(t,l)||!Bt(e[l],t[l]))return!1}return!0}function lm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function im(e,t){var n=lm(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lm(n)}}function qh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Zo(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Zo(e.document)}return t}function Cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var xA=Ln&&"documentMode"in document&&11>=document.documentMode,Dl=null,Bs=null,Qi=null,Ns=!1;function rm(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ns||Dl==null||Dl!==Zo(a)||(a=Dl,"selectionStart"in a&&Cd(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Qi&&or(Qi,a)||(Qi=a,a=gu(Bs,"onSelect"),0<a.length&&(t=new wu("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=Dl)))}function Na(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xl={animationend:Na("Animation","AnimationEnd"),animationiteration:Na("Animation","AnimationIteration"),animationstart:Na("Animation","AnimationStart"),transitionrun:Na("Transition","TransitionRun"),transitionstart:Na("Transition","TransitionStart"),transitioncancel:Na("Transition","TransitionCancel"),transitionend:Na("Transition","TransitionEnd")},Kc={},jh={};Ln&&(jh=document.createElement("div").style,"AnimationEvent"in window||(delete xl.animationend.animation,delete xl.animationiteration.animation,delete xl.animationstart.animation),"TransitionEvent"in window||delete xl.transitionend.transition);function Za(e){if(Kc[e])return Kc[e];if(!xl[e])return e;var t=xl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in jh)return Kc[e]=t[n];return e}var Yh=Za("animationend"),Vh=Za("animationiteration"),Xh=Za("animationstart"),MA=Za("transitionrun"),_A=Za("transitionstart"),BA=Za("transitioncancel"),Qh=Za("transitionend"),Kh=new Map,Os="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Os.push("scrollEnd");function tn(e,t){Kh.set(e,t),Qa(t,[e])}var Wo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Gt=[],Ml=0,Rd=0;function Ru(){for(var e=Ml,t=Rd=Ml=0;t<e;){var n=Gt[t];Gt[t++]=null;var a=Gt[t];Gt[t++]=null;var l=Gt[t];Gt[t++]=null;var i=Gt[t];if(Gt[t++]=null,a!==null&&l!==null){var r=a.pending;r===null?l.next=l:(l.next=r.next,r.next=l),a.pending=l}i!==0&&Zh(n,l,i)}}function Tu(e,t,n,a){Gt[Ml++]=e,Gt[Ml++]=t,Gt[Ml++]=n,Gt[Ml++]=a,Rd|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function Td(e,t,n,a){return Tu(e,t,n,a),Io(e)}function Wa(e,t){return Tu(e,null,null,t),Io(e)}function Zh(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var l=!1,i=e.return;i!==null;)i.childLanes|=n,a=i.alternate,a!==null&&(a.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(l=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,l&&t!==null&&(l=31-Mt(n),e=i.hiddenUpdates,a=e[l],a===null?e[l]=[t]:a.push(t),t.lane=n|536870912),i):null}function Io(e){if(50<nr)throw nr=0,ed=null,Error(S(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var _l={};function NA(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(e,t,n,a){return new NA(e,t,n,a)}function Ed(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nn(e,t){var n=e.alternate;return n===null?(n=Tt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Wh(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ko(e,t,n,a,l,i){var r=0;if(a=e,typeof e=="function")Ed(e)&&(r=1);else if(typeof e=="string")r=Lw(e,n,gn.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case As:return e=Tt(31,n,t,l),e.elementType=As,e.lanes=i,e;case Sl:return Ua(n.children,l,i,t);case hh:r=8,l|=24;break;case ys:return e=Tt(12,n,t,l|2),e.elementType=ys,e.lanes=i,e;case vs:return e=Tt(13,n,t,l),e.elementType=vs,e.lanes=i,e;case bs:return e=Tt(19,n,t,l),e.elementType=bs,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Mn:r=10;break e;case ph:r=9;break e;case fd:r=11;break e;case gd:r=14;break e;case Zn:r=16,a=null;break e}r=29,n=Error(S(130,e===null?"null":typeof e,"")),a=null}return t=Tt(r,n,t,l),t.elementType=e,t.type=a,t.lanes=i,t}function Ua(e,t,n,a){return e=Tt(7,e,a,t),e.lanes=n,e}function Zc(e,t,n){return e=Tt(6,e,null,t),e.lanes=n,e}function Ih(e){var t=Tt(18,null,null,0);return t.stateNode=e,t}function Wc(e,t,n){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var om=new WeakMap;function Yt(e,t){if(typeof e=="object"&&e!==null){var n=om.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Fg(t)},om.set(e,t),t)}return{value:e,source:t,stack:Fg(t)}}var Bl=[],Nl=0,Jo=null,ur=0,qt=[],Ft=0,ha=null,sn=1,dn="";function Dn(e,t){Bl[Nl++]=ur,Bl[Nl++]=Jo,Jo=e,ur=t}function Jh(e,t,n){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,ha=e;var a=sn;e=dn;var l=32-Mt(a)-1;a&=~(1<<l),n+=1;var i=32-Mt(t)+l;if(30<i){var r=l-l%5;i=(a&(1<<r)-1).toString(32),a>>=r,l-=r,sn=1<<32-Mt(t)+l|n<<l|a,dn=i+e}else sn=1<<i|n<<l|a,dn=e}function Dd(e){e.return!==null&&(Dn(e,1),Jh(e,1,0))}function xd(e){for(;e===Jo;)Jo=Bl[--Nl],Bl[Nl]=null,ur=Bl[--Nl],Bl[Nl]=null;for(;e===ha;)ha=qt[--Ft],qt[Ft]=null,dn=qt[--Ft],qt[Ft]=null,sn=qt[--Ft],qt[Ft]=null}function $h(e,t){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,sn=t.id,dn=t.overflow,ha=e}var Xe=null,ye=null,V=!1,oa=null,Vt=!1,ks=Error(S(519));function pa(e){var t=Error(S(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw cr(Yt(t,e)),ks}function um(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[Ve]=e,t[vt]=a,n){case"dialog":q("cancel",t),q("close",t);break;case"iframe":case"object":case"embed":q("load",t);break;case"video":case"audio":for(n=0;n<gr.length;n++)q(gr[n],t);break;case"source":q("error",t);break;case"img":case"image":case"link":q("error",t),q("load",t);break;case"details":q("toggle",t);break;case"input":q("invalid",t),Mh(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":q("invalid",t);break;case"textarea":q("invalid",t),Bh(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||a.suppressHydrationWarning===!0||Ly(t.textContent,n)?(a.popover!=null&&(q("beforetoggle",t),q("toggle",t)),a.onScroll!=null&&q("scroll",t),a.onScrollEnd!=null&&q("scrollend",t),a.onClick!=null&&(t.onclick=_n),t=!0):t=!1,t||pa(e,!0)}function cm(e){for(Xe=e.return;Xe;)switch(Xe.tag){case 5:case 31:case 13:Vt=!1;return;case 27:case 3:Vt=!0;return;default:Xe=Xe.return}}function vl(e){if(e!==Xe)return!1;if(!V)return cm(e),V=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||id(e.type,e.memoizedProps)),n=!n),n&&ye&&pa(e),cm(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else t===27?(t=ye,Aa(e.type)?(e=cd,cd=null,ye=e):ye=t):ye=Xe?Qt(e.stateNode.nextSibling):null;return!0}function Fa(){ye=Xe=null,V=!1}function Ic(){var e=oa;return e!==null&&(pt===null?pt=e:pt.push.apply(pt,e),oa=null),e}function cr(e){oa===null?oa=[e]:oa.push(e)}var Ls=mn(null),Ia=null,Bn=null;function In(e,t,n){ge(Ls,t._currentValue),t._currentValue=n}function On(e){e._currentValue=Ls.current,Fe(Ls)}function Hs(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function zs(e,t,n,a){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var i=l.dependencies;if(i!==null){var r=l.child;i=i.firstContext;e:for(;i!==null;){var o=i;i=l;for(var u=0;u<t.length;u++)if(o.context===t[u]){i.lanes|=n,o=i.alternate,o!==null&&(o.lanes|=n),Hs(i.return,n,e),a||(r=null);break e}i=o.next}}else if(l.tag===18){if(r=l.return,r===null)throw Error(S(341));r.lanes|=n,i=r.alternate,i!==null&&(i.lanes|=n),Hs(r,n,e),r=null}else r=l.child;if(r!==null)r.return=l;else for(r=l;r!==null;){if(r===e){r=null;break}if(l=r.sibling,l!==null){l.return=r.return,r=l;break}r=r.return}l=r}}function ei(e,t,n,a){e=null;for(var l=t,i=!1;l!==null;){if(!i){if((l.flags&524288)!==0)i=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var r=l.alternate;if(r===null)throw Error(S(387));if(r=r.memoizedProps,r!==null){var o=l.type;Bt(l.pendingProps.value,r.value)||(e!==null?e.push(o):e=[o])}}else if(l===Vo.current){if(r=l.alternate,r===null)throw Error(S(387));r.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(hr):e=[hr])}l=l.return}e!==null&&zs(t,e,n,a),t.flags|=262144}function $o(e){for(e=e.firstContext;e!==null;){if(!Bt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ja(e){Ia=e,Bn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Qe(e){return ep(Ia,e)}function Ao(e,t){return Ia===null&&ja(e),ep(e,t)}function ep(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Bn===null){if(e===null)throw Error(S(308));Bn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Bn=Bn.next=t;return n}var OA=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},kA=Ge.unstable_scheduleCallback,LA=Ge.unstable_NormalPriority,ke={$$typeof:Mn,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Md(){return{controller:new OA,data:new Map,refCount:0}}function Rr(e){e.refCount--,e.refCount===0&&kA(LA,function(){e.controller.abort()})}var Ki=null,Us=0,Yl=0,zl=null;function HA(e,t){if(Ki===null){var n=Ki=[];Us=0,Yl=ef(),zl={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Us++,t.then(sm,sm),t}function sm(){if(--Us===0&&Ki!==null){zl!==null&&(zl.status="fulfilled");var e=Ki;Ki=null,Yl=0,zl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function zA(e,t){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var l=0;l<n.length;l++)(0,n[l])(t)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var dm=L.S;L.S=function(e,t){my=Dt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&HA(e,t),dm!==null&&dm(e,t)};var Ga=mn(null);function _d(){var e=Ga.current;return e!==null?e:ue.pooledCache}function Lo(e,t){t===null?ge(Ga,Ga.current):ge(Ga,t.pool)}function tp(){var e=_d();return e===null?null:{parent:ke._currentValue,pool:e}}var ti=Error(S(460)),Bd=Error(S(474)),Eu=Error(S(542)),eu={then:function(){}};function fm(e){return e=e.status,e==="fulfilled"||e==="rejected"}function np(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(_n,_n),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e;default:if(typeof t.status=="string")t.then(_n,_n);else{if(e=ue,e!==null&&100<e.shellSuspendCounter)throw Error(S(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=a}},function(a){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e}throw Pa=t,ti}}function La(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Pa=n,ti):n}}var Pa=null;function gm(){if(Pa===null)throw Error(S(459));var e=Pa;return Pa=null,e}function mm(e){if(e===ti||e===Eu)throw Error(S(483))}var Ul=null,sr=0;function wo(e){var t=sr;return sr+=1,Ul===null&&(Ul=[]),np(Ul,e,t)}function Li(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function So(e,t){throw t.$$typeof===Cb?Error(S(525)):(e=Object.prototype.toString.call(t),Error(S(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ap(e){function t(h,g){if(e){var p=h.deletions;p===null?(h.deletions=[g],h.flags|=16):p.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function a(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function l(h,g){return h=Nn(h,g),h.index=0,h.sibling=null,h}function i(h,g,p){return h.index=p,e?(p=h.alternate,p!==null?(p=p.index,p<g?(h.flags|=67108866,g):p):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function r(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function o(h,g,p,y){return g===null||g.tag!==6?(g=Zc(p,h.mode,y),g.return=h,g):(g=l(g,p),g.return=h,g)}function u(h,g,p,y){var C=p.type;return C===Sl?s(h,g,p.props.children,y,p.key):g!==null&&(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type)?(g=l(g,p.props),Li(g,p),g.return=h,g):(g=ko(p.type,p.key,p.props,null,h.mode,y),Li(g,p),g.return=h,g)}function c(h,g,p,y){return g===null||g.tag!==4||g.stateNode.containerInfo!==p.containerInfo||g.stateNode.implementation!==p.implementation?(g=Wc(p,h.mode,y),g.return=h,g):(g=l(g,p.children||[]),g.return=h,g)}function s(h,g,p,y,C){return g===null||g.tag!==7?(g=Ua(p,h.mode,y,C),g.return=h,g):(g=l(g,p),g.return=h,g)}function f(h,g,p){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Zc(""+g,h.mode,p),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case fo:return p=ko(g.type,g.key,g.props,null,h.mode,p),Li(p,g),p.return=h,p;case Pi:return g=Wc(g,h.mode,p),g.return=h,g;case Zn:return g=La(g),f(h,g,p)}if(qi(g)||Oi(g))return g=Ua(g,h.mode,p,null),g.return=h,g;if(typeof g.then=="function")return f(h,wo(g),p);if(g.$$typeof===Mn)return f(h,Ao(h,g),p);So(h,g)}return null}function d(h,g,p,y){var C=g!==null?g.key:null;if(typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint")return C!==null?null:o(h,g,""+p,y);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:return p.key===C?u(h,g,p,y):null;case Pi:return p.key===C?c(h,g,p,y):null;case Zn:return p=La(p),d(h,g,p,y)}if(qi(p)||Oi(p))return C!==null?null:s(h,g,p,y,null);if(typeof p.then=="function")return d(h,g,wo(p),y);if(p.$$typeof===Mn)return d(h,g,Ao(h,p),y);So(h,p)}return null}function m(h,g,p,y,C){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return h=h.get(p)||null,o(g,h,""+y,C);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case fo:return h=h.get(y.key===null?p:y.key)||null,u(g,h,y,C);case Pi:return h=h.get(y.key===null?p:y.key)||null,c(g,h,y,C);case Zn:return y=La(y),m(h,g,p,y,C)}if(qi(y)||Oi(y))return h=h.get(p)||null,s(g,h,y,C,null);if(typeof y.then=="function")return m(h,g,p,wo(y),C);if(y.$$typeof===Mn)return m(h,g,p,Ao(g,y),C);So(g,y)}return null}function v(h,g,p,y){for(var C=null,R=null,T=g,M=g=0,w=null;T!==null&&M<p.length;M++){T.index>M?(w=T,T=null):w=T.sibling;var D=d(h,T,p[M],y);if(D===null){T===null&&(T=w);break}e&&T&&D.alternate===null&&t(h,T),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D,T=w}if(M===p.length)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;M<p.length;M++)T=f(h,p[M],y),T!==null&&(g=i(T,g,M),R===null?C=T:R.sibling=T,R=T);return V&&Dn(h,M),C}for(T=a(T);M<p.length;M++)w=m(T,h,M,p[M],y),w!==null&&(e&&w.alternate!==null&&T.delete(w.key===null?M:w.key),g=i(w,g,M),R===null?C=w:R.sibling=w,R=w);return e&&T.forEach(function(k){return t(h,k)}),V&&Dn(h,M),C}function A(h,g,p,y){if(p==null)throw Error(S(151));for(var C=null,R=null,T=g,M=g=0,w=null,D=p.next();T!==null&&!D.done;M++,D=p.next()){T.index>M?(w=T,T=null):w=T.sibling;var k=d(h,T,D.value,y);if(k===null){T===null&&(T=w);break}e&&T&&k.alternate===null&&t(h,T),g=i(k,g,M),R===null?C=k:R.sibling=k,R=k,T=w}if(D.done)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;!D.done;M++,D=p.next())D=f(h,D.value,y),D!==null&&(g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return V&&Dn(h,M),C}for(T=a(T);!D.done;M++,D=p.next())D=m(T,h,M,D.value,y),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?M:D.key),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return e&&T.forEach(function(se){return t(h,se)}),V&&Dn(h,M),C}function b(h,g,p,y){if(typeof p=="object"&&p!==null&&p.type===Sl&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:e:{for(var C=p.key;g!==null;){if(g.key===C){if(C=p.type,C===Sl){if(g.tag===7){n(h,g.sibling),y=l(g,p.props.children),y.return=h,h=y;break e}}else if(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type){n(h,g.sibling),y=l(g,p.props),Li(y,p),y.return=h,h=y;break e}n(h,g);break}else t(h,g);g=g.sibling}p.type===Sl?(y=Ua(p.props.children,h.mode,y,p.key),y.return=h,h=y):(y=ko(p.type,p.key,p.props,null,h.mode,y),Li(y,p),y.return=h,h=y)}return r(h);case Pi:e:{for(C=p.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===p.containerInfo&&g.stateNode.implementation===p.implementation){n(h,g.sibling),y=l(g,p.children||[]),y.return=h,h=y;break e}else{n(h,g);break}else t(h,g);g=g.sibling}y=Wc(p,h.mode,y),y.return=h,h=y}return r(h);case Zn:return p=La(p),b(h,g,p,y)}if(qi(p))return v(h,g,p,y);if(Oi(p)){if(C=Oi(p),typeof C!="function")throw Error(S(150));return p=C.call(p),A(h,g,p,y)}if(typeof p.then=="function")return b(h,g,wo(p),y);if(p.$$typeof===Mn)return b(h,g,Ao(h,p),y);So(h,p)}return typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint"?(p=""+p,g!==null&&g.tag===6?(n(h,g.sibling),y=l(g,p),y.return=h,h=y):(n(h,g),y=Zc(p,h.mode,y),y.return=h,h=y),r(h)):n(h,g)}return function(h,g,p,y){try{sr=0;var C=b(h,g,p,y);return Ul=null,C}catch(T){if(T===ti||T===Eu)throw T;var R=Tt(29,T,null,h.mode);return R.lanes=y,R.return=h,R}finally{}}}var Ya=ap(!0),lp=ap(!1),Wn=!1;function Nd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gs(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ca(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(J&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=Io(e),Zh(e,null,n),t}return Tu(e,a,t,n),Io(e)}function Zi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}function Jc(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var r={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=r:i=i.next=r,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ps=!1;function Wi(){if(Ps){var e=zl;if(e!==null)throw e}}function Ii(e,t,n,a){Ps=!1;var l=e.updateQueue;Wn=!1;var i=l.firstBaseUpdate,r=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var u=o,c=u.next;u.next=null,r===null?i=c:r.next=c,r=u;var s=e.alternate;s!==null&&(s=s.updateQueue,o=s.lastBaseUpdate,o!==r&&(o===null?s.firstBaseUpdate=c:o.next=c,s.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;r=0,s=c=u=null,o=i;do{var d=o.lane&-536870913,m=d!==o.lane;if(m?(Y&d)===d:(a&d)===d){d!==0&&d===Yl&&(Ps=!0),s!==null&&(s=s.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var v=e,A=o;d=t;var b=n;switch(A.tag){case 1:if(v=A.payload,typeof v=="function"){f=v.call(b,f,d);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=A.payload,d=typeof v=="function"?v.call(b,f,d):v,d==null)break e;f=ve({},f,d);break e;case 2:Wn=!0}}d=o.callback,d!==null&&(e.flags|=64,m&&(e.flags|=8192),m=l.callbacks,m===null?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:o.tag,payload:o.payload,callback:o.callback,next:null},s===null?(c=s=m,u=f):s=s.next=m,r|=d;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;m=o,o=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);s===null&&(u=f),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=s,i===null&&(l.shared.lanes=0),va|=r,e.lanes=r,e.memoizedState=f}}function ip(e,t){if(typeof e!="function")throw Error(S(191,e));e.call(t)}function rp(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ip(n[e],t)}var Vl=mn(null),tu=mn(0);function hm(e,t){e=Gn,ge(tu,e),ge(Vl,t),Gn=e|t.baseLanes}function qs(){ge(tu,Gn),ge(Vl,Vl.current)}function Od(){Gn=tu.current,Fe(Vl),Fe(tu)}var Nt=mn(null),Xt=null;function Jn(e){var t=e.alternate;ge(xe,xe.current&1),ge(Nt,e),Xt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Xt=e)}function Fs(e){ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)}function op(e){e.tag===22?(ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)):$n(e)}function $n(){ge(xe,xe.current),ge(Nt,Nt.current)}function Rt(e){Fe(Nt),Xt===e&&(Xt=null),Fe(xe)}var xe=mn(0);function nu(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||od(n)||ud(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hn=0,G=null,re=null,Ne=null,au=!1,Gl=!1,Va=!1,lu=0,dr=0,Pl=null,UA=0;function Re(){throw Error(S(321))}function kd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Bt(e[n],t[n]))return!1;return!0}function Ld(e,t,n,a,l,i){return Hn=i,G=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=e===null||e.memoizedState===null?Up:Xd,Va=!1,i=n(a,l),Va=!1,Gl&&(i=cp(t,n,a,l)),up(e),i}function up(e){L.H=fr;var t=re!==null&&re.next!==null;if(Hn=0,Ne=re=G=null,au=!1,dr=0,Pl=null,t)throw Error(S(300));e===null||Le||(e=e.dependencies,e!==null&&$o(e)&&(Le=!0))}function cp(e,t,n,a){G=e;var l=0;do{if(Gl&&(Pl=null),dr=0,Gl=!1,25<=l)throw Error(S(301));if(l+=1,Ne=re=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}L.H=Gp,i=t(n,a)}while(Gl);return i}function GA(){var e=L.H,t=e.useState()[0];return t=typeof t.then=="function"?Tr(t):t,e=e.useState()[0],(re!==null?re.memoizedState:null)!==e&&(G.flags|=1024),t}function Hd(){var e=lu!==0;return lu=0,e}function zd(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ud(e){if(au){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}au=!1}Hn=0,Ne=re=G=null,Gl=!1,dr=lu=0,Pl=null}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e,Ne}function Me(){if(re===null){var e=G.alternate;e=e!==null?e.memoizedState:null}else e=re.next;var t=Ne===null?G.memoizedState:Ne.next;if(t!==null)Ne=t,re=e;else{if(e===null)throw G.alternate===null?Error(S(467)):Error(S(310));re=e,e={memoizedState:re.memoizedState,baseState:re.baseState,baseQueue:re.baseQueue,queue:re.queue,next:null},Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e}return Ne}function Du(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Tr(e){var t=dr;return dr+=1,Pl===null&&(Pl=[]),e=np(Pl,e,t),t=G,(Ne===null?t.memoizedState:Ne.next)===null&&(t=t.alternate,L.H=t===null||t.memoizedState===null?Up:Xd),e}function xu(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Tr(e);if(e.$$typeof===Mn)return Qe(e)}throw Error(S(438,String(e)))}function Gd(e){var t=null,n=G.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=G.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Du(),G.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=Rb;return t.index++,n}function zn(e,t){return typeof t=="function"?t(e):t}function Ho(e){var t=Me();return Pd(t,re,e)}function Pd(e,t,n){var a=e.queue;if(a===null)throw Error(S(311));a.lastRenderedReducer=n;var l=e.baseQueue,i=a.pending;if(i!==null){if(l!==null){var r=l.next;l.next=i.next,i.next=r}t.baseQueue=l=i,a.pending=null}if(i=e.baseState,l===null)e.memoizedState=i;else{t=l.next;var o=r=null,u=null,c=t,s=!1;do{var f=c.lane&-536870913;if(f!==c.lane?(Y&f)===f:(Hn&f)===f){var d=c.revertLane;if(d===0)u!==null&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===Yl&&(s=!0);else if((Hn&d)===d){c=c.next,d===Yl&&(s=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=f,r=i):u=u.next=f,G.lanes|=d,va|=d;f=c.action,Va&&n(i,f),i=c.hasEagerState?c.eagerState:n(i,f)}else d={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=d,r=i):u=u.next=d,G.lanes|=f,va|=f;c=c.next}while(c!==null&&c!==t);if(u===null?r=i:u.next=o,!Bt(i,e.memoizedState)&&(Le=!0,s&&(n=zl,n!==null)))throw n;e.memoizedState=i,e.baseState=r,e.baseQueue=u,a.lastRenderedState=i}return l===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function $c(e){var t=Me(),n=t.queue;if(n===null)throw Error(S(311));n.lastRenderedReducer=e;var a=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var r=l=l.next;do i=e(i,r.action),r=r.next;while(r!==l);Bt(i,t.memoizedState)||(Le=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function sp(e,t,n){var a=G,l=Me(),i=V;if(i){if(n===void 0)throw Error(S(407));n=n()}else n=t();var r=!Bt((re||l).memoizedState,n);if(r&&(l.memoizedState=n,Le=!0),l=l.queue,qd(gp.bind(null,a,l,e),[e]),l.getSnapshot!==t||r||Ne!==null&&Ne.memoizedState.tag&1){if(a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,l,n,t),null),ue===null)throw Error(S(349));i||(Hn&127)!==0||dp(a,t,n)}return n}function dp(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=G.updateQueue,t===null?(t=Du(),G.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function fp(e,t,n,a){t.value=n,t.getSnapshot=a,mp(t)&&hp(e)}function gp(e,t,n){return n(function(){mp(t)&&hp(e)})}function mp(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Bt(e,n)}catch{return!0}}function hp(e){var t=Wa(e,2);t!==null&&yt(t,e,2)}function js(e){var t=ut();if(typeof e=="function"){var n=e;if(e=n(),Va){ta(!0);try{n()}finally{ta(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:e},t}function pp(e,t,n,a){return e.baseState=n,Pd(e,re,typeof a=="function"?a:zn)}function PA(e,t,n,a,l){if(_u(e))throw Error(S(485));if(e=t.action,e!==null){var i={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){i.listeners.push(r)}};L.T!==null?n(!0):i.isTransition=!1,a(i),n=t.pending,n===null?(i.next=t.pending=i,yp(t,i)):(i.next=n.next,t.pending=n.next=i)}}function yp(e,t){var n=t.action,a=t.payload,l=e.state;if(t.isTransition){var i=L.T,r={};L.T=r;try{var o=n(l,a),u=L.S;u!==null&&u(r,o),pm(e,t,o)}catch(c){Ys(e,t,c)}finally{i!==null&&r.types!==null&&(i.types=r.types),L.T=i}}else try{i=n(l,a),pm(e,t,i)}catch(c){Ys(e,t,c)}}function pm(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){ym(e,t,a)},function(a){return Ys(e,t,a)}):ym(e,t,n)}function ym(e,t,n){t.status="fulfilled",t.value=n,vp(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,yp(e,n)))}function Ys(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=n,vp(t),t=t.next;while(t!==a)}e.action=null}function vp(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function bp(e,t){return t}function vm(e,t){if(V){var n=ue.formState;if(n!==null){e:{var a=G;if(V){if(ye){t:{for(var l=ye,i=Vt;l.nodeType!==8;){if(!i){l=null;break t}if(l=Qt(l.nextSibling),l===null){l=null;break t}}i=l.data,l=i==="F!"||i==="F"?l:null}if(l){ye=Qt(l.nextSibling),a=l.data==="F!";break e}}pa(a)}a=!1}a&&(t=n[0])}}return n=ut(),n.memoizedState=n.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bp,lastRenderedState:t},n.queue=a,n=Lp.bind(null,G,a),a.dispatch=n,a=js(!1),i=Vd.bind(null,G,!1,a.queue),a=ut(),l={state:t,dispatch:null,action:e,pending:null},a.queue=l,n=PA.bind(null,G,l,i,n),l.dispatch=n,a.memoizedState=e,[t,n,!1]}function bm(e){var t=Me();return Ap(t,re,e)}function Ap(e,t,n){if(t=Pd(e,t,bp)[0],e=Ho(zn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=Tr(t)}catch(r){throw r===ti?Eu:r}else a=t;t=Me();var l=t.queue,i=l.dispatch;return n!==t.memoizedState&&(G.flags|=2048,Xl(9,{destroy:void 0},qA.bind(null,l,n),null)),[a,i,e]}function qA(e,t){e.action=t}function Am(e){var t=Me(),n=re;if(n!==null)return Ap(t,n,e);Me(),t=t.memoizedState,n=Me();var a=n.queue.dispatch;return n.memoizedState=e,[t,a,!1]}function Xl(e,t,n,a){return e={tag:e,create:n,deps:a,inst:t,next:null},t=G.updateQueue,t===null&&(t=Du(),G.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function wp(){return Me().memoizedState}function zo(e,t,n,a){var l=ut();G.flags|=e,l.memoizedState=Xl(1|t,{destroy:void 0},n,a===void 0?null:a)}function Mu(e,t,n,a){var l=Me();a=a===void 0?null:a;var i=l.memoizedState.inst;re!==null&&a!==null&&kd(a,re.memoizedState.deps)?l.memoizedState=Xl(t,i,n,a):(G.flags|=e,l.memoizedState=Xl(1|t,i,n,a))}function wm(e,t){zo(8390656,8,e,t)}function qd(e,t){Mu(2048,8,e,t)}function FA(e){G.flags|=4;var t=G.updateQueue;if(t===null)t=Du(),G.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Sp(e){var t=Me().memoizedState;return FA({ref:t,nextImpl:e}),function(){if((J&2)!==0)throw Error(S(440));return t.impl.apply(void 0,arguments)}}function Cp(e,t){return Mu(4,2,e,t)}function Rp(e,t){return Mu(4,4,e,t)}function Tp(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ep(e,t,n){n=n!=null?n.concat([e]):null,Mu(4,4,Tp.bind(null,t,e),n)}function Fd(){}function Dp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;return t!==null&&kd(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function xp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;if(t!==null&&kd(t,a[1]))return a[0];if(a=e(),Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a}function jd(e,t,n){return n===void 0||(Hn&1073741824)!==0&&(Y&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=py(),G.lanes|=e,va|=e,n)}function Mp(e,t,n,a){return Bt(n,t)?n:Vl.current!==null?(e=jd(e,n,a),Bt(e,t)||(Le=!0),e):(Hn&42)===0||(Hn&1073741824)!==0&&(Y&261930)===0?(Le=!0,e.memoizedState=n):(e=py(),G.lanes|=e,va|=e,t)}function _p(e,t,n,a,l){var i=$.p;$.p=i!==0&&8>i?i:8;var r=L.T,o={};L.T=o,Vd(e,!1,t,n);try{var u=l(),c=L.S;if(c!==null&&c(o,u),u!==null&&typeof u=="object"&&typeof u.then=="function"){var s=zA(u,a);Ji(e,t,s,_t(e))}else Ji(e,t,a,_t(e))}catch(f){Ji(e,t,{then:function(){},status:"rejected",reason:f},_t())}finally{$.p=i,r!==null&&o.types!==null&&(r.types=o.types),L.T=r}}function jA(){}function Vs(e,t,n,a){if(e.tag!==5)throw Error(S(476));var l=Bp(e).queue;_p(e,l,t,za,n===null?jA:function(){return Np(e),n(a)})}function Bp(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:za,baseState:za,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:za},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Np(e){var t=Bp(e);t.next===null&&(t=e.alternate.memoizedState),Ji(e,t.next.queue,{},_t())}function Yd(){return Qe(hr)}function Op(){return Me().memoizedState}function kp(){return Me().memoizedState}function YA(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_t();e=ua(n);var a=ca(t,e,n);a!==null&&(yt(a,t,n),Zi(a,t,n)),t={cache:Md()},e.payload=t;return}t=t.return}}function VA(e,t,n){var a=_t();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},_u(e)?Hp(t,n):(n=Td(e,t,n,a),n!==null&&(yt(n,e,a),zp(n,t,a)))}function Lp(e,t,n){var a=_t();Ji(e,t,n,a)}function Ji(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(_u(e))Hp(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,o=i(r,n);if(l.hasEagerState=!0,l.eagerState=o,Bt(o,r))return Tu(e,t,l,0),ue===null&&Ru(),!1}catch{}finally{}if(n=Td(e,t,l,a),n!==null)return yt(n,e,a),zp(n,t,a),!0}return!1}function Vd(e,t,n,a){if(a={lane:2,revertLane:ef(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},_u(e)){if(t)throw Error(S(479))}else t=Td(e,n,a,2),t!==null&&yt(t,e,2)}function _u(e){var t=e.alternate;return e===G||t!==null&&t===G}function Hp(e,t){Gl=au=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zp(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}var fr={readContext:Qe,use:xu,useCallback:Re,useContext:Re,useEffect:Re,useImperativeHandle:Re,useLayoutEffect:Re,useInsertionEffect:Re,useMemo:Re,useReducer:Re,useRef:Re,useState:Re,useDebugValue:Re,useDeferredValue:Re,useTransition:Re,useSyncExternalStore:Re,useId:Re,useHostTransitionStatus:Re,useFormState:Re,useActionState:Re,useOptimistic:Re,useMemoCache:Re,useCacheRefresh:Re};fr.useEffectEvent=Re;var Up={readContext:Qe,use:xu,useCallback:function(e,t){return ut().memoizedState=[e,t===void 0?null:t],e},useContext:Qe,useEffect:wm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,zo(4194308,4,Tp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zo(4194308,4,e,t)},useInsertionEffect:function(e,t){zo(4,2,e,t)},useMemo:function(e,t){var n=ut();t=t===void 0?null:t;var a=e();if(Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=ut();if(n!==void 0){var l=n(t);if(Va){ta(!0);try{n(t)}finally{ta(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=VA.bind(null,G,e),[a.memoizedState,e]},useRef:function(e){var t=ut();return e={current:e},t.memoizedState=e},useState:function(e){e=js(e);var t=e.queue,n=Lp.bind(null,G,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Fd,useDeferredValue:function(e,t){var n=ut();return jd(n,e,t)},useTransition:function(){var e=js(!1);return e=_p.bind(null,G,e.queue,!0,!1),ut().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=G,l=ut();if(V){if(n===void 0)throw Error(S(407));n=n()}else{if(n=t(),ue===null)throw Error(S(349));(Y&127)!==0||dp(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,wm(gp.bind(null,a,i,e),[e]),a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,i,n,t),null),n},useId:function(){var e=ut(),t=ue.identifierPrefix;if(V){var n=dn,a=sn;n=(a&~(1<<32-Mt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=lu++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=UA++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Yd,useFormState:vm,useActionState:vm,useOptimistic:function(e){var t=ut();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Vd.bind(null,G,!0,n),n.dispatch=t,[e,t]},useMemoCache:Gd,useCacheRefresh:function(){return ut().memoizedState=YA.bind(null,G)},useEffectEvent:function(e){var t=ut(),n={impl:e};return t.memoizedState=n,function(){if((J&2)!==0)throw Error(S(440));return n.impl.apply(void 0,arguments)}}},Xd={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:Ho,useRef:wp,useState:function(){return Ho(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=Ho(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:bm,useActionState:bm,useOptimistic:function(e,t){var n=Me();return pp(n,re,e,t)},useMemoCache:Gd,useCacheRefresh:kp};Xd.useEffectEvent=Sp;var Gp={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:$c,useRef:wp,useState:function(){return $c(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return re===null?jd(n,e,t):Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=$c(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:Am,useActionState:Am,useOptimistic:function(e,t){var n=Me();return re!==null?pp(n,re,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Gd,useCacheRefresh:kp};Gp.useEffectEvent=Sp;function es(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:ve({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xs={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=_t(),a=ua(n);a.tag=2,t!=null&&(a.callback=t),t=ca(e,a,n),t!==null&&(yt(t,e,n),Zi(t,e,n))}};function Sm(e,t,n,a,l,i,r){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,r):t.prototype&&t.prototype.isPureReactComponent?!or(n,a)||!or(l,i):!0}function Cm(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Xs.enqueueReplaceState(t,t.state,null)}function Xa(e,t){var n=t;if("ref"in t){n={};for(var a in t)a!=="ref"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=ve({},n));for(var l in e)n[l]===void 0&&(n[l]=e[l])}return n}function Pp(e){Wo(e)}function qp(e){console.error(e)}function Fp(e){Wo(e)}function iu(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function Rm(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Qs(e,t,n){return n=ua(n),n.tag=3,n.payload={element:null},n.callback=function(){iu(e,t)},n}function jp(e){return e=ua(e),e.tag=3,e}function Yp(e,t,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var i=a.value;e.payload=function(){return l(i)},e.callback=function(){Rm(t,n,a)}}var r=n.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){Rm(t,n,a),typeof l!="function"&&(sa===null?sa=new Set([this]):sa.add(this));var o=a.stack;this.componentDidCatch(a.value,{componentStack:o!==null?o:""})})}function XA(e,t,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=n.alternate,t!==null&&ei(t,n,l,!0),n=Nt.current,n!==null){switch(n.tag){case 31:case 13:return Xt===null?su():n.alternate===null&&Te===0&&(Te=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),ds(e,a,l)),!1;case 22:return n.flags|=65536,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),ds(e,a,l)),!1}throw Error(S(435,n.tag))}return ds(e,a,l),su(),!1}if(V)return t=Nt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,a!==ks&&(e=Error(S(422),{cause:a}),cr(Yt(e,n)))):(a!==ks&&(t=Error(S(423),{cause:a}),cr(Yt(t,n))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,a=Yt(a,n),l=Qs(e.stateNode,a,l),Jc(e,l),Te!==4&&(Te=2)),!1;var i=Error(S(520),{cause:a});if(i=Yt(i,n),tr===null?tr=[i]:tr.push(i),Te!==4&&(Te=2),t===null)return!0;a=Yt(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=l&-l,n.lanes|=e,e=Qs(n.stateNode,a,e),Jc(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(sa===null||!sa.has(i))))return n.flags|=65536,l&=-l,n.lanes|=l,l=jp(l),Yp(l,e,n,a),Jc(n,l),!1}n=n.return}while(n!==null);return!1}var Qd=Error(S(461)),Le=!1;function Ye(e,t,n,a){t.child=e===null?lp(t,null,n,a):Ya(t,e.child,n,a)}function Tm(e,t,n,a,l){n=n.render;var i=t.ref;if("ref"in a){var r={};for(var o in a)o!=="ref"&&(r[o]=a[o])}else r=a;return ja(t),a=Ld(e,t,n,r,i,l),o=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&o&&Dd(t),t.flags|=1,Ye(e,t,a,l),t.child)}function Em(e,t,n,a,l){if(e===null){var i=n.type;return typeof i=="function"&&!Ed(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,Vp(e,t,i,a,l)):(e=ko(n.type,null,a,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Kd(e,l)){var r=i.memoizedProps;if(n=n.compare,n=n!==null?n:or,n(r,a)&&e.ref===t.ref)return Un(e,t,l)}return t.flags|=1,e=Nn(i,a),e.ref=t.ref,e.return=t,t.child=e}function Vp(e,t,n,a,l){if(e!==null){var i=e.memoizedProps;if(or(i,a)&&e.ref===t.ref)if(Le=!1,t.pendingProps=a=i,Kd(e,l))(e.flags&131072)!==0&&(Le=!0);else return t.lanes=e.lanes,Un(e,t,l)}return Ks(e,t,n,a,l)}function Xp(e,t,n,a){var l=a.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(a=t.child=e.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~i}else a=0,t.child=null;return Dm(e,t,i,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Lo(t,i!==null?i.cachePool:null),i!==null?hm(t,i):qs(),op(t);else return a=t.lanes=536870912,Dm(e,t,i!==null?i.baseLanes|n:n,n,a)}else i!==null?(Lo(t,i.cachePool),hm(t,i),$n(t),t.memoizedState=null):(e!==null&&Lo(t,null),qs(),$n(t));return Ye(e,t,l,n),t.child}function ji(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Dm(e,t,n,a,l){var i=_d();return i=i===null?null:{parent:ke._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Lo(t,null),qs(),op(t),e!==null&&ei(e,t,a,!0),t.childLanes=l,null}function Uo(e,t){return t=ru({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function xm(e,t,n){return Ya(t,e.child,null,n),e=Uo(t,t.pendingProps),e.flags|=2,Rt(t),t.memoizedState=null,e}function QA(e,t,n){var a=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(V){if(a.mode==="hidden")return e=Uo(t,a),t.lanes=536870912,ji(null,e);if(Fs(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return t.lanes=536870912,null}return Uo(t,a)}var i=e.memoizedState;if(i!==null){var r=i.dehydrated;if(Fs(t),l)if(t.flags&256)t.flags&=-257,t=xm(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(S(558));else if(Le||ei(e,t,n,!1),l=(n&e.childLanes)!==0,Le||l){if(a=ue,a!==null&&(r=Ch(a,n),r!==0&&r!==i.retryLane))throw i.retryLane=r,Wa(e,r),yt(a,e,r),Qd;su(),t=xm(e,t,n)}else e=i.treeContext,ye=Qt(r.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Uo(t,a),t.flags|=4096;return t}return e=Nn(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Go(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(S(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Ks(e,t,n,a,l){return ja(t),n=Ld(e,t,n,a,void 0,l),a=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,l),t.child)}function Mm(e,t,n,a,l,i){return ja(t),t.updateQueue=null,n=cp(t,a,n,l),up(e),a=Hd(),e!==null&&!Le?(zd(e,t,i),Un(e,t,i)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,i),t.child)}function _m(e,t,n,a,l){if(ja(t),t.stateNode===null){var i=_l,r=n.contextType;typeof r=="object"&&r!==null&&(i=Qe(r)),i=new n(a,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Xs,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=a,i.state=t.memoizedState,i.refs={},Nd(t),r=n.contextType,i.context=typeof r=="object"&&r!==null?Qe(r):_l,i.state=t.memoizedState,r=n.getDerivedStateFromProps,typeof r=="function"&&(es(t,n,r,a),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&Xs.enqueueReplaceState(i,i.state,null),Ii(t,a,i,l),Wi(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){i=t.stateNode;var o=t.memoizedProps,u=Xa(n,o);i.props=u;var c=i.context,s=n.contextType;r=_l,typeof s=="object"&&s!==null&&(r=Qe(s));var f=n.getDerivedStateFromProps;s=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function",o=t.pendingProps!==o,s||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o||c!==r)&&Cm(t,i,a,r),Wn=!1;var d=t.memoizedState;i.state=d,Ii(t,a,i,l),Wi(),c=t.memoizedState,o||d!==c||Wn?(typeof f=="function"&&(es(t,n,f,a),c=t.memoizedState),(u=Wn||Sm(t,n,u,a,d,c,r))?(s||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=r,a=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Gs(e,t),r=t.memoizedProps,s=Xa(n,r),i.props=s,f=t.pendingProps,d=i.context,c=n.contextType,u=_l,typeof c=="object"&&c!==null&&(u=Qe(c)),o=n.getDerivedStateFromProps,(c=typeof o=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r!==f||d!==u)&&Cm(t,i,a,u),Wn=!1,d=t.memoizedState,i.state=d,Ii(t,a,i,l),Wi();var m=t.memoizedState;r!==f||d!==m||Wn||e!==null&&e.dependencies!==null&&$o(e.dependencies)?(typeof o=="function"&&(es(t,n,o,a),m=t.memoizedState),(s=Wn||Sm(t,n,s,a,d,m,u)||e!==null&&e.dependencies!==null&&$o(e.dependencies))?(c||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(a,m,u),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(a,m,u)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=u,a=s):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return i=a,Go(e,t),a=(t.flags&128)!==0,i||a?(i=t.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&a?(t.child=Ya(t,e.child,null,l),t.child=Ya(t,null,n,l)):Ye(e,t,n,l),t.memoizedState=i.state,e=t.child):e=Un(e,t,l),e}function Bm(e,t,n,a){return Fa(),t.flags|=256,Ye(e,t,n,a),t.child}var ts={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ns(e){return{baseLanes:e,cachePool:tp()}}function as(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Et),e}function Qp(e,t,n){var a=t.pendingProps,l=!1,i=(t.flags&128)!==0,r;if((r=i)||(r=e!==null&&e.memoizedState===null?!1:(xe.current&2)!==0),r&&(l=!0,t.flags&=-129),r=(t.flags&32)!==0,t.flags&=-33,e===null){if(V){if(l?Jn(t):$n(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return ud(e)?t.lanes=32:t.lanes=536870912,null}var o=a.children;return a=a.fallback,l?($n(t),l=t.mode,o=ru({mode:"hidden",children:o},l),a=Ua(a,l,n,null),o.return=t,a.return=t,o.sibling=a,t.child=o,a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,ji(null,a)):(Jn(t),Zs(t,o))}var u=e.memoizedState;if(u!==null&&(o=u.dehydrated,o!==null)){if(i)t.flags&256?(Jn(t),t.flags&=-257,t=ls(e,t,n)):t.memoizedState!==null?($n(t),t.child=e.child,t.flags|=128,t=null):($n(t),o=a.fallback,l=t.mode,a=ru({mode:"visible",children:a.children},l),o=Ua(o,l,n,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,Ya(t,e.child,null,n),a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,t=ji(null,a));else if(Jn(t),ud(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var c=r.dgst;r=c,a=Error(S(419)),a.stack="",a.digest=r,cr({value:a,source:null,stack:null}),t=ls(e,t,n)}else if(Le||ei(e,t,n,!1),r=(n&e.childLanes)!==0,Le||r){if(r=ue,r!==null&&(a=Ch(r,n),a!==0&&a!==u.retryLane))throw u.retryLane=a,Wa(e,a),yt(r,e,a),Qd;od(o)||su(),t=ls(e,t,n)}else od(o)?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,ye=Qt(o.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Zs(t,a.children),t.flags|=4096);return t}return l?($n(t),o=a.fallback,l=t.mode,u=e.child,c=u.sibling,a=Nn(u,{mode:"hidden",children:a.children}),a.subtreeFlags=u.subtreeFlags&65011712,c!==null?o=Nn(c,o):(o=Ua(o,l,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,ji(null,a),a=t.child,o=e.child.memoizedState,o===null?o=ns(n):(l=o.cachePool,l!==null?(u=ke._currentValue,l=l.parent!==u?{parent:u,pool:u}:l):l=tp(),o={baseLanes:o.baseLanes|n,cachePool:l}),a.memoizedState=o,a.childLanes=as(e,r,n),t.memoizedState=ts,ji(e.child,a)):(Jn(t),n=e.child,e=n.sibling,n=Nn(n,{mode:"visible",children:a.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Zs(e,t){return t=ru({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ru(e,t){return e=Tt(22,e,null,t),e.lanes=0,e}function ls(e,t,n){return Ya(t,e.child,null,n),e=Zs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nm(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Hs(e.return,t,n)}function is(e,t,n,a,l,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=l,r.treeForkCount=i)}function Kp(e,t,n){var a=t.pendingProps,l=a.revealOrder,i=a.tail;a=a.children;var r=xe.current,o=(r&2)!==0;if(o?(r=r&1|2,t.flags|=128):r&=1,ge(xe,r),Ye(e,t,a,n),a=V?ur:0,!o&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nm(e,n,t);else if(e.tag===19)Nm(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&nu(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),is(t,!1,l,n,i,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&nu(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}is(t,!0,n,null,i,a);break;case"together":is(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function Un(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),va|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ei(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(S(153));if(t.child!==null){for(e=t.child,n=Nn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Nn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Kd(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&$o(e)))}function KA(e,t,n){switch(t.tag){case 3:Xo(t,t.stateNode.containerInfo),In(t,ke,e.memoizedState.cache),Fa();break;case 27:case 5:Cs(t);break;case 4:Xo(t,t.stateNode.containerInfo);break;case 10:In(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Fs(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(Jn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Qp(e,t,n):(Jn(t),e=Un(e,t,n),e!==null?e.sibling:null);Jn(t);break;case 19:var l=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||(ei(e,t,n,!1),a=(n&t.childLanes)!==0),l){if(a)return Kp(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ge(xe,xe.current),a)break;return null;case 22:return t.lanes=0,Xp(e,t,n,t.pendingProps);case 24:In(t,ke,e.memoizedState.cache)}return Un(e,t,n)}function Zp(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Le=!0;else{if(!Kd(e,n)&&(t.flags&128)===0)return Le=!1,KA(e,t,n);Le=(e.flags&131072)!==0}else Le=!1,V&&(t.flags&1048576)!==0&&Jh(t,ur,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=La(t.elementType),t.type=e,typeof e=="function")Ed(e)?(a=Xa(e,a),t.tag=1,t=_m(null,t,e,a,n)):(t.tag=0,t=Ks(null,t,e,a,n));else{if(e!=null){var l=e.$$typeof;if(l===fd){t.tag=11,t=Tm(null,t,e,a,n);break e}else if(l===gd){t.tag=14,t=Em(null,t,e,a,n);break e}}throw t=ws(e)||e,Error(S(306,t,""))}}return t;case 0:return Ks(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,l=Xa(a,t.pendingProps),_m(e,t,a,l,n);case 3:e:{if(Xo(t,t.stateNode.containerInfo),e===null)throw Error(S(387));a=t.pendingProps;var i=t.memoizedState;l=i.element,Gs(e,t),Ii(t,a,null,n);var r=t.memoizedState;if(a=r.cache,In(t,ke,a),a!==i.cache&&zs(t,[ke],n,!0),Wi(),a=r.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:r.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Bm(e,t,a,n);break e}else if(a!==l){l=Yt(Error(S(424)),t),cr(l),t=Bm(e,t,a,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(ye=Qt(e.firstChild),Xe=t,V=!0,oa=null,Vt=!0,n=lp(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Fa(),a===l){t=Un(e,t,n);break e}Ye(e,t,a,n)}t=t.child}return t;case 26:return Go(e,t),e===null?(n=eh(t.type,null,t.pendingProps,null))?t.memoizedState=n:V||(n=t.type,e=t.pendingProps,a=mu(ra.current).createElement(n),a[Ve]=t,a[vt]=e,Ke(a,n,e),qe(a),t.stateNode=a):t.memoizedState=eh(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Cs(t),e===null&&V&&(a=t.stateNode=Gy(t.type,t.pendingProps,ra.current),Xe=t,Vt=!0,l=ye,Aa(t.type)?(cd=l,ye=Qt(a.firstChild)):ye=l),Ye(e,t,t.pendingProps.children,n),Go(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&V&&((l=a=ye)&&(a=Sw(a,t.type,t.pendingProps,Vt),a!==null?(t.stateNode=a,Xe=t,ye=Qt(a.firstChild),Vt=!1,l=!0):l=!1),l||pa(t)),Cs(t),l=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,a=i.children,id(l,i)?a=null:r!==null&&id(l,r)&&(t.flags|=32),t.memoizedState!==null&&(l=Ld(e,t,GA,null,null,n),hr._currentValue=l),Go(e,t),Ye(e,t,a,n),t.child;case 6:return e===null&&V&&((e=n=ye)&&(n=Cw(n,t.pendingProps,Vt),n!==null?(t.stateNode=n,Xe=t,ye=null,e=!0):e=!1),e||pa(t)),null;case 13:return Qp(e,t,n);case 4:return Xo(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ya(t,null,a,n):Ye(e,t,a,n),t.child;case 11:return Tm(e,t,t.type,t.pendingProps,n);case 7:return Ye(e,t,t.pendingProps,n),t.child;case 8:return Ye(e,t,t.pendingProps.children,n),t.child;case 12:return Ye(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,In(t,t.type,a.value),Ye(e,t,a.children,n),t.child;case 9:return l=t.type._context,a=t.pendingProps.children,ja(t),l=Qe(l),a=a(l),t.flags|=1,Ye(e,t,a,n),t.child;case 14:return Em(e,t,t.type,t.pendingProps,n);case 15:return Vp(e,t,t.type,t.pendingProps,n);case 19:return Kp(e,t,n);case 31:return QA(e,t,n);case 22:return Xp(e,t,n,t.pendingProps);case 24:return ja(t),a=Qe(ke),e===null?(l=_d(),l===null&&(l=ue,i=Md(),l.pooledCache=i,i.refCount++,i!==null&&(l.pooledCacheLanes|=n),l=i),t.memoizedState={parent:a,cache:l},Nd(t),In(t,ke,l)):((e.lanes&n)!==0&&(Gs(e,t),Ii(t,null,null,n),Wi()),l=e.memoizedState,i=t.memoizedState,l.parent!==a?(l={parent:a,cache:a},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),In(t,ke,a)):(a=i.cache,In(t,ke,a),a!==l.cache&&zs(t,[ke],n,!0))),Ye(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(S(156,t.tag))}function Cn(e){e.flags|=4}function rs(e,t,n,a,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(by())e.flags|=8192;else throw Pa=eu,Bd}else e.flags&=-16777217}function Om(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Fy(t))if(by())e.flags|=8192;else throw Pa=eu,Bd}function Co(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ah():536870912,e.lanes|=t,Ql|=t)}function Hi(e,t){if(!V)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function ZA(e,t,n){var a=t.pendingProps;switch(xd(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pe(t),null;case 1:return pe(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),On(ke),ql(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(vl(t)?Cn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ic())),pe(t),null;case 26:var l=t.type,i=t.memoizedState;return e===null?(Cn(t),i!==null?(pe(t),Om(t,i)):(pe(t),rs(t,l,null,a,n))):i?i!==e.memoizedState?(Cn(t),pe(t),Om(t,i)):(pe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&Cn(t),pe(t),rs(t,l,e,a,n)),null;case 27:if(Qo(t),n=ra.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}e=gn.current,vl(t)?um(t,e):(e=Gy(l,a,n),t.stateNode=e,Cn(t))}return pe(t),null;case 5:if(Qo(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}if(i=gn.current,vl(t))um(t,i);else{var r=mu(ra.current);switch(i){case 1:i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":i=r.createElement("div"),i.innerHTML="<script><\/scr"+"ipt>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?r.createElement(l,{is:a.is}):r.createElement(l)}}i[Ve]=t,i[vt]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(Ke(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Cn(t)}}return pe(t),rs(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(S(166));if(e=ra.current,vl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=Xe,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[Ve]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Ly(e.nodeValue,n)),e||pa(t,!0)}else e=mu(e).createTextNode(a),e[Ve]=t,t.stateNode=e}return pe(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=vl(t),n!==null){if(e===null){if(!a)throw Error(S(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(557));e[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),e=!1}else n=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Rt(t),t):(Rt(t),null);if((t.flags&128)!==0)throw Error(S(558))}return pe(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=vl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(S(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(317));l[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),l=!1}else l=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Rt(t),t):(Rt(t),null)}return Rt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Co(t,t.updateQueue),pe(t),null);case 4:return ql(),e===null&&tf(t.stateNode.containerInfo),pe(t),null;case 10:return On(t.type),pe(t),null;case 19:if(Fe(xe),a=t.memoizedState,a===null)return pe(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)Hi(a,!1);else{if(Te!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=nu(e),i!==null){for(t.flags|=128,Hi(a,!1),e=i.updateQueue,t.updateQueue=e,Co(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Wh(n,e),n=n.sibling;return ge(xe,xe.current&1|2),V&&Dn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Dt()>uu&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304)}else{if(!l)if(e=nu(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Co(t,e),Hi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!V)return pe(t),null}else 2*Dt()-a.renderingStartTime>uu&&n!==536870912&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Dt(),e.sibling=null,n=xe.current,ge(xe,l?n&1|2:n&1),V&&Dn(t,a.treeForkCount),e):(pe(t),null);case 22:case 23:return Rt(t),Od(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(pe(t),t.subtreeFlags&6&&(t.flags|=8192)):pe(t),n=t.updateQueue,n!==null&&Co(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&Fe(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),On(ke),pe(t),null;case 25:return null;case 30:return null}throw Error(S(156,t.tag))}function WA(e,t){switch(xd(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return On(ke),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Qo(t),null;case 31:if(t.memoizedState!==null){if(Rt(t),t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Rt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fe(xe),null;case 4:return ql(),null;case 10:return On(t.type),null;case 22:case 23:return Rt(t),Od(),e!==null&&Fe(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return On(ke),null;case 25:return null;default:return null}}function Wp(e,t){switch(xd(t),t.tag){case 3:On(ke),ql();break;case 26:case 27:case 5:Qo(t);break;case 4:ql();break;case 31:t.memoizedState!==null&&Rt(t);break;case 13:Rt(t);break;case 19:Fe(xe);break;case 10:On(t.type);break;case 22:case 23:Rt(t),Od(),e!==null&&Fe(Ga);break;case 24:On(ke)}}function Er(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,r=n.inst;a=i(),r.destroy=a}n=n.next}while(n!==l)}}catch(o){le(t,t.return,o)}}function ya(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var r=a.inst,o=r.destroy;if(o!==void 0){r.destroy=void 0,l=t;var u=n,c=o;try{c()}catch(s){le(l,u,s)}}}a=a.next}while(a!==i)}}catch(s){le(t,t.return,s)}}function Ip(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{rp(t,n)}catch(a){le(e,e.return,a)}}}function Jp(e,t,n){n.props=Xa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){le(e,t,a)}}function $i(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){le(e,t,l)}}function fn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){le(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){le(e,t,l)}else n.current=null}function $p(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){le(e,e.return,l)}}function os(e,t,n){try{var a=e.stateNode;pw(a,e.type,n,t),a[vt]=t}catch(l){le(e,e.return,l)}}function ey(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Aa(e.type)||e.tag===4}function us(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ey(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Aa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ws(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=_n));else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Ws(e,t,n),e=e.sibling;e!==null;)Ws(e,t,n),e=e.sibling}function ou(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ou(e,t,n),e=e.sibling;e!==null;)ou(e,t,n),e=e.sibling}function ty(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);Ke(t,a,n),t[Ve]=e,t[vt]=n}catch(i){le(e,e.return,i)}}var xn=!1,Oe=!1,cs=!1,km=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function IA(e,t){if(e=e.containerInfo,ad=vu,e=Fh(e),Cd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var r=0,o=-1,u=-1,c=0,s=0,f=e,d=null;t:for(;;){for(var m;f!==n||l!==0&&f.nodeType!==3||(o=r+l),f!==i||a!==0&&f.nodeType!==3||(u=r+a),f.nodeType===3&&(r+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===n&&++c===l&&(o=r),d===i&&++s===a&&(u=r),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}n=o===-1||u===-1?null:{start:o,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ld={focusedElem:e,selectionRange:n},vu=!1,Pe=t;Pe!==null;)if(t=Pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Pe=e;else for(;Pe!==null;){switch(t=Pe,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)l=e[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,l=i.memoizedProps,i=i.memoizedState,a=n.stateNode;try{var v=Xa(n.type,l);e=a.getSnapshotBeforeUpdate(v,i),a.__reactInternalSnapshotBeforeUpdate=e}catch(A){le(n,n.return,A)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)rd(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":rd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(S(163))}if(e=t.sibling,e!==null){e.return=t.return,Pe=e;break}Pe=t.return}}function ny(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Tn(e,n),a&4&&Er(5,n);break;case 1:if(Tn(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(r){le(n,n.return,r)}else{var l=Xa(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(r){le(n,n.return,r)}}a&64&&Ip(n),a&512&&$i(n,n.return);break;case 3:if(Tn(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{rp(e,t)}catch(r){le(n,n.return,r)}}break;case 27:t===null&&a&4&&ty(n);case 26:case 5:Tn(e,n),t===null&&a&4&&$p(n),a&512&&$i(n,n.return);break;case 12:Tn(e,n);break;case 31:Tn(e,n),a&4&&iy(e,n);break;case 13:Tn(e,n),a&4&&ry(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=rw.bind(null,n),Rw(e,n))));break;case 22:if(a=n.memoizedState!==null||xn,!a){t=t!==null&&t.memoizedState!==null||Oe,l=xn;var i=Oe;xn=a,(Oe=t)&&!i?En(e,n,(n.subtreeFlags&8772)!==0):Tn(e,n),xn=l,Oe=i}break;case 30:break;default:Tn(e,n)}}function ay(e){var t=e.alternate;t!==null&&(e.alternate=null,ay(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&yd(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ce=null,ht=!1;function Rn(e,t,n){for(n=n.child;n!==null;)ly(e,t,n),n=n.sibling}function ly(e,t,n){if(xt&&typeof xt.onCommitFiberUnmount=="function")try{xt.onCommitFiberUnmount(br,n)}catch{}switch(n.tag){case 26:Oe||fn(n,t),Rn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Oe||fn(n,t);var a=Ce,l=ht;Aa(n.type)&&(Ce=n.stateNode,ht=!1),Rn(e,t,n),ar(n.stateNode),Ce=a,ht=l;break;case 5:Oe||fn(n,t);case 6:if(a=Ce,l=ht,Ce=null,Rn(e,t,n),Ce=a,ht=l,Ce!==null)if(ht)try{(Ce.nodeType===9?Ce.body:Ce.nodeName==="HTML"?Ce.ownerDocument.body:Ce).removeChild(n.stateNode)}catch(i){le(n,t,i)}else try{Ce.removeChild(n.stateNode)}catch(i){le(n,t,i)}break;case 18:Ce!==null&&(ht?(e=Ce,Zm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),Il(e)):Zm(Ce,n.stateNode));break;case 4:a=Ce,l=ht,Ce=n.stateNode.containerInfo,ht=!0,Rn(e,t,n),Ce=a,ht=l;break;case 0:case 11:case 14:case 15:ya(2,n,t),Oe||ya(4,n,t),Rn(e,t,n);break;case 1:Oe||(fn(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"&&Jp(n,t,a)),Rn(e,t,n);break;case 21:Rn(e,t,n);break;case 22:Oe=(a=Oe)||n.memoizedState!==null,Rn(e,t,n),Oe=a;break;default:Rn(e,t,n)}}function iy(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Il(e)}catch(n){le(t,t.return,n)}}}function ry(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Il(e)}catch(n){le(t,t.return,n)}}function JA(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new km),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new km),t;default:throw Error(S(435,e.tag))}}function Ro(e,t){var n=JA(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var l=ow.bind(null,e,a);a.then(l,l)}})}function gt(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var l=n[a],i=e,r=t,o=r;e:for(;o!==null;){switch(o.tag){case 27:if(Aa(o.type)){Ce=o.stateNode,ht=!1;break e}break;case 5:Ce=o.stateNode,ht=!1;break e;case 3:case 4:Ce=o.stateNode.containerInfo,ht=!0;break e}o=o.return}if(Ce===null)throw Error(S(160));ly(i,r,l),Ce=null,ht=!1,i=l.alternate,i!==null&&(i.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)oy(t,e),t=t.sibling}var en=null;function oy(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),mt(e),a&4&&(ya(3,e,e.return),Er(3,e),ya(5,e,e.return));break;case 1:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&64&&xn&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var l=en;if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&4){var i=n!==null?n.memoizedState:null;if(a=e.memoizedState,n===null)if(a===null)if(e.stateNode===null){e:{a=e.type,n=e.memoizedProps,l=l.ownerDocument||l;t:switch(a){case"title":i=l.getElementsByTagName("title")[0],(!i||i[Sr]||i[Ve]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=l.createElement(a),l.head.insertBefore(i,l.querySelector("head > title"))),Ke(i,a,n),i[Ve]=e,qe(i),a=i;break e;case"link":var r=nh("link","href",l).get(a+(n.href||""));if(r){for(var o=0;o<r.length;o++)if(i=r[o],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;case"meta":if(r=nh("meta","content",l).get(a+(n.content||""))){for(o=0;o<r.length;o++)if(i=r[o],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;default:throw Error(S(468,a))}i[Ve]=e,qe(i),a=i}e.stateNode=a}else ah(l,e.type,e.stateNode);else e.stateNode=th(l,a,e.memoizedProps);else i!==a?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count--,a===null?ah(l,e.type,e.stateNode):th(l,a,e.memoizedProps)):a===null&&e.stateNode!==null&&os(e,e.memoizedProps,n.memoizedProps)}break;case 27:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),n!==null&&a&4&&os(e,e.memoizedProps,n.memoizedProps);break;case 5:if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),e.flags&32){l=e.stateNode;try{jl(l,"")}catch(v){le(e,e.return,v)}}a&4&&e.stateNode!=null&&(l=e.memoizedProps,os(e,l,n!==null?n.memoizedProps:l)),a&1024&&(cs=!0);break;case 6:if(gt(t,e),mt(e),a&4){if(e.stateNode===null)throw Error(S(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(v){le(e,e.return,v)}}break;case 3:if(Fo=null,l=en,en=hu(t.containerInfo),gt(t,e),en=l,mt(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Il(t.containerInfo)}catch(v){le(e,e.return,v)}cs&&(cs=!1,uy(e));break;case 4:a=en,en=hu(e.stateNode.containerInfo),gt(t,e),mt(e),en=a;break;case 12:gt(t,e),mt(e);break;case 31:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 13:gt(t,e),mt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Bu=Dt()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 22:l=e.memoizedState!==null;var u=n!==null&&n.memoizedState!==null,c=xn,s=Oe;if(xn=c||l,Oe=s||u,gt(t,e),Oe=s,xn=c,mt(e),a&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(n===null||u||xn||Oe||Ha(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){u=n=t;try{if(i=u.stateNode,l)r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{o=u.stateNode;var f=u.memoizedProps.style,d=f!=null&&f.hasOwnProperty("display")?f.display:null;o.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(v){le(u,u.return,v)}}}else if(t.tag===6){if(n===null){u=t;try{u.stateNode.nodeValue=l?"":u.memoizedProps}catch(v){le(u,u.return,v)}}}else if(t.tag===18){if(n===null){u=t;try{var m=u.stateNode;l?Wm(m,!0):Wm(u.stateNode,!1)}catch(v){le(u,u.return,v)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,Ro(e,n))));break;case 19:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 30:break;case 21:break;default:gt(t,e),mt(e)}}function mt(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(ey(a)){n=a;break}a=a.return}if(n==null)throw Error(S(160));switch(n.tag){case 27:var l=n.stateNode,i=us(e);ou(e,i,l);break;case 5:var r=n.stateNode;n.flags&32&&(jl(r,""),n.flags&=-33);var o=us(e);ou(e,o,r);break;case 3:case 4:var u=n.stateNode.containerInfo,c=us(e);Ws(e,c,u);break;default:throw Error(S(161))}}catch(s){le(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function uy(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;uy(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Tn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ny(e,t.alternate,t),t=t.sibling}function Ha(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ya(4,t,t.return),Ha(t);break;case 1:fn(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Jp(t,t.return,n),Ha(t);break;case 27:ar(t.stateNode);case 26:case 5:fn(t,t.return),Ha(t);break;case 22:t.memoizedState===null&&Ha(t);break;case 30:Ha(t);break;default:Ha(t)}e=e.sibling}}function En(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,l=e,i=t,r=i.flags;switch(i.tag){case 0:case 11:case 15:En(l,i,n),Er(4,i);break;case 1:if(En(l,i,n),a=i,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(c){le(a,a.return,c)}if(a=i,l=a.updateQueue,l!==null){var o=a.stateNode;try{var u=l.shared.hiddenCallbacks;if(u!==null)for(l.shared.hiddenCallbacks=null,l=0;l<u.length;l++)ip(u[l],o)}catch(c){le(a,a.return,c)}}n&&r&64&&Ip(i),$i(i,i.return);break;case 27:ty(i);case 26:case 5:En(l,i,n),n&&a===null&&r&4&&$p(i),$i(i,i.return);break;case 12:En(l,i,n);break;case 31:En(l,i,n),n&&r&4&&iy(l,i);break;case 13:En(l,i,n),n&&r&4&&ry(l,i);break;case 22:i.memoizedState===null&&En(l,i,n),$i(i,i.return);break;case 30:break;default:En(l,i,n)}t=t.sibling}}function Zd(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Rr(n))}function Wd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e))}function $t(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)cy(e,t,n,a),t=t.sibling}function cy(e,t,n,a){var l=t.flags;switch(t.tag){case 0:case 11:case 15:$t(e,t,n,a),l&2048&&Er(9,t);break;case 1:$t(e,t,n,a);break;case 3:$t(e,t,n,a),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e)));break;case 12:if(l&2048){$t(e,t,n,a),e=t.stateNode;try{var i=t.memoizedProps,r=i.id,o=i.onPostCommit;typeof o=="function"&&o(r,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(u){le(t,t.return,u)}}else $t(e,t,n,a);break;case 31:$t(e,t,n,a);break;case 13:$t(e,t,n,a);break;case 23:break;case 22:i=t.stateNode,r=t.alternate,t.memoizedState!==null?i._visibility&2?$t(e,t,n,a):er(e,t):i._visibility&2?$t(e,t,n,a):(i._visibility|=2,Al(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Zd(r,t);break;case 24:$t(e,t,n,a),l&2048&&Wd(t.alternate,t);break;default:$t(e,t,n,a)}}function Al(e,t,n,a,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,r=t,o=n,u=a,c=r.flags;switch(r.tag){case 0:case 11:case 15:Al(i,r,o,u,l),Er(8,r);break;case 23:break;case 22:var s=r.stateNode;r.memoizedState!==null?s._visibility&2?Al(i,r,o,u,l):er(i,r):(s._visibility|=2,Al(i,r,o,u,l)),l&&c&2048&&Zd(r.alternate,r);break;case 24:Al(i,r,o,u,l),l&&c&2048&&Wd(r.alternate,r);break;default:Al(i,r,o,u,l)}t=t.sibling}}function er(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,l=a.flags;switch(a.tag){case 22:er(n,a),l&2048&&Zd(a.alternate,a);break;case 24:er(n,a),l&2048&&Wd(a.alternate,a);break;default:er(n,a)}t=t.sibling}}var Yi=8192;function bl(e,t,n){if(e.subtreeFlags&Yi)for(e=e.child;e!==null;)sy(e,t,n),e=e.sibling}function sy(e,t,n){switch(e.tag){case 26:bl(e,t,n),e.flags&Yi&&e.memoizedState!==null&&Hw(n,en,e.memoizedState,e.memoizedProps);break;case 5:bl(e,t,n);break;case 3:case 4:var a=en;en=hu(e.stateNode.containerInfo),bl(e,t,n),en=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=Yi,Yi=16777216,bl(e,t,n),Yi=a):bl(e,t,n));break;default:bl(e,t,n)}}function dy(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function zi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)fy(e),e=e.sibling}function fy(e){switch(e.tag){case 0:case 11:case 15:zi(e),e.flags&2048&&ya(9,e,e.return);break;case 3:zi(e);break;case 12:zi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Po(e)):zi(e);break;default:zi(e)}}function Po(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ya(8,t,t.return),Po(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Po(t));break;default:Po(t)}e=e.sibling}}function gy(e,t){for(;Pe!==null;){var n=Pe;switch(n.tag){case 0:case 11:case 15:ya(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Rr(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,Pe=a;else e:for(n=e;Pe!==null;){a=Pe;var l=a.sibling,i=a.return;if(ay(a),a===n){Pe=null;break e}if(l!==null){l.return=i,Pe=l;break e}Pe=i}}}var $A={getCacheForType:function(e){var t=Qe(ke),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Qe(ke).controller.signal}},ew=typeof WeakMap=="function"?WeakMap:Map,J=0,ue=null,F=null,Y=0,ae=0,Ct=null,aa=!1,ni=!1,Id=!1,Gn=0,Te=0,va=0,qa=0,Jd=0,Et=0,Ql=0,tr=null,pt=null,Is=!1,Bu=0,my=0,uu=1/0,cu=null,sa=null,Ue=0,da=null,Kl=null,kn=0,Js=0,$s=null,hy=null,nr=0,ed=null;function _t(){return(J&2)!==0&&Y!==0?Y&-Y:L.T!==null?ef():Rh()}function py(){if(Et===0)if((Y&536870912)===0||V){var e=mo;mo<<=1,(mo&3932160)===0&&(mo=262144),Et=e}else Et=536870912;return e=Nt.current,e!==null&&(e.flags|=32),Et}function yt(e,t,n){(e===ue&&(ae===2||ae===9)||e.cancelPendingCommit!==null)&&(Zl(e,0),la(e,Y,Et,!1)),wr(e,n),((J&2)===0||e!==ue)&&(e===ue&&((J&2)===0&&(qa|=n),Te===4&&la(e,Y,Et,!1)),hn(e))}function yy(e,t,n){if((J&6)!==0)throw Error(S(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Ar(e,t),l=a?aw(e,t):ss(e,t,!0),i=a;do{if(l===0){ni&&!a&&la(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!tw(n)){l=ss(e,t,!1),i=!1;continue}if(l===2){if(i=t,e.errorRecoveryDisabledLanes&i)var r=0;else r=e.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){t=r;e:{var o=e;l=tr;var u=o.current.memoizedState.isDehydrated;if(u&&(Zl(o,r).flags|=256),r=ss(o,r,!1),r!==2){if(Id&&!u){o.errorRecoveryDisabledLanes|=i,qa|=i,l=4;break e}i=pt,pt=l,i!==null&&(pt===null?pt=i:pt.push.apply(pt,i))}l=r}if(i=!1,l!==2)continue}}if(l===1){Zl(e,0),la(e,t,0,!0);break}e:{switch(a=e,i=l,i){case 0:case 1:throw Error(S(345));case 4:if((t&4194048)!==t)break;case 6:la(a,t,Et,!aa);break e;case 2:pt=null;break;case 3:case 5:break;default:throw Error(S(329))}if((t&62914560)===t&&(l=Bu+300-Dt(),10<l)){if(la(a,t,Et,!aa),Au(a,0,!0)!==0)break e;kn=t,a.timeoutHandle=zy(Lm.bind(null,a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,"Throttled",-0,0),l);break e}Lm(a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,null,-0,0)}}break}while(!0);hn(e)}function Lm(e,t,n,a,l,i,r,o,u,c,s,f,d,m){if(e.timeoutHandle=-1,f=t.subtreeFlags,f&8192||(f&16785408)===16785408){f={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:_n},sy(t,i,f);var v=(i&62914560)===i?Bu-Dt():(i&4194048)===i?my-Dt():0;if(v=zw(f,v),v!==null){kn=i,e.cancelPendingCommit=v(zm.bind(null,e,t,i,n,a,l,r,o,u,s,f,null,d,m)),la(e,i,r,!c);return}}zm(e,t,i,n,a,l,r,o,u)}function tw(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],i=l.getSnapshot;l=l.value;try{if(!Bt(i(),l))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function la(e,t,n,a){t&=~Jd,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var l=t;0<l;){var i=31-Mt(l),r=1<<i;a[i]=-1,l&=~r}n!==0&&wh(e,n,t)}function Nu(){return(J&6)===0?(Dr(0,!1),!1):!0}function $d(){if(F!==null){if(ae===0)var e=F.return;else e=F,Bn=Ia=null,Ud(e),Ul=null,sr=0,e=F;for(;e!==null;)Wp(e.alternate,e),e=e.return;F=null}}function Zl(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,bw(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),kn=0,$d(),ue=e,F=n=Nn(e.current,null),Y=t,ae=0,Ct=null,aa=!1,ni=Ar(e,t),Id=!1,Ql=Et=Jd=qa=va=Te=0,pt=tr=null,Is=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var l=31-Mt(a),i=1<<l;t|=e[l],a&=~i}return Gn=t,Ru(),n}function vy(e,t){G=null,L.H=fr,t===ti||t===Eu?(t=gm(),ae=3):t===Bd?(t=gm(),ae=4):ae=t===Qd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ct=t,F===null&&(Te=1,iu(e,Yt(t,e.current)))}function by(){var e=Nt.current;return e===null?!0:(Y&4194048)===Y?Xt===null:(Y&62914560)===Y||(Y&536870912)!==0?e===Xt:!1}function Ay(){var e=L.H;return L.H=fr,e===null?fr:e}function wy(){var e=L.A;return L.A=$A,e}function su(){Te=4,aa||(Y&4194048)!==Y&&Nt.current!==null||(ni=!0),(va&134217727)===0&&(qa&134217727)===0||ue===null||la(ue,Y,Et,!1)}function ss(e,t,n){var a=J;J|=2;var l=Ay(),i=wy();(ue!==e||Y!==t)&&(cu=null,Zl(e,t)),t=!1;var r=Te;e:do try{if(ae!==0&&F!==null){var o=F,u=Ct;switch(ae){case 8:$d(),r=6;break e;case 3:case 2:case 9:case 6:Nt.current===null&&(t=!0);var c=ae;if(ae=0,Ct=null,Ol(e,o,u,c),n&&ni){r=0;break e}break;default:c=ae,ae=0,Ct=null,Ol(e,o,u,c)}}nw(),r=Te;break}catch(s){vy(e,s)}while(!0);return t&&e.shellSuspendCounter++,Bn=Ia=null,J=a,L.H=l,L.A=i,F===null&&(ue=null,Y=0,Ru()),r}function nw(){for(;F!==null;)Sy(F)}function aw(e,t){var n=J;J|=2;var a=Ay(),l=wy();ue!==e||Y!==t?(cu=null,uu=Dt()+500,Zl(e,t)):ni=Ar(e,t);e:do try{if(ae!==0&&F!==null){t=F;var i=Ct;t:switch(ae){case 1:ae=0,Ct=null,Ol(e,t,i,1);break;case 2:case 9:if(fm(i)){ae=0,Ct=null,Hm(t);break}t=function(){ae!==2&&ae!==9||ue!==e||(ae=7),hn(e)},i.then(t,t);break e;case 3:ae=7;break e;case 4:ae=5;break e;case 7:fm(i)?(ae=0,Ct=null,Hm(t)):(ae=0,Ct=null,Ol(e,t,i,7));break;case 5:var r=null;switch(F.tag){case 26:r=F.memoizedState;case 5:case 27:var o=F;if(r?Fy(r):o.stateNode.complete){ae=0,Ct=null;var u=o.sibling;if(u!==null)F=u;else{var c=o.return;c!==null?(F=c,Ou(c)):F=null}break t}}ae=0,Ct=null,Ol(e,t,i,5);break;case 6:ae=0,Ct=null,Ol(e,t,i,6);break;case 8:$d(),Te=6;break e;default:throw Error(S(462))}}lw();break}catch(s){vy(e,s)}while(!0);return Bn=Ia=null,L.H=a,L.A=l,J=n,F!==null?0:(ue=null,Y=0,Ru(),Te)}function lw(){for(;F!==null&&!Db();)Sy(F)}function Sy(e){var t=Zp(e.alternate,e,Gn);e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Hm(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Mm(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=Mm(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:Ud(t);default:Wp(n,t),t=F=Wh(t,Gn),t=Zp(n,t,Gn)}e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Ol(e,t,n,a){Bn=Ia=null,Ud(t),Ul=null,sr=0;var l=t.return;try{if(XA(e,l,t,n,Y)){Te=1,iu(e,Yt(n,e.current)),F=null;return}}catch(i){if(l!==null)throw F=l,i;Te=1,iu(e,Yt(n,e.current)),F=null;return}t.flags&32768?(V||a===1?e=!0:ni||(Y&536870912)!==0?e=!1:(aa=e=!0,(a===2||a===9||a===3||a===6)&&(a=Nt.current,a!==null&&a.tag===13&&(a.flags|=16384))),Cy(t,e)):Ou(t)}function Ou(e){var t=e;do{if((t.flags&32768)!==0){Cy(t,aa);return}e=t.return;var n=ZA(t.alternate,t,Gn);if(n!==null){F=n;return}if(t=t.sibling,t!==null){F=t;return}F=t=e}while(t!==null);Te===0&&(Te=5)}function Cy(e,t){do{var n=WA(e.alternate,e);if(n!==null){n.flags&=32767,F=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){F=e;return}F=e=n}while(e!==null);Te=6,F=null}function zm(e,t,n,a,l,i,r,o,u){e.cancelPendingCommit=null;do ku();while(Ue!==0);if((J&6)!==0)throw Error(S(327));if(t!==null){if(t===e.current)throw Error(S(177));if(i=t.lanes|t.childLanes,i|=Rd,zb(e,n,i,r,o,u),e===ue&&(F=ue=null,Y=0),Kl=t,da=e,kn=n,Js=i,$s=l,hy=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,uw(Ko,function(){return xy(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=L.T,L.T=null,l=$.p,$.p=2,r=J,J|=4;try{IA(e,t,n)}finally{J=r,$.p=l,L.T=a}}Ue=1,Ry(),Ty(),Ey()}}function Ry(){if(Ue===1){Ue=0;var e=da,t=Kl,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{oy(t,e);var i=ld,r=Fh(e.containerInfo),o=i.focusedElem,u=i.selectionRange;if(r!==o&&o&&o.ownerDocument&&qh(o.ownerDocument.documentElement,o)){if(u!==null&&Cd(o)){var c=u.start,s=u.end;if(s===void 0&&(s=c),"selectionStart"in o)o.selectionStart=c,o.selectionEnd=Math.min(s,o.value.length);else{var f=o.ownerDocument||document,d=f&&f.defaultView||window;if(d.getSelection){var m=d.getSelection(),v=o.textContent.length,A=Math.min(u.start,v),b=u.end===void 0?A:Math.min(u.end,v);!m.extend&&A>b&&(r=b,b=A,A=r);var h=im(o,A),g=im(o,b);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var p=f.createRange();p.setStart(h.node,h.offset),m.removeAllRanges(),A>b?(m.addRange(p),m.extend(g.node,g.offset)):(p.setEnd(g.node,g.offset),m.addRange(p))}}}}for(f=[],m=o;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<f.length;o++){var y=f[o];y.element.scrollLeft=y.left,y.element.scrollTop=y.top}}vu=!!ad,ld=ad=null}finally{J=l,$.p=a,L.T=n}}e.current=t,Ue=2}}function Ty(){if(Ue===2){Ue=0;var e=da,t=Kl,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{ny(e,t.alternate,t)}finally{J=l,$.p=a,L.T=n}}Ue=3}}function Ey(){if(Ue===4||Ue===3){Ue=0,xb();var e=da,t=Kl,n=kn,a=hy;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ue=5:(Ue=0,Kl=da=null,Dy(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(sa=null),pd(n),t=t.stateNode,xt&&typeof xt.onCommitFiberRoot=="function")try{xt.onCommitFiberRoot(br,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=L.T,l=$.p,$.p=2,L.T=null;try{for(var i=e.onRecoverableError,r=0;r<a.length;r++){var o=a[r];i(o.value,{componentStack:o.stack})}}finally{L.T=t,$.p=l}}(kn&3)!==0&&ku(),hn(e),l=e.pendingLanes,(n&261930)!==0&&(l&42)!==0?e===ed?nr++:(nr=0,ed=e):nr=0,Dr(0,!1)}}function Dy(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Rr(t)))}function ku(){return Ry(),Ty(),Ey(),xy()}function xy(){if(Ue!==5)return!1;var e=da,t=Js;Js=0;var n=pd(kn),a=L.T,l=$.p;try{$.p=32>n?32:n,L.T=null,n=$s,$s=null;var i=da,r=kn;if(Ue=0,Kl=da=null,kn=0,(J&6)!==0)throw Error(S(331));var o=J;if(J|=4,fy(i.current),cy(i,i.current,r,n),J=o,Dr(0,!1),xt&&typeof xt.onPostCommitFiberRoot=="function")try{xt.onPostCommitFiberRoot(br,i)}catch{}return!0}finally{$.p=l,L.T=a,Dy(e,t)}}function Um(e,t,n){t=Yt(n,t),t=Qs(e.stateNode,t,2),e=ca(e,t,2),e!==null&&(wr(e,2),hn(e))}function le(e,t,n){if(e.tag===3)Um(e,e,n);else for(;t!==null;){if(t.tag===3){Um(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(sa===null||!sa.has(a))){e=Yt(n,e),n=jp(2),a=ca(t,n,2),a!==null&&(Yp(n,a,t,e),wr(a,2),hn(a));break}}t=t.return}}function ds(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new ew;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Id=!0,l.add(n),e=iw.bind(null,e,t,n),t.then(e,e))}function iw(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ue===e&&(Y&n)===n&&(Te===4||Te===3&&(Y&62914560)===Y&&300>Dt()-Bu?(J&2)===0&&Zl(e,0):Jd|=n,Ql===Y&&(Ql=0)),hn(e)}function My(e,t){t===0&&(t=Ah()),e=Wa(e,t),e!==null&&(wr(e,t),hn(e))}function rw(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),My(e,n)}function ow(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(S(314))}a!==null&&a.delete(t),My(e,n)}function uw(e,t){return md(e,t)}var du=null,wl=null,td=!1,fu=!1,fs=!1,ia=0;function hn(e){e!==wl&&e.next===null&&(wl===null?du=wl=e:wl=wl.next=e),fu=!0,td||(td=!0,sw())}function Dr(e,t){if(!fs&&fu){fs=!0;do for(var n=!1,a=du;a!==null;){if(!t)if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var r=a.suspendedLanes,o=a.pingedLanes;i=(1<<31-Mt(42|e)+1)-1,i&=l&~(r&~o),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,Gm(a,i))}else i=Y,i=Au(a,a===ue?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||Ar(a,i)||(n=!0,Gm(a,i));a=a.next}while(n);fs=!1}}function cw(){_y()}function _y(){fu=td=!1;var e=0;ia!==0&&vw()&&(e=ia);for(var t=Dt(),n=null,a=du;a!==null;){var l=a.next,i=By(a,t);i===0?(a.next=null,n===null?du=l:n.next=l,l===null&&(wl=n)):(n=a,(e!==0||(i&3)!==0)&&(fu=!0)),a=l}Ue!==0&&Ue!==5||Dr(e,!1),ia!==0&&(ia=0)}function By(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var r=31-Mt(i),o=1<<r,u=l[r];u===-1?((o&n)===0||(o&a)!==0)&&(l[r]=Hb(o,t)):u<=t&&(e.expiredLanes|=o),i&=~o}if(t=ue,n=Y,n=Au(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(ae===2||ae===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&qc(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Ar(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&qc(a),pd(n)){case 2:case 8:n=vh;break;case 32:n=Ko;break;case 268435456:n=bh;break;default:n=Ko}return a=Ny.bind(null,e),n=md(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&qc(a),e.callbackPriority=2,e.callbackNode=null,2}function Ny(e,t){if(Ue!==0&&Ue!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(ku()&&e.callbackNode!==n)return null;var a=Y;return a=Au(e,e===ue?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(yy(e,a,t),By(e,Dt()),e.callbackNode!=null&&e.callbackNode===n?Ny.bind(null,e):null)}function Gm(e,t){if(ku())return null;yy(e,t,!0)}function sw(){Aw(function(){(J&6)!==0?md(yh,cw):_y()})}function ef(){if(ia===0){var e=Yl;e===0&&(e=go,go<<=1,(go&261888)===0&&(go=256)),ia=e}return ia}function Pm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Bo(""+e)}function qm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function dw(e,t,n,a,l){if(t==="submit"&&n&&n.stateNode===l){var i=Pm((l[vt]||null).action),r=a.submitter;r&&(t=(t=r[vt]||null)?Pm(t.formAction):r.getAttribute("formAction"),t!==null&&(i=t,r=null));var o=new wu("action","action",null,a,l);e.push({event:o,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(ia!==0){var u=r?qm(l,r):new FormData(l);Vs(n,{pending:!0,data:u,method:l.method,action:i},null,u)}}else typeof i=="function"&&(o.preventDefault(),u=r?qm(l,r):new FormData(l),Vs(n,{pending:!0,data:u,method:l.method,action:i},i,u))},currentTarget:l}]})}}for(To=0;To<Os.length;To++)Eo=Os[To],Fm=Eo.toLowerCase(),jm=Eo[0].toUpperCase()+Eo.slice(1),tn(Fm,"on"+jm);var Eo,Fm,jm,To;tn(Yh,"onAnimationEnd");tn(Vh,"onAnimationIteration");tn(Xh,"onAnimationStart");tn("dblclick","onDoubleClick");tn("focusin","onFocus");tn("focusout","onBlur");tn(MA,"onTransitionRun");tn(_A,"onTransitionStart");tn(BA,"onTransitionCancel");tn(Qh,"onTransitionEnd");Fl("onMouseEnter",["mouseout","mouseover"]);Fl("onMouseLeave",["mouseout","mouseover"]);Fl("onPointerEnter",["pointerout","pointerover"]);Fl("onPointerLeave",["pointerout","pointerover"]);Qa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Qa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Qa("onBeforeInput",["compositionend","keypress","textInput","paste"]);Qa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),fw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(gr));function Oy(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],l=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var r=a.length-1;0<=r;r--){var o=a[r],u=o.instance,c=o.currentTarget;if(o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}else for(r=0;r<a.length;r++){if(o=a[r],u=o.instance,c=o.currentTarget,o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}}}}function q(e,t){var n=t[Ts];n===void 0&&(n=t[Ts]=new Set);var a=e+"__bubble";n.has(a)||(ky(t,e,2,!1),n.add(a))}function gs(e,t,n){var a=0;t&&(a|=4),ky(n,e,a,t)}var Do="_reactListening"+Math.random().toString(36).slice(2);function tf(e){if(!e[Do]){e[Do]=!0,Th.forEach(function(n){n!=="selectionchange"&&(fw.has(n)||gs(n,!1,e),gs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Do]||(t[Do]=!0,gs("selectionchange",!1,t))}}function ky(e,t,n,a){switch(Qy(t)){case 2:var l=Pw;break;case 8:l=qw;break;default:l=rf}n=l.bind(null,t,n,e),l=void 0,!_s||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),a?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function ms(e,t,n,a,l){var i=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var r=a.tag;if(r===3||r===4){var o=a.stateNode.containerInfo;if(o===l)break;if(r===4)for(r=a.return;r!==null;){var u=r.tag;if((u===3||u===4)&&r.stateNode.containerInfo===l)return;r=r.return}for(;o!==null;){if(r=Rl(o),r===null)return;if(u=r.tag,u===5||u===6||u===26||u===27){a=i=r;continue e}o=o.parentNode}}a=a.return}Oh(function(){var c=i,s=bd(n),f=[];e:{var d=Kh.get(e);if(d!==void 0){var m=wu,v=e;switch(e){case"keypress":if(Oo(n)===0)break e;case"keydown":case"keyup":m=oA;break;case"focusin":v="focus",m=Xc;break;case"focusout":v="blur",m=Xc;break;case"beforeblur":case"afterblur":m=Xc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Wg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Zb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=sA;break;case Yh:case Vh:case Xh:m=Jb;break;case Qh:m=fA;break;case"scroll":case"scrollend":m=Qb;break;case"wheel":m=mA;break;case"copy":case"cut":case"paste":m=eA;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Jg;break;case"toggle":case"beforetoggle":m=pA}var A=(t&4)!==0,b=!A&&(e==="scroll"||e==="scrollend"),h=A?d!==null?d+"Capture":null:d;A=[];for(var g=c,p;g!==null;){var y=g;if(p=y.stateNode,y=y.tag,y!==5&&y!==26&&y!==27||p===null||h===null||(y=ir(g,h),y!=null&&A.push(mr(g,y,p))),b)break;g=g.return}0<A.length&&(d=new m(d,v,null,n,s),f.push({event:d,listeners:A}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",d&&n!==Ms&&(v=n.relatedTarget||n.fromElement)&&(Rl(v)||v[Jl]))break e;if((m||d)&&(d=s.window===s?s:(d=s.ownerDocument)?d.defaultView||d.parentWindow:window,m?(v=n.relatedTarget||n.toElement,m=c,v=v?Rl(v):null,v!==null&&(b=vr(v),A=v.tag,v!==b||A!==5&&A!==27&&A!==6)&&(v=null)):(m=null,v=c),m!==v)){if(A=Wg,y="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(A=Jg,y="onPointerLeave",h="onPointerEnter",g="pointer"),b=m==null?d:Fi(m),p=v==null?d:Fi(v),d=new A(y,g+"leave",m,n,s),d.target=b,d.relatedTarget=p,y=null,Rl(s)===c&&(A=new A(h,g+"enter",v,n,s),A.target=p,A.relatedTarget=b,y=A),b=y,m&&v)t:{for(A=gw,h=m,g=v,p=0,y=h;y;y=A(y))p++;y=0;for(var C=g;C;C=A(C))y++;for(;0<p-y;)h=A(h),p--;for(;0<y-p;)g=A(g),y--;for(;p--;){if(h===g||g!==null&&h===g.alternate){A=h;break t}h=A(h),g=A(g)}A=null}else A=null;m!==null&&Ym(f,d,m,A,!1),v!==null&&b!==null&&Ym(f,b,v,A,!0)}}e:{if(d=c?Fi(c):window,m=d.nodeName&&d.nodeName.toLowerCase(),m==="select"||m==="input"&&d.type==="file")var R=nm;else if(tm(d))if(Gh)R=EA;else{R=RA;var T=CA}else m=d.nodeName,!m||m.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?c&&vd(c.elementType)&&(R=nm):R=TA;if(R&&(R=R(e,c))){Uh(f,R,n,s);break e}T&&T(e,d,c),e==="focusout"&&c&&d.type==="number"&&c.memoizedProps.value!=null&&xs(d,"number",d.value)}switch(T=c?Fi(c):window,e){case"focusin":(tm(T)||T.contentEditable==="true")&&(Dl=T,Bs=c,Qi=null);break;case"focusout":Qi=Bs=Dl=null;break;case"mousedown":Ns=!0;break;case"contextmenu":case"mouseup":case"dragend":Ns=!1,rm(f,n,s);break;case"selectionchange":if(xA)break;case"keydown":case"keyup":rm(f,n,s)}var M;if(Sd)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else El?Hh(e,n)&&(w="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(w="onCompositionStart");w&&(Lh&&n.locale!=="ko"&&(El||w!=="onCompositionStart"?w==="onCompositionEnd"&&El&&(M=kh()):(na=s,Ad="value"in na?na.value:na.textContent,El=!0)),T=gu(c,w),0<T.length&&(w=new Ig(w,e,null,n,s),f.push({event:w,listeners:T}),M?w.data=M:(M=zh(n),M!==null&&(w.data=M)))),(M=vA?bA(e,n):AA(e,n))&&(w=gu(c,"onBeforeInput"),0<w.length&&(T=new Ig("onBeforeInput","beforeinput",null,n,s),f.push({event:T,listeners:w}),T.data=M)),dw(f,e,c,n,s)}Oy(f,t)})}function mr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function gu(e,t){for(var n=t+"Capture",a=[];e!==null;){var l=e,i=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||i===null||(l=ir(e,n),l!=null&&a.unshift(mr(e,l,i)),l=ir(e,t),l!=null&&a.push(mr(e,l,i))),e.tag===3)return a;e=e.return}return[]}function gw(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ym(e,t,n,a,l){for(var i=t._reactName,r=[];n!==null&&n!==a;){var o=n,u=o.alternate,c=o.stateNode;if(o=o.tag,u!==null&&u===a)break;o!==5&&o!==26&&o!==27||c===null||(u=c,l?(c=ir(n,i),c!=null&&r.unshift(mr(n,c,u))):l||(c=ir(n,i),c!=null&&r.push(mr(n,c,u)))),n=n.return}r.length!==0&&e.push({event:t,listeners:r})}var mw=/\r\n?/g,hw=/\u0000|\uFFFD/g;function Vm(e){return(typeof e=="string"?e:""+e).replace(mw,``).replace(hw,"")}function Ly(e,t){return t=Vm(t),Vm(e)===t}function ie(e,t,n,a,l,i){switch(n){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||jl(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&jl(e,""+a);break;case"className":po(e,"class",a);break;case"tabIndex":po(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":po(e,n,a);break;case"style":Nh(e,a,i);break;case"data":if(t!=="object"){po(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(n==="formAction"?(t!=="input"&&ie(e,t,"name",l.name,l,null),ie(e,t,"formEncType",l.formEncType,l,null),ie(e,t,"formMethod",l.formMethod,l,null),ie(e,t,"formTarget",l.formTarget,l,null)):(ie(e,t,"encType",l.encType,l,null),ie(e,t,"method",l.method,l,null),ie(e,t,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"onClick":a!=null&&(e.onclick=_n);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}n=Bo(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""+a):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":a===!0?e.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,a):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case"popover":q("beforetoggle",e),q("toggle",e),_o(e,"popover",a);break;case"xlinkActuate":Sn(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Sn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Sn(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Sn(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Sn(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Sn(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":_o(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Vb.get(n)||n,_o(e,n,a))}}function nd(e,t,n,a,l,i){switch(n){case"style":Nh(e,a,i);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"children":typeof a=="string"?jl(e,a):(typeof a=="number"||typeof a=="bigint")&&jl(e,""+a);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"onClick":a!=null&&(e.onclick=_n);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eh.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),t=n.slice(2,l?n.length-7:void 0),i=e[vt]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,l),typeof a=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,l);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,""):_o(e,n,a)}}}function Ke(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":q("error",e),q("load",e);var a=!1,l=!1,i;for(i in n)if(n.hasOwnProperty(i)){var r=n[i];if(r!=null)switch(i){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,i,r,n,null)}}l&&ie(e,t,"srcSet",n.srcSet,n,null),a&&ie(e,t,"src",n.src,n,null);return;case"input":q("invalid",e);var o=i=r=l=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case"name":l=s;break;case"type":r=s;break;case"checked":u=s;break;case"defaultChecked":c=s;break;case"value":i=s;break;case"defaultValue":o=s;break;case"children":case"dangerouslySetInnerHTML":if(s!=null)throw Error(S(137,t));break;default:ie(e,t,a,s,n,null)}}Mh(e,i,o,u,c,r,l,!1);return;case"select":q("invalid",e),a=r=i=null;for(l in n)if(n.hasOwnProperty(l)&&(o=n[l],o!=null))switch(l){case"value":i=o;break;case"defaultValue":r=o;break;case"multiple":a=o;default:ie(e,t,l,o,n,null)}t=i,n=r,e.multiple=!!a,t!=null?Ll(e,!!a,t,!1):n!=null&&Ll(e,!!a,n,!0);return;case"textarea":q("invalid",e),i=l=a=null;for(r in n)if(n.hasOwnProperty(r)&&(o=n[r],o!=null))switch(r){case"value":a=o;break;case"defaultValue":l=o;break;case"children":i=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(S(91));break;default:ie(e,t,r,o,n,null)}Bh(e,a,l,i);return;case"option":for(u in n)if(n.hasOwnProperty(u)&&(a=n[u],a!=null))switch(u){case"selected":e.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:ie(e,t,u,a,n,null)}return;case"dialog":q("beforetoggle",e),q("toggle",e),q("cancel",e),q("close",e);break;case"iframe":case"object":q("load",e);break;case"video":case"audio":for(a=0;a<gr.length;a++)q(gr[a],e);break;case"image":q("error",e),q("load",e);break;case"details":q("toggle",e);break;case"embed":case"source":case"link":q("error",e),q("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(a=n[c],a!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,c,a,n,null)}return;default:if(vd(t)){for(s in n)n.hasOwnProperty(s)&&(a=n[s],a!==void 0&&nd(e,t,s,a,n,void 0));return}}for(o in n)n.hasOwnProperty(o)&&(a=n[o],a!=null&&ie(e,t,o,a,n,null))}function pw(e,t,n,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,i=null,r=null,o=null,u=null,c=null,s=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":u=f;default:a.hasOwnProperty(m)||ie(e,t,m,null,a,f)}}for(var d in a){var m=a[d];if(f=n[d],a.hasOwnProperty(d)&&(m!=null||f!=null))switch(d){case"type":i=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":s=m;break;case"value":r=m;break;case"defaultValue":o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(S(137,t));break;default:m!==f&&ie(e,t,d,m,a,f)}}Ds(e,r,o,u,c,s,i,l);return;case"select":m=r=o=d=null;for(i in n)if(u=n[i],n.hasOwnProperty(i)&&u!=null)switch(i){case"value":break;case"multiple":m=u;default:a.hasOwnProperty(i)||ie(e,t,i,null,a,u)}for(l in a)if(i=a[l],u=n[l],a.hasOwnProperty(l)&&(i!=null||u!=null))switch(l){case"value":d=i;break;case"defaultValue":o=i;break;case"multiple":r=i;default:i!==u&&ie(e,t,l,i,a,u)}t=o,n=r,a=m,d!=null?Ll(e,!!n,d,!1):!!a!=!!n&&(t!=null?Ll(e,!!n,t,!0):Ll(e,!!n,n?[]:"",!1));return;case"textarea":m=d=null;for(o in n)if(l=n[o],n.hasOwnProperty(o)&&l!=null&&!a.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:ie(e,t,o,null,a,l)}for(r in a)if(l=a[r],i=n[r],a.hasOwnProperty(r)&&(l!=null||i!=null))switch(r){case"value":d=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(S(91));break;default:l!==i&&ie(e,t,r,l,a,i)}_h(e,d,m);return;case"option":for(var v in n)if(d=n[v],n.hasOwnProperty(v)&&d!=null&&!a.hasOwnProperty(v))switch(v){case"selected":e.selected=!1;break;default:ie(e,t,v,null,a,d)}for(u in a)if(d=a[u],m=n[u],a.hasOwnProperty(u)&&d!==m&&(d!=null||m!=null))switch(u){case"selected":e.selected=d&&typeof d!="function"&&typeof d!="symbol";break;default:ie(e,t,u,d,a,m)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var A in n)d=n[A],n.hasOwnProperty(A)&&d!=null&&!a.hasOwnProperty(A)&&ie(e,t,A,null,a,d);for(c in a)if(d=a[c],m=n[c],a.hasOwnProperty(c)&&d!==m&&(d!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(S(137,t));break;default:ie(e,t,c,d,a,m)}return;default:if(vd(t)){for(var b in n)d=n[b],n.hasOwnProperty(b)&&d!==void 0&&!a.hasOwnProperty(b)&&nd(e,t,b,void 0,a,d);for(s in a)d=a[s],m=n[s],!a.hasOwnProperty(s)||d===m||d===void 0&&m===void 0||nd(e,t,s,d,a,m);return}}for(var h in n)d=n[h],n.hasOwnProperty(h)&&d!=null&&!a.hasOwnProperty(h)&&ie(e,t,h,null,a,d);for(f in a)d=a[f],m=n[f],!a.hasOwnProperty(f)||d===m||d==null&&m==null||ie(e,t,f,d,a,m)}function Xm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function yw(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],i=l.transferSize,r=l.initiatorType,o=l.duration;if(i&&o&&Xm(r)){for(r=0,o=l.responseEnd,a+=1;a<n.length;a++){var u=n[a],c=u.startTime;if(c>o)break;var s=u.transferSize,f=u.initiatorType;s&&Xm(f)&&(u=u.responseEnd,r+=s*(u<o?1:(o-c)/(u-c)))}if(--a,t+=8*(i+r)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var ad=null,ld=null;function mu(e){return e.nodeType===9?e:e.ownerDocument}function Qm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Hy(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function id(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var hs=null;function vw(){var e=window.event;return e&&e.type==="popstate"?e===hs?!1:(hs=e,!0):(hs=null,!1)}var zy=typeof setTimeout=="function"?setTimeout:void 0,bw=typeof clearTimeout=="function"?clearTimeout:void 0,Km=typeof Promise=="function"?Promise:void 0,Aw=typeof queueMicrotask=="function"?queueMicrotask:typeof Km<"u"?function(e){return Km.resolve(null).then(e).catch(ww)}:zy;function ww(e){setTimeout(function(){throw e})}function Aa(e){return e==="head"}function Zm(e,t){var n=t,a=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"||n==="/&"){if(a===0){e.removeChild(l),Il(t);return}a--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")a++;else if(n==="html")ar(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,ar(n);for(var i=n.firstChild;i;){var r=i.nextSibling,o=i.nodeName;i[Sr]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&i.rel.toLowerCase()==="stylesheet"||n.removeChild(i),i=r}}else n==="body"&&ar(e.ownerDocument.body);n=l}while(n);Il(t)}function Wm(e,t){var n=e;e=0;do{var a=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=a}while(n)}function rd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":rd(n),yd(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Sw(e,t,n,a){for(;e.nodeType===1;){var l=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(a){if(!e[Sr])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Qt(e.nextSibling),e===null)break}return null}function Cw(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qt(e.nextSibling),e===null))return null;return e}function Uy(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qt(e.nextSibling),e===null))return null;return e}function od(e){return e.data==="$?"||e.data==="$~"}function ud(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Rw(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var a=function(){t(),n.removeEventListener("DOMContentLoaded",a)};n.addEventListener("DOMContentLoaded",a),e._reactRetry=a}}function Qt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var cd=null;function Im(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qt(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Jm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Gy(e,t,n){switch(t=mu(n),e){case"html":if(e=t.documentElement,!e)throw Error(S(452));return e;case"head":if(e=t.head,!e)throw Error(S(453));return e;case"body":if(e=t.body,!e)throw Error(S(454));return e;default:throw Error(S(451))}}function ar(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);yd(e)}var Kt=new Map,$m=new Set;function hu(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Pn=$.d;$.d={f:Tw,r:Ew,D:Dw,C:xw,L:Mw,m:_w,X:Nw,S:Bw,M:Ow};function Tw(){var e=Pn.f(),t=Nu();return e||t}function Ew(e){var t=$l(e);t!==null&&t.tag===5&&t.type==="form"?Np(t):Pn.r(e)}var ai=typeof document>"u"?null:document;function Py(e,t,n){var a=ai;if(a&&typeof t=="string"&&t){var l=jt(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),$m.has(l)||($m.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function Dw(e){Pn.D(e),Py("dns-prefetch",e,null)}function xw(e,t){Pn.C(e,t),Py("preconnect",e,t)}function Mw(e,t,n){Pn.L(e,t,n);var a=ai;if(a&&e&&t){var l='link[rel="preload"][as="'+jt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+jt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+jt(n.imageSizes)+'"]')):l+='[href="'+jt(e)+'"]';var i=l;switch(t){case"style":i=Wl(e);break;case"script":i=li(e)}Kt.has(i)||(e=ve({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Kt.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(xr(i))||t==="script"&&a.querySelector(Mr(i))||(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function _w(e,t){Pn.m(e,t);var n=ai;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+jt(a)+'"][href="'+jt(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=li(e)}if(!Kt.has(i)&&(e=ve({rel:"modulepreload",href:e},t),Kt.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Mr(i)))return}a=n.createElement("link"),Ke(a,"link",e),qe(a),n.head.appendChild(a)}}}function Bw(e,t,n){Pn.S(e,t,n);var a=ai;if(a&&e){var l=kl(a).hoistableStyles,i=Wl(e);t=t||"default";var r=l.get(i);if(!r){var o={loading:0,preload:null};if(r=a.querySelector(xr(i)))o.loading=5;else{e=ve({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Kt.get(i))&&nf(e,n);var u=r=a.createElement("link");qe(u),Ke(u,"link",e),u._p=new Promise(function(c,s){u.onload=c,u.onerror=s}),u.addEventListener("load",function(){o.loading|=1}),u.addEventListener("error",function(){o.loading|=2}),o.loading|=4,qo(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:o},l.set(i,r)}}}function Nw(e,t){Pn.X(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ow(e,t){Pn.M(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0,type:"module"},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function eh(e,t,n,a){var l=(l=ra.current)?hu(l):null;if(!l)throw Error(S(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Wl(n.href),n=kl(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Wl(n.href);var i=kl(l).hoistableStyles,r=i.get(e);if(r||(l=l.ownerDocument||l,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=l.querySelector(xr(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Kt.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Kt.set(e,n),i||kw(l,e,n,r.state))),t&&a===null)throw Error(S(528,""));return r}if(t&&a!==null)throw Error(S(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=li(n),n=kl(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(S(444,e))}}function Wl(e){return'href="'+jt(e)+'"'}function xr(e){return'link[rel="stylesheet"]['+e+"]"}function qy(e){return ve({},e,{"data-precedence":e.precedence,precedence:null})}function kw(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Ke(t,"link",n),qe(t),e.head.appendChild(t))}function li(e){return'[src="'+jt(e)+'"]'}function Mr(e){return"script[async]"+e}function th(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+jt(n.href)+'"]');if(a)return t.instance=a,qe(a),a;var l=ve({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),qe(a),Ke(a,"style",l),qo(a,n.precedence,e),t.instance=a;case"stylesheet":l=Wl(n.href);var i=e.querySelector(xr(l));if(i)return t.state.loading|=4,t.instance=i,qe(i),i;a=qy(n),(l=Kt.get(l))&&nf(a,l),i=(e.ownerDocument||e).createElement("link"),qe(i);var r=i;return r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),t.state.loading|=4,qo(i,n.precedence,e),t.instance=i;case"script":return i=li(n.src),(l=e.querySelector(Mr(i)))?(t.instance=l,qe(l),l):(a=n,(l=Kt.get(i))&&(a=ve({},n),af(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),qe(l),Ke(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(S(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,qo(a,n.precedence,e));return t.instance}function qo(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,r=0;r<a.length;r++){var o=a[r];if(o.dataset.precedence===t)i=o;else if(i!==l)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function nf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function af(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Fo=null;function nh(e,t,n){if(Fo===null){var a=new Map,l=Fo=new Map;l.set(n,a)}else l=Fo,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),l=0;l<n.length;l++){var i=n[l];if(!(i[Sr]||i[Ve]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var r=i.getAttribute(t)||"";r=e+r;var o=a.get(r);o?o.push(i):a.set(r,[i])}}return a}function ah(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function Lw(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Fy(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Hw(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Wl(a.href),i=t.querySelector(xr(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=pu.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,qe(i);return}i=t.ownerDocument||t,a=qy(a),(l=Kt.get(l))&&nf(a,l),i=i.createElement("link"),qe(i);var r=i;r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=pu.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ps=0;function zw(e,t){return e.stylesheets&&e.count===0&&jo(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&ps===0&&(ps=62500*yw());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>ps?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function pu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jo(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var yu=null;function jo(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,yu=new Map,t.forEach(Uw,e),yu=null,pu.call(e))}function Uw(e,t){if(!(t.state.loading&4)){var n=yu.get(e);if(n)var a=n.get(null);else{n=new Map,yu.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<l.length;i++){var r=l[i];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(n.set(r.dataset.precedence,r),a=r)}a&&n.set(null,a)}l=t.instance,r=l.getAttribute("data-precedence"),i=n.get(r)||a,i===a&&n.set(null,l),n.set(r,l),this.count++,a=pu.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),i?i.parentNode.insertBefore(l,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var hr={$$typeof:Mn,Provider:null,Consumer:null,_currentValue:za,_currentValue2:za,_threadCount:0};function Gw(e,t,n,a,l,i,r,o,u){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Fc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fc(0),this.hiddenUpdates=Fc(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=i,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=u,this.incompleteTransitions=new Map}function jy(e,t,n,a,l,i,r,o,u,c,s,f){return e=new Gw(e,t,n,r,u,c,s,f,o),t=1,i===!0&&(t|=24),i=Tt(3,null,null,t),e.current=i,i.stateNode=e,t=Md(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:a,isDehydrated:n,cache:t},Nd(i),e}function Yy(e){return e?(e=_l,e):_l}function Vy(e,t,n,a,l,i){l=Yy(l),a.context===null?a.context=l:a.pendingContext=l,a=ua(t),a.payload={element:n},i=i===void 0?null:i,i!==null&&(a.callback=i),n=ca(e,a,t),n!==null&&(yt(n,e,t),Zi(n,e,t))}function lh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lf(e,t){lh(e,t),(e=e.alternate)&&lh(e,t)}function Xy(e){if(e.tag===13||e.tag===31){var t=Wa(e,67108864);t!==null&&yt(t,e,67108864),lf(e,67108864)}}function ih(e){if(e.tag===13||e.tag===31){var t=_t();t=hd(t);var n=Wa(e,t);n!==null&&yt(n,e,t),lf(e,t)}}var vu=!0;function Pw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=2,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function qw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=8,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function rf(e,t,n,a){if(vu){var l=sd(a);if(l===null)ms(e,t,a,bu,n),rh(e,a);else if(jw(l,e,t,n,a))a.stopPropagation();else if(rh(e,a),t&4&&-1<Fw.indexOf(e)){for(;l!==null;){var i=$l(l);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var r=ka(i.pendingLanes);if(r!==0){var o=i;for(o.pendingLanes|=2,o.entangledLanes|=2;r;){var u=1<<31-Mt(r);o.entanglements[1]|=u,r&=~u}hn(i),(J&6)===0&&(uu=Dt()+500,Dr(0,!1))}}break;case 31:case 13:o=Wa(i,2),o!==null&&yt(o,i,2),Nu(),lf(i,2)}if(i=sd(a),i===null&&ms(e,t,a,bu,n),i===l)break;l=i}l!==null&&a.stopPropagation()}else ms(e,t,a,null,n)}}function sd(e){return e=bd(e),of(e)}var bu=null;function of(e){if(bu=null,e=Rl(e),e!==null){var t=vr(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=fh(t),e!==null)return e;e=null}else if(n===31){if(e=gh(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return bu=e,null}function Qy(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Mb()){case yh:return 2;case vh:return 8;case Ko:case _b:return 32;case bh:return 268435456;default:return 32}default:return 32}}var dd=!1,fa=null,ga=null,ma=null,pr=new Map,yr=new Map,ea=[],Fw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function rh(e,t){switch(e){case"focusin":case"focusout":fa=null;break;case"dragenter":case"dragleave":ga=null;break;case"mouseover":case"mouseout":ma=null;break;case"pointerover":case"pointerout":pr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yr.delete(t.pointerId)}}function Ui(e,t,n,a,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[l]},t!==null&&(t=$l(t),t!==null&&Xy(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function jw(e,t,n,a,l){switch(t){case"focusin":return fa=Ui(fa,e,t,n,a,l),!0;case"dragenter":return ga=Ui(ga,e,t,n,a,l),!0;case"mouseover":return ma=Ui(ma,e,t,n,a,l),!0;case"pointerover":var i=l.pointerId;return pr.set(i,Ui(pr.get(i)||null,e,t,n,a,l)),!0;case"gotpointercapture":return i=l.pointerId,yr.set(i,Ui(yr.get(i)||null,e,t,n,a,l)),!0}return!1}function Ky(e){var t=Rl(e.target);if(t!==null){var n=vr(t);if(n!==null){if(t=n.tag,t===13){if(t=fh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===31){if(t=gh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Yo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=sd(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Ms=a,n.target.dispatchEvent(a),Ms=null}else return t=$l(n),t!==null&&Xy(t),e.blockedOn=n,!1;t.shift()}return!0}function oh(e,t,n){Yo(e)&&n.delete(t)}function Yw(){dd=!1,fa!==null&&Yo(fa)&&(fa=null),ga!==null&&Yo(ga)&&(ga=null),ma!==null&&Yo(ma)&&(ma=null),pr.forEach(oh),yr.forEach(oh)}function xo(e,t){e.blockedOn===t&&(e.blockedOn=null,dd||(dd=!0,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,Yw)))}var Mo=null;function uh(e){Mo!==e&&(Mo=e,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,function(){Mo===e&&(Mo=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],l=e[t+2];if(typeof a!="function"){if(of(a||n)===null)continue;break}var i=$l(n);i!==null&&(e.splice(t,3),t-=3,Vs(i,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function Il(e){function t(u){return xo(u,e)}fa!==null&&xo(fa,e),ga!==null&&xo(ga,e),ma!==null&&xo(ma,e),pr.forEach(t),yr.forEach(t);for(var n=0;n<ea.length;n++){var a=ea[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<ea.length&&(n=ea[0],n.blockedOn===null);)Ky(n),n.blockedOn===null&&ea.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],i=n[a+1],r=l[vt]||null;if(typeof i=="function")r||uh(n);else if(r){var o=null;if(i&&i.hasAttribute("formAction")){if(l=i,r=i[vt]||null)o=r.formAction;else if(of(l)!==null)continue}else o=r.action;typeof o=="function"?n[a+1]=o:(n.splice(a,3),a-=3),uh(n)}}}function Zy(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(r){return l=r})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function uf(e){this._internalRoot=e}Lu.prototype.render=uf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(S(409));var n=t.current,a=_t();Vy(n,a,e,t,null,null)};Lu.prototype.unmount=uf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Vy(e.current,2,null,e,null,null),Nu(),t[Jl]=null}};function Lu(e){this._internalRoot=e}Lu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rh();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ea.length&&t!==0&&t<ea[n].priority;n++);ea.splice(n,0,e),n===0&&Ky(e)}};var ch=sh.version;if(ch!=="19.2.8")throw Error(S(527,ch,"19.2.8"));$.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(S(188)):(e=Object.keys(e).join(","),Error(S(268,e)));return e=Sb(t),e=e!==null?mh(e):null,e=e===null?null:e.stateNode,e};var Vw={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Gi=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Gi.isDisabled&&Gi.supportsFiber))try{br=Gi.inject(Vw),xt=Gi}catch{}var Gi;Hu.createRoot=function(e,t){if(!dh(e))throw Error(S(299));var n=!1,a="",l=Pp,i=qp,r=Fp;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=jy(e,1,!1,null,null,n,a,null,l,i,r,Zy),e[Jl]=t.current,tf(e),new uf(t)};Hu.hydrateRoot=function(e,t,n){if(!dh(e))throw Error(S(299));var a=!1,l="",i=Pp,r=qp,o=Fp,u=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(i=n.onUncaughtError),n.onCaughtError!==void 0&&(r=n.onCaughtError),n.onRecoverableError!==void 0&&(o=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=jy(e,1,!0,t,n??null,a,l,u,i,r,o,Zy),t.context=Yy(null),n=t.current,a=_t(),a=hd(a),l=ua(a),l.callback=null,ca(n,l,a),n=a,t.current.lanes=n,wr(t,n),hn(t),e[Jl]=t.current,tf(e),new Lu(t)};Hu.version="19.2.8"});var $y=un((jS,Jy)=>{"use strict";function Iy(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Iy)}catch(e){console.error(e)}}Iy(),Jy.exports=Wy()});var t0=un(zu=>{"use strict";var Xw=Symbol.for("react.transitional.element"),Qw=Symbol.for("react.fragment");function e0(e,t,n){var a=null;if(n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),"key"in t){n={};for(var l in t)l!=="key"&&(n[l]=t[l])}else n=t;return t=n.ref,{$$typeof:Xw,type:e,key:a,ref:t!==void 0?t:null,props:n}}zu.Fragment=Qw;zu.jsx=e0;zu.jsxs=e0});var O=un((VS,n0)=>{"use strict";n0.exports=t0()});var Lt=B(ft(),1),s1=B($y(),1);var Wv=B(ft(),1);var qn=B(O(),1);function Kw(e){return{under50:"Under $50",over50:"Over $50",over30:"Over $30",over500:"Over $500","50_100":"$50 - $100","100_200":"$100 - $200","200_500":"$200 - $500"}[e]||e}function a0({activeDealTag:e,activeFreeformTags:t,airedaleTags:n,freeformTags:a,discountAmount:l,onBrandSelect:i,onBrandToggle:r,onDiscountAmountChange:o,onPriceRangeChange:u,onTagClear:c,onFreeformTagClear:s,onFreeformTagToggle:f,priceRange:d,selectedBrands:m}){let v=m.map(b=>({type:"brand",value:b,label:b}));if(e){let b=n.find(h=>h.startsWith(e+":::")||h===e);v.push({type:"category",value:e,label:b?b.split(":::")[1]||b.split(":::")[0]:e})}if(t.forEach(b=>{let h=a.find(g=>g.handle===b);v.push({type:"freeform-tag",value:b,label:h?.label||b})}),d&&d!=="all"&&v.push({type:"price",value:d,label:Kw(d)}),l&&l!=="0"&&l!=="all"&&v.push({type:"discount",value:l,label:`Min ${l}% off`}),v.length===0)return null;let A=b=>{b.type==="brand"&&r?.(b.value),b.type==="category"&&c(),b.type==="freeform-tag"&&f(b.value),b.type==="discount"&&o?.("0"),b.type==="price"&&u?.("all")};return(0,qn.jsxs)("div",{className:"tg-df-active-badges-row",style:{display:"flex",flexWrap:"wrap",gap:"4px",alignItems:"center",marginTop:"10px",marginBottom:"16px"},children:[v.map(b=>(0,qn.jsxs)("span",{className:"tg-df-active-badge",children:[b.label,(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-remove","aria-label":`Remove ${b.label}`,onClick:()=>A(b),children:(0,qn.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,qn.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,qn.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},b.type+"-"+b.value)),v.length>1&&(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-clear-all",onClick:()=>{i?.([]),c(),s(),o?.("0"),u?.("all")},children:"Clear all"})]})}function l0(e){if(!e)return null;let t=e.documentname||e.title||"";!t&&e.documentnametext&&(t=Array.isArray(e.documentnametext)?e.documentnametext[0]:e.documentnametext),!t&&e.articlename&&(t=Array.isArray(e.articlename)?e.articlename[0]:e.articlename),!t&&e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&(t=e.articlesocialtitle[0]);let n=e.strapline||e.articlestrapline||e.subtitle||e.dek||"";!n&&e.image_thumbnail&&e.image_thumbnail.dek&&(n=e.image_thumbnail.dek),Array.isArray(n)&&(n=n[0]||"");let a="";if(e.articlepage)try{let l=e.articlepage;if(typeof l=="string")try{l=JSON.parse(l)}catch{}if(Array.isArray(l)&&l.length>0){let i=l[0];if(typeof i=="string")try{i=JSON.parse(i)}catch{}if(Array.isArray(i)){let r=[];for(let o of i){if(o.type==="featured-product")break;if(o.type==="text"&&o.data)Array.isArray(o.data.paragraphs)?o.data.paragraphs.forEach(u=>{u&&r.push(u.startsWith("<")?u:`<p>${u}<\/p>`)}):typeof o.data.text=="string"&&o.data.text&&r.push(o.data.text.startsWith("<")?o.data.text:`<p>${o.data.text}<\/p>`);else if(o.type==="section"&&o.data){let u=o.data.text||o.data.heading||o.data.title||"";u&&r.push(`<div class="tg-df-article-section-banner"><span>${u}<\/span><\/div>`)}}r.length>0&&(a=r.join(""))}}}catch(l){console.error("Error parsing articlepage",l)}return!a&&e.content?a=typeof e.content=="string"?e.content:"":!a&&e.intro?a=typeof e.intro=="string"?e.intro:"":!a&&e.paragraphs&&(a=(Array.isArray(e.paragraphs)?e.paragraphs:[e.paragraphs]).map(i=>`<p>${i}<\/p>`).join("")),{headline:t,strapline:n,contentHtml:a}}var ii=B(O(),1);function i0({articles:e,selectedArticleId:t}){if(!t)return null;let n=e.find(l=>l.id===t);if(!n)return null;let a=l0(n);return!a||!a.headline&&!a.strapline&&!a.contentHtml?null:(0,ii.jsxs)("div",{className:"tg-df-article-intro-container",id:"tg-df-article-intro",style:{margin:"0 auto 32px",width:"100%",maxWidth:"800px",textAlign:"left",padding:"0 16px"},children:[a.headline&&(0,ii.jsx)("h2",{className:"tg-df-article-headline",id:"tg-df-article-headline",style:{fontSize:"1.75rem",fontWeight:800,color:"#0f172a",marginBottom:"1rem",lineHeight:1.25},children:a.headline}),a.strapline&&(0,ii.jsx)("p",{className:"tg-df-article-strapline",id:"tg-df-article-strapline",style:{fontSize:"1.125rem",fontWeight:600,color:"#334155",marginBottom:"1.25rem",lineHeight:1.4},children:a.strapline}),a.contentHtml&&(0,ii.jsx)("div",{className:"tg-df-article-content",id:"tg-df-article-content",dangerouslySetInnerHTML:{__html:a.contentHtml}})]})}var Fn=B(O(),1);function Zw({articles:e,authorHandle:t,authorName:n}){let a=n||e.length>0&&(e[0].articleauthortext?.[0]||e[0].articleauthor?.[0])||"Author";(t==="all-authors"||n==="all-authors"||n==="All authors")&&(a="All authors");let l=a.trim().split(" ")[0]||"Author";return a==="All authors"&&(l="All authors"),`Shop all ${l==="All authors"?"authors'":l.endsWith("'s")||l.endsWith("\u2019s")?l:`${l}'s`} collections`}function Ww(e){let t=[];return e.documentnametext&&t.push(e.documentnametext),e.documentname&&t.push(e.documentname),e.articlename&&t.push(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&t.push(...e.articlesocialtitle),t.length>0?t.reduce((n,a)=>a&&a.length<n.length?a:n,t[0]):"Article"}function r0({articles:e,authorHandle:t,authorName:n,onChange:a,selectedArticleId:l,shortenedHeadlines:i}){return(0,Fn.jsx)("div",{className:"tg-df-top-bar",id:"tg-df-top-bar",style:{position:"relative",zIndex:100,margin:"0 auto 20px",width:"100%",display:"flex",justifyContent:"center"},children:(0,Fn.jsxs)("div",{className:"tg-df-sort-wrapper",style:{width:"auto",maxWidth:"320px",display:"inline-flex",position:"relative"},children:[(0,Fn.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",width:"14px",height:"14px",color:"var(--tg-df-text-muted)",pointerEvents:"none",zIndex:2},children:(0,Fn.jsx)("path",{d:"M12 2l-10 4.5 10 4.5 10-4.5-10-4.5zm0 6.5l-8-3.6 8-3.6 8 3.6-8 3.6zm-10 6l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5zm0 5l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5z"})}),(0,Fn.jsxs)("select",{className:"tg-df-filter-select tg-df-article-select",style:{width:"100%",maxWidth:"320px",padding:"10px 36px 10px 38px",fontSize:"14px",fontWeight:500,borderRadius:"100px",border:"1px solid var(--tg-df-border)",color:"var(--tg-df-text)",backgroundColor:"var(--tg-df-bg-secondary)",appearance:"none",backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E")`,backgroundRepeat:"no-repeat",backgroundPosition:"right 14px center",textAlign:"left",textAlignLast:"left",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",cursor:"pointer"},value:l||"",onChange:r=>a(r.target.value),children:[(0,Fn.jsx)("option",{value:"",style:{textAlign:"left"},children:Zw({articles:e,authorHandle:t,authorName:n})}),e.map(r=>{let o=i?.[r.id]||Ww(r);return o&&o.length>38&&(o=o.substring(0,36)+"\u2026"),(0,Fn.jsx)("option",{value:r.id,style:{textAlign:"left"},children:o},r.id)})]})]})})}var A0=B(ft(),1);function o0(e,t=new Date){if(!e)return"";let n=new Date(e),a=Math.floor((t.getTime()-n.getTime())/1e3);if(a<60)return"Just now";let l=Math.floor(a/60);if(l<60)return`${l} min${l>1?"s":""} ago`;let i=Math.floor(l/60);if(i<24)return`${i} hr${i>1?"s":""} ago`;let r=Math.floor(i/24);if(r<30)return`${r} day${r>1?"s":""} ago`;let o=Math.floor(r/30);if(o<12)return`${o} mo${o>1?"s":""} ago`;let u=Math.floor(r/365);return`${u} yr${u>1?"s":""} ago`}function Iw(e){return e.replace(/<\/p\s*>/gi," ").replace(/<p[^>]*>/gi," ").replace(/<br\s*\/?>/gi," ").replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim()}function _r(e,t,n){let a="";return n==="short"?a=e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"":a=e.articleauthorlongbio&&e.articleauthorlongbio[t]&&e.articleauthorlongbio[t]!=="null"?e.articleauthorlongbio[t]:e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"",a?Iw(a):""}function u0(e,t){return e.articleauthorrole&&e.articleauthorrole[t]&&e.articleauthorrole[t]!=="null"?e.articleauthorrole[t]:""}function c0(e,t){return e.articleauthormedia&&e.articleauthormedia[t]?e.articleauthormedia[t]:""}function ri(e){if(typeof e!="string"||!e.trim())return"";try{let t=new URL(e);if(t.hostname.toLowerCase()!=="cdn.mos.cms.futurecdn.net")return e;let n=/\.(?:jpe?g|png|webp)$/i;return!n.test(t.pathname)||/-\d+-\d+\.(?:jpe?g|png|webp)$/i.test(t.pathname)?e:(t.pathname=t.pathname.replace(n,"-480-80$&"),t.toString())}catch{return e}}function Uu(e,t=0){if(!e||!e.articleauthorsocialnetworks)return[];let n=e.articleauthorsocialnetworks[t];if(n||(n=e.articleauthorsocialnetworks[0]),!n)return[];let a=null;if(typeof n=="string")try{a=JSON.parse(n)}catch{try{a=JSON.parse(n.replace(/\\"/g,'"'))}catch{}}else typeof n=="object"&&n!==null&&(a=n);if(!a||typeof a!="object")return[];let l=[];for(let[i,r]of Object.entries(a)){if(!r)continue;let o="",u="";if(typeof r=="string"?o=r:typeof r=="object"&&r!==null&&(o=r.url||r.address||r.link||"",u=r.address||""),!o&&!u)continue;let c=i.toLowerCase().trim(),s=o||u;c==="email"?s.startsWith("mailto:")||(s=s.includes("@")?`mailto:${s}`:`mailto:${s}`):!s.startsWith("http://")&&!s.startsWith("https://")&&!s.startsWith("//")&&(s=`https://${s}`);let f=c.charAt(0).toUpperCase()+c.slice(1);c==="linkedin"?f="LinkedIn":c==="youtube"?f="YouTube":c==="tiktok"?f="TikTok":c==="twitch"?f="Twitch":c==="steam"?f="Steam":c==="github"?f="GitHub":c==="rss"?f="RSS":(c==="x"||c==="twitter")&&(f="X (Twitter)"),l.push({key:c,href:s,label:f})}return l}function ee(e){if(!e)return"";let t=String(e);for(let n=0;n<3;n+=1){let a=t.replace(/&/gi,"&").replace(/£/g,"\xA3").replace(/£/gi,"\xA3").replace(/$/g,"$").replace(/&dollar;/gi,"$").replace(/€/g,"\u20AC").replace(/€/gi,"\u20AC").replace(/&#(\d+);/g,(l,i)=>String.fromCharCode(Number(i))).replace(/&#x([0-9a-f]+);/gi,(l,i)=>String.fromCharCode(parseInt(i,16)));if(a===t)break;t=a}return t}var Ee=B(O(),1);function cf({authorUrl:e,deal:t}){if(!t.authorName)return null;let n=ee(String(t.authorName)),a=t.authorRole&&!["null","nul","undefined"].includes(String(t.authorRole).toLowerCase())?` \u2022 ${ee(String(t.authorRole))}`:"";return(0,Ee.jsx)("div",{className:"tg-df-author-line-desktop",style:{padding:"0 0 12px 0"},children:(0,Ee.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[t.authorImage&&(0,Ee.jsx)("img",{src:ri(t.authorImage),alt:n,className:"tg-df-author-img",width:"36",height:"36",style:{borderRadius:"50%",objectFit:"cover",flexShrink:0,aspectRatio:"1 / 1",minWidth:"36px",minHeight:"36px"}}),(0,Ee.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,Ee.jsx)("div",{style:{fontSize:"10px",color:"var(--tg-df-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px",fontWeight:600},children:t.isReviewProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Product tested by:"}):t.isBuyingGuideProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Expert review by:"}):t.isFeatured?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:"Top product"})," ","recommended by:"]}):(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:t.merchant})," ","deal recommended by:"]})}),(0,Ee.jsxs)("div",{style:{fontSize:"11px",color:"var(--tg-df-text)",lineHeight:1.2},children:[(0,Ee.jsx)("strong",{children:(0,Ee.jsx)("a",{href:e,target:"_blank",rel:"noopener",style:{textDecoration:"none",color:"inherit",borderBottom:"1px dotted var(--tg-df-text-muted)"},children:n})}),a,t.modifiedDate?(0,Ee.jsxs)("span",{style:{color:"var(--tg-df-text-muted)"},children:[" ","\u2022 ",o0(t.modifiedDate)]}):""]})]})]})})}var K=B(O(),1);function s0({authorUrl:e,deal:t,hideHawkPrices:n,msrpFormatted:a,sourceArticleUrl:l}){let i=ee(String(t.merchant||"")),r=ee(String(t.currency||""));if(t.isBuyingGuideProduct||t.isReviewProduct){let o=!!t.hasCommerceOffer,u=o&&!t.isCheckPrice,c=!!t.hawkPricePending,s=!!t.isReviewProduct&&!c&&!o,f=n&&o&&Array.isArray(t.hawkListings)?t.hawkListings.filter(m=>m?.merchant&&m?.url).slice(0,4):[],d=f.length>0;return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[c?(0,K.jsx)("div",{className:"tg-df-card-price-group","aria-live":"polite",children:(0,K.jsx)("span",{className:"tg-df-card-price",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"Checking live price\u2026"})}):d?(0,K.jsxs)("div",{className:"tg-df-card-listings",children:[(0,K.jsx)("span",{className:"tg-df-card-listings-title",children:"Today's cheapest prices:"}),(0,K.jsx)("div",{className:"tg-df-card-listings-links",children:f.map((m,v)=>{let A=ee(String(m.merchant));return(0,K.jsx)("a",{"aria-label":`View product at ${A}`,className:"tg-df-card-listing-link hawk-affiliate-link-container","data-fcaw-affiliate-link":"","data-merchant":A,"data-merchant-id":m.merchantId||void 0,"data-model-id":m.modelId||void 0,"data-product-key":m.productKey||void 0,href:m.url,rel:"sponsored nofollow noopener",target:"_blank",children:A},`${m.merchant}-${m.url}-${v}`)})})]}):u?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsxs)("div",{className:"tg-df-card-price-group",children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})]}):s?(0,K.jsx)("div",{className:"tg-df-card-price-group",children:(0,K.jsx)("span",{className:"tg-df-card-price tg-df-card-price--unavailable",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"No retail listing found"})}):null,(0,K.jsx)(cf,{authorUrl:e,deal:t}),!d&&(0,K.jsx)("a",{href:o?t.url:l,"data-fcaw-affiliate-link":o?"":void 0,target:"_blank",rel:o?"sponsored nofollow noopener":"noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},children:o?u?"VIEW DEAL":"CHECK PRICE":"READ REVIEW"})]})}return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[!(t.authorName&&!t.isFeatured)&&(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsx)("div",{className:"tg-df-card-price-group",children:t.isCheckPrice?(0,K.jsx)("span",{className:"tg-df-card-price",style:{fontSize:"15px",fontWeight:500,fontStyle:"italic"},children:"See price at retailer"}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})}),(0,K.jsx)(cf,{authorUrl:e,deal:t}),(0,K.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":"",target:"_blank",rel:"sponsored nofollow noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},"data-model-id":t.modelId||void 0,"data-product-key":t.productKey||void 0,"data-merchant-id":t.merchantId||void 0,children:t.isCheckPrice?"CHECK PRICE":t.isFeatured?"SHOP NOW":"VIEW DEAL"})]})}var Ze=B(O(),1);function d0({couponStatus:e,deal:t,onOpenVouchers:n}){let a=!!t.hasCommerceOffer;return(0,Ze.jsxs)("div",{className:"tg-df-card-image-box",children:[t.buyingGuideBadge?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge tg-df-buying-guide-badge",children:t.buyingGuideBadge}):t.savingLabel&&!t.isCheckPrice?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge",children:ee(t.savingLabel)}):null,(0,Ze.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":a?"":void 0,className:a?"hawk-affiliate-link-deal-widget":void 0,target:"_blank",rel:a?"sponsored nofollow noopener":"noopener",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",height:"100%"},children:(0,Ze.jsx)("img",{src:t.image||void 0,alt:ee(String(t.title||"")),className:"tg-df-card-image",loading:"lazy",onError:l=>{t.fallbackImage&&!l.currentTarget.dataset.fb?(l.currentTarget.dataset.fb="1",l.currentTarget.src=t.fallbackImage):l.currentTarget.style.opacity="0"}})}),(0,Ze.jsxs)("div",{className:"tg-df-card-badges",children:[t.isPrime&&(0,Ze.jsxs)("span",{className:"tg-df-tag tg-df-tag-prime",children:[(0,Ze.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ze.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})," ","Prime"]}),!t.merchant?.toLowerCase().includes("amazon")&&(e==="loading"||e==="has")&&(0,Ze.jsx)("div",{className:"tg-df-coupon-wrapper",style:{display:"inline-flex",alignItems:"center"},children:e==="loading"?(0,Ze.jsx)("div",{className:"tg-df-coupon-spinner"}):(0,Ze.jsxs)("button",{type:"button",className:"tg-df-tag tg-df-tag-coupons",onClick:l=>{l.preventDefault(),n(t.merchant)},children:[(0,Ze.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,Ze.jsx)("path",{d:"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"}),(0,Ze.jsx)("line",{x1:"7",y1:"7",x2:"7.01",y2:"7"})]})," ","Coupons"]})})]})]})}var ct=B(O(),1);function f0({label:e="Tom's Guide:",starRating:t,color:n="#1f69ff"}){if(!t||t<=0)return null;let a=Math.floor(t),l=t-a>=.5?1:0,i=Math.max(0,5-a-l),r=[];for(let o=0;o<a;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:n,stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`f${o}`));l&&r.push((0,ct.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"url(#halfGrad)",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,ct.jsx)("defs",{children:(0,ct.jsxs)("linearGradient",{id:"halfGrad",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,ct.jsx)("stop",{offset:"50%",stopColor:n}),(0,ct.jsx)("stop",{offset:"50%",stopColor:"transparent"})]})}),(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})]},"h"));for(let o=0;o<i;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:n,opacity:"0.35",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`e${o}`));return(0,ct.jsxs)("div",{className:"tg-df-card-stars",style:{display:"flex",alignItems:"center",marginBottom:"8px",fontSize:"13px",fontWeight:600,color:"var(--tg-df-text-muted)"},children:[e&&(0,ct.jsx)("span",{style:{marginRight:"6px"},children:e}),(0,ct.jsx)("div",{style:{display:"flex",gap:"2px"},children:r})]})}var At=B(O(),1);function g0({heading:e,items:t}){return t.length===0?null:(0,At.jsxs)("div",{style:{marginBottom:"10px"},children:[(0,At.jsx)("strong",{style:{display:"block",fontSize:"12px",marginBottom:"3px"},children:e}),(0,At.jsx)("ul",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:0,paddingLeft:"18px"},children:t.map(n=>{let a=ee(String(n));return(0,At.jsx)("li",{children:a},n)})})]})}function m0({cons:e=[],expanded:t,fullReviewUrl:n,onToggle:a,pros:l=[],subtitle:i="",truncateSubtitle:r=!1}){let o=l.length>0||e.length>0,u=ee(i);return!u&&!o?null:(0,At.jsxs)("div",{style:{marginBottom:"12px"},children:[u&&(0,At.jsx)("p",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:"0 0 8px",display:!t&&r?"-webkit-box":"block",WebkitLineClamp:!t&&r?3:void 0,WebkitBoxOrient:!t&&r?"vertical":void 0,overflow:!t&&r?"hidden":void 0},children:u}),t&&o&&(0,At.jsxs)("div",{children:[(0,At.jsx)(g0,{heading:"Pros",items:l}),(0,At.jsx)(g0,{heading:"Cons",items:e})]}),(o||r)&&(0,At.jsxs)("div",{className:"tg-df-review-summary-actions",style:{alignItems:"flex-start",display:"flex",flexDirection:"column",gap:t&&n?"4px":0},children:[t&&n&&(0,At.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"tg-df-review-full-link",style:{alignItems:"center",color:"var(--tg-df-blue)",display:"flex",fontSize:"12px",fontWeight:700,minHeight:"40px",paddingRight:"12px",textDecoration:"underline"},children:"Read our full review"}),(0,At.jsx)("button",{type:"button",onClick:c=>{c.preventDefault(),c.stopPropagation(),a()},className:"tg-df-review-summary-toggle",style:{appearance:"none",background:"transparent",border:"none",color:"#000000",cursor:"pointer",fontFamily:"inherit",fontSize:"11px",fontWeight:700,minHeight:"40px",padding:"0 12px 0 0",textTransform:"uppercase"},children:t?"LESS":"READ MORE"})]})]})}var oi=B(ft(),1);var Br=B(O(),1);function h0({text:e,expanded:t,onToggle:n}){let[a,l]=(0,oi.useState)(!1),i=(0,oi.useRef)(null),r=ee(e);return(0,oi.useEffect)(()=>{i.current&&l(i.current.scrollHeight>i.current.clientHeight||i.current.scrollHeight>60)},[r]),r?(0,Br.jsxs)("div",{style:{marginBottom:"12px",position:"relative"},children:[(0,Br.jsx)("p",{ref:i,style:{fontSize:"13px",color:"var(--tg-df-text-muted)",marginBottom:"0",lineHeight:"1.4",display:t?"inline":"-webkit-box",WebkitLineClamp:t?"unset":3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r}),a&&(0,Br.jsx)("button",{type:"button",onClick:o=>{o.preventDefault(),o.stopPropagation(),n()},style:{display:"block",appearance:"none",border:"none",color:"#000000",fontSize:"11px",fontWeight:700,textTransform:"uppercase",cursor:"pointer",fontFamily:"inherit",position:t?"static":"absolute",bottom:"2px",right:0,background:t?"transparent":"linear-gradient(to right, transparent, #fff 20%, #fff)",padding:t?"0":"0 0 0 16px"},children:t?"LESS":"READ MORE"})]}):null}var p0={pcgamer:"#DC191B",space:"#2E4A7F",tomsguide:"#1F69FF",techradar:"#E40784",golfmonthly:"#FFFFFF",androidcentral:"#1CCC3E",cinemablend:"#FFC033",creativebloq:"#DC361A",cyclingnews:"#371B51",cyclingweekly:"#AE1305",decanter:"#1B1B1B",digitalcameraworld:"#CAEBF2",fitandwell:"#BED100",fourfourtwo:"#AE1006",gamesradar:"#DC361A",guitarplayer:"#FFFFFF",guitarworld:"#DC1F26",homesandgardens:"#185A7D",idealhome:"#CAEBF2",imore:"#FFD600",livescience:"#023953",livingetc:"#FFFFFF",loudersound:"#DC0F17",marieclaireus:"#FFFFFF",marieclaireuk:"#FFFFFF",musicradar:"#006EA9",shortlist:"#2853E0",t3:"#DF0A14",theweek:"#DF0A14",theweekjuniorus:"#10A0B0",tomshardware:"#D8373B",wallpaper:"#FFFFFF",whathifi:"#E02928",whowhatwear:"#FFFFFF",windowscentral:"#CE0E5F",womanandhome:"#2F746E"},Nr={tomsguide:"https://proof.vanilla.tools/media/images/brandLogos/tomsguide.png",techradar:"https://proof.vanilla.tools/media/images/brandLogos/techradar.png",tomshardware:"https://proof.vanilla.tools/media/images/brandLogos/tomshardware.png",pcgamer:"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png",gamesradar:"https://proof.vanilla.tools/media/images/brandLogos/gamesradar.png",creativebloq:"https://proof.vanilla.tools/media/images/brandLogos/creativebloq.png",space:"https://proof.vanilla.tools/media/images/brandLogos/space.png",livescience:"https://proof.vanilla.tools/media/images/brandLogos/livescience.png",cinemablend:"https://proof.vanilla.tools/media/images/brandLogos/cinemablend.png",marieclaireus:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireus.png",marieclaireuk:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireuk.png",homesandgardens:"https://proof.vanilla.tools/media/images/brandLogos/homesandgardens.png",whowhatwear:"https://proof.vanilla.tools/media/images/brandLogos/whowhatwear.png",idealhome:"https://proof.vanilla.tools/media/images/brandLogos/idealhome.png",womanandhome:"https://proof.vanilla.tools/media/images/brandLogos/womanandhome.png",livingetc:"https://proof.vanilla.tools/media/images/brandLogos/livingetc.png",t3:"https://proof.vanilla.tools/media/images/brandLogos/t3.png",whathifi:"https://proof.vanilla.tools/media/images/brandLogos/whathifi.png",digitalcameraworld:"https://proof.vanilla.tools/media/images/brandLogos/digitalcameraworld.png",fitandwell:"https://proof.vanilla.tools/media/images/brandLogos/fitandwell.png",golfmonthly:"https://proof.vanilla.tools/media/images/brandLogos/golfmonthly.png",musicradar:"https://proof.vanilla.tools/media/images/brandLogos/musicradar.png",windowscentral:"https://proof.vanilla.tools/media/images/brandLogos/windowscentral.png",cyclingnews:"https://proof.vanilla.tools/media/images/brandLogos/cyclingnews.png",cyclingweekly:"https://proof.vanilla.tools/media/images/brandLogos/cyclingweekly.png",loudersound:"https://proof.vanilla.tools/media/images/brandLogos/loudersound.png",guitarworld:"https://proof.vanilla.tools/media/images/brandLogos/guitarworld.png",guitarplayer:"https://proof.vanilla.tools/media/images/brandLogos/guitarplayer.png",wallpaper:"https://proof.vanilla.tools/media/images/brandLogos/wallpaper.png",fourfourtwo:"https://proof.vanilla.tools/media/images/brandLogos/fourfourtwo.png",shortlist:"https://proof.vanilla.tools/media/images/brandLogos/shortlist.png",advnture:"https://proof.vanilla.tools/media/images/brandLogos/advnture.png",countrylife:"https://proof.vanilla.tools/media/images/brandLogos/countrylife.png",gardeningknowhow:"https://proof.vanilla.tools/media/images/brandLogos/gardeningknowhow.png",gnomesingardens:"https://proof.vanilla.tools/media/images/brandLogos/gnomesingardens.png",kiplinger:"https://proof.vanilla.tools/media/images/brandLogos/kiplinger.png",moneyweek:"https://proof.vanilla.tools/media/images/brandLogos/moneyweek.png",toptenreviews:"https://proof.vanilla.tools/media/images/brandLogos/toptenreviews.png"},Gu={tomsguide:"Tom's Guide",techradar:"TechRadar",tomshardware:"Tom's Hardware",pcgamer:"PC Gamer",gamesradar:"GamesRadar+",creativebloq:"Creative Bloq",space:"Space",livescience:"Live Science",cinemablend:"CinemaBlend",marieclaireus:"Marie Claire US",marieclaireuk:"Marie Claire UK",homesandgardens:"Homes & Gardens",whowhatwear:"Who What Wear",idealhome:"Ideal Home",womanandhome:"Woman & Home",livingetc:"Living Etc",t3:"T3",whathifi:"What Hi-Fi?",digitalcameraworld:"Digital Camera World",fitandwell:"Fit & Well",golfmonthly:"Golf Monthly",musicradar:"MusicRadar",androidcentral:"Android Central",imore:"iMore",windowscentral:"Windows Central",cyclingnews:"Cycling News",cyclingweekly:"Cycling Weekly",loudersound:"Louder Sound",guitarworld:"Guitar World",guitarplayer:"Guitar Player",theweek:"The Week",theweekjuniorus:"The Week Junior US",wallpaper:"Wallpaper",decanter:"Decanter",fourfourtwo:"FourFourTwo",shortlist:"ShortList",advnture:"Advnture",countrylife:"Country Life",gardeningknowhow:"Gardening Know How",gnomesingardens:"Gnomes in Gardens",kiplinger:"Kiplinger",moneyweek:"Money Week",toptenreviews:"Top 10 Reviews"},y0={pcgamer:[{key:"steam",href:"https://steamcommunity.com/groups/pcgamer",label:"PC Gamer on Steam"},{key:"x",href:"https://twitter.com/pcgamer",label:"PC Gamer on X"},{key:"facebook",href:"https://www.facebook.com/pcgamermagazine",label:"PC Gamer on Facebook"},{key:"instagram",href:"https://www.instagram.com/pcgamer_mag/?hl=en",label:"PC Gamer on Instagram"},{key:"youtube",href:"https://www.youtube.com/user/pcgamer",label:"PC Gamer on YouTube"},{key:"twitch",href:"https://www.twitch.tv/pcgamer",label:"PC Gamer on Twitch"},{key:"tiktok",href:"https://www.tiktok.com/@pcgamer_mag?lang=en",label:"PC Gamer on TikTok"}],homesandgardens:[{key:"instagram",href:"https://www.instagram.com/homesandgardensofficial",label:"Homes & Gardens on Instagram"},{key:"facebook",href:"https://www.facebook.com/homesandgardens/",label:"Homes & Gardens on Facebook"},{key:"x",href:"https://x.com/homesandgardens",label:"Homes & Gardens on X"},{key:"tiktok",href:"https://www.tiktok.com/@homesandgardensofficial",label:"Homes & Gardens on TikTok"},{key:"pinterest",href:"https://pinterest.com/homesgardensofficial/",label:"Homes & Gardens on Pinterest"}],whowhatwear:[{key:"x",href:"https://twitter.com/WhoWhatWear",label:"Who What Wear on X"},{key:"instagram",href:"https://www.instagram.com/whowhatwear/",label:"Who What Wear on Instagram"},{key:"facebook",href:"https://www.facebook.com/WhoWhatWear/",label:"Who What Wear on Facebook"},{key:"pinterest",href:"https://www.pinterest.co.uk/whowhatwearuk/",label:"Who What Wear on Pinterest"},{key:"tiktok",href:"https://www.tiktok.com/@whowhatwear.uk",label:"Who What Wear on TikTok"}]};var Ot=B(O(),1);function v0(e){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").trim().toLowerCase()}function Jw(e){let t=ee(String(e.brand||"")).trim(),n=ee(String(e.productName||e.title||"")).trim(),a=v0(t),l=v0(n);return a.length>0&&l.startsWith(a)&&!/^[a-z0-9]/.test(l.slice(a.length))||!t?n:`${t} ${n}`.trim()}function b0({couponStatus:e,deal:t,editorMode:n,hideHawkPrices:a,isDescriptionExpanded:l,isSelected:i,onDescriptionToggle:r,onOpenVouchers:o,onSelectionChange:u,website:c}){let s=ee(String(t.currency||"")),f=t.rawMsrp?s+t.rawMsrp:null,d=Jw(t),m=ee(String(t.title||"")),v=Gu[c||"tomsguide"]||c||"Tom's Guide",A=(c||"tomsguide").includes(".")?(c||"").startsWith("http")?c:`https://${c}`:`https://www.${c||"tomsguide"}.com`,b=(t.documentUrl||"").replace(/^\/+/,""),h=b.startsWith("http://")||b.startsWith("https://")?b:`${A}/${b}`,g=String(t.sourceArticleUrl||t.documentUrl||t.url||"").replace(/^\/+/,""),p=g.startsWith("http://")||g.startsWith("https://")?g:`${A}/${g}`,y=!!t.hasCommerceOffer;return(0,Ot.jsxs)("div",{className:"tg-df-card","data-brand":t.modelBrand||t.brand||void 0,"data-currency":t.isoCurrencyCode||s||void 0,"data-deal-id":t.externalProductId||t.id||void 0,"data-merchant":t.merchant||void 0,"data-merchant-id":t.merchantId||void 0,"data-model-id":t.modelId||void 0,"data-previous-price":t.rawMsrp||void 0,"data-price":t.rawPrice||void 0,"data-product-key":t.productKey||void 0,"data-product-name":t.productName||t.title||void 0,"data-review-product":t.isReviewProduct?"true":void 0,"data-source-article-url":t.isReviewProduct?p:void 0,children:[n&&(0,Ot.jsx)("input",{type:"checkbox",className:"tg-df-deal-checkbox",checked:i,onChange:C=>u(C.target.checked)}),(0,Ot.jsx)(d0,{couponStatus:e,deal:t,onOpenVouchers:o}),(0,Ot.jsxs)("div",{className:"tg-df-card-body",children:[(0,Ot.jsx)("h3",{className:"tg-df-card-title",title:m,children:(0,Ot.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":y?"":void 0,className:y?"hawk-affiliate-link-container":void 0,target:"_blank",rel:y?"sponsored nofollow noopener":"noopener",style:{textDecoration:"none",color:"inherit"},children:(0,Ot.jsx)("strong",{children:d})})}),(0,Ot.jsx)(f0,{label:t.isBuyingGuideProduct?"":`${v} rating:`,starRating:t.starRating,color:t.isReviewProduct?"var(--tg-df-blue)":void 0}),t.isBuyingGuideProduct||t.isReviewProduct?(0,Ot.jsx)(m0,{cons:t.cons,expanded:l,fullReviewUrl:t.isReviewProduct&&g?p:void 0,onToggle:r,pros:t.pros,subtitle:t.isReviewProduct?t.description:t.subtitle,truncateSubtitle:t.isReviewProduct}):t.description?(0,Ot.jsx)(h0,{text:t.description,expanded:l,onToggle:r}):null,(0,Ot.jsx)(s0,{authorUrl:h,deal:t,hideHawkPrices:a,msrpFormatted:f,sourceArticleUrl:p})]})]})}var ce=B(O(),1);function $w({activeDealTag:e,activeFreeformTags:t=[],query:n,selectedBrands:a=[]}){let l=o=>{let u=String(o||"").trim();return u&&u.toLowerCase()!=="everything"?u:""},r=(t.length>0?t:e?[e]:a.length>0?a:[n]).map(l).filter(Boolean).map(o=>o.replace(/\s+deals?$/i,"").trim()).filter((o,u,c)=>c.findIndex(s=>s.toLowerCase()===o.toLowerCase())===u);return r.length<=1?r[0]||"":`${r.slice(0,-1).join(", ")} or ${r.at(-1)}`}function e2(){return(0,ce.jsx)(ce.Fragment,{children:Array.from({length:6}).map((e,t)=>(0,ce.jsxs)("div",{className:"tg-df-card",children:[(0,ce.jsx)("div",{className:"tg-df-card-image-box tg-df-skeleton"}),(0,ce.jsxs)("div",{className:"tg-df-card-body",children:[(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short",style:{marginBottom:"24px"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title",style:{width:"80%"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short"}),(0,ce.jsx)("div",{className:"tg-df-card-cta tg-df-skeleton",style:{width:"100%",height:"40px",marginTop:"auto",border:"none"}})]})]},t))})}function t2(e,t){return{"@context":"https://schema.org","@type":"ItemList",itemListElement:e.slice(0,t).map((n,a)=>{let l="USD";return n.currency==="\xA3"?l="GBP":n.currency==="\u20AC"?l="EUR":n.currency==="A$"?l="AUD":n.currency==="CA$"&&(l="CAD"),{"@type":"ListItem",position:a+1,item:{"@type":"Product",name:n.title,image:n.image||"",description:n.description||"",brand:{"@type":"Brand",name:n.brand||""},offers:{"@type":"Offer",priceCurrency:l,price:n.rawPrice||0,url:n.url||"",seller:{"@type":"Organization",name:n.merchant||""}}}}}).filter(n=>n.item.name)}}function w0({activeDealTag:e,activeFreeformTags:t,couponMap:n,deals:a,displayCount:l,editorMode:i,error:r,expandedDealIds:o,hasMore:u,hideHawkPrices:c,loading:s,loadingMore:f,loadMoreStartCount:d,onDescriptionToggle:m,onLoadMore:v,onOpenVouchers:A,query:b,recentDealsOnly:h,selectedBrands:g,selectedDeals:p,setSelectedDeals:y,website:C}){let R=$w({activeDealTag:e,activeFreeformTags:t,query:b,selectedBrands:g}),T=f&&d!=null?d:l,M=!f&&d!=null&&d<T?d:null,w=D=>D.map(k=>(0,ce.jsx)(A0.default.Fragment,{children:(0,ce.jsx)(b0,{couponStatus:n[k.merchant],deal:k,editorMode:i,hideHawkPrices:c,isDescriptionExpanded:o.has(k.id),isSelected:p.has(k.id),onDescriptionToggle:()=>m(k.id),onOpenVouchers:A,onSelectionChange:se=>{let I=new Map(p);se?I.set(k.id,k):I.delete(k.id),y(I)},website:C})},k.id));return(0,ce.jsx)("div",{className:"tg-df-grid-wrapper",children:(0,ce.jsx)("div",{className:"tg-df-grid article-body tg-df-grid-auto",id:"tg-df-grid",children:s?(0,ce.jsx)(e2,{}):r?(0,ce.jsx)("div",{className:"tg-df-message",children:"Failed to load deals. Please try again."}):a.length===0?(0,ce.jsx)("div",{className:"tg-df-message",children:h?`No ${R?`${R} `:""}deals found from the last 30 days.`:!b||b.length<=2||b.toLowerCase()==="everything"?"No deals found for this author.":`No savings squad match your search for "${b}".`}):(0,ce.jsxs)(ce.Fragment,{children:[w(a.slice(0,M??T)),M!=null&&(0,ce.jsx)("div",{"aria-live":"polite",className:"tg-df-load-more-boundary",style:{alignItems:"center",color:"var(--tg-df-text-muted)",display:"flex",fontSize:"13px",fontWeight:600,gridColumn:"1 / -1",justifyContent:"center",marginTop:"16px",minHeight:"40px",overflowAnchor:"none"},children:"More products"}),M!=null&&w(a.slice(M,T)),u&&(0,ce.jsx)("div",{className:"tg-df-load-more-control",style:{width:"100%",display:"flex",justifyContent:"center",marginTop:"16px",gridColumn:"1 / -1",overflowAnchor:"none"},children:(0,ce.jsx)("button",{type:"button",className:"tg-df-tag-outline",style:{padding:"8px 24px",borderRadius:"100px",fontWeight:600,fontSize:"14px",cursor:"pointer"},"aria-busy":f,disabled:f,onClick:D=>{D.preventDefault(),D.stopPropagation(),v()},children:f?"Loading more products\u2026":"Load More"})}),a.length>0&&(0,ce.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t2(a,T))}})]})})})}var S0=B(O(),1);var pn=B(ft(),1),nn=B(O(),1);function Pu({onScrollLeft:e,onScrollRight:t,showLeft:n,showRight:a}){return(0,nn.jsxs)(nn.Fragment,{children:[(0,nn.jsx)("button",{"aria-label":"Scroll left",className:"tg-df-scroll-btn left tg-df-desktop-only",onClick:e,style:{display:n?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,nn.jsx)("button",{"aria-label":"Scroll right",className:"tg-df-scroll-btn right tg-df-desktop-only",onClick:t,style:{display:a?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})}function qu(e){let t=(0,pn.useRef)(null),[n,a]=(0,pn.useState)(!1),[l,i]=(0,pn.useState)(!1),r=(0,pn.useCallback)(()=>{let u=t.current;u&&(a(u.scrollLeft>1),i(Math.ceil(u.scrollLeft+u.clientWidth)<u.scrollWidth-1))},[]);(0,pn.useLayoutEffect)(()=>{let u=t.current;if(!u)return;r();let c=requestAnimationFrame(r),s=typeof ResizeObserver>"u"?null:new ResizeObserver(r);return s?.observe(u),()=>{cancelAnimationFrame(c),s?.disconnect()}},[e,r]);let o=(0,pn.useCallback)(u=>{t.current?.scrollBy({left:u,behavior:"smooth"})},[]);return{onScroll:r,railRef:t,scrollLeft:()=>o(-240),scrollRight:()=>o(240),showLeft:n,showRight:l}}var jn=B(O(),1);function ui({containerClassName:e,itemClassName:t,items:n,loading:a,loadingKey:l,onItemClick:i,rowClassName:r,showCounters:o}){let u=qu(n.length);return n.length===0&&!a?null:(0,jn.jsxs)("div",{className:e,style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[n.length>0&&(0,jn.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,jn.jsx)("div",{className:r,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none"},onScroll:u.onScroll,children:n.length>0?n.map(c=>(0,jn.jsxs)("button",{className:t,onClick:()=>i(c.key),style:{border:"none",borderRight:"1px solid var(--tg-df-border)",padding:"12px 20px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"1px",cursor:"pointer",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:"6px",...t==="tg-df-brand-row-item"?{transition:"all 0.2s ease"}:{},background:c.selected?"var(--tg-df-bg-secondary)":"var(--tg-df-bg)",color:c.selected?"var(--tg-df-text-primary)":"var(--tg-df-text-muted)",fontWeight:c.selected?600:500},children:[c.label," ",l===c.key&&(0,jn.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading",style:{borderWidth:"2px",height:"12px",width:"12px"}}),o!==!1&&(0,jn.jsx)("span",{style:{color:"var(--tg-df-blue)",fontSize:"10px",...t==="tg-df-brand-row-item"?{fontWeight:400}:{}},children:c.count})]},c.key)):[1,2,3,4,5].map(c=>(0,jn.jsx)("div",{className:"tg-df-skeleton",style:{height:"36px",width:"80px",borderRadius:"18px",flexShrink:0,margin:"8px 12px"}},`${r}-skeleton-${c}`))})]})}var R0=B(O(),1);function C0({airedaleBrands:e,brands:t,loading:n,refreshing:a,onBrandToggle:l,selectedBrands:i,showAuthorCounters:r}){let o=e.length>0?e:t||[],u=o.slice(0,15).map(c=>({count:c.count||0,key:c.formatted_value,label:c.formatted_value,selected:i?.includes(c.formatted_value)||!1}));return(0,R0.jsx)(ui,{containerClassName:"tg-df-brands-row-container",itemClassName:"tg-df-brand-row-item",items:u,loading:n&&o.length===0,loadingKey:a?i?.[0]:null,onItemClick:c=>l?.(c),rowClassName:"tg-df-brands-row",showCounters:r})}var E0=B(O(),1);function T0({activeDealTag:e,airedaleTagCounts:t,airedaleTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>{let c=u.split(":::"),s=c[0];return{count:t[u]||0,key:s,label:c[1]||u,selected:e===s}});return(0,E0.jsx)(ui,{containerClassName:"tg-df-categories-row-container",itemClassName:"tg-df-category-row-item",items:o,loading:a&&n.length===0,loadingKey:l?e:null,onItemClick:i,rowClassName:"tg-df-categories-row",showCounters:r})}var x0=B(O(),1);function D0({activeFreeformTags:e,freeformTagCounts:t,freeformTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>({count:t[u.handle]||0,key:u.handle,label:u.label,selected:e.includes(u.handle)}));return(0,x0.jsx)(ui,{containerClassName:"tg-df-freeform-tags-row-container",itemClassName:"tg-df-freeform-tag-row-item",items:o,loading:a&&n.length===0,loadingKey:l&&e.at(-1)||null,onItemClick:i,rowClassName:"tg-df-freeform-tags-row",showCounters:r})}var _e=B(O(),1),n2=4;function M0({authors:e,clickedAuthorOverride:t,loading:n,refreshing:a,onAuthorClick:l,overriddenAuthorHandle:i,overriddenAuthorName:r,website:o}){let u=qu(e.length);return e.length===0&&!n?null:(0,_e.jsxs)("div",{className:"tg-df-authors-row-container",style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[e.length>0&&(0,_e.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,_e.jsx)("div",{className:"tg-df-authors-row tg-df-mobile-authors",onScroll:u.onScroll,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",gap:"24px",padding:"4px 16px 2px 16px",alignItems:"flex-start"},children:e.length>0?e.map((c,s)=>{let f=Nr[c.brandKey]||Nr[o||"tomsguide"],d=t&&(i===c.handle||r===c.fullName);return(0,_e.jsxs)("div",{className:"tg-df-author-row-item",onClick:()=>l(c),style:{cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px",opacity:t?d?1:.4:1},children:[(0,_e.jsxs)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px",borderRadius:"50%",boxShadow:d?"0 0 0 3px var(--tg-df-blue, #1F69FF)":"none"},children:[(0,_e.jsx)("img",{src:ri(c.image),alt:c.fullName,decoding:"async",loading:s<n2?"eager":"lazy",style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover",filter:t&&!d?"grayscale(100%)":"none"}}),d&&(0,_e.jsx)("span",{"aria-label":`Clear ${c.fullName} selection`,className:"tg-df-author-clear-badge",title:"Click again to clear selection",style:{alignItems:"center",backgroundColor:"#dc2626",border:"2px solid var(--tg-df-bg, #fff)",borderRadius:"50%",boxShadow:"0 1px 3px rgb(0 0 0 / 25%)",color:"#fff",display:"flex",fontSize:"15px",fontWeight:700,height:"20px",justifyContent:"center",lineHeight:1,position:"absolute",right:"-5px",top:"-5px",width:"20px",zIndex:1},children:(0,_e.jsx)("span",{"aria-hidden":"true",style:{display:"block",transform:"translateY(-1px)"},children:"\xD7"})}),f&&(0,_e.jsx)("img",{src:f,alt:"",className:"tg-df-author-brand-logo",decoding:"async",loading:"lazy",style:{position:"absolute",bottom:"-4px",right:"-4px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid var(--tg-df-bg, #fff)",backgroundColor:"#000",objectFit:"contain",filter:t&&!d?"grayscale(100%)":"none"}})]}),(0,_e.jsxs)("div",{style:{textAlign:"center"},children:[(0,_e.jsxs)("div",{className:"tg-df-author-row-name",style:{fontSize:"13px",fontWeight:700,color:"var(--tg-df-text)",lineHeight:"1.2"},children:[c.name,a&&d&&(0,_e.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading author products",style:{borderWidth:"2px",display:"inline-block",height:"11px",marginLeft:"4px",width:"11px"}})]}),c.role&&(0,_e.jsx)("div",{className:"tg-df-author-row-role",style:{fontSize:"11px",color:"var(--tg-df-text-muted)",lineHeight:"1.2",marginTop:"2px",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word"},children:c.role})]})]},c.handle)}):[1,2,3,4].map(c=>(0,_e.jsxs)("div",{className:"tg-df-author-row-item",style:{display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px"},children:[(0,_e.jsx)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px"},children:(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),(0,_e.jsxs)("div",{style:{textAlign:"center",width:"100%"},children:[(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"12px",width:"80%",margin:"0 auto 4px auto",borderRadius:"2px"}}),(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"10px",width:"60%",margin:"0 auto",borderRadius:"2px"}})]})]},`author-skeleton-${c}`))})]})}var Ja=B(O(),1);function _0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,freeformTagCounts:i,freeformTags:r,allAuthorsList:o,brands:u,clickedAuthorOverride:c,loading:s,refreshing:f,onAuthorClick:d,onBrandToggle:m,onTagClick:v,onFreeformTagClick:A,overriddenAuthorHandle:b,overriddenAuthorName:h,selectedBrands:g,showAuthorRail:p,showAuthorCounters:y,showBrandRail:C,showCategoryRail:R,showFreeformTagRail:T,website:M}){let w=R!==!1&&l.length>0||T!==!1&&r.length>0||C!==!1&&(n.length>0||!!u?.length)||p&&o.length>0;return!(p||R!==!1||T!==!1||C!==!1)||!w&&!s?null:(0,Ja.jsxs)("div",{id:"tg-df-spreadsheet-filters",style:{display:"block",marginBottom:"16px"},children:[p&&(0,Ja.jsx)(M0,{authors:o,clickedAuthorOverride:c,loading:s&&o.length===0,refreshing:f,onAuthorClick:d,overriddenAuthorHandle:b,overriddenAuthorName:h,website:M}),R!==!1&&(0,Ja.jsx)(T0,{activeDealTag:e,airedaleTagCounts:a,airedaleTags:l,loading:s,refreshing:f,onTagClick:v,showAuthorCounters:y}),T!==!1&&(0,Ja.jsx)(D0,{activeFreeformTags:t,freeformTagCounts:i,freeformTags:r,loading:s,refreshing:f,onTagClick:A,showAuthorCounters:y}),C!==!1&&(0,Ja.jsx)(C0,{airedaleBrands:n,brands:u,loading:s,refreshing:f,onBrandToggle:m,selectedBrands:g,showAuthorCounters:y})]})}var O0=B(ft(),1);var B0=[{value:"date_desc",label:"Most recent"},{value:"rating_desc",label:"Highest rating"},{value:"scored_first",label:"Scored products first"}];function Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}){return!!(a&&e!==!0&&t===!1&&n===!1)}function Fu({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a,lightweightReviewDelivery:l,showPriceDiscountFilters:i,showReviewSort:r}){return!!(l&&i===!1&&r===!1&&Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}))}function ju(e=!0){return e?B0:B0.filter(t=>t.value!=="scored_first")}function wa(e,t=!0){return!t&&e==="scored_first"?"date_desc":e||"date_desc"}var H=B(O(),1),N0=[{value:"all",label:"All Prices",shortLabel:""},{value:"under50",label:"Under $50",shortLabel:"< $50"},{value:"50_100",label:"$50 - $100",shortLabel:"$50-$100"},{value:"100_200",label:"$100 - $200",shortLabel:"$100-$200"},{value:"200_500",label:"$200 - $500",shortLabel:"$200-$500"},{value:"over500",label:"Over $500",shortLabel:"> $500"}],a2=[{value:"0",label:"Any discount"},...[5,10,15,20,25,30,40,50,60,70].map(e=>({value:String(e),label:`Min ${e}% off`}))];function l2({open:e}){return(0,H.jsx)("svg",{"aria-hidden":"true",className:e?"is-open":void 0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("path",{d:"m6 9 6 6 6-6"})})}function Yn(){return(0,H.jsx)("svg",{"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function k0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,brands:i,discountAmount:r,enabled:o,freeformTagCounts:u,freeformTags:c,includeScoredFirst:s,onBrandSelect:f,onBrandToggle:d,onDiscountAmountChange:m,onFreeformTagClear:v,onFreeformTagToggle:A,onPriceRangeChange:b,onReviewSortChange:h,onTagClear:g,onTagClick:p,priceRange:y,reviewSort:C,selectedBrands:R,showCounters:T,showBrandRail:M,showCategoryRail:w,showFreeformTagRail:D,showPriceDiscountFilters:k,showReviewSort:se}){let[I,j]=(0,O0.useState)(null);if(!o)return null;let He=l.map(x=>{let P=x.split(":::");return{count:a[x]||0,handle:P[0],label:P[1]||x}}),ze=n.length>0?n:i||[],St=He.find(x=>x.handle===e),Ie=y||"all",rn=!r||r==="all"?"0":r,Be=N0.find(x=>x.value===Ie),Je=k!==!1,nt=wa(C,s),X=ju(s),de=nt==="rating_desc"?"Highest rating":nt==="scored_first"?"Scored first":"Most recent",$e=x=>{j(P=>P===x?null:x)},Z=[];return w!==!1&&Z.push({active:!!e,label:`CATEGORIES${St?` (${St.label})`:""}`,menu:"categories"}),D!==!1&&Z.push({active:t.length>0,label:`KEYWORDS${t.length>0?` (${t.length})`:""}`,menu:"keywords"}),M!==!1&&Z.push({active:R.length>0,label:`BRANDS${R.length>0?` (${R.length})`:""}`,menu:"brands"}),Je&&Z.push({active:Ie!=="all",label:`PRICES${Be?.shortLabel?` (${Be.shortLabel})`:""}`,menu:"prices"}),(Je||se)&&Z.push({active:se?nt!=="date_desc":rn!=="0",label:se?`SORT REVIEWS (${de})`:`DISCOUNTS${rn!=="0"?` (${rn}%+)`:""}`,menu:se?"review-sort":"discounts"}),(0,H.jsxs)("div",{className:"tg-df-mobile-2x2-container",children:[(0,H.jsx)("div",{className:`tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--${Z.length%2===0?"even":"odd"}`,children:Z.map(x=>(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-grid-cell${x.active?" has-active-filter":""}${I===x.menu?" active":""}`,"aria-expanded":I===x.menu,onClick:()=>$e(x.menu),children:[(0,H.jsx)("span",{children:x.label}),(0,H.jsx)(l2,{open:I===x.menu})]},x.menu))}),w!==!1&&I==="categories"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${e?"":" selected"}`,onClick:()=>{g(),j(null)},children:[(0,H.jsx)("span",{children:"All Categories"}),!e&&(0,H.jsx)(Yn,{})]}),He.map(x=>{let P=e===x.handle;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{p(x.handle),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},x.handle)})]}),M!==!1&&I==="brands"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${R.length===0?" selected":""}`,onClick:()=>f?.([]),children:[(0,H.jsx)("span",{children:"All Brands"}),R.length===0&&(0,H.jsx)(Yn,{})]}),ze.map(x=>{let P=x.formatted_value,Q=R.includes(P);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${Q?" selected":""}`,onClick:()=>d?.(P),children:[(0,H.jsx)("span",{children:P}),Q?(0,H.jsx)(Yn,{}):T!==!1&&x.count?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},P)})]}),D!==!1&&I==="keywords"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${t.length===0?" selected":""}`,onClick:()=>{v(),j(null)},children:[(0,H.jsx)("span",{children:"All Keywords"}),t.length===0&&(0,H.jsx)(Yn,{})]}),c.map(x=>{let P=t.includes(x.handle);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>A(x.handle),children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1&&u[x.handle]?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:u[x.handle]}):null]},x.handle)})]}),I==="prices"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:N0.map(x=>{let P=Ie===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{b?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="discounts"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:a2.map(x=>{let P=rn===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{m?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="review-sort"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:X.map(x=>{let P=nt===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{h?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})})]})}var $a=B(ft(),1);var W=B(O(),1);function L0({airedaleBrands:e,airedaleTags:t,discountAmount:n,hidden:a,includeScoredFirst:l,onDiscountAmountChange:i,onPriceRangeChange:r,onReviewSortChange:o,priceRange:u,reviewSort:c,showReviewSort:s,showPriceDiscountFilters:f}){let d=(0,$a.useRef)(null),[m,v]=(0,$a.useState)(!1),[A,b]=(0,$a.useState)(!1),h=ju(l),g=wa(c,l),p=()=>{if(!d.current)return;let{scrollLeft:y,scrollWidth:C,clientWidth:R}=d.current;v(y>0),b(Math.ceil(y+R)<C-5)};return(0,$a.useEffect)(()=>(p(),window.addEventListener("resize",p),setTimeout(p,100),setTimeout(()=>{document.querySelector(".tg-df-categories-row")?.dispatchEvent(new Event("scroll")),document.querySelector(".tg-df-brands-row")?.dispatchEvent(new Event("scroll"))},150),()=>window.removeEventListener("resize",p)),[t,e]),(0,W.jsx)("div",{className:"tg-df-controls",id:"tg-df-controls",style:{display:a?"none":"flex",marginTop:"12px",marginBottom:"16px",justifyContent:"center"},children:(0,W.jsxs)("div",{className:"tg-df-filters-container",style:{position:"relative",width:"100%",maxWidth:"800px",margin:"0 auto"},children:[(0,W.jsx)("button",{className:"tg-df-scroll-btn left",style:{display:m?"flex":"none"},onClick:()=>d.current?.scrollBy({left:-200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,W.jsx)("button",{className:"tg-df-scroll-btn right",style:{display:A?"flex":"none"},onClick:()=>d.current?.scrollBy({left:200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M9 18l6-6-6-6"})})}),(0,W.jsxs)("div",{className:"tg-df-filters",ref:d,onScroll:p,children:[(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-legacy-price-wrapper",style:{display:f!==!1?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-price-filter","aria-label":"Filter Prices",value:u||"all",onChange:y=>r?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"All Prices"}),(0,W.jsx)("option",{value:"under50",children:"Under $50"}),(0,W.jsx)("option",{value:"50_100",children:"$50 - $100"}),(0,W.jsx)("option",{value:"100_200",children:"$100 - $200"}),(0,W.jsx)("option",{value:"200_500",children:"$200 - $500"}),(0,W.jsx)("option",{value:"over500",children:"Over $500"})]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-discount-filter-wrapper",style:{display:f!==!1&&!s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-discount-filter","aria-label":"Discount Amount",value:n||"all",onChange:y=>i?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"Any discount"}),[5,10,15,20,25,30,40,50,60,70].map(y=>(0,W.jsxs)("option",{value:y,children:["Min ",y,"%"]},y))]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-review-sort-wrapper",style:{display:s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M4 7h16M7 12h10m-7 5h4"})}),(0,W.jsx)("select",{className:"tg-df-filter-select",id:"tg-df-review-sort","aria-label":"Sort Reviews",value:g,onChange:y=>o?.(y.target.value),children:h.map(y=>(0,W.jsx)("option",{value:y.value,children:y.label},y.value))})]})]})]})})}var be=B(ft(),1);function kr(e,t){return e.filter(n=>{let a=n.handle.toLowerCase(),l=n.fullName.toLowerCase(),i=n.name.toLowerCase();return t.some(r=>{let o=r.articleauthorhandle||[],u=r.articleauthor||[],c=r.articleauthortext||[];return[...o,...u,...c].some(s=>{let f=String(s||"").toLowerCase();return f===a||f===l||f===i})})})}function Yu(e,t){return e.map((n,a)=>({index:a,profile:n,productCount:t[n.handle]||0})).sort((n,a)=>a.productCount-n.productCount||n.index-a.index).map(({profile:n})=>n)}function Vu(e,t){return e==="all-authors"||t==="all-authors"||t==="All authors"||!e&&!t}function Xu(e,t,n){let a=e;if((t||n)&&t!=="all-authors"&&n!=="all-authors"&&n!=="All authors"){if(t){let l=t.toLowerCase(),i=e.filter(r=>r.articleauthorhandle&&r.articleauthorhandle.some(o=>o.toLowerCase()===l));if(i.length>0)a=i;else if(n){let r=n.toLowerCase(),o=e.filter(u=>u.articleauthor&&u.articleauthor.some(c=>c.toLowerCase()===r));o.length>0&&(a=o)}}else if(n){let l=n.toLowerCase();a=e.filter(i=>i.articleauthor&&i.articleauthor.some(r=>r.toLowerCase()===l))}}return a}function sf(e,t,n){let a=0;if(t&&e.articleauthorhandle){let l=e.articleauthorhandle.findIndex(i=>i.toLowerCase()===t.toLowerCase());l>=0&&(a=l)}else if(n&&e.articleauthor){let l=e.articleauthor.findIndex(i=>i.toLowerCase()===n.toLowerCase());l>=0&&(a=l)}return a}function Qu(e,t,n){let a=sf(e,t,n),l=i=>typeof i=="string"?ee(i):i||"";return{authorName:e.articleauthortext?l(e.articleauthortext[a]):e.articleauthor?l(e.articleauthor[a]):"",authorRole:e.articleauthorrole?l(e.articleauthorrole[a]):"",authorImage:e.articleauthormedia?e.articleauthormedia[a]:""}}function Lr(e,t){let n=new Map;return e.forEach(a=>{if(!a.articleauthor)return;let l=t;if(a.documenturl)try{let f=new URL(a.documenturl).hostname.replace("www.","").split(".");f.length>0&&(l=f[0].toLowerCase())}catch{}let i=a.articleauthorhandle||[],r=a.articleauthor||[],o=a.articleauthortext||[],u=a.articleauthorrole||[],c=a.articleauthormedia||[];r.forEach((s,f)=>{if(!s||s==="null"||s.toLowerCase()==="all authors")return;let d=i[f]&&i[f]!=="null"?i[f]:s.toLowerCase().replace(/\s+/g,"-");if(!d||d==="null")return;let m=o[f]&&o[f]!=="null"?o[f]:s,v=u[f]&&u[f]!=="null"?u[f]:"",A=ee(String(m)),b=ee(String(v)),h=c[f]&&c[f]!=="null"?c[f]:"",g=A.split(" ")[0],p=_r(a,f,"short"),y=_r(a,f,"long"),C=Uu(a,f),R=n.get(d);!R&&A&&h?n.set(d,{...y?{bioLong:y}:{},...p?{bioShort:p}:{},name:g,fullName:A,handle:d,role:b,image:h,brandKey:l,...C.length>0?{socialNetworks:C}:{}}):R&&(!R.bioShort&&p&&(R.bioShort=p),!R.bioLong&&y&&(R.bioLong=y),!R.socialNetworks?.length&&C.length>0&&(R.socialNetworks=C))})}),Array.from(n.values())}var E=B(O(),1);function z0(e){let t=(0,be.useRef)(""),n=(0,be.useRef)(null),a=(0,be.useCallback)(()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null)},[]),l=(0,be.useCallback)(r=>{a(),t.current=r},[a]),i=(0,be.useCallback)((r,o,u=!1)=>{if(!e)return;if(r===t.current){a();return}let c=()=>{n.current=null,t.current=r,e(o)};a(),u?c():n.current=window.setTimeout(c,350)},[a,e]);return(0,be.useEffect)(()=>a,[a]),{save:i,synchronise:l}}function H0({contentKey:e,defaultText:t,kind:n,onChange:a,value:l}){let i=(0,be.useRef)(null),r=(0,be.useRef)(e),[o,u]=(0,be.useState)(!1),c=l??t,s=!!a,{save:f,synchronise:d}=z0(a);(0,be.useLayoutEffect)(()=>{let g=r.current!==e;i.current&&(g||document.activeElement!==i.current)&&(i.current.innerHTML!==c&&(i.current.innerHTML=c),d(c)),r.current=e},[e,d,c]);let m=(g=!1)=>{if(!i.current)return;let p=i.current.innerHTML;f(p,p===t?void 0:p,g)},v=(g,p)=>{document.execCommand(g,!1,p),m(!0)},A=n==="kicker"?{fontSize:"0.875rem",color:"#6B7280",fontStyle:"normal",margin:"0 0 0.25rem 0"}:{fontSize:"2.25rem",fontWeight:300,color:"#111827",margin:"0 0 0.25rem 0",lineHeight:1.1,letterSpacing:"-0.02em"},b=n==="kicker"?"tg-df-author-curated-by tg-df-author-kicker":"tg-df-author-name",h=()=>n==="kicker"?(0,E.jsx)("p",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}}):(0,E.jsx)("h2",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}});return s?(0,E.jsxs)("div",{className:"tg-df-author-header-text-shell",style:{position:"relative"},children:[o&&(0,E.jsxs)("div",{className:"tg-df-author-header-text-toolbar",role:"toolbar","aria-label":`${n==="kicker"?"Shop by text":"Site or author name"} formatting`,style:{display:"flex",justifyContent:"center",alignItems:"center",gap:"0.25rem",margin:"0 auto 0.375rem",width:"fit-content",padding:"0.25rem 0.5rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",fontSize:"11px",zIndex:10},children:[(0,E.jsx)("span",{style:{color:"#64748b",padding:"2px 2px 2px 0"},children:"Editing"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("bold"),title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("italic"),title:"Italic",children:(0,E.jsx)("em",{children:"I"})}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{let g=prompt("Enter URL:");g&&v("createLink",g)},title:"Add link",children:"\u{1F517}"}),l!==void 0&&(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{i.current&&(i.current.innerHTML=t),d(t),a?.(void 0)},title:"Restore default",children:"Reset"})]}),h()]}):h()}function i2({contentKey:e,initialBio:t,defaultPlaceholder:n,onBioChange:a,stabilizeHeight:l=!1}){let r=(0,be.useRef)(null),o=(0,be.useRef)(e),u=(0,be.useRef)(n),c=(0,be.useRef)(!1),[s,f]=(0,be.useState)(!1),[d,m]=(0,be.useState)(!1),[v,A]=(0,be.useState)(!1),b=t||n,h=l&&b.replace(/<[^>]*>/g,"").trim().length>240,g=!!a,{save:p,synchronise:y}=z0(a);(0,be.useLayoutEffect)(()=>{let w=o.current!==e,D=u.current!==n;w&&(c.current=!1);let k=!t&&D&&!c.current;r.current&&(w||document.activeElement!==r.current||k)&&(r.current.innerHTML!==b&&(r.current.innerHTML=b),y(b)),o.current=e,u.current=n},[b,e,n,t,y]),(0,be.useLayoutEffect)(()=>{m(!1)},[e]),(0,be.useLayoutEffect)(()=>{if(!h||!r.current){A(!1);return}let w=r.current,D=()=>{A(w.scrollHeight>w.clientHeight+1)};if(D(),typeof ResizeObserver>"u")return;let k=new ResizeObserver(D);return k.observe(w),()=>k.disconnect()},[b,e,d,h]);let C=(w,D=null)=>{if(c.current=!0,document.execCommand(w,!1,D||void 0),r.current){let k=r.current.innerHTML;p(k,k===n?"":k,!0)}},R=(w=!1)=>{if(!r.current)return;let D=r.current.innerHTML;p(D,D===n?"":D,w)};return(0,E.jsxs)("div",{style:{position:"relative",maxWidth:"42rem",margin:"0 auto 0.5rem auto",padding:"0.25rem 0.5rem"},className:`tg-df-author-bio-shell${l?" tg-df-author-bio-shell--stable":""}`,children:[g&&s&&(0,E.jsxs)("div",{role:"toolbar","aria-label":"Introduction text formatting",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"0.375rem",marginBottom:"0.5rem",padding:"0.25rem 0.625rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",width:"fit-content",margin:"0 auto 0.5rem auto",fontSize:"12px",userSelect:"none",zIndex:10},children:[(0,E.jsx)("span",{style:{fontSize:"11px",color:"#64748b",fontWeight:500,marginRight:"2px"},children:"Editing \u2014 saves when you click away"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("bold"),style:{fontWeight:"bold",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("italic"),style:{fontStyle:"italic",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Italic",children:"I"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>{let w=prompt("Enter URL:");w&&C("createLink",w)},style:{padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Add Link",children:"\u{1F517}"}),t&&(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:w=>{w.preventDefault(),w.stopPropagation(),r.current&&(r.current.innerHTML=n),c.current=!1,y(n),a&&a("")},style:{fontSize:"10px",padding:"2px 8px",borderRadius:"4px",background:"#fee2e2",color:"#991b1b",cursor:"pointer",border:"1px solid #fca5a5"},title:"Reset Bio",children:"Reset"})]}),(0,E.jsx)("div",{ref:r,contentEditable:g?!0:void 0,suppressContentEditableWarning:g,onFocus:g?()=>{f(!0)}:void 0,onBlur:g?()=>{f(!1),R(!0),c.current=!1}:void 0,onInput:g?()=>{c.current=!0}:void 0,className:`tg-df-author-bio ${g?"wysiwyg-bio-editable":"tg-df-author-bio--static"}${h?d?" tg-df-author-bio--expanded":" tg-df-author-bio--clamped":""}`,style:{color:"#4b5563",lineHeight:1.6,fontWeight:300,fontSize:"0.9375rem",textAlign:"center",outline:g&&s?"2px solid #3b82f6":"none",borderRadius:"6px",padding:"0.375rem 0.5rem",cursor:g?"text":"default",transition:"all 0.15s ease-in-out"}}),h?(0,E.jsx)("div",{className:"tg-df-author-bio-toggle-slot",children:(0,E.jsx)("button",{type:"button",className:"tg-df-author-bio-toggle","aria-expanded":d,onClick:()=>m(w=>!w),style:{visibility:v||d?"visible":"hidden"},children:d?"Show less":"Read more"})}):null]})}function r2(e){let t=(e||"").toLowerCase();return t==="linkedin"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"})}):t==="twitter"||t==="x"?(0,E.jsx)("svg",{className:"icon-svg",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,E.jsx)("path",{fill:"currentColor",d:"M18 2h4l-8 9 9 11h-7l-5-7-6 7H2l7-9L1 2h7l5 6zm-1 18h2L7 4H5z"})}):t==="email"||t==="mail"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),(0,E.jsx)("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}):t==="instagram"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"5",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"12",cy:"12",r:"4.25",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"17.4",cy:"6.7",r:"1.25",fill:"currentColor"})]}):t==="steam"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("circle",{fill:"#0f1618",cx:"12",cy:"12",r:"12"}),(0,E.jsx)("path",{d:"m18.22 8.9a2.269 2.269 0 1 1 -2.27-2.265 2.267 2.267 0 0 1 2.27 2.265zm2.258.005a4.534 4.534 0 0 1 -4.533 4.526h-.1l-4.087 2.911v.161a3.4 3.4 0 0 1 -6.74.669l-4.549-1.879c-.032-.109-.057-.219-.085-.329a11.973 11.973 0 0 1 -.384-2.964c0-.214.02-.423.032-.635 0-.1.008-.206.016-.308l6.394 2.643a3.385 3.385 0 0 1 1.915-.591c.065 0 .127 0 .191.005l2.865-4.145v-.062a4.533 4.533 0 0 1 9.066 0zm-9.763 6.618a2.55 2.55 0 0 0 -3.262-1.411l1.525.63a1.877 1.877 0 1 1 -1.446 3.464l-1.475-.606a2.529 2.529 0 0 0 1.315 1.25 2.559 2.559 0 0 0 3.339-1.374 2.526 2.526 0 0 0 .004-1.951zm8.251-6.618a3.021 3.021 0 1 0 -3.021 3.015 3.022 3.022 0 0 0 3.021-3.013z",fill:"#fff"})]}):t==="youtube"?(0,E.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})}):t==="twitch"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"m24 12a12 12 0 1 1 -12-12 12 12 0 0 1 12 12z",fill:"#111"}),(0,E.jsx)("path",{d:"m12.308 17.167-1.833 1.833h-1.818v-1.833h-3.357v-9.733l.925-2.434h12.475v8.517l-3.648 3.65zm5.175-10.95h-10.043v8.824h2.743v1.833l1.817-1.833h3.342l2.14-2.126zm-5.483 6.083v-3.65h-1.218v3.65zm3.342 0v-3.65h-1.216v3.65z",fill:"#fff"})]}):t==="facebook"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m13.079 19h-2.9v-7h-1.441v-2.408h1.442v-1.456c0-1.96.813-3.136 3.136-3.136h1.933v2.408h-1.2c-.91 0-.965.35-.965.966v1.218h2.183l-.257 2.408h-1.931z",fill:"currentColor"})}):t==="pinterest"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.336 5c-3.822 0-5.754 2.744-5.754 5.025a3.065 3.065 0 0 0 1.652 3.066.279.279 0 0 0 .407-.2l.154-.644a.373.373 0 0 0-.113-.448 2.341 2.341 0 0 1-.532-1.582 3.812 3.812 0 0 1 3.961-3.849 3.009 3.009 0 0 1 3.346 3.08c0 2.323-1.022 4.283-2.547 4.283a1.253 1.253 0 0 1-1.273-1.554 17.616 17.616 0 0 0 .713-2.856 1.081 1.081 0 0 0-1.092-1.2c-.854 0-1.553.881-1.553 2.071a2.954 2.954 0 0 0 .266 1.274l-1.038 4.383a9.389 9.389 0 0 0-.027 3.065.109.109 0 0 0 .2.042 8.737 8.737 0 0 0 1.457-2.631l.561-2.212a2.3 2.3 0 0 0 1.959 1.008c2.59 0 4.34-2.366 4.34-5.516a4.8 4.8 0 0 0-5.087-4.605z",fill:"currentColor"})}):t==="substack"?(0,E.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z"})}):t==="threads"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12.186 24h-.007c-3.582-.024-6.332-1.22-8.173-3.555C2.26 18.212 1.5 15.228 1.5 11.83 1.5 8.16 2.673 5.097 4.902 2.935 7.026.877 10.02 0 13.565 0c3.784 0 6.81 1.028 8.995 3.056 2.008 1.862 3.013 4.417 2.91 7.391-.122 3.518-1.57 6.136-4.304 7.781-1.892 1.138-4.103 1.62-6.57 1.433-.122.392-.266.769-.434 1.127-.514 1.096-1.18 1.96-1.982 2.569-.884.67-1.933 1.01-3.118 1.01-1.34 0-2.42-.42-3.21-1.248-.78-.82-1.17-1.89-1.17-3.18 0-1.512.52-2.73 1.545-3.62 1.018-.883 2.45-1.33 4.258-1.33.56 0 1.11.04 1.63.12-.04-.53-.13-1.02-.27-1.46-.26-.81-.71-1.45-1.34-1.92-.62-.47-1.42-.71-2.38-.71-1.09 0-2.02.29-2.77.87-.29.22-.68.17-.9-.12l-.76-1.03c-.22-.3-.16-.71.13-.93C7.43 5.37 8.95 4.9 10.8 4.9c1.64 0 2.99.41 4.02 1.22 1.04.81 1.73 1.93 2.06 3.33.15.65.25 1.42.3 2.31 1.68-.31 3.05-1.05 4.08-2.2 1.01-1.13 1.52-2.58 1.52-4.31 0-2.43-.84-4.32-2.5-5.62C18.63 1.32 16.32.5 13.56.5c-3.03 0-5.54.73-7.27 2.21C4.48 4.27 3.5 6.78 3.5 10c0 3.1.66 5.62 1.96 7.49 1.34 1.93 3.38 2.92 6.07 2.95 1.76.02 3.32-.34 4.64-1.07.28-.15.63-.05.78.22l.55.98c.15.28.05.63-.22.78-1.63.9-3.55 1.35-5.7 1.35z"})}):t==="tiktok"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.308 5.012c.763-.012 1.522 0 2.281-.012a3.636 3.636 0 0 0 1.02 2.434 4.12 4.12 0 0 0 2.473 1.043v2.349a6.177 6.177 0 0 1-2.449-.564 7.207 7.207 0 0 1-.947-.543c0 1.705.008 3.406-.01 5.105a4.442 4.442 0 0 1-.789 2.3 4.343 4.343 0 0 1-3.448 1.872 4.254 4.254 0 0 1-2.379-.6 4.393 4.393 0 0 1-2.127-3.331c-.014-.292-.019-.584-.007-.868a4.395 4.395 0 0 1 5.091-3.9c.013.864-.021 1.727-.021 2.591a2.007 2.007 0 0 0-2.558 1.237 2.316 2.316 0 0 0-.079.939 1.992 1.992 0 0 0 3.658.736 1.39 1.39 0 0 0 .239-.62c.057-1.043.034-2.082.041-3.126.006-2.351-.007-4.7.011-7.041z",fill:"currentColor"})}):t==="bluesky"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.879.139 2.588-.02 3.868.002 5.03c.08 4.201 1.84 10.024 3.931 12.397 2.091 2.373 4.545 1.573 5.467.927.817-.573 1.564-1.611 2.6-2.92 1.036 1.309 1.783 2.347 2.6 2.92.922.646 3.376 1.446 5.467-.927 2.091-2.373 3.851-8.196 3.931-12.397.022-1.162-.137-2.442-.9-3.151-.659-.613-1.664-.935-4.3-1.074C16.046 4.747 13.087 8.686 12 10.8z"})}):t==="github"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})}):t==="rss"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M4 11a9 9 0 0 1 9 9"}),(0,E.jsx)("path",{d:"M4 4a16 16 0 0 1 16 16"}),(0,E.jsx)("circle",{cx:"5",cy:"19",r:"1"})]}):(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,E.jsx)("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),(0,E.jsx)("path",{d:"M2 12h20"})]})}function U0({authorCount:e=0,authorArticlesList:t,authorBioLength:n,customBio:a,customHeaderKicker:l,customHeaderTitle:i,effectiveAuthorHandle:r,effectiveAuthorName:o,isReviewWidget:u=!1,onBioChange:c,onHeaderKickerChange:s,onHeaderTitleChange:f,selectedProfile:d,showAuthorBio:m=!0,showAuthorIdentity:v=!0,showSocialButtons:A=!0,stabilizeBio:b=!1,totalDealCount:h=0,website:g}){let p=Vu(r,o),y=g||"tomsguide",C=Gu[y]||y,R=Nr[y],T=r?.toLowerCase(),M=o?.toLowerCase(),w=t.find(Be=>T&&Be.articleauthorhandle?.some(Je=>Je?.toLowerCase()===T)||M&&Be.articleauthor?.some(Je=>Je?.toLowerCase()===M))||null,D=w?sf(w,r,o):0,k=d?.image||(w?c0(w,D):""),se=d?n==="short"?d.bioShort||"":d.bioLong||d.bioShort||"":w?_r(w,D,n):"",I=p?`Our team is dedicated to researching, reviewing and recommending the latest and best products in all the categories that matter to you. Below you can shop the latest ${h} ${u?"review ":""}recommendations from ${e} ${C} ${u?"editor tests":"editors"}.`:se||`Handpicked deals and recommendations curated by ${o||"our expert editorial team"}.`,j=d?.role||"",He=p?y0[y]||[]:d?.socialNetworks||[];!p&&w&&(j||(j=u0(w,D)),He.length===0&&(He=Uu(w,D)));let ze=d?.fullName||o||"Author Name",St=p?`site:${y}`:`author:${d?.handle||r||ze}`,Ie=A&&He.length>0,rn=!p&&!!j||Ie;return(0,E.jsxs)("div",{className:"tg-df-author-card",style:{textAlign:"center",padding:"1.75rem 1rem 0.25rem 1rem",margin:"0 auto",maxWidth:"48rem"},children:[v&&(p?(0,E.jsx)("div",{className:"tg-df-author-media-slot tg-df-author-image-container",style:{margin:"0 auto 0.75rem auto",textAlign:"center",minHeight:"180px",display:"flex",alignItems:"center",justifyContent:"center"},children:R?(0,E.jsx)("img",{src:R,alt:C,className:"tg-df-site-logo",style:{maxHeight:"150px",maxWidth:"520px",objectFit:"contain",margin:"0 auto",display:"block"}}):(0,E.jsx)("div",{style:{fontSize:"1.75rem",fontWeight:700,color:"#111827"},children:C})}):(0,E.jsx)("div",{className:"tg-df-author-media-slot",children:(0,E.jsxs)("div",{className:"tg-df-author-profile-image-wrapper",children:[k?(0,E.jsx)("img",{src:ri(k),alt:ze,className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",objectFit:"cover",display:"block"}}):(0,E.jsx)("div",{className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",background:"#e2e8f0",display:"block"}}),R?(0,E.jsx)("img",{src:R,alt:"",className:"tg-df-author-profile-brand-logo"}):null]})})),v&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(H0,{contentKey:`${St}:kicker`,defaultText:u?"Reviews shop by":"Shop by",kind:"kicker",onChange:s,value:l}),(0,E.jsx)(H0,{contentKey:`${St}:title`,defaultText:p?C:ze,kind:"title",onChange:f,value:i}),rn&&(0,E.jsxs)("div",{className:`tg-df-author-meta-slot${p?" tg-df-author-meta-slot--site":""}${Ie?"":" tg-df-author-meta-slot--no-social"}`,children:[!p&&j?(0,E.jsx)("div",{className:"tg-df-author-role",id:"tg-df-author-role-display",style:{fontSize:"0.9375rem",fontWeight:500,color:"var(--tg-df-blue, #1F69FF)",margin:"0 0 0.5rem 0",lineHeight:1.3},children:j}):null,Ie?(0,E.jsx)("div",{className:"tg-df-author-social-links",children:He.map(Be=>(0,E.jsx)("a",{href:Be.href,target:"_blank",rel:"noopener noreferrer",title:Be.label,"aria-label":Be.label,className:"tg-df-author-social-btn","data-social-key":Be.key.toLowerCase(),children:r2(Be.key)},Be.key))}):null]})]}),m&&(0,E.jsx)(i2,{contentKey:St,initialBio:a,defaultPlaceholder:I,onBioChange:c,stabilizeHeight:b})]})}var te=B(O(),1);function df(e){if(!e||typeof e!="object")return"";if(e.type==="voucher_code"&&e.display_value)return e.display_value;let t=Array.isArray(e)?e:Object.keys(e).filter(n=>Object.prototype.hasOwnProperty.call(e,n)).map(n=>e[n]);for(let n of t){let a=df(n);if(a)return a}return""}function o2({endTime:e}){if(!e)return null;let t=e;!isNaN(Number(t))&&String(t).length===10&&(t=Number(t)*1e3);let n=new Date(t),a=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"});return(0,te.jsxs)("span",{className:"tg-df-voucher-expiry",children:[(0,te.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginRight:"4px"},children:[(0,te.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,te.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"Expires ",a.format(n)]})}function G0({error:e,loading:t,merchant:n,onClose:a,vouchers:l}){return(0,te.jsx)("div",{className:`tg-df-modal-backdrop ${n?"active":""}`,onClick:i=>{i.target===i.currentTarget&&a()},children:(0,te.jsxs)("div",{className:"tg-df-modal",children:[(0,te.jsxs)("div",{className:"tg-df-modal-header",children:[(0,te.jsx)("h3",{className:"tg-df-modal-title",children:n?`${n} Coupons & Deals`:"Available Coupons & Deals"}),(0,te.jsx)("button",{className:"tg-df-modal-close",onClick:a,children:(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,te.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,te.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),(0,te.jsx)("div",{className:"tg-df-modal-body",children:t?(0,te.jsx)("div",{className:"tg-df-message",children:(0,te.jsx)("div",{className:"tg-df-coupon-spinner",style:{width:"24px",height:"24px",borderColor:"#ccc",borderTopColor:"#3b82f6"}})}):e?(0,te.jsx)("div",{className:"tg-df-message",children:"Failed to load vouchers."}):l.length===0?(0,te.jsxs)("div",{className:"tg-df-message",children:["No active vouchers found for ",n,"."]}):l.map((i,r)=>{let o=i.offer?.name||i.offer?.title||i.name||i.title||i.model_name||"Voucher",u=i.offer?.link||i.offer?.url||i.link||i.url||"#",c=i.merchant,s=Array.isArray(c)?c[0]?.logo_url||"":c?.logo_url||"",f=df(i.offer)||df(i)||i.offer?.voucher_code||i.voucher_code||"",d=i.offer?.end_time||i.end_time||"";return(0,te.jsxs)("a",{href:u,target:"_blank",rel:"noopener nofollow",className:"tg-df-voucher-item",children:[s?(0,te.jsx)("img",{src:s,alt:"Logo",className:"tg-df-voucher-logo"}):(0,te.jsx)("div",{className:"tg-df-voucher-logo",style:{background:"#e2e8f0"}}),(0,te.jsxs)("div",{className:"tg-df-voucher-content",children:[(0,te.jsx)("h4",{className:"tg-df-voucher-title",children:o}),(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginTop:"8px"},children:[f&&(0,te.jsxs)("span",{className:"tg-df-voucher-code",title:"Copy to clipboard",onClick:m=>{m.preventDefault(),m.stopPropagation();let v=m.currentTarget;navigator.clipboard.writeText(f).then(()=>{v.classList.add("copied");let A=v.querySelector(".tg-df-voucher-code-text"),b=v.querySelector(".tg-df-voucher-copy-icon"),h=A.innerText,g=b.innerHTML;A.innerText="Copied!",b.innerHTML='<polyline points="20 6 9 17 4 12"><\/polyline>',setTimeout(()=>{v.classList.remove("copied"),A&&(A.innerText=h),b&&(b.innerHTML=g)},2e3)})},children:[(0,te.jsx)("span",{className:"tg-df-voucher-code-text",children:f}),(0,te.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:"6px",flexShrink:0},className:"tg-df-voucher-copy-icon",children:[(0,te.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,te.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})]}),d&&(0,te.jsx)(o2,{endTime:d})]})]})]},r)})})]})})}var N=B(ft(),1);function ci(e){if(!e||!e.articlepage)return[];try{let t=e.articlepage;if(!Array.isArray(t))return typeof t=="string"?JSON.parse(t):t;if(t.length===0)return[];let n=t[0];return typeof n=="string"?JSON.parse(n):Array.isArray(n)?n:n&&typeof n=="object"&&"type"in n?t:n}catch{return[]}}function si(e,t=!1,{includeCollections:n=!0,includeDeals:a=!0}={}){let l=t?e.filter(r=>r.type==="buying-guide"):[];if(l.length>0)return l;let i=e.filter(r=>r.type==="deal"||r.type==="featured-product");return a&&!n&&!t?i.filter(r=>r.type==="deal"):i}function di(e,t){if(!t||t.length===0)return!0;let n=e&&(e.brand||e.retailer)||"";if(!n)return!1;let a=n.replace(/^\d+\.\s*/,"").trim().toLowerCase();return t.some(l=>{let i=l.trim().toLowerCase();return a===i||a.startsWith(`${i} `)||a.includes(i)||i.includes(a)})}function wt(e){return!e||e==="auto"?"US":e}function an(e){return e==="GB"||e==="UK"?"GBP":e==="AU"?"AUD":e==="CA"?"CAD":["DE","FR","IT","ES","NL"].includes(e)?"EUR":"USD"}function P0(e,t){if(e.isBuyingGuideProduct||e.isReviewProduct)return!0;if(t==="unavailable")return!1;let n=String(e.isoCurrency||e.currency||"").trim().toUpperCase();return({$:"USD",A$:"AUD",CA$:"CAD","\xA3":"GBP","\u20AC":"EUR"}[n]||n)===an(t)}function fi(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=a?n.currency||(n.price&&typeof n.price=="object"?n.price.currency:""):l.currency||(typeof l=="string"?l:"")||n.currency||"";!i&&n.variants&&n.variants.length>0&&(i=n.variants[0].currency||"");let r="$",o="USD",u=(i||"").toString().toUpperCase().trim();return u==="GBP"||u==="\xA3"||u.includes("POUND")||u.includes("163")?(r="\xA3",o="GBP"):u==="EUR"||u==="\u20AC"||u.includes("EURO")||u.includes("8364")?(r="\u20AC",o="EUR"):u==="AUD"||u==="A$"?(r="A$",o="AUD"):u==="CAD"||u==="CA$"?(r="CA$",o="CAD"):u==="USD"||u==="$"||u.includes("DOLLAR")||u.includes("36")?(r="$",o="USD"):(o=an(t),o==="GBP"?r="\xA3":o==="AUD"?r="A$":o==="CAD"?r="CA$":o==="EUR"&&(r="\u20AC")),{isoCurr:o,currencyStr:r}}function Ku(e){let t=e.data||{},n=e.type==="featured-product",a=t.price||{},l=0,i=0;return n?(l=typeof a=="number"?a:a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):t.msrp?parseFloat(t.msrp):0):(l=a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):0),{rawPrice:l,rawMsrp:i}}function Sa(e,t){if(!t||t==="all"||e<=0)return!0;if(t==="under50"&&e>=50||t==="over50"&&e<=50||t==="over30"&&e<=30||t==="over500"&&e<=500)return!1;if(t.includes("_")){let[n,a]=t.split("_").map(Number);if(n&&e<n||a&&e>a)return!1}return!0}function Ca(e,t,n){if(!n||n==="0"||n==="all")return!0;let a=parseInt(n);return!(!isNaN(a)&&a>0&&(!t||t<=e||Math.round((1-e/t)*100)<a))}var Zu=[0,50,100,150,200,250,300,350,400,450],ff={parameter:"articleControlTag",value:"type_buying_guide"},u2={includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"}]},c2={pcgamer:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["deals","type_deal","channel_gaming_hardware"]}],buyingGuideScopes:[ff]},homesandgardens:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"sig-product-collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"van-hawk-collection-widget",inventoryKind:"collections"},{parameter:"articleControlTag",value:"shopping",requiredArticleType:"news",inventoryKind:"collections"},{parameter:"articleType",value:"deals",inventoryKind:"deals"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["shopping","type_deal"],inventoryKind:"deals"}],buyingGuideScopes:[{parameter:"articleType",value:"buying guide"},ff]},whowhatwear:{includeAllContent:!0,pageStarts:Zu,scopes:[{}]}};function Wu(e,{includeBuyingGuideProducts:t=!1,includeCollections:n=!0,includeDeals:a=!0}={}){let l=c2[e]||u2;if(l.includeAllContent)return l;let i=l.scopes.filter(r=>r.inventoryKind==="collections"?n:r.inventoryKind==="deals"?a:r.value==="sig-product-collection"?n:a);return t?{...l,scopes:[...i,...l.buyingGuideScopes||[ff]]}:{...l,scopes:i}}function gf(e){if(Array.isArray(e))return e;let t=e.data;return t&&Array.isArray(t)?t:[]}function q0(e){let t=new Set;return e.filter(n=>{let a=n.id||n.articleid||n.url;return!a||t.has(a)?!1:(t.add(a),!0)})}function Zt(e){return typeof e.articletype=="string"?e.articletype.toLowerCase():Array.isArray(e.articletype)&&e.articletype.length>0?e.articletype[0].toLowerCase():""}function Hr(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]/g,"")}function mf(e){return[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]].map(Hr)}function s2(e){return Zt(e)==="review"&&mf(e).some(t=>t.includes("channelgaminghardware"))}function F0(e,t,n){let a=Zt(e),l=mf(e),i=c=>l.some(s=>s.includes(c)),r=a==="news"&&i("shopping")&&i("deal")&&i("typedeal"),o=a==="deals"||r,u=a==="collection"||i("sigproductcollection")||i("vanhawkcollectionwidget")||a==="news"&&i("shopping")&&!r||a==="idea"&&i("shopping")&&(i("sigproductcollection")||i("vanhawkcollectionwidget"));return t&&o||n&&u}function el(e,t=!0,n=!0,a){if(a==="homesandgardens")return F0(e,t,n);let l=Zt(e),i=mf(e),r=l==="deals"||i.some(u=>u.includes("typedeal")),o=i.some(u=>u.includes("sigproductcollection"));return t&&r||n&&o}function j0(e,t,n=!1,a=!1,l=!0,i=!0){if(a&&Zt(e)==="review")return t!=="pcgamer"||s2(e);if(t==="homesandgardens")return Zt(e)==="buying guide"?n:F0(e,i,l);let r=Wu(t,{includeBuyingGuideProducts:n,includeCollections:l,includeDeals:i});if(r.includeAllContent)return i&&l?!0:n||el(e,i,l);let o=Zt(e),u=[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]],c=f=>!f.requiredArticleType||o===f.requiredArticleType.toLowerCase(),s=f=>!f.requiredControlTags||f.requiredControlTags.every(d=>u.some(m=>typeof m=="string"&&Hr(m).includes(Hr(d))));return r.scopes.some(f=>!c(f)||!s(f)?!1:f.parameter==="articleType"?o===f.value.toLowerCase():f.parameter==="articleControlTag"?u.some(d=>typeof d=="string"&&Hr(d).includes(Hr(f.value))):!1)}function hf(e,t){let n=e.map(a=>({...a}));return t.filter(a=>(a.isBuyingGuideProduct||a.isReviewProduct)&&a.brand).forEach(a=>{let l=String(a.brand).trim();if(!l)return;let i=n.find(r=>r.formatted_value.toLowerCase()===l.toLowerCase());i?i.count++:n.push({formatted_value:l,count:1})}),n.sort((a,l)=>l.count-a.count)}function Iu(e,t){let n={};return e.forEach(a=>{if(!a.articlepage)return;let l=ci(a),i=si(l,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});(t.includeDeals===!1||t.includeCollections===!1)&&!i.some(r=>r.type==="buying-guide")&&!el(a,t.includeDeals,t.includeCollections,t.website)||i.forEach(r=>{if(fi(r,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:o,rawMsrp:u}=Ku(r);if(!Sa(o,t.priceRange)||!Ca(o,u,t.discountAmount))return;let c=r.data||{},s=c.brand||c.retailer;if(!s)return;let f=s.replace(/^\d+\.\s*/,"").trim(),d=f.toLowerCase(),m=Object.keys(n).find(v=>v.toLowerCase()===d);m?n[m]++:(f===f.toLowerCase()&&(f=f.replace(/\b\w/g,v=>v.toUpperCase())),n[f]=1)})}),Object.keys(n).map(a=>({formatted_value:a,count:n[a]})).sort((a,l)=>l.count-a.count)}function d2(e){return String(e||"").trim().toLowerCase()}function Ju(e){return(Array.isArray(e)?e:[e]).map(d2).filter(Boolean)}function pf(e){let t=Ju(e.articletype),n=[...Ju(e.articlecontroltag),...Ju(e.articletagtypetaghandle)];return t.includes("deals")||n.some(a=>a.replace(/[\s-]+/g,"_")==="type_deal")}function V0(e){let t=Array.isArray(e)?e[0]:e,n=new Date(String(t||"")).getTime();return Number.isFinite(n)?n:null}function f2(e){for(let t of[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]){let n=V0(t);if(n!==null)return n}return null}function g2(e){for(let t of[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]){let n=V0(t);if(n!==null)return n}return null}function Y0(e){return Ju(e.articletype).includes("review")}function yf(e,t=new Date,n=0){let a=pf(e)?1:Y0(e)?36:n;if(a<=0)return!0;let l=Y0(e)?g2(e):f2(e);if(l===null)return!0;let i=new Date(t);return i.setMonth(i.getMonth()-a),l>=i.getTime()}function tl(e,t,n=0){return e.filter(a=>yf(a,t,n))}var m2=15;function Q0(e){return Array.isArray(e.articlemedia)?e.articlemedia[0]:""}function zr(e){return Array.isArray(e.documenturl)?e.documenturl[0]:e.documenturl||""}function h2(e){return kt(String(e||"").replace(/^\d+\.\s*/,"").trim())}function tt(e){return Array.isArray(e)?e.map(tt).find(Boolean)||"":typeof e=="string"||typeof e=="number"?String(e).trim():""}function vf(e,t=!1){return(t?[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]:[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]).map(tt).find(Boolean)||""}function p2(e,t,n){let a=tt(e).match(/^\s*(\d+)\s*[.)]\s*/)?.[1];return a||[t.rank,t.position,t.number,t.productNumber,t.product_number].map(tt).map(i=>i.match(/^\s*(\d+)\s*$/)?.[1]||"").find(Boolean)||String(n+1)}function y2(e){let t=tt(e);try{t=new URL(t).pathname}catch{}return t=t.split(/[?#]/)[0].split("/").filter(Boolean).at(-1)||"",t.split(/[-_]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function v2(e){return tt(e.documenthandle)||tt(e.document_handle)||zr(e)||tt(e.documentname)||tt(e.documentnametext)}function b2(e,t){if(!t)return"";let n=t.length>m2?"Ranked":t;return`#${e} ${n}`}function A2(e){if(typeof e=="object"&&e)return String(e["data-model-name"]||"");try{return String(JSON.parse(String(e||""))["data-model-name"]||"")}catch{return""}}function w2(e){let t=e.brand||e.productBrand||e.manufacturer||e.maker||"";return typeof t=="string"?kt(t.replace(/^\d+\.\s*/,"").trim()):""}function S2(e){let t=e.price&&typeof e.price=="object"?e.price:{},n=Number(t.salePrice||t.price||e.salePrice||e.current_price||(typeof e.price=="number"?e.price:0)),a=Number(t.wasPrice||t.msrp||e.was_price||e.msrp||0),l=e.url||e.link?.url||e.link?.href||"";return{currency:t.currency||e.currency||"",rawMsrp:Number.isFinite(a)?a:0,rawPrice:Number.isFinite(n)?n:0,url:l}}function bf(e){let t=e?.review||{},n=t.rating??t.starRating??t.score??e?.rating??e?.starRating??e?.score,a=Number(n);if(!Number.isFinite(a)||a<=0)return null;let l=a>5?a/20:a;return Math.min(l,5)}function K0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,imageUrl:i}){let r=t.data||{},o=r.review||{},u=h2(r.title),c=p2(r.title,r,a),s=y2(v2(e)),f=zr(e),d=S2(r),m=!!d.url,v=m?d.url:o.url||f,A=i||Q0(e);return{id:`airedale-buying-guide-${n}-${a}`,url:v,image:A,fallbackImage:A,title:u,brand:w2(r),productName:u,merchant:"",rawPrice:d.rawPrice,rawMsrp:d.rawMsrp,price:d.rawPrice>0?String(d.rawPrice):"",msrp:d.rawMsrp>0?String(d.rawMsrp):"",currency:d.currency,isoCurrency:"",isCheckPrice:d.rawPrice<=0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf(r),description:"",text:"",subtitle:kt(r.subtitle||""),pros:Array.isArray(r.pros)?r.pros:[],cons:Array.isArray(r.cons)?r.cons:[],...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:!1,isBuyingGuideProduct:!0,buyingGuideBadge:b2(c,s),hawkModelName:A2(r.hawk),hasCommerceOffer:m,sourceArticleUrl:f}}function C2(e){return gi(e)||tt(e.documentnametext)||tt(e.documentname)}function $u(e){if(Array.isArray(e))return e.map($u).find(Boolean)||"";if(e&&typeof e=="object"){let n=e,a=tt(n["data-widget-type"]||n.dataWidgetType||n.widgetType).toLowerCase(),l=tt(n["data-model-name"]||n.dataModelName||n.modelName);return a==="review"&&l?l:Object.values(n).map($u).find(Boolean)||""}if(typeof e!="string")return"";let t=[e,e.replace(/\\"/g,'"').replace(/\\u0022/gi,'"')];for(let n of t){try{let l=$u(JSON.parse(n));if(l)return l}catch{}let a=n.match(/["']data-widget-type["']\s*:\s*["']review["'][\s\S]{0,1500}?["']data-model-name["']\s*:\s*["']([^"']+)["']/i);if(a?.[1])return a[1].trim()}return""}function gi(e){let t=tt(e.articlehawkmodels);if(t)return t;for(let n of[e.articlepage,e.articlebodypageblock,e.articlepageblock,e.fepjson,e.articlebodyclean]){let a=$u(n);if(a)return a}return""}function X0(e){return(Array.isArray(e)?e:[e]).map(t=>kt(tt(t))).filter(Boolean)}function Z0({article:e,articleIdentity:t,authorProfile:n}){let a=kt(gi(e)),l=kt(C2(e)),i=zr(e),r=Q0(e),o=kt(tt(e.productverdict));return{id:`airedale-review-${t}`,url:i,image:r,fallbackImage:r,title:l,brand:"",productName:l,merchant:"",rawPrice:0,rawMsrp:0,price:"",msrp:"",currency:"",isoCurrency:"",isCheckPrice:!0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf({rating:e.productrating}),description:o,text:o,...n,documentUrl:i,modifiedDate:vf(e,!0),isFeatured:!1,isReviewProduct:!0,hawkModelName:a||l,hasCommerceOffer:!1,sourceArticleUrl:i,pros:X0(e.productpros),cons:X0(e.productcons)}}function kt(e){return typeof e=="string"?ee(e):e}function W0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,currencyString:i,isoCurrency:r,presentation:o,pricing:u}){let c=t.data||{},{isFeatured:s,externalUrl:f,summaryTitle:d,description:m,imageUrl:v,merchantName:A}=o,{rawPrice:b,rawMsrp:h,savingLabel:g}=u;return{id:`airedale-${n}-${a}`,url:f,image:v,fallbackImage:v,title:kt(d),brand:kt(c.brand||""),productName:kt(c.productName||""),merchant:kt(A),rawPrice:b,rawMsrp:h,price:b>0?b.toString():"",msrp:h>0?h.toString():"",currency:i,isoCurrency:r,isCheckPrice:!b,savingLabel:g,savingType:h>b?"amount":"none",isPrime:!1,starRating:bf(c),description:kt(m),text:kt(c.text||""),...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:s,hasCommerceOffer:!!f}}function I0(e,t){let n=t.data||{},a=t.type==="featured-product",l=n.link||{},i=n.image||{};n.brand&&(n.brand=n.brand.replace(/^\d+\.\s*/,"").trim());let r=a?n.url:l.href||null,o=a?n.name||n.brand:n.productName||l.label||(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),u=a?n.strapline||"":n.text||"";if(!a&&!n.productName&&n.text){let f=n.text.split(/<br\s*\/?>/i);if(f.length>1)o=f[0].replace(/<[^>]+>/g,"").trim(),u=f.slice(1).join(" ").replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();else{let d=n.text.match(/<strong>(.*?)<\/strong>/);d&&(o=d[1].replace(/<[^>]+>/g,"").trim(),o.endsWith(":")&&(o=o.slice(0,-1)))}}let c=a?i.mos:i.src||null;c?.startsWith("//")&&(c=`https:${c}`),u=u.replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").replace(/View Deal$/i,"").trim();let s=n.retailer||"";if(!s&&r)try{s=new URL(r).hostname.replace("www.","").split(".")[0],s=s.charAt(0).toUpperCase()+s.slice(1)}catch{}return s||(s="Retailer"),{isFeatured:a,externalUrl:r,summaryTitle:o,description:u,imageUrl:c,merchantName:s}}function J0(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=0,r=0;a?(i=typeof n.salePrice=="number"&&n.salePrice>0?n.salePrice:typeof n.price=="number"?n.price:0,r=typeof n.salePrice=="number"&&typeof n.price=="number"&&n.price>n.salePrice?n.price:0):(i=l.amount?parseFloat(l.amount):0,r=l.amountWas?parseFloat(l.amountWas):0);let o=0,u="";return i>0&&r>i&&(o=parseFloat((r-i).toFixed(2)),u=`Save ${t}${o}`),{rawPrice:i,rawMsrp:r,savingLabel:u}}function R2(e,t){let n=e.indexOf(t);if(n<1)return"";let a=e[n-1]?.data||{},i=a.slides?.[0]?.image||a.image||a;return i?.src||i?.mos||""}function Ur(e,{activeRegionCode:t,targetIso:n,selectedBrands:a,priceRange:l,discountAmount:i,authorHandle:r,authorName:o,createFallbackIdentity:u=Math.random,includeBuyingGuideProducts:c=!1,includeCollections:s=!0,includeDeals:f=!0,includeReviewProducts:d=!1,website:m}){let v=[],A=new Set;return e.forEach(b=>{if(d&&Zt(b)==="review"){v.push(Z0({article:b,articleIdentity:b.id||u(),authorProfile:Qu(b,r,o)}));return}if(!b.articlepage)return;let h=ci(b),g=si(h,c,{includeCollections:s,includeDeals:f});(f===!1||s===!1)&&!g.some(p=>p.type==="buying-guide")&&!el(b,f,s,m)||g.forEach((p,y)=>{if(p.type==="buying-guide"){v.push(K0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),imageUrl:R2(h,p)}));return}let{isoCurr:C,currencyStr:R}=fi(p,t);if(C!==n)return;let T=p.data||{},M=I0(b,p),{externalUrl:w}=M,D=J0(p,R),{rawPrice:k,rawMsrp:se}=D;if(!(a&&a.length>0&&!di(T,a))&&Sa(k,l)&&Ca(k,se,i)){if(w){if(A.has(w))return;A.add(w)}v.push(W0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),currencyString:R,isoCurrency:C,presentation:M,pricing:D}))}})}),v}function mi(e,t){return Ur(e,{...t,selectedBrands:[],priceRange:"all",discountAmount:"0"})}function $0(e,t){return Ur(e,t)}function Gr(e){return(Array.isArray(e)?e:[e]).filter(n=>typeof n=="string").map(n=>n.trim())}function ec(e){return e?.trim().toLowerCase()==="freeform"}function Af(e){return!!e&&!/[^\p{L}\p{N}\s]/u.test(e)}function wf(e){let t=Gr(e.articletag),n=Gr(e.articletaghandle),a=Gr(e.articletagtype),l=new Map;t.forEach((o,u)=>{let c=n[u];!ec(a[u])||!c||!Af(o)||l.set(c.toLowerCase(),{handle:c,label:o,requestValue:o})});let i=Gr(e.articletagtypetag),r=Gr(e.articletagtypetaghandle);return i.forEach((o,u)=>{let[c,...s]=o.split("|"),[f,...d]=(r[u]||"").split("|"),m=s.join("|").trim(),v=d.join("|").trim();!ec(c)||!ec(f)||!v||!Af(m)||l.has(v.toLowerCase())||l.set(v.toLowerCase(),{handle:v,label:m,requestValue:m})}),r.forEach(o=>{let[u,...c]=o.split("|"),s=c.join("|").trim();!ec(u)||!s||!Af(s)||l.has(s.toLowerCase())||l.set(s.toLowerCase(),{handle:s,label:s})}),[...l.values()]}function ev(e,t){if(t)return e.find(n=>n.handle.toLowerCase()===t.toLowerCase())?.requestValue}function hi(e,t){let n=(Array.isArray(t)?t:[t]).filter(a=>typeof a=="string").map(a=>a.trim().toLowerCase()).filter(Boolean);return n.length===0?e:e.filter(a=>wf(a).some(l=>n.includes(l.handle.toLowerCase())))}function T2(e){let t=new Map;return Array.isArray(e.articlecategory)?(e.articlecategory.forEach(n=>{if(typeof n!="string")return;let a=n.trim();a===a.toLowerCase()&&(a=a.replace(/\b\w/g,l=>l.toUpperCase())),a&&!t.has(a.toLowerCase())&&t.set(a.toLowerCase(),{handle:a,label:a})}),[...t.values()]):[]}function tv(e,t,n){let a={},l={},i={};e.forEach(u=>{let c=[];if(t.includeReviewProducts&&Zt(u)==="review"&&c.push(u.id||u.documenturl||u.documenthandle||""),u.articlepage)try{let s=ci(u),f=si(s,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});if((t.includeDeals===!1||t.includeCollections===!1)&&!f.some(d=>d.type==="buying-guide")&&!el(u,t.includeDeals,t.includeCollections,t.website))return;f.forEach(d=>{if(d.type==="buying-guide"){c.push(d.id||JSON.stringify(d.data||{}));return}if(fi(d,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:m,rawMsrp:v}=Ku(d);if(!Sa(m,t.priceRange)||!Ca(m,v,t.discountAmount))return;let A=d.data||{};if(t.selectedBrands&&t.selectedBrands.length>0&&!di(A,t.selectedBrands))return;let h=d.type==="featured-product"?A.primaryLink:A.link,g=A.url||A.link&&A.link.url||h&&h.url;c.push(g||JSON.stringify(A))})}catch{}c.length!==0&&n(u).forEach(s=>{let f=s.handle.toLowerCase(),d=Object.keys(a).find(m=>m.toLowerCase()===f);d||(d=s.handle,a[d]=new Set,l[d]=s.label,i[d]=s.requestValue),c.forEach(m=>a[d].add(m))})});let r={};return Object.keys(a).forEach(u=>{r[u]=a[u].size}),{tags:Object.keys(r).map(u=>({handle:u,label:l[u]||u,requestValue:i[u]})).sort((u,c)=>r[c.handle]-r[u.handle]),tagCounts:r}}function tc(e,t){let{tags:n,tagCounts:a}=tv(e,t,T2);return{tags:n.map(l=>l.label),tagCounts:a}}function nc(e,t){let{tags:n,tagCounts:a}=tv(e,t,wf);return{tags:n,tagCounts:a}}function E2(e,t){return e.documentUrl||e.sourceArticleUrl||e.articleId||`deal-${t}`}function yn(e,t,n){if(t!=="mix"||n!=="date_desc")return e;let a=new Map;e.forEach((o,u)=>{let c=E2(o,u),s=a.get(c)||[];s.push(o),a.set(c,s)});let l=[],i=0,r=!0;for(;r;)r=!1,a.forEach(o=>{let u=o[i];u&&(l.push(u),r=!0)}),i+=1;return l}var nv="compact-v1",D2={brand:"",currency:"",hasCommerceOffer:!1,isoCurrency:"",isCheckPrice:!0,isFeatured:!1,isPrime:!1,merchant:"",merchantId:"",msrp:"",price:"",rawMsrp:0,rawPrice:0,savingLabel:"",savingType:"none"},x2={hasCommerceOffer:!0,hawkPricePending:!1,rawMsrp:0,rawPrice:0};function av(e){return e.map(t=>{if(!t.isReviewProduct)return t;let n=String(t.sourceArticleUrl||t.documentUrl||t.url||""),a=t.fallbackImage??t.image??"",l={...D2,...t,fallbackImage:a,image:t.image??a,sourceArticleUrl:n,documentUrl:t.documentUrl??n,url:t.url??n,title:t.title??t.productName??"",text:t.text??t.description??"",hawkPricePending:t.hawkPricePending??!!t.hawkModelName,pros:t.pros??[],cons:t.cons??[]};return t.hawkRegionalCommerce&&(l.hawkRegionalCommerce=Object.fromEntries(Object.entries(t.hawkRegionalCommerce).map(([i,r])=>{let o=r,u=o.productName??l.productName,c=o.rawPrice??0,s=o.rawMsrp??0;return[i,{...x2,...o,fallbackImage:o.fallbackImage??a,image:o.image??a,productName:u,title:o.title??u??l.title,price:o.price??(c?String(c):""),msrp:o.msrp??(s?String(s):"")}]}))),l})}function ac(e,t,n=100){let a=new Set(e.slice(0,t).map((i,r)=>i.id||`visible-${r}`)),l=e.slice(0,t).filter(i=>i.isReviewProduct).length;return e.filter((i,r)=>{let o=i.id||`visible-${r}`;return a.has(o)?!0:i.isReviewProduct?(l+=1,l<=n):!1})}function lv(e,t){let n=new Map(t.map((a,l)=>[a.id||`enriched-${l}`,a]));return e.map((a,l)=>n.get(a.id||`enriched-${l}`)||a)}var M2=new Set(["deal","featured-product","gallery","buying-guide","text","section"]);function lc(e){return!!e&&typeof e=="object"}function iv(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function rv(e){try{let t=iv(e);if(!Array.isArray(t)||!t[0])return;let n=t[0],a=typeof n=="string"?iv(n):Array.isArray(n)?n:lc(n)&&"type"in n?t:n;if(!Array.isArray(a))return;let l=a.filter(i=>lc(i)&&M2.has(i.type)).map(i=>i.type==="text"&&i.data?{type:"text",data:{paragraphs:Array.isArray(i.data.paragraphs)?i.data.paragraphs.slice(0,3):void 0,text:typeof i.data.text=="string"?i.data.text.slice(0,500):void 0}}:i.type==="section"&&i.data?{type:"section",data:{text:i.data.text,heading:i.data.heading,title:i.data.title}}:i);return l.length>0?[JSON.stringify(l)]:void 0}catch{return}}function ov(e){if(!Array.isArray(e))return[];let t=!1;return e.map(n=>{if(!lc(n))return n;let a=n.articlepage?rv(n.articlepage):void 0,l=!!(n.articleauthormedia||n.articleauthorrole),i=!!(!t&&(n.articleauthorbio||n.articleauthorlongbio||n.articleauthorsocialnetworks));return i&&(t=!0),{id:n.id,articlename:n.articlename,documentname:n.documentname,documentnametext:n.documentnametext,documenthandle:n.documenthandle,articlecategory:n.articlecategory,articletag:n.articletag,articletaghandle:n.articletaghandle,articletagtype:n.articletagtype,articletagtypetag:n.articletagtypetag,articletagtypetaghandle:n.articletagtypetaghandle,articlecontroltag:n.articlecontroltag,articletype:n.articletype,articleauthor:n.articleauthor,articleauthorhandle:n.articleauthorhandle,articleauthortext:n.articleauthortext,...l?{articleauthorrole:n.articleauthorrole,articleauthormedia:n.articleauthormedia}:{},articlestrapline:n.articlestrapline,articlesocialtitle:n.articlesocialtitle,documenturl:n.documenturl,articlemedia:n.articlemedia,articlehawkmodels:n.articlehawkmodels,productrating:n.productrating,productpros:n.productpros,productcons:n.productcons,productverdict:n.productverdict,contentmodifieddate:n.contentmodifieddate,modifieddate:n.modifieddate,createddate:n.createddate,datepublished:n.datepublished,publisheddate:n.publisheddate,...i?{articleauthorbio:n.articleauthorbio,articleauthorlongbio:n.articleauthorlongbio,articleauthorsocialnetworks:n.articleauthorsocialnetworks}:{},...a?{articlepage:a}:{}}})}function uv(e){return Array.isArray(e)?e.map(t=>{if(!lc(t))return t;let n=t.articlepage?rv(t.articlepage):void 0;return{id:t.id,articleid:t.articleid,articlename:t.articlename,documentname:t.documentname,documentnametext:t.documentnametext,documenthandle:t.documenthandle,articleauthor:t.articleauthor,articleauthorhandle:t.articleauthorhandle,articleauthortext:t.articleauthortext,articleauthorrole:t.articleauthorrole,articleauthormedia:t.articleauthormedia,articleauthorbio:t.articleauthorbio,articleauthorlongbio:t.articleauthorlongbio,articleauthorsocialnetworks:t.articleauthorsocialnetworks,articlecategory:t.articlecategory,articletag:t.articletag,articletaghandle:t.articletaghandle,articletagtype:t.articletagtype,articletagtypetag:t.articletagtypetag,articletagtypetaghandle:t.articletagtypetaghandle,articletype:t.articletype,articlestrapline:t.articlestrapline,articlesocialtitle:t.articlesocialtitle,documenturl:t.documenturl,articlemedia:t.articlemedia,articlehawkmodels:t.articlehawkmodels,productrating:t.productrating,productpros:t.productpros,productcons:t.productcons,productverdict:t.productverdict,url:t.url,contentmodifieddate:t.contentmodifieddate,modifieddate:t.modifieddate,createddate:t.createddate,datepublished:t.datepublished,publisheddate:t.publisheddate,content:t.content,dek:t.dek,image_thumbnail:t.image_thumbnail,intro:t.intro,paragraphs:t.paragraphs,strapline:t.strapline,subtitle:t.subtitle,title:t.title,...n?{articlepage:n}:{}}}):[]}function pi(e){if(!e?.modifiedDate)return 0;let t=Array.isArray(e.modifiedDate)?e.modifiedDate[0]:e.modifiedDate,n=new Date(t).getTime();return Number.isNaN(n)?0:n}function nl(e){return e?.hasCommerceOffer===!0?!0:e?.hasCommerceOffer===!1?!1:!!(!e?.isBuyingGuideProduct&&!e?.isReviewProduct&&e?.url)}function ln(e,t,n=!0){let a=!0;t==="date_desc"?e.sort((l,i)=>pi(i)-pi(l)):t==="price_asc"?e.sort((l,i)=>l.rawPrice-i.rawPrice):t==="price_desc"?e.sort((l,i)=>i.rawPrice-l.rawPrice):t==="discount_desc"?e.sort((l,i)=>{let r=l.rawMsrp>l.rawPrice?l.rawMsrp-l.rawPrice:0;return(i.rawMsrp>i.rawPrice?i.rawMsrp-i.rawPrice:0)-r}):t==="rating_desc"?e.sort((l,i)=>{let r=Number(l.starRating)||0;return(Number(i.starRating)||0)-r||pi(i)-pi(l)}):t==="scored_first"?e.sort((l,i)=>{let r=Number(l.starRating)>0?1:0;return(Number(i.starRating)>0?1:0)-r||pi(i)-pi(l)}):a=!1,a&&n&&e.sort((l,i)=>Number(nl(i))-Number(nl(l)))}function cv(e,t,n){let a=e;if(!a&&t){let l=n.find(i=>i.toLowerCase()===t?.toLowerCase());l&&(a=l)}return a}function Pr(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(a=>a.articlecategory&&Array.isArray(a.articlecategory)&&a.articlecategory.some(l=>{if(!l||typeof l!="string")return!1;let i=l.toLowerCase(),r=i.split(":::");return i===n||r[0]===n||i.includes(n)}))}function sv(e){let t=wt(e.region);return{activeRegionCode:t,targetIso:an(t)}}function al(e,t,{discountAmount:n,priceRange:a}={}){let l=!!(a&&a!=="all"),i=!!(n&&n!=="0"&&n!=="all");return!t?.length&&!l&&!i?e:e.filter(r=>!r.isBuyingGuideProduct&&!r.isReviewProduct?!0:t?.length&&!di({brand:r.brand},t)||l&&(!Number(r.rawPrice)||!Sa(Number(r.rawPrice),a))?!1:Ca(Number(r.rawPrice)||0,Number(r.rawMsrp)||0,n))}function _2(e,t){let n=e.articleauthorhandle||[],a=e.articleauthor||[],l=e.articleauthortext||[],i=new Set([t.handle.toLowerCase(),t.fullName.toLowerCase(),t.name.toLowerCase()]);return[...n,...a,...l].some(r=>i.has(String(r||"").toLowerCase()))}function Sf(e,t,n){let a=Object.fromEntries(e.map(l=>[l.handle,0]));return t.forEach(l=>{let i=mi([l],n).length;i!==0&&e.forEach(r=>{_2(l,r)&&(a[r.handle]+=i)})}),a}function Cf(e,t){let n=Xu(e,t.authorHandle,t.authorName),a=t.selectedArticleId?n.filter(A=>A.id===t.selectedArticleId):n,{activeRegionCode:l,targetIso:i}=sv(t),{tags:r,tagCounts:o}=tc(a,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),u=cv(t.activeDealTag,t.query,r),c=Pr(a,u),{tags:s,tagCounts:f}=nc(c,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),d=t.activeFreeformTags?.length?t.activeFreeformTags:t.activeFreeformTag?[t.activeFreeformTag]:[],m=d.flatMap(A=>{let b=s.find(h=>h.handle.toLowerCase()===A.toLowerCase());return b?[b.handle]:[]}),v=t.preserveFreeformTagSelection?d:m;return{activeDealTag:u,activeFreeformTag:v[0]||null,activeFreeformTags:v,activeRegionCode:l,authorArticles:n,freeformTagCounts:f,freeformTags:s,tagCounts:o,tags:r,targetArticles:hi(c,v),targetIso:i}}function ic(e,t,n,a){let l=Iu(e,{activeRegionCode:n,targetIso:a,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),i=Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(i,t.sort,t.prioritiseCommercialProducts);let r=yn(al(i,t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange}),t.productSelection,t.sort).map(o=>(o.isBuyingGuideProduct||o.isReviewProduct)&&o.hawkModelName?{...o,hawkPricePending:!0}:o);return{brands:l,displayedDeals:r,extractedDeals:i}}function dv(e,t){let{activeRegionCode:n,targetIso:a}=sv(t),l=Lr(e,t.website||"tomsguide"),i=e.filter(o=>mi([o],{activeRegionCode:n,targetIso:a,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}).length>0),r=al(Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange});return{authorCount:kr(l,i).length,deals:r}}function fv({allArticles:e,authorArticles:t,inventoryArticles:n,bakeReviewInventory:a,brands:l,couponMap:i,currentDealTag:r,currentFreeformTags:o,displayedDeals:u,options:c,resultCount:s,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}){let h=Lr(e,c.website||"tomsguide"),g=Sf(h,n,{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),selectedBrands:c.selectedBrands,priceRange:c.priceRange,discountAmount:c.discountAmount,includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}),p=kr(h,e.filter(C=>mi([C],{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}).length>0)),y=Number(s)||12;return{activeDealTag:r,activeFreeformTag:o[0]||null,activeFreeformTags:o,allDeals:a?ac(u,y):u,authorArticles:ov(t),authors:Yu(p,g),brands:l,couponMap:i,deals:u.slice(0,y),reviewInventoryBaked:a,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}}function B2(e){return e&&e.widget&&e.widget.data&&Array.isArray(e.widget.data.offers)?e.widget.data.offers:e&&e.data&&Array.isArray(e.data.offers)?e.data.offers:Array.isArray(e)?e:e&&Array.isArray(e.offers)?e.offers:e&&e.offers&&Array.isArray(e.offers.offer)?e.offers.offer:e&&Array.isArray(e.data)?e.data:[]}function gv(e,t,n){let a={...n},l=new Set;return B2(e).forEach(r=>{let o="";r.merchant_name?o=r.merchant_name:r.merchant&&r.merchant[0]&&r.merchant[0].name?o=r.merchant[0].name:r.merchant&&r.merchant.name?o=r.merchant.name:r.retailer&&(o=r.retailer),o&&l.add(o.toLowerCase())}),t.forEach(r=>{a[r]=l.has(r.toLowerCase())?"has":"none"}),a}function mv(e){let t=[];return e?.widget?.data?.offers?t=e.widget.data.offers:e?.data?.offers?t=e.data.offers:Array.isArray(e)?t=e:e?.offers?.offer?t=Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers&&(t=Array.isArray(e.offers)?e.offers:[e.offers]),t}async function hv({couponMap:e,couponUrl:t,fetcher:n=fetch,merchants:a}){if(!t)return e;try{let l=await n(t.toString());return gv(await l.json(),a,e)}catch{let l={...e};return a.forEach(i=>{l[i]="none"}),l}}function pv({enrichingBuyingGuides:e,error:t,loading:n,loadingMore:a,refreshingFeed:l}){return t?"error":a?"loading_more":n?"loading_inventory":l?"refreshing_inventory":e?"enriching_visible_cards":"ready"}function yv(e,t){let n=Xu(tl(e),t.authorHandle,t.authorName),a=wt(t.region),l=an(a),{tags:i,tagCounts:r}=tc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),o=Iu(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),{tags:u,tagCounts:c}=nc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),s=$0(n,{activeRegionCode:a,targetIso:l,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(s,t.sort,t.prioritiseCommercialProducts);let f=yn(s,t.productSelection,t.sort);return{authorArticles:n,brands:o,deals:f,tagCounts:r,tags:i,freeformTagCounts:c,freeformTags:u}}var N2="fc-author-commerce-widget",vn="airedale-feeds";var rc=null;function vv(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Rf(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function Tf(){return rc||(typeof window>"u"||typeof window.indexedDB>"u"?Promise.resolve(null):(rc=new Promise(e=>{let t=window.indexedDB.open(N2,14);t.onupgradeneeded=()=>{let n=t.result;n.objectStoreNames.contains(vn)||n.createObjectStore(vn,{keyPath:"key"})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),rc))}function bv({authorHandle:e,authorName:t,includeBuyingGuideProducts:n,includeCollections:a,includeDeals:l,includeReviewProducts:i,articleCategory:r,articleTag:o,pageStarts:u,reviewPageStarts:c,loadAllReviewPages:s,website:f}){return["v14",f||"tomsguide",e||"",t||"",n?"buying-guides":"",a===!1?"no-collections":"collections",l===!1?"no-deals":"deals",i?"reviews":"",r||"",o||"",u?.join(",")||"",c?.join(",")||"",s===!1?"review-pages-partial":""].map(d=>encodeURIComponent(d)).join("|")}async function O2(e){let t=await Tf();if(!t)return;let n=t.transaction(vn,"readwrite"),a=Rf(n);n.objectStore(vn).delete(e),await a}async function Av(e,t=Date.now()){try{let n=await Tf();if(!n)return null;let a=n.transaction(vn,"readonly"),l=await vv(a.objectStore(vn).get(e));if(!l||l.schemaVersion!==14||!Array.isArray(l.articles)||l.articles.length===0)return null;let i=Math.max(0,t-l.cachedAt);return i>864e5?(O2(e),null):{articles:l.articles,cachedAt:l.cachedAt,isFresh:i<=6e5}}catch{return null}}async function k2(e){let t=e.transaction(vn,"readwrite"),n=Rf(t),a=t.objectStore(vn);(await vv(a.getAll())).sort((i,r)=>r.cachedAt-i.cachedAt).slice(10).forEach(i=>a.delete(i.key)),await n}async function wv(e,t,n=Date.now()){if(t.length!==0)try{let a=await Tf();if(!a)return;let l=a.transaction(vn,"readwrite"),i=Rf(l);l.objectStore(vn).put({articles:t,cachedAt:n,key:e,schemaVersion:14}),await i,await k2(a)}catch{}}var Ef=[];var Mf=[],Df=0;function Sv(){for(;Df<4&&Mf.length>0;){let e=Mf.shift();if(!e)return;Df+=1,e.run().then(e.resolve,e.reject).finally(()=>{Df-=1,Sv()})}}function L2(e){return new Promise((t,n)=>{Mf.push({reject:n,resolve:t,run:e}),Sv()})}function xf(e){Ef.push(e),Ef.length>100&&Ef.shift()}async function oc(e,t,n=4){let a=new Array(e.length),l=0,i=Math.min(Math.max(1,n),e.length);return await Promise.all(Array.from({length:i},async()=>{for(;l<e.length;){let r=l;l+=1,a[r]=await t(e[r],r)}})),a}async function yi(e,t){return L2(async()=>{let n=t.fetcher||fetch,a=Date.now(),l=new AbortController,i=!1,r=()=>l.abort();if(t.signal?.aborted)return xf({durationMs:0,outcome:"aborted",source:t.source,startedAt:a}),{data:null,response:null};t.signal?.addEventListener("abort",r,{once:!0});let o=setTimeout(()=>{i=!0,l.abort()},8e3);try{let u=await n(e,{signal:l.signal}),c=u.ok?await u.json():null;return xf({durationMs:Date.now()-a,outcome:u.ok?"succeeded":"failed",source:t.source,startedAt:a}),{data:c,response:u}}catch{return xf({durationMs:Date.now()-a,outcome:i?"timed_out":t.signal?.aborted?"aborted":"failed",source:t.source,startedAt:a}),{data:null,response:null}}finally{clearTimeout(o),t.signal?.removeEventListener("abort",r)}})}var Bf="https://airedale.futurecdn.net/feeds/feed_1786707986217.json",H2="https://airedale.futurecdn.net/feeds/feed_1786702796175.json",z2="https://airedale.futurecdn.net/feeds/feed_1787582137748.json",U2=2,_f=new Map,Cv=new Map;function Rv(e){let t=new URL(e),n=String(t.searchParams.get("articleType")||"").trim().toLowerCase(),a=String(t.searchParams.get("articleControlTag")||"").replace(/[\s-]+/g,"_").toLowerCase();return n!=="deals"&&a!=="type_deal"?null:(t.searchParams.delete("start"),t.toString())}function G2(e){return!e.response?.ok||e.articles.length<50?!1:!e.articles.some(t=>pf(t)&&!yf(t))}function P2(e){return!e.parameter||!e.value?"":`&${e.parameter}=${encodeURIComponent(e.value)}`}function q2(e,t="",n=!1,a,l,{includeCollections:i=!0,includeDeals:r=!0}={},o){let u=Wu(e,{includeBuyingGuideProducts:n,includeCollections:i,includeDeals:r}),c=a?`&articleCategory=${encodeURIComponent(a)}`:"",s=o?`&articleTag=${encodeURIComponent(o)}`:"";return u.scopes.flatMap(f=>(l||u.pageStarts).map(d=>`${Bf}?site=${e}&limit=${50}&start=${d}${P2(f)}${t}${c}${s}`))}function Tv(e,t="",n,a=0,l){let i=e==="pcgamer"?"&articleControlTag=channel_gaming_hardware":"",r=n?`&articleCategory=${encodeURIComponent(n)}`:"",o=l?`&articleTag=${encodeURIComponent(l)}`:"";return`${H2}?site=${encodeURIComponent(e)}&articleType=review&limit=${50}&start=${a}${i}${t}${r}${o}`}function F2(e,t){return t!=="pcgamer"?e:e.map(n=>{let a=Array.isArray(n.articlecontroltag)?n.articlecontroltag:[];return a.some(l=>String(l).replace(/[^a-z0-9]/gi,"").toLowerCase()==="channelgaminghardware")?n:{...n,articlecontroltag:[...a,"channel_gaming_hardware"]}})}function j2(e,t){return`${z2}?site=${encodeURIComponent(e)}&documentHandle=${encodeURIComponent(t)}&limit=1`}async function Y2(e,t){let n=`${e}|${t}`,a=Cv.get(n);if(a)return a;let l=yi(j2(e,t),{source:"review-model-resolver"}).then(({data:i})=>i?gf(i)[0]:null).then(i=>i?gi(i):"").catch(()=>"");return Cv.set(n,l),l}async function Nf(e,t,n,a="date_desc"){let l=o=>{let u=[o.datepublished,o.publisheddate,o.createddate,o.contentmodifieddate,o.modifieddate].find(s=>s!=null&&String(s).trim()),c=new Date(Array.isArray(u)?u[0]:u).getTime();return Number.isFinite(c)?c:0},i=o=>{let u=Array.isArray(o.productrating)?o.productrating[0]:o.productrating;return Number(u)||0},r=e.filter(o=>Zt(o)==="review"&&!gi(o)&&typeof o.documenthandle=="string"&&o.documenthandle.trim()).sort((o,u)=>{let c=i(o),s=i(u);return a==="rating_desc"?s-c||l(u)-l(o):a==="scored_first"&&+(s>0)-+(c>0)||l(u)-l(o)}).slice(0,n);return await Promise.all(r.map(async o=>{let u=await Y2(t,o.documenthandle);u&&(o.articlehawkmodels=[u])})),e}function xv(e,t){let n=()=>{wv(e,uv(t))};if(typeof window<"u"&&typeof window.requestIdleCallback=="function"){window.requestIdleCallback(n,{timeout:2e3});return}setTimeout(n,0)}function V2(e,t){return e&&e!=="all-authors"?`&articleAuthorHandle=${encodeURIComponent(e)}`:t&&t!=="All authors"&&t!=="all-authors"?`&articleAuthor=${encodeURIComponent(t)}`:""}function X2({articleCategory:e,articleTag:t,authorParameter:n}){return!!(n&&!e&&!t)}async function Mv({authorHandle:e,authorName:t,fallbackAuthorName:n,includeBuyingGuideProducts:a,includeCollections:l,includeDeals:i,includeReviewProducts:r,onProgress:o,articleCategory:u,articleTag:c,pageStarts:s,reviewPageStarts:f,loadAllReviewPages:d,signal:m,throwOnFailure:v,website:A}){let b=A||"tomsguide",h=V2(e,t),g=[],p=!1,y=!0,C=w=>j0(w,b,a,r,l,i),R=()=>q0(g).map(w=>{let D=gi(w);return D&&!String(w.articlehawkmodels||"").trim()?{...w,articlehawkmodels:[D]}:w}).filter(C),T=()=>{let w=R();w.length>0&&o?.(w)};try{let w=q2(b,h,a,u,s,{includeCollections:l,includeDeals:i},c),D=[];r&&(f||[0]).forEach(X=>{let de=Tv(b,h,u,X,c);D.push(de),w.push(de)});let k=async(X,de=D.includes(X)?"review-feed":"author-feed")=>{let $e=await yi(X,{signal:m,source:de});for(let jr=0;jr<U2&&!$e.response?.ok&&!m?.aborted;jr+=1)$e=await yi(X,{signal:m,source:de});let{data:Z,response:x}=$e,P=Z?gf(Z):[],Q=b==="pcgamer"&&de.startsWith("review-feed")?F2(P,b):P,Vn={articles:Q,data:Z,isPcGamerHardwareReviewFeed:b==="pcgamer"&&de.startsWith("review-feed"),response:x,reviewTotalCount:D.includes(X)&&Number(x?.headers.get("x-total-count"))||null};return Q.length>0&&g.push(...Q),Vn},se=w.filter(X=>Number(new URL(X).searchParams.get("start")||0)===0),I=w.filter(X=>!se.includes(X)),j=await oc(se,X=>k(X));T();let He=new Map(se.flatMap((X,de)=>{let $e=Rv(X);return $e?[[$e,j[de]]]:[]})),ze=new Map,St=[];I.forEach(X=>{let de=Rv(X);if(!de){St.push(X);return}ze.set(de,[...ze.get(de)||[],X])});let[Ie,rn]=await Promise.all([oc(St,X=>k(X)),Promise.all([...ze.entries()].map(async([X,de])=>{let $e=[],Z=He.get(X);for(let x of de){if(!Z||!G2(Z))break;let P=await k(x);$e.push(P),Z=P}return $e}))]),Be=[...Ie,...rn.flat()],Je=[...j,...Be];p=Je.length>0&&Je.every(X=>!X.response?.ok);let nt=Je.find(X=>X.reviewTotalCount!==null)?.reviewTotalCount;if(d!==!1&&f&&nt&&nt>f.length*50){let X=new Set(f),de=[];for(let Z=0;Z<nt;Z+=50)X.has(Z)||de.push(Z);let $e=await oc(de,async Z=>await k(Tv(b,h,u,Z,c),"review-feed-page"));Je.push(...$e)}y=Je.every(X=>X.response?.ok)}catch(w){y=!1}if(v&&p)throw new Error("The author feed could not be loaded");let M=R();if(M.length===0&&X2({authorParameter:h,articleCategory:u,articleTag:c}))try{let w=await yi(`${Bf}?site=${b}&limit=150${h}`,{signal:m,source:"author-feed-fallback"});if(!w.response?.ok&&n&&(w=await yi(`${Bf}?site=${b}&limit=150&articleAuthor=${encodeURIComponent(n)}`,{signal:m,source:"author-feed-fallback"})),w.data){let D=w.data,k=Array.isArray(D)?D:D.data||[];k.length>0&&(M=k.slice(0,150))}}catch(w){}return{articles:M.filter(C),complete:!m?.aborted&&y}}function Ev(e,t){let n=_f.get(e);if(n)return n;let a=Mv(t).then(l=>(l.complete&&l.articles.length>0&&xv(e,l.articles),l)).finally(()=>{_f.delete(e)});return _f.set(e,a),a}async function Dv(e,t){let n=await Mv(t);return n.complete&&n.articles.length>0&&xv(e,n.articles),n}async function _v({onBackgroundRefresh:e,onProgress:t,...n}){let a=bv(n),l=await Av(a);return l?(t?.(l.articles),l.isFresh||(n.signal?Dv(a,n):Ev(a,n)).then(({articles:o,complete:u})=>{u&&o.length>0&&e?.(o)}),l.articles):(await(n.signal?Dv(a,{...n,onProgress:t}):Ev(a,{...n,onProgress:t}))).articles}function Of(e,t){let n=e.shipping?.prime===!0,a=e.merchant?.name||e.merchant_name||e.retailer||"Retailer";typeof e.merchant=="string"&&(a=e.merchant);let l=null,i=0,r=String(e.model_id||e.id||"");if(r&&t)if(t[r]&&t[r].score!=null)l=parseFloat(t[r].score);else{let o=Object.values(t).find(u=>String(u.model_id)===r||String(u.id)===r);o&&o.score!=null&&(l=parseFloat(o.score))}return l!=null&&(i=Math.round((l>10?l/20:l/2)*2)/2),{isPrime:n,merchant:a,starRating:i>0?i:null}}function kf(e){let t=String(e.price||e.current_price||"0"),n=String(e.was_price||e.msrp||e.original_price||"0"),a=parseFloat(t.replace(/[^0-9.]/g,""))||0,l=parseFloat(n.replace(/[^0-9.]/g,""))||0,i=a===0||t==="0.00"||t==="0",r=e.currency&&typeof e.currency=="string"?e.currency:e.currency_symbol&&typeof e.currency_symbol=="string"?e.currency_symbol:"$",o=ee(e.percentage_saving_label||"");!o&&l>a&&a>0&&(o=Math.round((l-a)/l*100)+"% OFF");let u=r;return u.includes("&")&&(u.includes("36")?u="$":u.includes("163")||u.includes("pound")?u="\xA3":(u.includes("8364")||u.includes("euro"))&&(u="\u20AC")),{rawPrice:a,rawMsrp:l,currency:u,isCheckPrice:i,savingLabel:o}}function Bv({query:e,region:t,retailer:n,selectedBrands:a,offerType:l,priceRange:i,discountAmount:r,resultCount:o}){let u=new URL("https://search-api.fie.future.net.uk/widget.php");if(u.searchParams.append("model_name",e),t&&t!=="auto"&&u.searchParams.append("area",t),n&&u.searchParams.append("filter_merchant_name",n),a&&a.length>0&&u.searchParams.append("filter_label[text_brand]",a.join(",")),l&&u.searchParams.append("offer",l),i&&i!=="all"){if(i==="under50")u.searchParams.append("filter_max_price","50");else if(i==="over50")u.searchParams.append("filter_min_price","50");else if(i==="over30")u.searchParams.append("filter_min_price","30");else if(i==="over500")u.searchParams.append("filter_min_price","500");else if(i.includes("_")){let[c,s]=i.split("_");c&&u.searchParams.append("filter_min_price",c),s&&u.searchParams.append("filter_max_price",s)}}if(r&&r!=="0"){let c=(100-parseInt(r))/100;u.searchParams.append("min_discount_ratio",c.toString())}return u.searchParams.append("filter_product_types","deals"),u.searchParams.append("rows",String(o||"12")),u}function Nv(e){return e?.widget?.data?.offers?e.widget.data.offers:e?.data?.offers?e.data.offers:Array.isArray(e)?e:e?.offers?.offer?Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers?Array.isArray(e.offers)?e.offers:[e.offers]:[]}function Ov(e){let t=[];return e.forEach(n=>{let a=[];Array.isArray(n.offers)?a=n.offers:Array.isArray(n.offer)?a=n.offer:n.offers&&typeof n.offers=="object"?a=[n.offers]:n.offer&&typeof n.offer=="object"&&(a=[n.offer]),a.length>0?a.forEach(l=>{t.push({...n,...l})}):t.push(n)}),t}function kv(e){return e?.widget?.data?.model_info?e.widget.data.model_info:e?.data?.model_info?e.data.model_info:{}}var Lf=new Map,Q2=3e3,K2=["GB","US"],Lv=6,Z2=["brand","currency","fallbackImage","hasCommerceOffer","hawkPricePending","hawkListings","image","isCheckPrice","merchant","merchantId","modelId","msrp","price","productKey","productName","rawMsrp","rawPrice","savingLabel","title","url"];function Hf(e){return String(e||"").trim().toLowerCase()}function Gv(e){return e==="UK"?"GB":e}function Pv(e,t){let n=String(t||"").trim().toUpperCase(),l={AU:["A$","AUD"],CA:["CA$","CAD"],DE:["\u20AC","EUR"],ES:["\u20AC","EUR"],FR:["\u20AC","EUR"],GB:["\xA3","GBP","GB\xA3"],IT:["\u20AC","EUR"],NL:["\u20AC","EUR"],US:["$","USD","US$"]}[e];return!l||l.includes(n)}function Hv(e,t){return String(e.id||`hawk-deal-${t}`)}function W2(e){return e.map(t=>({...t,hasCommerceOffer:!1,hawkPricePending:!!t.hawkModelName,hawkListings:[],image:t.fallbackImage||t.image||"",isCheckPrice:!0,merchant:"",merchantId:"",msrp:"",price:"",productKey:"",rawMsrp:0,rawPrice:0,savingLabel:"",url:t.sourceArticleUrl||t.documentUrl||t.url}))}function I2(e){return Z2.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}function qv(e){return!!((e.isBuyingGuideProduct||e.isReviewProduct)&&e.hawkModelName)}function J2(e){return e.model_image_url||e.model_image||e.product_image||e.image_url||e.image||""}function Fv(e){return e.link||e.url||e.offer_link||""}function $2(e,t){let n=String(t.model_id||t.id||"");return n&&e[n]?e[n]:Object.values(e).find(a=>String(a?.model_id||a?.id||"")===n)||{}}function eS(e,t,n){let a=e.map(i=>{let r=kf(i),o=Of(i,t),u=Fv(i),c=ee(String(o.merchant||"")).trim();return!u||!c||r.rawPrice<=0||!Pv(n,r.currency)?null:{merchant:c,merchantId:typeof i.merchant=="object"?String(i.merchant?.id||""):"",modelId:String(i.model_id||""),offer:i,productKey:String(i.product_key||""),rawPrice:r.rawPrice,url:u}}).filter(i=>i!==null).sort((i,r)=>i.rawPrice-r.rawPrice||i.merchant.localeCompare(r.merchant)),l=new Set;return a.filter(i=>{let r=i.merchant.toLocaleLowerCase();return l.has(r)?!1:(l.add(r),!0)}).slice(0,4)}async function zv(e,t,n){let a=`${t}|${Hf(e)}`;return Lf.has(a)||Lf.set(a,(async()=>{let l;try{let i=new AbortController;l=setTimeout(()=>i.abort(),Q2);let r=await n(Bv({query:e,region:t,resultCount:12}).toString(),{signal:i.signal});if(!r.ok)return null;let o=await r.json(),u=Ov(Nv(o)),c=Hf(e),s=u.filter(A=>Hf(A.model_name||A.model)===c),f=s.length?s:u,d=f[0]||null;if(!d)return null;let m=kv(o),v=$2(m,d);return{brand:String(v?.brand||d.brand||"").trim(),modelInfo:m,offer:d,offers:f}}catch{return null}finally{l&&clearTimeout(l)}})()),Lf.get(a)}function Uv(e,t,n){return e.map(a=>{let l=String(a.hawkModelName);if(!qv(a)||!t.has(l))return a;let i=t.get(l);if(!i)return{...a,hawkPricePending:!1};let{offer:r}=i.lookup,o=kf(r),u=Of(r,i.lookup.modelInfo),c=J2(r),s=Fv(r),f=ee(String(r.model_name||r.model||a.hawkModelName||a.productName||a.title||"").trim()),d=!!(i.region===n&&s&&Pv(n,o.currency)),m=i.region===n?eS(i.lookup.offers,i.lookup.modelInfo,n).map(({offer:v,...A})=>A):[];return d?{...a,brand:i.lookup.brand||r.brand||a.brand,currency:o.currency||a.currency,fallbackImage:c?a.image:a.fallbackImage,hasCommerceOffer:!0,hawkPricePending:!1,hawkListings:m,image:c||a.image,isCheckPrice:o.isCheckPrice,merchant:u.merchant||a.merchant,merchantId:typeof r.merchant=="object"&&r.merchant?.id||"",modelId:r.model_id||"",msrp:o.rawMsrp>0?String(o.rawMsrp):"",price:o.rawPrice>0?String(o.rawPrice):"",productKey:r.product_key||"",productName:f||a.productName,rawMsrp:o.rawMsrp,rawPrice:o.rawPrice,savingLabel:o.savingLabel,title:f||a.title,url:s||a.url}:{...a,brand:i.lookup.brand||a.brand,fallbackImage:c?a.image:a.fallbackImage,hawkPricePending:!1,image:c||a.image,productName:f||a.productName,title:f||a.title}})}async function vi(e,t,n=fetch,a,l=[],i){let r=Gv(t),o=new Map,u=e.filter(qv).map(f=>String(f.hawkModelName)),c=new Set(u),s=Array.from(new Set([...l.filter(f=>c.has(f)),...u])).slice(0,a);for(let f=0;f<s.length;f+=Lv)await Promise.all(s.slice(f,f+Lv).map(async d=>{let m=await zv(d,r,n),v=m||r==="GB"?null:await zv(d,"GB",n);o.set(d,m?{lookup:m,region:r}:v?{lookup:v,region:"GB"}:null),i?.(Uv(e,o,r))}));return Uv(e,o,r)}async function jv(e,t=fetch){let n=W2(e),a=await Promise.all(K2.map(async i=>[i,await vi(n,i,t)])),l=new Map;return a.forEach(([i,r])=>{r.forEach((o,u)=>{if(!o.hasCommerceOffer)return;let c=Hv(o,u),s=l.get(c)||{};s[i]=I2(o),l.set(c,s)})}),e.map((i,r)=>{let o=l.get(Hv(i,r));return o?{...i,hawkRegionalCommerce:o}:i})}function zf(e,t){let n=Gv(t);return e.map(a=>{let l=a.hawkRegionalCommerce?.[n];return l?{...a,...l,hawkPricePending:!1}:a})}function Yv(e,t){let n=Array.from(new Set(e.map(i=>i.merchant).filter(Boolean))),a={};if(n.forEach(i=>{a[i]="loading"}),n.length===0)return{merchants:n,couponMap:a,couponUrl:null};let l=new URL("https://search-api.fie.future.net.uk/widget.php");return l.searchParams.append("model_name","Everything"),l.searchParams.append("filter_merchant_name",n.join(",")),l.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),l.searchParams.append("sort","voucher"),l.searchParams.append("rows","120"),l.searchParams.append("origin","widgets-clientside"),l.searchParams.append("combine_product_types","1"),l.searchParams.append("language","en-GB"),l.searchParams.append("all_filters","false"),l.searchParams.append("exclude_unlabelled","false"),l.searchParams.append("include_specs","false"),t&&t!=="auto"&&l.searchParams.append("area",t),{merchants:n,couponMap:a,couponUrl:l}}function Vv(e,t){let n=new URL("https://search-api.fie.future.net.uk/widget.php");return n.searchParams.append("model_name","Everything"),n.searchParams.append("language","en-GB"),t&&t!=="auto"&&n.searchParams.append("area",t),n.searchParams.append("combine_product_types","1"),n.searchParams.append("filter_merchant_name",e),n.searchParams.append("all_filters","false"),n.searchParams.append("exclude_unlabelled","false"),n.searchParams.append("include_specs","false"),n.searchParams.append("sort","voucher"),n.searchParams.append("distinct_merchants","natural"),n.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),n.searchParams.append("rows","50"),n.searchParams.append("origin","widgets-clientside"),n}function Uf(e,t,n=!0){if(!e?.length)return e||[];if(t==="date_desc"&&!n)return e;let a=[...e];return ln(a,t,n),a}function uc(e,t,n,a=!0){if(n!=="date_desc"||!e?.length)return t;let l=(c,s)=>String(c.id||s),i=new Map(t.map((c,s)=>[l(c,s),c])),r=new Set,o=e.flatMap((c,s)=>{let f=l(c,s);r.add(f);let d=i.get(f);return d?[d]:[]}),u=t.filter((c,s)=>!r.has(l(c,s)));return a?[...o.filter(nl),...u.filter(nl),...o.filter(c=>!nl(c)),...u.filter(c=>!nl(c))]:[...o,...u]}function Xv({activeDealTag:e,activeFreeformTag:t,clickedAuthorOverride:n,compactEmbed:a,compactInventoryExplored:l,compactLoadRequested:i,initialActiveDealTag:r,initialActiveFreeformTag:o,reviewInventoryBaked:u}){return!!(a&&u&&!n&&!i&&!l&&(!e||e===r)&&(!t||t===o))}var Qv=[0,50,100,150,200,250,300,350,400,450],Gf=4;function Kv(e){return(Array.isArray(e)?e:[e]).reduce((n,a)=>{if(typeof a!="string"||!a.trim())return n;let l=a.trim();return n.some(i=>i.toLowerCase()===l.toLowerCase())?n:[...n,l]},[])}function nS(e,t){return e.length===t.length&&e.every((n,a)=>n===t[a])}function Pf(e){return e.map(t=>t.trim().toLowerCase()).sort().join("|")}function qf(e){let t=e.initialData,n=Fu(e),a=!!(e.preloadReviewInventory&&!n),l=!!(e.preloadReviewInventory&&e.includeReviewProducts&&!e.compactEmbed),i=n?Number(e.resultCount)||12:100,r=n?!1:e.prioritiseCommercialProducts,o=wt(e.region),u=zf(t?.allDeals||t?.deals||[],o).filter(_=>P0(_,o)),c=wa(n?"date_desc":e.sort,!Or(e)),s=!!(e.priceRange&&e.priceRange!=="all")||!!(e.discountAmount&&e.discountAmount!=="0"&&e.discountAmount!=="all"),f=tl(t?.authorArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),d=tl(t?.authorInteractionArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),[m,v]=(0,N.useState)(()=>Uf(u,c,r)),[A,b]=(0,N.useState)(t?.totalDealCount??t?.allDeals?.length??t?.deals?.length??0),[h,g]=(0,N.useState)(t?.totalAuthorCount??t?.authors?.length??0),[p,y]=(0,N.useState)(!t),[C,R]=(0,N.useState)(!1),[T,M]=(0,N.useState)(!1),[w,D]=(0,N.useState)(!1),[k,se]=(0,N.useState)(t?.couponMap||{}),[I,j]=(0,N.useState)(f),[He,ze]=(0,N.useState)(f),[St,Ie]=(0,N.useState)(t?.tags||[]),[rn,Be]=(0,N.useState)(t?.tagCounts||{}),[Je,nt]=(0,N.useState)(t?.freeformTags||[]),[X,de]=(0,N.useState)(t?.freeformTagCounts||{}),[$e,Z]=(0,N.useState)(t?.brands||[]),[x,P]=(0,N.useState)(()=>{let _=t?.activeDealTag||e.query;return _&&_.toLowerCase()!=="everything"?_:null}),[Q,Vn]=(0,N.useState)(()=>Kv(t?.activeFreeformTags||t?.activeFreeformTag)),[jr,bi]=(0,N.useState)(f),[sc,ll]=(0,N.useState)(null),[at,Yr]=(0,N.useState)(!1),[il,Vr]=(0,N.useState)(""),[rl,Xr]=(0,N.useState)(""),[f1,g1]=(0,N.useState)(0),[Wt,dc]=(0,N.useState)(e.resultCount?parseInt(e.resultCount):12),[Xf,fc]=(0,N.useState)(!1),[m1,Qr]=(0,N.useState)(null),[gc,h1]=(0,N.useState)(!1),[mc,p1]=(0,N.useState)([0]),Kr=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`:""),hc=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}|age-${e.editorialMaxAgeMonths||"none"}`:""),y1=(0,N.useRef)(e.website||"tomsguide"),pc=(0,N.useRef)(e.website||"tomsguide"),Qf=(0,N.useRef)(u.length>0),Kf=(0,N.useRef)(null),ol=(0,N.useRef)(new Map),v1=(0,N.useRef)({activeDealTag:String(x||"").trim().toLowerCase(),freeformTags:Pf(Kv(t?.activeFreeformTags||t?.activeFreeformTag)),discountAmount:e.discountAmount,priceRange:e.priceRange}),Xn=(0,N.useRef)(!1),De=(0,N.useRef)(!1),Ai=(0,N.useRef)(!1),Zf=(_,oe,ne=at?il:e.authorHandle,we=at?rl:e.authorName)=>[e.website||"tomsguide",ne||"",we||"",wt(e.region),String(_||"").trim().toLowerCase(),Pf(oe),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),Wf=(_,oe)=>{let ne=v1.current;return!!(e.compactEmbed&&t?.brands?.length&&String(_||"").trim().toLowerCase()===ne.activeDealTag&&Pf(oe)===ne.freeformTags&&e.priceRange===ne.priceRange&&e.discountAmount===ne.discountAmount)},Zr=(_,oe)=>{let ne=ol.current.get(Zf(_,oe));if(ne){Z(ne);return}if(Wf(_,oe)){Z(t?.brands||[]);return}},ul=()=>Xn.current||n?void 0:e.productSelection;(0,N.useEffect)(()=>{ll(null)},[e.authorName,e.authorHandle]),(0,N.useLayoutEffect)(()=>{let _=e.website||"tomsguide";pc.current!==_&&(pc.current=_,v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),ol.current.clear(),se({}),Yr(!1),Vr(""),Xr(""),ll(null),P(null),Vn([]),g(0),b(0),M(!1),fc(!1),Qr(null),Ai.current=!1,R(!0),y(!0))},[e.website]),(0,N.useEffect)(()=>{e.compactEmbed||typeof document>"u"||setTimeout(()=>{document.dispatchEvent(new CustomEvent("processArticle"))},100)},[m,Wt,e.query,x,Q]),(0,N.useEffect)(()=>{e.resultCount&&(dc(parseInt(e.resultCount,10)||12),Qr(null))},[e.resultCount]),(0,N.useEffect)(()=>{Qr(null)},[x,Q,e.authorHandle,e.authorName,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands,e.sort]),(0,N.useEffect)(()=>{if(!t||!e.includeBuyingGuideProducts&&!e.includeReviewProducts||e.compactEmbed&&(De.current||e.refreshDealsOnViewport))return;let _=wt(e.region),oe=zf(t.allDeals||t.deals||[],_);if(_==="unavailable"){let It=oe.map(on=>(on.isBuyingGuideProduct||on.isReviewProduct)&&on.hawkModelName?{...on,hawkPricePending:!1}:on);ln(It,c,r),v(yn(It,ul(),c));return}let ne=al(oe,e.selectedBrands),we=Number(e.resultCount)||12,Ta=typeof navigator>"u"?void 0:navigator.connection,Ea=!Ta?.saveData&&!Ta?.effectiveType?.includes("2g")&&(!e.compactEmbed||!!e.warmInventory),Si=s?ne:t.reviewInventoryBaked?ne.slice(0,Wt+(Ea?we:0)):oe;if(!Si.some(It=>(It.isBuyingGuideProduct||It.isReviewProduct)&&It.hawkModelName))return;let sl=!0;return M(!0),vi(Si,_).then(It=>{if(!sl)return;let on=t.reviewInventoryBaked?lv(oe,It):It,Ir=al(on,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(lt=>(lt.isBuyingGuideProduct||lt.isReviewProduct)&&lt.hawkModelName?{...lt,hawkPricePending:!1}:lt);ln(Ir,c,r),v(yn(Ir,ul(),c)),Z(lt=>t?.brands?.length?lt:hf(lt,It))}).finally(()=>{sl&&M(!1)}),()=>{sl=!1}},[t,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,e.selectedBrands,e.discountAmount,e.priceRange,c,e.productSelection,Wt,e.resultCount,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,x,Q]),(0,N.useEffect)(()=>{let _=!0,oe=new AbortController,ne=Ai.current,we=!e.refreshDealsOnViewport&&Xv({activeDealTag:x,activeFreeformTag:Q[0]||null,clickedAuthorOverride:at,compactEmbed:e.compactEmbed,compactInventoryExplored:De.current,compactLoadRequested:gc,initialActiveDealTag:t?.activeDealTag,initialActiveFreeformTag:t?.activeFreeformTag,reviewInventoryBaked:t?.reviewInventoryBaked}),Ta=u.length>0,Ea=!!(n&&e.compactEmbed&&!De.current),Si=!!(Ea&&e.warmInventory&&I.length===0&&m.length>0),sl=!!(we||e.compactEmbed&&Ta&&I.length===0&&!at&&!gc&&!De.current&&!e.refreshDealsOnViewport&&(!n||!e.warmInventory));return!sl&&!ne&&!Si&&(R(!0),e.compactEmbed&&De.current&&v([])),(async()=>{D(!1),M(!1);let on=m.length>0||St.length>0||Je.length>0||$e.length>0,Ir=sl;try{if(!e.authorName&&!e.authorHandle){v([]),j([]),bi([]),Ie([]),nt([]),Z([]),ll(null),P(null),Vn([]),y(!0);return}let lt=at?il:e.authorHandle,Jr=at?rl:e.authorName,$r=`${e.website||"tomsguide"}|${lt||""}|${Jr||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`,yc=`${$r}|${e.compactEmbed&&x||""}|${e.compactEmbed?Q.join(","):""}|${e.compactEmbed&&De.current?"expanded":e.refreshDealsOnViewport?"viewport-refresh":"initial"}|lightweight-pages-${Ea?mc.join(","):"all"}|age-${e.editorialMaxAgeMonths||"none"}`,Jt=I,$f=St,U1=ev(Je,Q.length===1?Q[0]:null),eg=()=>({activeDealTag:x,activeFreeformTag:Q[0]||null,activeFreeformTags:Q,preserveFreeformTagSelection:!!(e.compactEmbed&&Q.length),authorHandle:lt,authorName:Jr,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,priceRange:e.priceRange,prioritiseCommercialProducts:r,productSelection:ul(),query:e.query,region:e.region,selectedArticleId:sc,selectedBrands:e.selectedBrands,sort:c,website:e.website}),tg=hc.current!==yc||Jt.length===0,Da=[],vc=!1,ng=(me,zt=!1)=>{if(!_||zt&&vc)return;let bn=al(me,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange});ln(bn,c,r);let Di=yn(bn,ul(),c);v(uc(Da,Di,c,r))};if(Ir){y(!1),R(!1);return}if(tg){let me=Kr.current.split("|")[0],zt=e.website||"tomsguide",bn=!!(Kr.current&&me!==zt);!ne&&!Si&&R(!!e.compactEmbed||!on),bn&&(Jt=[],$f=[],v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),se({}),Yr(!1),Vr(""),Xr(""),y(!0));let Di=Qf.current&&Kr.current===$r&&Jt.length===0&&!De.current;Qf.current=!1,!Di&&!on&&y(!0);let lo=Ba=>{if(!_||Ba.length===0)return;let fe=eg(),it=Cf(Ba,fe),{displayedDeals:io}=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);io.length!==0&&(Da=io,v(Da),y(!1),e.includeReviewProducts&&Nf(it.targetArticles,e.website||"tomsguide",Math.min(Wt,Gf),c).then(()=>{if(!_||vc)return;let An=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);Da=An.displayedDeals,v(Da);let xi=An.displayedDeals.filter(dt=>dt.isReviewProduct&&dt.hawkModelName).slice(0,Gf).map(dt=>String(dt.hawkModelName));vi(An.extractedDeals,it.activeRegionCode,void 0,Gf,xi,dt=>ng(dt,!0))}))};if(Jt=await _v({authorHandle:lt,authorName:Jr,fallbackAuthorName:e.authorName,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,articleCategory:e.compactEmbed&&x||void 0,articleTag:e.compactEmbed?U1:void 0,pageStarts:e.compactEmbed&&!e.warmInventory&&!De.current?[0]:void 0,reviewPageStarts:e.includeReviewProducts?Ea?mc:!e.compactEmbed||De.current?Qv:void 0:void 0,loadAllReviewPages:!Ea,throwOnFailure:!!(e.compactEmbed&&De.current),onBackgroundRefresh:Ba=>{if(!_||hc.current!==yc)return;let fe=tl(Ba,void 0,Number(e.editorialMaxAgeMonths)||0);j(fe),at||ze(fe),g1(it=>it+1)},onProgress:lo,signal:oe.signal,website:e.website}),!_)return;if(Jt=tl(Jt,void 0,Number(e.editorialMaxAgeMonths)||0),Kr.current=$r,hc.current=yc,Di&&Jt.length===0){y(!1);return}_&&(j(Jt),at||ze(Jt),R(!1))}let eo=eg(),G1=Cf(Jt,eo),{activeDealTag:xa,activeRegionCode:Ci,authorArticles:ag,activeFreeformTags:Ma,freeformTagCounts:lg,freeformTags:to,tagCounts:ig,tags:Ri,targetArticles:_a,targetIso:P1}=G1,Ti=e.compactEmbed&&x&&!xa?x:xa,Ei=e.compactEmbed&&Q.length>0&&Ma.length===0?Q:Ma,q1=Ri.length>0?Ri:Ti?[Ti]:Ri,F1=to.length>0?to:Ei.length>0?t?.freeformTags?.filter(me=>Ei.includes(me.handle))||[]:to,j1={...ig,...Ti&&!xa?{[Ti]:0}:{}},Y1={...lg,...Object.fromEntries(Ma.length===0?Ei.map(me=>[me,0]):[])},no=Zf(xa,Ma,lt,Jr),rg=[$r,Ci,xa||"",Ma.join(","),e.selectedBrands.join(","),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),dl=null,fl=null;if(!at){let me=Kf.current;if(me?.key===rg&&me.articleCount===_a.length)dl=me.deals.length,fl=me.authorCount;else{let zt=dv(_a,eo);dl=zt.deals.length,fl=zt.authorCount,Kf.current={articleCount:_a.length,authorCount:fl,deals:zt.deals,key:rg}}}$f=Ri;let Ht;_&&(Ie(q1),Be(j1),nt(F1),de(Y1)),e.includeReviewProducts&&await Nf(_a,e.website||"tomsguide",l?Math.min(_a.length,i):Wt,c);let{brands:bc,displayedDeals:Ac,extractedDeals:ao}=ic(_a,eo,Ci,P1),{merchants:V1,couponMap:wc,couponUrl:X1}=Yv(Ac,e.region);_&&se(wc);let Q1=me=>{!_||!Ht||(Ht={...Ht,couponMap:me},window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht))};if(hv({couponMap:wc,couponUrl:X1,merchants:V1}).then(me=>{_&&(se(me),Q1(me))}),_){tg&&P(Ti),nS(Q,Ei)||Vn(Ei),bi(ag);let me=uc(Da,Ac,c,r);if(vc=!0,v(me),dl!==null){let zt=t?.totalDealCount||0,bn=Ea&&zt>dl;b(bn?zt:dl),g(bn?Math.max(t?.totalAuthorCount||0,fl||0):fl||0)}!ol.current.has(no)&&Wf(xa,Ma)&&ol.current.set(no,t?.brands||[]),Z(ol.current.get(no)||bc),y(!1),Ht=fv({allArticles:Jt,authorArticles:ag,bakeReviewInventory:a&&!e.compactEmbed,brands:bc,couponMap:wc,currentDealTag:xa,currentFreeformTags:Ma,displayedDeals:me,inventoryArticles:_a,options:eo,resultCount:e.resultCount,tagCounts:ig,tags:Ri,freeformTagCounts:lg,freeformTags:to,totalAuthorCount:fl??h,totalDealCount:dl??A}),window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht)}if((e.includeBuyingGuideProducts||e.includeReviewProducts)&&Ci!=="unavailable"){let me=Wt,zt=l?ao.filter(fe=>fe.isReviewProduct&&fe.hawkModelName).slice(0,i).map(fe=>String(fe.hawkModelName)):[],bn=Ac.filter(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName).map(fe=>String(fe.hawkModelName));ao.some(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName)&&M(!0);let lo=vi(ao,Ci,void 0,s?void 0:e.includeReviewProducts?l?i:me:void 0,[...zt,...bn],ng).then(async fe=>{if(!_)return;let it=al(fe,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(dt=>(dt.isBuyingGuideProduct||dt.isReviewProduct)&&dt.hawkModelName?{...dt,hawkPricePending:!1}:dt);ln(it,c,r);let io=yn(it,ul(),c),An=uc(Da,io,c,r),xi=hf(bc,fe);if(ol.current.set(no,xi),v(An),Z(xi),s&&b(it.length),Ht){let dt=a&&!e.compactEmbed,og=l,ug=dt?ac(An,Number(e.resultCount)||12):og?An.slice(0,i):An,K1=og?await jv(ug):ug;if(!_)return;let Sc={...Ht,allDeals:K1,deals:An.slice(0,me),brands:xi,totalDealCount:s?it.length:Ht.totalDealCount};Ht=Sc,window.__AUTHOR_PRELOAD_DATA__=Sc,e.onDataLoaded&&e.onDataLoaded(Sc)}}).finally(()=>{_&&M(!1)}),Ba=ao.slice(me,me+(Number(e.resultCount)||12));e.includeReviewProducts&&e.warmInventory&&!s&&!ne&&Ba.some(fe=>fe.hawkModelName)&&lo.then(()=>{_&&vi(Ba,Ci)}),ne&&await lo}}catch(lt){_&&D(!0)}finally{_&&(y(!1),R(!1),fc(!1),Ai.current=!1)}})(),()=>{_=!1,oe.abort()}},[e.query,e.region,e.selectedBrands,e.website,e.resultCount,Wt,c,e.priceRange,e.discountAmount,x,Q,e.authorName,e.authorHandle,e.website,e.authorBioLength,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,s,a,l,i,r,n,mc,e.productSelection,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,e.editorialMaxAgeMonths,sc,at,il,rl,f1,gc]);let Wr=e.website||"tomsguide",st=pc.current!==Wr,Ra=(0,N.useMemo)(()=>st?[]:y1.current===Wr&&t?.authors?t.authors:Lr(He.length>0?He:I,Wr),[I,Wr,He,t?.authors,st]),b1=at?il:e.authorHandle,A1=at?rl:e.authorName,w1=Ra.find(_=>_.handle===b1||_.fullName===A1),cl=He.length>0?He:I,If=(0,N.useMemo)(()=>{if(cl.length===0)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q),we=Sf(Ra,ne,{activeRegionCode:_,targetIso:oe,selectedBrands:e.selectedBrands,priceRange:e.priceRange,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website});return Yu(Ra,we)},[x,Q,Ra,cl,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands]),S1=(0,N.useMemo)(()=>{if(st)return[];if(cl.length===0&&t?.authors?.length||e.compactEmbed&&!x&&Q.length===0&&t?.authors?.length)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q).filter(we=>mi([we],{activeRegionCode:_,targetIso:oe,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website}).length>0);return kr(If,ne)},[x,Q,cl,st,at,t?.authors?.length,e.compactEmbed,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,If,e.website]),Jf=(_,oe)=>{let ne=He.length>0?He:I.length>0?I:d;if(ne.length===0)return;let we=yv(ne,{authorHandle:_,authorName:oe,discountAmount:e.discountAmount,priceRange:e.priceRange,region:e.region,selectedBrands:e.selectedBrands,sort:c,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,prioritiseCommercialProducts:r,website:e.website,productSelection:void 0});ll(null),P(null),Vn([]),bi(we.authorArticles),Ie(we.tags),Be(we.tagCounts),nt(we.freeformTags),de(we.freeformTagCounts),Z(we.brands),v(we.deals),y(!1)},C1=()=>{!e.compactEmbed||!t||(v(yn(Uf(t.deals||t.allDeals||[],c,r),ul(),c)),Ie(t.tags||[]),Be(t.tagCounts||{}),nt(t.freeformTags||[]),de(t.freeformTagCounts||{}),Z(t.brands||[]),se(t.couponMap||{}),g(t.totalAuthorCount??t.authors?.length??0),b(t.totalDealCount??t.deals?.length??t.allDeals?.length??0))},R1=_=>{Xn.current=!0,De.current=!0,R(!0),at&&(il===_.handle||rl===_.fullName)?(e.compactEmbed&&t?C1():Jf(e.authorHandle,e.authorName),Yr(!1),Vr(""),Xr("")):(Jf(_.handle,_.fullName),Yr(!0),Vr(_.handle),Xr(_.fullName)),e.onQueryChange?.("")},T1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=x===_?null:_;Zr(oe,Q),P(oe),e.onQueryChange?.("")},E1=()=>{Xn.current=!0,De.current=!0,R(!0)},D1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(null,Q),P(null),e.onQueryChange?.("")},x1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=Q.some(ne=>ne.toLowerCase()===_.toLowerCase())?Q.filter(ne=>ne.toLowerCase()!==_.toLowerCase()):[...Q,_];Zr(x,oe),Vn(oe)},M1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(x,[]),Vn([])},_1=_=>{Xn.current=!0,De.current=!0,R(!0),ll(_)},B1=()=>{if(Ai.current)return;Ai.current=!0,fc(!0);let _=Wt+(e.resultCount?parseInt(e.resultCount,10):12);!!(n&&e.compactEmbed&&!De.current)&&I.length>0&&m.length<_&&p1(we=>{let Ta=Qv[we.length];return Ta===void 0?we:[...we,Ta]}),dc(we=>(Qr(we),we+(e.resultCount?parseInt(e.resultCount,10):12)));let ne=!!(t?.reviewInventoryBaked&&m.length>Wt);e.compactEmbed&&I.length===0&&!ne&&(R(!0),h1(!0))},wi=e.compactEmbed&&!e.refreshDealsOnViewport,N1=wi&&t?.tags?.length?t.tags:St,O1=wi&&t?.tags?.length?t.tagCounts||{}:rn,k1=wi&&!De.current&&t?.brands?.length?t.brands:$e,L1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTags:Je,H1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTagCounts||{}:X,z1=pv({enrichingBuyingGuides:T,error:w,loading:p,loadingMore:Xf,refreshingFeed:C});return{activeDealTag:x,activeFreeformTags:Q,airedaleBrands:st?[]:k1,airedaleTagCounts:st?{}:O1,airedaleTags:st?[]:N1,airedaleFreeformTagCounts:st?{}:H1,airedaleFreeformTags:st?[]:L1,allAuthorsList:S1,authorArticlesList:st?[]:jr,clickedAuthorOverride:at,couponMap:k,deals:st?[]:m,displayCount:Wt,error:w,enrichingBuyingGuides:T,effectiveAuthorProfile:st?void 0:w1,loading:p,loadingMore:Xf,loadMoreStartCount:m1,markProductSelectionInteracted:E1,hasMore:m.length>Wt||!!e.compactEmbed&&A>m.length,loadMore:B1,refreshingFeed:C,overriddenAuthorHandle:il,overriddenAuthorName:rl,selectedArticleId:sc,setActiveDealTag:P,clearDealTag:D1,clearFreeformTags:M1,selectArticle:_1,setDisplayCount:dc,setSelectedArticleId:ll,status:z1,toggleAuthorOverride:R1,toggleDealTag:T1,toggleFreeformTag:x1,totalAuthorCount:st?0:h,totalDealCount:st?0:A}}var aS=B(ft(),1);var Fr=B(ft(),1);function Zv(e){let[t,n]=(0,Fr.useState)(null),[a,l]=(0,Fr.useState)([]),[i,r]=(0,Fr.useState)(!1),[o,u]=(0,Fr.useState)(!1);return{close:()=>n(null),error:o,loading:i,merchant:t,open:async f=>{n(f),r(!0),u(!1),l([]);try{let d=Vv(f,e),m=await fetch(d.toString());if(!m.ok)throw new Error("API Error");l(mv(await m.json()))}catch(d){u(!0)}finally{r(!1)}},vouchers:a}}var je=B(O(),1);function lS(e){return new Set(e.map(t=>Array.isArray(t.authorName)?t.authorName[0]:t.authorName).map(t=>String(t||"").trim().toLowerCase()).filter(Boolean)).size}var iS=new Map,rS=()=>{};function Iv({data:e,editorBar:t,editorMode:n=!1,props:a,selectedDeals:l=iS,setSelectedDeals:i=rS}){let r=Zv(a.region),[o,u]=(0,Wv.useState)(new Set),c=p0[a.website||""]||"#1F69FF",s=a.backgroundColor?a.backgroundColor==="white"?"#ffffff":a.backgroundColor==="transparent"?"transparent":a.backgroundColor==="light_blue"?"#E7F0FF":void 0:void 0,f=Vu(a.authorHandle,a.authorName),d=Or(a),m=Fu(a),v=wa(m?"date_desc":a.sort,!d),A=!!(a.showReviewSort&&a.includeReviewProducts),b=a.showPriceDiscountFilters!==!1||A,h=!a.authorFullBleed,g=!e.clickedAuthorOverride,p=e.totalDealCount||e.deals.length,y=e.totalAuthorCount||lS(e.deals),C=e.status==="loading_inventory"||e.status==="refreshing_inventory"||e.status==="enriching_visible_cards",R=e.status==="loading_inventory"||(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards")&&e.deals.length===0,M=!!(a.showReviewSort&&a.includeReviewProducts&&(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards"))?"Loading and sorting available review products":e.status==="enriching_visible_cards"?"Adding live product images and prices":e.status==="refreshing_inventory"?"Updating products":`Loading ${a.website||"site"} authors and products`,w=j=>{e.markProductSelectionInteracted(),a.onBrandToggle?.(j)},D=j=>{e.markProductSelectionInteracted(),a.onBrandSelect?.(j)},k=j=>{e.markProductSelectionInteracted(),a.onPriceRangeChange?.(j)},se=j=>{e.markProductSelectionInteracted(),a.onDiscountAmountChange?.(j)},I=j=>{e.markProductSelectionInteracted(),a.onSortChange?.(j)};return(0,je.jsx)("div",{className:"tg-df-widget-host",style:{"--tg-df-blue":c.toUpperCase()==="#FFFFFF"?"#000000":c},"data-vizualizer-embed":"true","data-tg-df-full-bleed":a.authorFullBleed?"true":"false","data-tg-df-mobile-dropdowns":a.mobileDropdowns?"true":"false","data-tg-df-sticky-mobile-filters":a.stickyMobileFilters===!1?"false":"true",children:(0,je.jsxs)("div",{className:"tg-df-container article-body",style:a.backgroundColor?{backgroundColor:s}:void 0,children:[(a.showAuthorIdentity!==!1||a.showAuthorBio!==!1)&&(0,je.jsx)("div",{className:"tg-df-author-embed",style:{width:"100%",fontFamily:"inherit"},children:(0,je.jsx)("div",{className:"tg-df-author-section",style:{display:"block",opacity:1,overflow:"visible",background:"transparent",border:"none"},children:(0,je.jsx)(U0,{authorArticlesList:e.authorArticlesList,authorBioLength:a.authorBioLength,customBio:g?a.customBio:void 0,customHeaderKicker:a.customHeaderKicker,customHeaderTitle:a.customHeaderTitle,effectiveAuthorHandle:e.clickedAuthorOverride?e.overriddenAuthorHandle:a.authorHandle,effectiveAuthorName:e.clickedAuthorOverride?e.overriddenAuthorName:a.authorName,isReviewWidget:d,onBioChange:g?a.onBioChange:void 0,onHeaderKickerChange:a.onHeaderKickerChange,onHeaderTitleChange:a.onHeaderTitleChange,selectedProfile:e.effectiveAuthorProfile,showAuthorBio:a.showAuthorBio,showAuthorIdentity:a.showAuthorIdentity,showSocialButtons:a.showSocialButtons,stabilizeBio:f,authorCount:y,totalDealCount:p,website:a.website})})}),t,a.showCollectionsDropdown&&(0,je.jsx)(r0,{articles:e.authorArticlesList,authorHandle:a.authorHandle,authorName:a.authorName||a.author,onChange:e.selectArticle,selectedArticleId:e.selectedArticleId,shortenedHeadlines:a.shortenedHeadlines}),C&&(0,je.jsxs)("div",{role:"status","aria-live":"polite","aria-label":M,style:{alignItems:"center",display:"flex",justifyContent:"center",marginBottom:"16px",minHeight:"72px"},children:[(0,je.jsx)("span",{className:"tg-df-coupon-spinner","aria-hidden":"true",style:{borderWidth:"3px",height:"24px",width:"24px"}}),(0,je.jsxs)("span",{style:{color:"#4B5563",fontSize:"14px",marginLeft:"10px"},children:[M,"\u2026"]})]}),(0,je.jsx)(_0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,allAuthorsList:e.allAuthorsList,brands:a.brands,clickedAuthorOverride:e.clickedAuthorOverride,loading:e.loading,refreshing:e.refreshingFeed,onAuthorClick:e.toggleAuthorOverride,onBrandToggle:w,onFreeformTagClick:e.toggleFreeformTag,onTagClick:e.toggleDealTag,overriddenAuthorHandle:e.overriddenAuthorHandle,overriddenAuthorName:e.overriddenAuthorName,selectedBrands:a.selectedBrands,showAuthorRail:f&&a.showAuthorRail!==!1,showAuthorCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,website:a.website}),(0,je.jsx)(k0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,brands:a.brands,discountAmount:a.discountAmount,enabled:a.mobileDropdowns||h,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,onPriceRangeChange:k,onReviewSortChange:I,onTagClear:e.clearDealTag,onTagClick:e.toggleDealTag,priceRange:a.priceRange,reviewSort:v,selectedBrands:a.selectedBrands||[],showCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),b&&(0,je.jsx)(L0,{airedaleBrands:e.airedaleBrands,airedaleTags:e.airedaleTags,discountAmount:a.discountAmount,hidden:!!e.selectedArticleId,onDiscountAmountChange:se,onPriceRangeChange:k,onReviewSortChange:I,priceRange:a.priceRange,reviewSort:v,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),(0,je.jsx)(i0,{articles:e.authorArticlesList,selectedArticleId:e.selectedArticleId}),(a.showCategoryRail!==!1||a.showFreeformTagRail!==!1||a.showBrandRail!==!1)&&(0,je.jsx)(a0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleTags:e.airedaleTags,freeformTags:e.airedaleFreeformTags,discountAmount:a.discountAmount,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onPriceRangeChange:k,onTagClear:e.clearDealTag,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,priceRange:a.priceRange,selectedBrands:a.selectedBrands||[]}),(0,je.jsx)(w0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,couponMap:e.couponMap,deals:e.deals,displayCount:e.displayCount,editorMode:n,error:e.error,expandedDealIds:o,hasMore:e.hasMore,hideHawkPrices:a.hideHawkPrices,loading:R,loadingMore:e.loadingMore,loadMoreStartCount:e.loadMoreStartCount,onDescriptionToggle:j=>u(He=>{let ze=new Set(He);return ze.has(j)?ze.delete(j):ze.add(j),ze}),onLoadMore:e.loadMore,onOpenVouchers:r.open,query:a.query,recentDealsOnly:!!(a.includeDeals&&!a.includeCollections&&!a.includeBuyingGuideProducts&&!a.includeReviewProducts),selectedBrands:a.selectedBrands,selectedDeals:l,setSelectedDeals:i,website:a.website}),(0,je.jsx)(G0,{error:r.error,loading:r.loading,merchant:r.merchant,onClose:r.close,vouchers:r.vouchers})]})})}var $v=B(O(),1),Jv=e=>{let t={...e,editorMode:!1},n=qf(t);return(0,$v.jsx)(Iv,{data:n,props:t})};var U={authorBioLength:"short",authorFullBleed:!0,authorHandle:"all-authors",authorName:"All authors",backgroundColor:"transparent",customBio:"",customHeaderKicker:void 0,customHeaderTitle:void 0,discountAmount:"0",editorMode:!1,editorialMaxAgeMonths:"12",includeBuyingGuideProducts:!0,includeCollections:!0,includeDeals:!0,includeReviewProducts:!1,mobileDropdowns:!0,stickyMobileFilters:!0,offerType:"",preloadReviewInventory:!1,lightweightReviewDelivery:!1,hideHawkPrices:!1,prioritiseCommercialProducts:!0,priceRange:"all",productSelection:"latest",query:"Everything",region:"auto",resultCount:"12",retailer:"",selectedBrands:[],showAuthorBio:!0,showAuthorCounters:!0,showAuthorIdentity:!0,showAuthorRail:!0,showBrandRail:!0,showCategoryRail:!0,showCollectionsDropdown:!1,showPriceDiscountFilters:!0,showReviewSort:!1,showSocialButtons:!0,showCountdown:!1,showHeaderDetails:!0,showFreeformTagRail:!0,sort:"date_desc",viewMode:"author",website:"whowhatwear",widgetSubtitle:"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.",widgetTitle:"Top Deals Handpicked by Our Editors"};function We(e,t){return typeof e=="string"?e:t}function Ae(e,t){return typeof e=="boolean"?e:t}function e1(e){let t=e||{},n=t.authorBioLength==="long"?"long":"short",a=t.productSelection==="mix"?"mix":"latest";return{...U,...t,authorBioLength:n,authorFullBleed:Ae(t.authorFullBleed,U.authorFullBleed),authorHandle:We(t.authorHandle,U.authorHandle),authorName:We(t.authorName,U.authorName),backgroundColor:We(t.backgroundColor,U.backgroundColor),customBio:We(t.customBio,U.customBio),customHeaderKicker:typeof t.customHeaderKicker=="string"?t.customHeaderKicker:void 0,customHeaderTitle:typeof t.customHeaderTitle=="string"?t.customHeaderTitle:void 0,discountAmount:We(t.discountAmount,U.discountAmount),editorMode:Ae(t.editorMode,U.editorMode),editorialMaxAgeMonths:We(t.editorialMaxAgeMonths,U.editorialMaxAgeMonths),includeBuyingGuideProducts:Ae(t.includeBuyingGuideProducts,U.includeBuyingGuideProducts),includeCollections:Ae(t.includeCollections,U.includeCollections),includeDeals:Ae(t.includeDeals,U.includeDeals),includeReviewProducts:Ae(t.includeReviewProducts,U.includeReviewProducts),mobileDropdowns:Ae(t.mobileDropdowns,U.mobileDropdowns),stickyMobileFilters:Ae(t.stickyMobileFilters,U.stickyMobileFilters),offerType:We(t.offerType,U.offerType),preloadReviewInventory:Ae(t.preloadReviewInventory,U.preloadReviewInventory),lightweightReviewDelivery:Ae(t.lightweightReviewDelivery,U.lightweightReviewDelivery),hideHawkPrices:Ae(t.hideHawkPrices,U.hideHawkPrices),prioritiseCommercialProducts:Ae(t.prioritiseCommercialProducts,U.prioritiseCommercialProducts),priceRange:We(t.priceRange,U.priceRange),productSelection:a,query:We(t.query,U.query),region:We(t.region,U.region),resultCount:We(t.resultCount,U.resultCount),retailer:We(t.retailer,U.retailer),selectedBrands:Array.isArray(t.selectedBrands)?t.selectedBrands.filter(l=>typeof l=="string"):[],showAuthorBio:Ae(t.showAuthorBio,U.showAuthorBio),showAuthorCounters:Ae(t.showAuthorCounters,U.showAuthorCounters),showAuthorIdentity:Ae(t.showAuthorIdentity,U.showAuthorIdentity),showAuthorRail:Ae(t.showAuthorRail,U.showAuthorRail),showBrandRail:Ae(t.showBrandRail,U.showBrandRail),showCategoryRail:Ae(t.showCategoryRail,U.showCategoryRail),showCollectionsDropdown:Ae(t.showCollectionsDropdown,U.showCollectionsDropdown),showPriceDiscountFilters:Ae(t.showPriceDiscountFilters,U.showPriceDiscountFilters),showReviewSort:Ae(t.showReviewSort,U.showReviewSort),showSocialButtons:Ae(t.showSocialButtons,U.showSocialButtons),showCountdown:Ae(t.showCountdown,U.showCountdown),showHeaderDetails:Ae(t.showHeaderDetails,U.showHeaderDetails),showFreeformTagRail:Ae(t.showFreeformTagRail,U.showFreeformTagRail),sort:We(t.sort,U.sort),viewMode:We(t.viewMode,U.viewMode),website:We(t.website,U.website),widgetSubtitle:We(t.widgetSubtitle,U.widgetSubtitle),widgetTitle:We(t.widgetTitle,U.widgetTitle)}}function t1(e,t={}){return{...e,brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}}function n1(e,t){try{window.hawk?.analytics?.freyr?.push({name:e,data:t}),window.dispatchEvent(new CustomEvent("hawk-analytics-update")),window.freyr?.cmd.push(()=>{window.freyr?.pushAndUpdate?.(e,t)})}catch{}}function a1(){window.dataLayer=window.dataLayer||[],window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.hawk=window.hawk||{},window.hawk.analytics=window.hawk.analytics||{},window.hawk.analytics.freyr=window.hawk.analytics.freyr||[],window.freyr=window.freyr||{cmd:[]},window.freyr.cmd=window.freyr.cmd||[];let e="https://freyr.futurecdn.net/freyr.js",t=window.location.hostname;if(!(window.navigator.webdriver||window.navigator.userAgent.includes("Headless"))&&!!t&&t!=="localhost"&&t!=="127.0.0.1"&&!t.includes("run.app")&&!document.querySelector(`script[src="${e}"]`)){let l=document.createElement("script");l.src=e,l.async=!0,document.head.appendChild(l)}}function oS(e){let t=Number.parseFloat(e.rawPrice||e.price)||null,n=Number.parseFloat(e.rawMsrp||e.msrp)||null;return{product:{primary:{id:e.externalProductId||e.id||e.matchId||null,name:e.productName||e.title||"",type:"deal",price:t,previousPrice:n,currency:e.isoCurrencyCode||e.currency||"USD",preorder:!1,labels:e.modelBrand||e.brand?[{type:"brand",value:e.modelBrand||e.brand}]:[],link:e.url||null,originalLink:e.originalLink||e.url||null,revenueId:e.revenueId||null,startTime:null,endTime:null,voucherCode:null,voucherAudience:null,voucherPercentageSaving:n&&t&&n>t?Math.round((1-t/n)*100):null,voucherMoneySaving:null,voucherType:null,offerExclusive:!1,offerScope:null,globalId:e.productKey||null,inStock:e.inStock!==!1,contractProvider:null,contractMinutes:null,contractTexts:null,contractData:null,contractLength:null,contractMonthlyPrice:null,contractCurrency:e.isoCurrencyCode||e.currency||"USD"}},merchant:{id:e.merchantId||null,name:e.merchant||"Retailer",url:e.merchantUrl||null,network:e.merchantNetwork||null},model:{id:e.modelId||null,brand:e.modelBrand||e.brand||null,name:e.productName||e.title||"",parent:e.modelParent||null}}}var uS=new Set(["subid1","ascsubtag","clickref","u1"]);function cS(e){return e.match(/(?:^|[-_])(\d{10,})(?=$|[-_])/)?.[1]||null}function sS(e){let t=new Set,n=a=>{if(!a||t.has(a))return null;t.add(a);let l;try{l=new URL(a)}catch{return null}for(let[i,r]of l.searchParams)if(uS.has(i.toLowerCase())){let o=cS(r);if(o)return o}for(let i of l.searchParams.values())if(/^https?:\/\//i.test(i)){let r=n(i);if(r)return r}return null};return n(e)}function l1({areaClicked:e,clickType:t,deals:n,index:a,queryName:l}){let i={event:"hawkEvent",category:"Affiliates",affiliate:{action:{type:t,id:"author-widget",event:t==="appeared"?"viewed":"Click from",timestamp:Date.now()},component:{flag:"Editor",product:"deals",category:"Signal Deal Finder Author widget",type:t==="appeared"?"review":"signal product",label:l||n[0]?.productName||n[0]?.title||"",index:a??-1,linkCount:n.length,blockLayout:"",areaClicked:e}},products:n.slice(0,20).map(oS),reviews:[],_clear:!0,"gtm.uniqueEventId":Date.now()%1e4};n1("hawkEvent",i)}function i1(e,t){e.length&&l1({areaClicked:"",clickType:"appeared",deals:e,index:null,queryName:t})}function r1(e,t){if(e?.deals?.length)return e.deals;let n=Number(t)||12;return e?.allDeals?.slice(0,n)||[]}function o1(e){e.addEventListener("click",t=>{let n=t.target;if(!(n instanceof Element))return;let a=n.closest("a[data-fcaw-affiliate-link][href], a.hawk-affiliate-link-deal-widget[href], a.hawk-affiliate-link-container[href], a.hawk-affiliate-link-deal-button[href]"),l=n.closest(".tg-df-card"),i=!!(!a?.dataset.fcawRevenueId&&(a?.hasAttribute("data-hl-processed")||a?.hasAttribute("data-fcaw-hawklinks-requested")));a&&l&&!i&&l1({areaClicked:"Signal Product Card",clickType:"retailer",deals:[{brand:l.dataset.brand,currency:l.dataset.currency,id:l.dataset.dealId,merchant:a.dataset.merchant||l.dataset.merchant,merchantId:a.dataset.merchantId||l.dataset.merchantId,modelId:a.dataset.modelId||l.dataset.modelId,productKey:a.dataset.productKey||l.dataset.productKey,rawMsrp:l.dataset.previousPrice,rawPrice:l.dataset.price,originalLink:a.dataset.fcawOriginalLink||a.href,revenueId:a.dataset.fcawRevenueId||sS(a.href),title:l.dataset.productName,url:a.href}],index:Array.from(e.querySelectorAll(".tg-df-card")).indexOf(l)});let r=n.closest('button, select, [role="button"]');r&&n1("elementInteraction",{element:{action:"click",id:r.id||void 0,class:r.className||void 0,name:r.getAttribute("name")||r.getAttribute("aria-label")||void 0,text:r.textContent?.trim()||void 0,label:r.getAttribute("aria-label")||void 0}})})}var Vf=B(O(),1),dS='fc-author-commerce-widget[data-fcaw-version="1"]',fS="(max-width: 599px)",gS=600,mS='[class*="membership-expandable-banner"]',hS=/^jump\s+to\b/i,jf="data-fcaw-jump-navigation-suppressed",pS=50,yS=1e4,vS=["[data-sticky-header]","[data-header-sticky]",'[role="banner"]',".navigation__container",".site-header",".main-header",".header__container",'[class*="membership-expandable-banner"] [class*="skinny-banner"]','[class*="membership-expandable-banner"] [id="skinnyBanner"]',"nav","header"].join(","),bS=`  :host {    display: block !important;    width: 100% !important;    min-width: 0 !important;    max-width: none !important;    isolation: isolate !important;    contain: style !important;  }  :host([data-fcaw-full-bleed="true"]) {    width: min(      1200px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1200px !important;    margin-left: var(      --fcaw-full-bleed-offset,      calc(50% - min(600px, 50vw))    ) !important;    margin-right: 0 !important;    position: relative !important;  }  :host([data-fcaw-full-bleed="true"]) #tg-df-spreadsheet-filters {    width: min(      1500px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1500px !important;    margin-left: calc(      (        100% -        min(1500px, var(--fcaw-viewport-width, 100vw))      ) / 2    ) !important;    margin-right: 0 !important;  }  :host, :host *, :host *::before, :host *::after {    box-sizing: border-box;  }`,Ff=new WeakMap;function AS(){if(document.querySelector("style[data-fcaw-jump-navigation-protection]"))return;let e=document.createElement("style");e.setAttribute("data-fcaw-jump-navigation-protection",""),e.textContent=`    [${jf}="true"] {      opacity: 0 !important;      pointer-events: none !important;      visibility: hidden !important;    }  `,document.head.appendChild(e)}function wS(){let e=Array.from(document.querySelectorAll("span, p, div, strong, b")).filter(n=>n.childElementCount===0&&hS.test(n.textContent?.trim()||"")),t=new Set;for(let n of e)for(let a=n.parentElement;a&&a!==document.body;a=a.parentElement)if(getComputedStyle(a).position==="sticky"){t.add(a);break}return[...t]}function SS(e,t,n){let a=Ff.get(e)||new Set;n?a.add(t):a.delete(t),a.size>0?(Ff.set(e,a),e.setAttribute(jf,"true")):(Ff.delete(e),e.removeAttribute(jf))}function CS(e){if(e.dataset.fcawFullBleed!=="true"||typeof IntersectionObserver>"u")return;let t=wS().filter(a=>!a.contains(e));if(t.length===0)return;AS(),new IntersectionObserver(([a])=>{t.forEach(l=>SS(l,e,a.isIntersecting))},{threshold:0}).observe(e)}function RS({host:e,initialData:t,initialProps:n}){let[a]=(0,Lt.useState)(d1),l=DS(t,a),[i,r]=(0,Lt.useState)(n.query),[o,u]=(0,Lt.useState)(n.selectedBrands),[c,s]=(0,Lt.useState)(n.priceRange),[f,d]=(0,Lt.useState)(n.discountAmount),[m,v]=(0,Lt.useState)(n.sort),[A,b]=(0,Lt.useState)(!1),h=!!(A&&n.compactEmbed&&n.includeDeals!==!1),g=(0,Lt.useRef)(!1);return(0,Lt.useEffect)(()=>{let p=()=>{g.current||(g.current=!0,i1(r1(l,n.resultCount),n.query))};if(typeof IntersectionObserver>"u"){p();return}let y=new IntersectionObserver(([C])=>{C?.isIntersecting&&(p(),y.disconnect())},{threshold:.1});return y.observe(e),()=>y.disconnect()},[e,l,n.query]),(0,Lt.useEffect)(()=>{if(typeof IntersectionObserver>"u"){b(!0);return}let p=new IntersectionObserver(([y])=>{y?.isIntersecting&&(b(!0),p.disconnect())},{rootMargin:"800px 0px"});return p.observe(e),()=>p.disconnect()},[e]),(0,Vf.jsx)(Jv,{...n,region:a||"unavailable",initialData:l,warmInventory:A,refreshDealsOnViewport:h,query:i,selectedBrands:o,priceRange:c,discountAmount:f,sort:m,editorMode:!1,onQueryChange:r,onBrandSelect:u,onBrandToggle:p=>u(y=>y.includes(p)?y.filter(C=>C!==p):[...y,p]),onPriceRangeChange:s,onDiscountAmountChange:d,onSortChange:v})}function TS(e){try{let t=document.cookie.match(new RegExp(`(?:^|;\\s*)${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}catch{return}}function cc(e){let n=String(e||"").trim().toUpperCase().replace("_","-").split("-").at(-1);return n==="UK"?"GB":["US","GB","AU","CA","DE","FR","IT","ES","NL"].includes(n||"")?n:void 0}function d1(){let e=new URLSearchParams(window.location.search).get("area");return cc(e)||cc(TS("FTR_Country_Code"))||cc(document.documentElement.getAttribute("data-locale"))||cc(window.navigator.language)}function u1(e,t){let n=e.querySelector(t);if(n?.textContent)try{return JSON.parse(n.textContent)}catch(a){console.warn("Author widget configuration could not be parsed.",a);return}}function ES(e){return e?.reviewInventoryFormat!==nv||!e.allDeals?e:{...e,allDeals:av(e.allDeals)}}function DS(e,t){let n=t?e?.regionalDealManifests?.[t]:void 0;if(!n)return e;let a=e?.regionalDealRailData?.[t];return{...e,allDeals:void 0,deals:n,...a}}function c1(e){e.querySelectorAll("a[href]").forEach(t=>{(t.hasAttribute("data-fcaw-affiliate-link")||t.classList.contains("hawk-affiliate-link-deal-widget")||t.classList.contains("hawk-affiliate-link-container")||t.classList.contains("hawk-affiliate-link-deal-button"))&&(t.rel="sponsored nofollow noopener")})}function xS(e){let t=e.closest(".tg-df-card"),n=t?.dataset.fcawRevenueId||e.dataset.fcawRevenueId;if(n)return n;let a=[window.location.href,t?.dataset.productName||"",t?.dataset.merchant||"",t?.dataset.modelId||"",new Date().toDateString(),"tomsguide"].join("|"),l=0;for(let r=0;r<a.length;r+=1)l=(l<<5)-l+a.charCodeAt(r),l|=0;let i=String(Math.abs(l));for(;i.length<19;)l=(l<<5)-l+i.length,l|=0,i+=String(Math.abs(l));return i=i.slice(0,19),t&&(t.dataset.fcawRevenueId=i),i}function MS(e){let t=e.dataset.fcawOriginalLink||e.href;if(!t.includes("hawk-custom-tracking"))return!1;let n=d1();if(!n)return!1;let a=xS(e);return e.dataset.fcawOriginalLink=t,e.dataset.fcawRevenueId=a,e.href=t.replaceAll("hawk-custom-tracking",`tomsguide-${n.toLowerCase()}-${a}`),e.setAttribute("data-fcaw-hawklinks-requested","true"),!0}function _S(){return!!window.hawklinks?.version}function BS(e){let t=!1,n,a,l=()=>Array.from(e.querySelectorAll(".article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-widget[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-container[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-button[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested])")),i=()=>{t=!1;let u=l();if(u.length===0)return;let c=u.filter(s=>!MS(s));if(c.length!==0){if(!_S()){let s=Date.now();a??=s,!n&&s-a<yS&&(n=window.setTimeout(()=>{n=void 0,r()},pS));return}a=void 0,c.forEach(s=>s.setAttribute("data-fcaw-hawklinks-requested","true")),document.dispatchEvent(new CustomEvent("processArticle",{detail:{element:e}}))}},r=()=>{t||(t=!0,window.setTimeout(i,0))},o=new MutationObserver(r);return o.observe(e,{attributes:!0,attributeFilter:["href"],childList:!0,subtree:!0}),r(),()=>{o.disconnect(),n&&window.clearTimeout(n)}}function NS(e){if(e.dataset.fcawFullBleed!=="true")return;let t=()=>{let n=document.documentElement.clientWidth||window.innerWidth,a=Math.min(1200,n),l=Math.max(0,(n-a)/2),i=e.parentElement?.getBoundingClientRect().left||0;e.style.setProperty("--fcaw-full-bleed-offset",`${l-i}px`),e.style.setProperty("--fcaw-viewport-width",`${n}px`)};t(),window.addEventListener("resize",t,{passive:!0}),typeof ResizeObserver<"u"&&e.parentElement&&new ResizeObserver(t).observe(e.parentElement)}function OS(e){let t=window.matchMedia(fS),n=!1,a=new Set,l=new Map,i,r=()=>t.matches||e.getBoundingClientRect().width<gS,o=()=>{n||(n=!0,window.requestAnimationFrame(s))},u=()=>{if(typeof MutationObserver>"u")return;let f=new Set(Array.from(document.querySelectorAll(mS)));l.forEach((d,m)=>{f.has(m)&&m.isConnected||(d.disconnect(),l.delete(m))}),f.forEach(d=>{if(l.has(d))return;let m=new MutationObserver(o);m.observe(d,{attributes:!0,attributeFilter:["class","style"],childList:!0,subtree:!0}),l.set(d,m)})},c=f=>{let d=new Set(f);a.forEach(m=>{d.has(m)||(i?.unobserve(m),m.removeEventListener("transitionend",o),a.delete(m))}),f.forEach(m=>{a.has(m)||(i?.observe(m),m.addEventListener("transitionend",o),a.add(m))})},s=()=>{if(n=!1,u(),!r()){c([]),e.style.removeProperty("--fcaw-mobile-sticky-offset");return}let f=Number.parseFloat(getComputedStyle(e).getPropertyValue("--fcaw-publisher-sticky-offset"));if(Number.isFinite(f)&&f>=0){c([]),e.style.setProperty("--fcaw-mobile-sticky-offset",`${f}px`);return}let d=Array.from(document.querySelectorAll(vS)).filter(v=>{if(v.contains(e))return!1;let A=getComputedStyle(v).position;return A==="fixed"||A==="sticky"});c(d);let m=d.reduce((v,A)=>{let b=A.getBoundingClientRect();return b.top>2||b.bottom<=0||b.height<=0||b.height>window.innerHeight*.5?v:Math.max(v,b.bottom)},0);e.style.setProperty("--fcaw-mobile-sticky-offset",`${Math.ceil(m)}px`)};return typeof ResizeObserver<"u"&&(i=new ResizeObserver(o),i.observe(e)),s(),window.addEventListener("scroll",o,{capture:!0,passive:!0}),window.addEventListener("resize",o,{passive:!0}),t.addEventListener?.("change",o),()=>{window.removeEventListener("scroll",o,!0),window.removeEventListener("resize",o),t.removeEventListener?.("change",o),i?.disconnect(),a.forEach(f=>f.removeEventListener("transitionend",o)),a.clear(),l.forEach(f=>f.disconnect()),l.clear()}}function kS(e){if(e.dataset.fcawEnhanced==="true")return;let t=u1(e,"script[data-fcaw-config]");if(!t)return;let n={...t1(e1(t),{brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}),compactEmbed:t.compactEmbed,editorMode:!1,warmInventory:t.warmInventory},a=u1(e,"script[data-fcaw-preload]"),l=ES(a),i=e.querySelector("[data-fcaw-fallback]");if(!i)return;NS(e),CS(e),n.stickyMobileFilters!==!1&&OS(e),c1(i);let r=e.shadowRoot||e.attachShadow({mode:"open"}),o=e.querySelector(":scope > style[data-fcaw-host-protection]");if(o&&r.appendChild(o),!r.querySelector("style[data-fcaw-shadow-protection]")){let c=document.createElement("style");c.setAttribute("data-fcaw-shadow-protection",""),c.textContent=bS,r.appendChild(c)}i.querySelectorAll(":scope > style").forEach(c=>{r.appendChild(c)});let u=document.createElement("div");for(u.setAttribute("data-fcaw-mount","");i.firstChild;)u.appendChild(i.firstChild);i.remove(),r.appendChild(u),e.dataset.fcawEnhanced="true",a1(),e.dataset.fcawAnalyticsReady="true",o1(r),BS(r),(0,s1.createRoot)(u).render((0,Vf.jsx)(RS,{host:e,initialData:l,initialProps:n})),window.setTimeout(()=>c1(r),0)}function Yf(){document.querySelectorAll(dS).forEach(kS)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yf,{once:!0}):Yf();new MutationObserver(Yf).observe(document.documentElement,{childList:!0,subtree:!0});})();/*! Bundled license information:react/cjs/react.production.js:  (**   * @license React   * react.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)scheduler/cjs/scheduler.production.js:  (**   * @license React   * scheduler.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom.production.js:  (**   * @license React   * react-dom.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom-client.production.js:  (**   * @license React   * react-dom-client.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react/cjs/react-jsx-runtime.production.js:  (**   * @license React   * react-jsx-runtime.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)*/</script></div><h2 class="article-body__section" id="section-black-friday-controller-deals-in-the-uk"><span>Black Friday controller deals in the UK</span></h2><h2 id="where-are-the-best-black-friday-controller-deals-in-the-uk">Where are the best Black Friday controller deals in the UK?</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.co.uk/s?k=controllers&crid=60S1AC87VO31&sprefix=controller%2Caps%2C134&ref=nb_sb_noss_1" target="_blank">Big discounts on top-brand controllers</a></li><li><strong>Overclockers:</strong> <a href="https://www.overclockers.co.uk/peripherals/gamepads-game-controllers?q=controllers&_gl=1*hw2u4v*_up*MQ..*_ga*MTQ2NzEzNjg2OC4xNzkwNjgwODU3*_ga_123456*czE3OTA2ODA4NTckbzEkZzAkdDE3OTA2ODA4ODYkajMxJGwwJGgxODc0NzI0ODg.*_ga_7SS7XDNBS9*czE3OTA2ODA4NTckbzEkZzAkdDE3OTA2ODA4ODckajMwJGwwJGgw" target="_blank">A whole bunch of controllers to choose from</a></li><li><strong>Scan:</strong> <a href="https://www.scan.co.uk/shop/computer-hardware/game-controllers/all" target="_blank">Gamepads from just £15</a></li><li><strong>Box: </strong><a href="https://box.co.uk/xbox-controllers" target="_blank">Controllers for everyone</a></li><li><strong>Currys:</strong> <a href="https://www.currys.co.uk/gaming/controllers/controllers/pc-gaming-controllers" target="_blank">Controllers from as little as £20</a></li><li><strong>Argos: </strong><a href="https://www.argos.co.uk/search/controllers/?clickOrigin=searchbar:search:term:controllers" target="_blank">Good prices on budget to high-end controllers</a></li></ul><div class="product"><a data-dimension112="f2d49e0a-cf90-11f1-954c-df904028710e" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="£18.99" href="https://www.amazon.co.uk/GameSir-Wireless-Controller-Bluetooth-Vibration-Nova-Lite-White/dp/B0CMCQ6WMC" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="soVwABeC6nbkWkMrnx2xcR" name="GameSir Nova Lite 2.4g Wireless Controller.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR-1920-80.jpg" mos="" align="middle" fullscreen="" width="200" height="200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/GameSir-Wireless-Controller-Bluetooth-Vibration-Nova-Lite-White/dp/B0CMCQ6WMC" target="_blank" rel="nofollow" data-dimension112="f2d49e0a-cf90-11f1-954c-df904028710e" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="£18.99">Nova Lite: was £24.99 now £18.99</a></strong><br>This gaming controller remains our <a href="https://www.pcgamer.com/best-controller-for-pc-gaming/#section-the-best-budget-controller" target="_blank">top budget pick</a> for good reason. <a href="https://www.pcgamer.com/hardware/controllers/gamesir-nova-lite-controller-review/" target="_blank">In our review</a>, James was particularly impressed by just how much GameSir cram into such an affordable package, highlighting the controller's Hall Effect sticks and 2.4 GHz connectivity.</p><p><strong>Key specs: Hall effect thumb sticks | 2.4G wireless | 10 h battery</strong><a class="view-deal button" href="https://www.amazon.co.uk/GameSir-Wireless-Controller-Bluetooth-Vibration-Nova-Lite-White/dp/B0CMCQ6WMC" target="_blank" rel="nofollow" data-dimension112="f2d49e0a-cf90-11f1-954c-df904028710e" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="£18.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49e6e-cf90-11f1-b9d0-19e1cc343e86" data-action="Deal Block" data-label="Nova Lite 2" data-dimension48="Nova Lite 2" data-dimension25="£29.99" href="https://www.amazon.co.uk/GameSir-Lite-Controller-Joysticks-Remappable/dp/B0F3D25PD3/ref=sr_1_4" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="VGAcVx239apmX4EGiGsDnE" name="1781519450.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VGAcVx239apmX4EGiGsDnE-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1499" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/GameSir-Lite-Controller-Joysticks-Remappable/dp/B0F3D25PD3/ref=sr_1_4" target="_blank" rel="nofollow" data-dimension112="f2d49e6e-cf90-11f1-b9d0-19e1cc343e86" data-action="Deal Block" data-label="Nova Lite 2" data-dimension48="Nova Lite 2" data-dimension25="£29.99">Nova Lite 2: £29.99</a></strong><br>An upgraded and improved version of the Nova Lite, this controller sets the standard for what you can score for a relatively slim amount of money. Hall effect everywhere and a mechanical D-pad.</p><p><strong>Key specs: Hall effect joysticks + triggers | 2.4G wireless | 1000 Hz polling</strong><a class="view-deal button" href="https://www.amazon.co.uk/GameSir-Lite-Controller-Joysticks-Remappable/dp/B0F3D25PD3/ref=sr_1_4" target="_blank" rel="nofollow" data-dimension112="f2d49e6e-cf90-11f1-b9d0-19e1cc343e86" data-action="Deal Block" data-label="Nova Lite 2" data-dimension48="Nova Lite 2" data-dimension25="£29.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49ec8-cf90-11f1-8050-6b2fcad339ab" data-action="Deal Block" data-label="Pro 3" data-dimension48="Pro 3" data-dimension25="£52.99" href="https://www.amazon.co.uk/8Bitdo-Pro-Bluetooth-Controller-Switch/dp/B0FFGQ6J35" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="PkKDcfAPjhcUAT2setQ2WW" name="8BitDo Pro 3 product image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PkKDcfAPjhcUAT2setQ2WW-1920-80.png" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/8Bitdo-Pro-Bluetooth-Controller-Switch/dp/B0FFGQ6J35" target="_blank" rel="nofollow" data-dimension112="f2d49ec8-cf90-11f1-8050-6b2fcad339ab" data-action="Deal Block" data-label="Pro 3" data-dimension48="Pro 3" data-dimension25="£52.99">Pro 3: was £59.99 now £52.99</a></strong><br>Though a little on the narrower side, this well-balanced controller remains comfortable to play through long sessions. A 20-hour battery life, plus the option to game while you charge (even without using the included dock), ensures this gamepad won't leave you high and dry when you need it most.</p><p><strong>Key specs: TMR sticks | Hall effect triggers | Swappable ABXY Buttons | Charging dock | 2.4 G wireless | 20h battery</strong><a class="view-deal button" href="https://www.amazon.co.uk/8Bitdo-Pro-Bluetooth-Controller-Switch/dp/B0FFGQ6J35" target="_blank" rel="nofollow" data-dimension112="f2d49ec8-cf90-11f1-8050-6b2fcad339ab" data-action="Deal Block" data-label="Pro 3" data-dimension48="Pro 3" data-dimension25="£52.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49f2c-cf90-11f1-bd2c-a1397bc92fef" data-action="Deal Block" data-label="Wolverine V3 Pro" data-dimension48="Wolverine V3 Pro" data-dimension25="£149.99" href="https://www.amazon.co.uk/Razer-Wolverine-Pro-Controller-thumbsticks/dp/B0D7W5L9YY/ref=sr_1_1_sspa" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1508px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="bEho7QQ2jdCF6Vr3xoypw" name="1781520197.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/bEho7QQ2jdCF6Vr3xoypw-1920-80.jpg" mos="" align="middle" fullscreen="" width="1508" height="1498" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Razer-Wolverine-Pro-Controller-thumbsticks/dp/B0D7W5L9YY/ref=sr_1_1_sspa" target="_blank" rel="nofollow" data-dimension112="f2d49f2c-cf90-11f1-bd2c-a1397bc92fef" data-action="Deal Block" data-label="Wolverine V3 Pro" data-dimension48="Wolverine V3 Pro" data-dimension25="£149.99">Wolverine V3 Pro: was £199.99 now £149.99</a></strong><br>A superb controller that's sufficiently endgame for most players. Every button and trigger offers excellent feedback and it features Hall effect sticks for improved stick drift resistance.</p><p><strong>Key specs: Hall effect joysticks | 2.4G wireless | mecha-tactile buttons</strong><a class="view-deal button" href="https://www.amazon.co.uk/Razer-Wolverine-Pro-Controller-thumbsticks/dp/B0D7W5L9YY/ref=sr_1_1_sspa" target="_blank" rel="nofollow" data-dimension112="f2d49f2c-cf90-11f1-bd2c-a1397bc92fef" data-action="Deal Block" data-label="Wolverine V3 Pro" data-dimension48="Wolverine V3 Pro" data-dimension25="£149.99">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/controllers/black-friday-controller-deals/</link>
                                                                            <description>
                            <![CDATA[ With the Black Friday sales rolling around again, peripherals like controllers could have some of the best deals. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">T9FZmNwwcE8Nt9rGPomNdn</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/SHB4vmy4M9VU5rbKmWiXW5-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 22 Oct 2026 10:04:38 +0000</pubDate>                                                                                                                                <updated>Sat, 24 Oct 2026 09:54:48 +0000</updated>
                                                                                                                                            <category><![CDATA[Controllers]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                <author><![CDATA[ dave.james@futurenet.com (Dave James) ]]></author>                    <dc:creator><![CDATA[ Dave James ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-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/SHB4vmy4M9VU5rbKmWiXW5-1920-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Black Friday asset showing PC controllers on an abstract background]]></media:description>                                                            <media:text><![CDATA[Black Friday asset showing PC controllers on an abstract background]]></media:text>
                                <media:title type="plain"><![CDATA[Black Friday asset showing PC controllers on an abstract background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/SHB4vmy4M9VU5rbKmWiXW5-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If there's one thing I'm sure of this November, it's that there will be some great Black Friday controller deals going around. It's going to still be tough to get full systems, graphics cards, and especially memory and storage at big discounts, but there will be peripherals going for a song. That's particular exciting because things have been changing in controllers over the past year, and previous models are still quality, but will likely have big discounts attached to them.</p><p><strong>👉</strong><a href="https://www.pcgamer.com/black-friday-pc-gaming-deals/" target="_blank"><strong>All our favorite Black Friday PC gaming deals</strong></a><strong>👈</strong></p><p>When it comes to the key high-end technology of today, such as TMR sticks and Hall effect triggers, that isn't necessarily the preserve of the super-premium $200 controllers. Companies such as GameSir and Easy SMX have brought these features down into the mainstream and you can find some of the <a href="https://www.pcgamer.com/best-controller-for-pc-gaming/" target="_blank">best PC controllers</a> sporting them for bargain prices right now. </p><h2 id="where-to-find-the-best-black-friday-controller-deals">Where to find the best Black Friday controller deals</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.com/s?k=controllers&crid=39ANCIZGH03O&sprefix=controller%2Caps%2C179&ref=nb_sb_noss_1" target="_blank"><strong>All the pads you could ever want</strong></a></li><li><strong>Walmart:</strong> <a href="https://www.walmart.com/search?q=controllers" target="_blank">Solid controllers, series savings</a></li><li><strong>Best Buy:</strong> <a href="https://www.bestbuy.com/site/searchpage.jsp?id=pcat17071&st=controllers" target="_blank">Big name pads with big value discounts</a></li><li><strong>Newegg:</strong> <a href="https://www.newegg.com/p/pl?d=controllers" target="_blank">Big savings on big brand controllers</a></li></ul><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-t4n1495 *:not(svg):not(path) { box-sizing: border-box; }    #widget-t4n1495 h1, #widget-t4n1495 p, #widget-t4n1495 h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-t4n1495, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-t4n1495); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-t4n1495 tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-t4n1495 tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-t4n1495 td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-t4n1495: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-t4n1495: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-t4n1495 td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-t4n1495 td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-t4n1495 td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-t4n1495 td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-t4n1495 td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-t4n1495 td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-t4n1495: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-t4n1495: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-t4n1495"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 55 controller reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Controller";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%228NKgZmo3fxQQhxjqHrn2AB%22%2C%22title%22%3A%22Scuf%20Omega%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fscuf-omega-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-07T15%3A02%3A11Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FPfiU4gZmnbsVoGaYsi3iY8.jpg%22%2C%22strapline%22%3A%22Closer%20to%20an%20Alpha%20or%20Beta%20than%20an%20Omega.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22wireless%20controller%22%2C%22wired%20controller%22%2C%22game%20controller%22%2C%22PC%20controller%22%2C%22Scuf%22%2C%22Scuf%20Omega%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22Closer%20to%20an%20Alpha%20or%20Beta%20than%20an%20Omega.%22%7D%2C%7B%22id%22%3A%22UqYpGJHzTjVNBBmU2SrrJn%22%2C%22title%22%3A%22GameSir%20T7%20Pro%20Sugar%20Whirl%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fgamesir-t7-pro-sugar-whirl-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-14T13%3A13%3A19Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fmx7yo6es2nmRYz34Vbuagg.jpg%22%2C%22strapline%22%3A%22Not%20quite%20the%20sweetest%20of%20treats.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22Review%22%2C%22Hardware%22%2C%22GameSir%22%2C%22Xbox%20Wireless%20Controller%22%2C%22Pink%22%2C%22Blue%22%2C%22purple%22%2C%22wireless%20controller%22%2C%22charging%22%2C%22charging%20stand%22%2C%22dock%22%2C%22TMR%20sticks%22%2C%22Hall%20effect%22%5D%2C%22score%22%3A75%2C%22summary%22%3A%22Not%20quite%20the%20sweetest%20of%20treats.%22%7D%2C%7B%22id%22%3A%22LxaJz5yKcWogc5hm5z84mj%22%2C%22title%22%3A%22GameSir%20G7%20Pro%208K%20Aimlabs%20Edition%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fgamesir-g7-pro-8k-aimlabs-edition-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-05-01T11%3A37%3A15Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FuT6Y9ABVa5DY9xXcAJrEwf.jpg%22%2C%22strapline%22%3A%22Would%20you%20pay%20%2410%20more%20for%20higher%20polling%3F%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22PC%20controller%22%2C%22game%20controller%22%2C%22wireless%20controller%22%2C%22Hardware%22%2C%22GameSir%22%2C%22GameSir%20G7%20Pro%208K%22%2C%22TMR%22%2C%22TMR%20sticks%22%2C%22GameSir%20g7%20Pro%208K%20Aimlabs%20Edition%22%5D%2C%22score%22%3A84%2C%22summary%22%3A%22Would%20you%20pay%20%2410%20more%20for%20higher%20polling%3F%22%7D%2C%7B%22id%22%3A%22B4p3aPJNV2Ckc47kSywXKQ%22%2C%22title%22%3A%22Steam%20Controller%20(2026)%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fsteam-controller-2026-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-04-27T17%3A00%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FaUXA7Xr75b7Xuvt2S6eeKY.jpg%22%2C%22strapline%22%3A%22Second%20time's%20the%20charm.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Valve%22%2C%22Steam%20Controller%22%2C%22controller%22%2C%22game%20pad%22%2C%22Steam%22%5D%2C%22score%22%3A83%2C%22summary%22%3A%22Second%20time's%20the%20charm.%22%7D%2C%7B%22id%22%3A%22WRLnnowV6sabshmTC8HujQ%22%2C%22title%22%3A%22EasySMX%20D05%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Feasysmx-d05-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-31T15%3A00%3A43Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FPqjBcwBzNJUwKiWav7NBZF.jpg%22%2C%22strapline%22%3A%22You%20can%20get%20Hall%20effect%20controllers%20slightly%20cheaper%2C%20but%20you'd%20struggle%20to%20find%20as%20feature-rich%20a%20package%20without%20some%20heavy%2C%20heavy%20sales.%20%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22wired%20controller%22%2C%22wireless%20controller%22%2C%22budget%22%2C%22Hall%20effect%22%2C%22EasySMX%22%2C%22EasySMX%20D10%22%2C%22Hardware%22%5D%2C%22score%22%3A87%2C%22summary%22%3A%22You%20can%20get%20Hall%20effect%20controllers%20slightly%20cheaper%2C%20but%20you'd%20struggle%20to%20find%20as%20feature-rich%20a%20package%20without%20some%20heavy%2C%20heavy%20sales.%20%22%7D%2C%7B%22id%22%3A%22fM5EQd4AH6qDUADhLjdeqe%22%2C%22title%22%3A%22EasySMX%20D10%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Feasysmx-d10-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-27T15%3A14%3A14Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FUgLVpPDZm7T9ZV36sAHGz4.jpg%22%2C%22strapline%22%3A%22A%20feature-rich%20budget%20TMR%20controller%20that%20only%20sometimes%20feels%20like%20a%20compromise.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22game%20controller%22%2C%22budget%22%2C%22TMR%22%2C%22TMR%20sticks%22%2C%22Hall%20effect%22%2C%22Review%22%2C%22Hardware%22%5D%2C%22score%22%3A80%2C%22summary%22%3A%22A%20feature-rich%20budget%20TMR%20controller%20that%20only%20sometimes%20feels%20like%20a%20compromise.%22%7D%2C%7B%22id%22%3A%22euxMmPNTRBtjcL6Rz4W3kD%22%2C%22title%22%3A%22Hyperkin%20Competitor%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fhyperkin-competitor-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-24T11%3A59%3A23Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F3TEoYfnGkzXiCm8xisUHGZ.jpg%22%2C%22strapline%22%3A%22It%20competes%20with%20a%20home%20field%20advantage%20on%20bang%20for%20buck%2C%20but%20can%20fall%20short%20on%20away%20games.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22controller%22%2C%22game%20pad%22%2C%22Hyperkin%22%5D%2C%22score%22%3A72%2C%22summary%22%3A%22It%20competes%20with%20a%20home%20field%20advantage%20on%20bang%20for%20buck%2C%20but%20can%20fall%20short%20on%20away%20games.%22%7D%2C%7B%22id%22%3A%22fjGZ5xcK8LaBGjLhbCCzjU%22%2C%22title%22%3A%22Moza%20AB9%20FFB%20Base%20%2B%20MH16%20Flightstick%20%2B%20MTP%20Throttle%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fmoza-ab9-ffb-base-mh16-flightstick-mtp-throttle-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-02-18T14%3A48%3A01Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F7sPx82rcLMVn5XmFgPZj97.jpg%22%2C%22strapline%22%3A%22One%20for%20the%20serious%20flight%20simmers%2C%20but%20a%20very%20impressive%20experience.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Flight%20Sims%22%2C%22force%20feedback%22%2C%22MOZA%22%2C%22joystick%22%2C%22flight%20stick%22%2C%22throttle%20controller%22%2C%22Moza%20AB9%20FFB%20Base%22%2C%22Moza%20MH16%20Flightstick%22%2C%22MSFS%202024%22%5D%2C%22score%22%3A86%2C%22summary%22%3A%22One%20for%20the%20serious%20flight%20simmers%2C%20but%20a%20very%20impressive%20experience.%22%7D%2C%7B%22id%22%3A%22NobwmgxJUWpkrLFPmkrnxL%22%2C%22title%22%3A%22Victrix%20Pro%20BFG%20Reloaded%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fvictrix-pro-bfg-reloaded-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222025-11-05T10%3A33%3A51Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fw5YASeamdYp7YnYfoUvq.jpg%22%2C%22strapline%22%3A%22A%20boon%20for%20fight%20pad%20lovers%2C%20but%20not%20a%20controller%20for%20the%20mainstream.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22PDP%22%2C%22Turtle%20Beach%22%2C%22Hardware%22%2C%22controller%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20boon%20for%20fight%20pad%20lovers%2C%20but%20not%20a%20controller%20for%20the%20mainstream.%22%7D%2C%7B%22id%22%3A%22ifyAnNg9BLtnbkM7627JrR%22%2C%22title%22%3A%228BitDo%20Pro%203%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2F8bitdo-pro-3-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222025-10-24T16%3A21%3A45Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F2ViNbtNwhhNsspHfd3k2A5.jpg%22%2C%22strapline%22%3A%22My%20new%20everyday%20controller%2C%20despite%20its%20flaws.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22controller%22%2C%22wireless%20controller%22%2C%228bitdo%22%2C%228BitDo%20Pro%203%22%2C%22PC%20controller%22%5D%2C%22score%22%3A76%2C%22summary%22%3A%22My%20new%20everyday%20controller%2C%20despite%20its%20flaws.%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 55;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Controller Widget"></iframe></div><h2 class="article-body__section" id="section-black-friday-controller-deals"><span>Black Friday controller deals </span></h2><div class="product"><a data-dimension112="f2d49b12-cf90-11f1-956f-affb4a3fb0cb" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="$24.99" href="https://www.walmart.com/ip/GameSir-Nova-Lite-USB-Gamepad-Wireless-Bluetooth-Joystick-for-Apple-Arcade-Games/5394301595" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:425px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qrNkN3FB5J5tnFHGYuiYtE" name="Nova Lite" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qrNkN3FB5J5tnFHGYuiYtE-1920-80.jpg" mos="" align="middle" fullscreen="" width="425" height="425" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>It's incredible to think you can spend so little and get a stick drift-resistant wireless controller that doesn't completely suck. Luckily for the GameSir Nova Lite, it does all of the above and manages to feel good and light in the hands, too. </p><p><strong>Key specs: Wireless (Bluetooth and 2.4 GHz) | Asymmetric | Hall effect</strong><a class="view-deal button" href="https://www.walmart.com/ip/GameSir-Nova-Lite-USB-Gamepad-Wireless-Bluetooth-Joystick-for-Apple-Arcade-Games/5394301595" target="_blank" rel="nofollow" data-dimension112="f2d49b12-cf90-11f1-956f-affb4a3fb0cb" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="$24.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49b80-cf90-11f1-b190-2d446c3cfe10" data-action="Deal Block" data-label="Ultimate 2C" data-dimension48="Ultimate 2C" data-dimension25="$29.99" href="https://www.amazon.com/dp/B0D736BCNM/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="VzGnuWAwAyES8AAmGqAW9d" name="8BitDo Ultimate 2C Wireless Controller.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VzGnuWAwAyES8AAmGqAW9d-1920-80.jpg" mos="" align="middle" fullscreen="" width="200" height="200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0D736BCNM/?th=1" target="_blank" rel="nofollow" data-dimension112="f2d49b80-cf90-11f1-b190-2d446c3cfe10" data-action="Deal Block" data-label="Ultimate 2C" data-dimension48="Ultimate 2C" data-dimension25="$29.99">Ultimate 2C: $29.99</a></strong><br>We've already raved about Hall effect joysticks and how they spell the end for the dreaded stick drift. In this wireless gaming controller, they're a welcome feature, but this handful of gaming hardware packs a few quirky surprises too. For instance, there are <em>extra </em>bumper buttons.</p><p><strong>Key specs: Hall effect sticks, triggers | 2.4G wireless | 19 h battery</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0D736BCNM/?th=1" target="_blank" rel="nofollow" data-dimension112="f2d49b80-cf90-11f1-b190-2d446c3cfe10" data-action="Deal Block" data-label="Ultimate 2C" data-dimension48="Ultimate 2C" data-dimension25="$29.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49be4-cf90-11f1-8803-cb1cb1128c9d" data-action="Deal Block" data-label="Ultimate 3-mode" data-dimension48="Ultimate 3-mode" data-dimension25="$39.99" href="https://www.amazon.com/Ultimate-Controller-Joysticks-Triggers-Gaming-Console/dp/B0D1VHH4C5?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="TsR8EiJ3DDMXkFgnBrMDYB" name="PCGamer Deal Block (34)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TsR8EiJ3DDMXkFgnBrMDYB-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Ultimate-Controller-Joysticks-Triggers-Gaming-Console/dp/B0D1VHH4C5?th=1" target="_blank" rel="nofollow" data-dimension112="f2d49be4-cf90-11f1-8803-cb1cb1128c9d" data-action="Deal Block" data-label="Ultimate 3-mode" data-dimension48="Ultimate 3-mode" data-dimension25="$39.99">Ultimate 3-mode: was $69.99 now $39.99</a></strong><br>Though not the latest Ultimate controller to date, it is the best-priced right now, and with a cute included charging dock and stick-drift-resistant sticks, it's sure to last you a long time. The only real caveat to me is the 250 Hz polling (200 Hz wireless), which is better than Sony and Microsoft, but it means a 4-5 ms response time to your device. </p><p><strong>Key specs: Wired and Wireless | Hall effect joysticks and impulse triggers | 2 back paddle buttons | 3.5 mm jack | up to 250 Hz polling | 250 g</strong><a class="view-deal button" href="https://www.amazon.com/Ultimate-Controller-Joysticks-Triggers-Gaming-Console/dp/B0D1VHH4C5?th=1" target="_blank" rel="nofollow" data-dimension112="f2d49be4-cf90-11f1-8803-cb1cb1128c9d" data-action="Deal Block" data-label="Ultimate 3-mode" data-dimension48="Ultimate 3-mode" data-dimension25="$39.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49c48-cf90-11f1-96fc-4774f6b5c449" data-action="Deal Block" data-label="X05 Pro" data-dimension48="X05 Pro" data-dimension25="$45.99" href="https://www.amazon.com/EasySMX-X05Pro-Wireless-Gaming-Controller-Charging/dp/B0GVS7HTWZ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:425px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="3eZyZnfyR9iAHvwpLaYTFo" name="D05" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/3eZyZnfyR9iAHvwpLaYTFo-1920-80.jpg" mos="" align="middle" fullscreen="" width="425" height="425" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The X05 Pro doesn't look like a budget controller. It uses Hall effect for the thumbsticks, which makes it resistant to stick drift. Moreover, it's wireless and comes with a charging dock. It's an easy pick even at full price.</p><p><strong>Key specs: Wireless (2.4 + Bluetooth) | HE sticks </strong><a class="view-deal button" href="https://www.amazon.com/EasySMX-X05Pro-Wireless-Gaming-Controller-Charging/dp/B0GVS7HTWZ" target="_blank" rel="nofollow" data-dimension112="f2d49c48-cf90-11f1-96fc-4774f6b5c449" data-action="Deal Block" data-label="X05 Pro" data-dimension48="X05 Pro" data-dimension25="$45.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49cac-cf90-11f1-b539-5f731982b2fb" data-action="Deal Block" data-label="Wireless controller" data-dimension48="Wireless controller" data-dimension25="$49.49" href="https://www.walmart.com/ip/Microsoft-Xbox-Wireless-Controller-Carbon-Black/15060559533?classType=VARIANT&athbdg=L1200&from=/search" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="YTRwUu9W6d8x3mJzaimi69" name="1781604007.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YTRwUu9W6d8x3mJzaimi69-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="2000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/Microsoft-Xbox-Wireless-Controller-Carbon-Black/15060559533?classType=VARIANT&athbdg=L1200&from=/search" target="_blank" rel="nofollow" data-dimension112="f2d49cac-cf90-11f1-b539-5f731982b2fb" data-action="Deal Block" data-label="Wireless controller" data-dimension48="Wireless controller" data-dimension25="$49.49">Wireless controller: was $64 now $49.49</a></strong><br>It may be vulnerable to stick drift (and that's a big downside), but it's hard to deny the quality on show with Microsoft's Xbox controller. Textured grips, clicky buttons, a nice weight and feel: it's got everything you need, ergonomically speaking.</p><p><strong>Key specs: Wireless | Asymmetric sticks </strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/microsoft-xbox-wireless-controller-for-xbox-series-x-xbox-series-s-xbox-one-pcs-and-cloud-enabled-devices-deep-pink/JJGXPXQ257" target="_blank">Best Buy $69.99</a> | <a href="https://www.amazon.com/Xbox-Wireless-Gaming-Controller-Headsets-Console/dp/B0F1J12R6N/ref=sr_1_3" target="_blank">Amazon $54.99</a></p></div><div class="product"><a data-dimension112="f2d49d10-cf90-11f1-8cdb-b190f9520499" data-action="Deal Block" data-label="Valor Pro (wired)" data-dimension48="Valor Pro (wired)" data-dimension25="$109.95" href="https://www.amazon.com/gp/aw/d/B0DTB3F17W" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:964px;"><p class="vanilla-image-block" style="padding-top:98.96%;"><img id="Cyg8mvo5nBb2p5NVftwaoj" name="1792663014.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Cyg8mvo5nBb2p5NVftwaoj-1920-80.jpg" mos="" align="middle" fullscreen="" width="964" height="954" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/gp/aw/d/B0DTB3F17W" target="_blank" rel="nofollow" data-dimension112="f2d49d10-cf90-11f1-8cdb-b190f9520499" data-action="Deal Block" data-label="Valor Pro (wired)" data-dimension48="Valor Pro (wired)" data-dimension25="$109.95">Valor Pro (wired): $109.95</a></strong><br>This is the <a href="https://www.pcgamer.com/best-controller-for-pc-gaming/#section-the-best-wired-controller" target="_blank">best wired controller for PC gaming</a> because it's just so damn satisfying to use. Everything about it screams quality, from the clicky DPAD to thunky back paddles. And it's fairly modular and customizable, too.</p><p><strong>Key specs: Wired (USB-C) | Hall effect thumbsticks | 260 g</strong></p><p><strong>Price check: </strong><a href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-black" target="_blank">Scuf OOS</a><a class="view-deal button" href="https://www.amazon.com/gp/aw/d/B0DTB3F17W" target="_blank" rel="nofollow" data-dimension112="f2d49d10-cf90-11f1-8cdb-b190f9520499" data-action="Deal Block" data-label="Valor Pro (wired)" data-dimension48="Valor Pro (wired)" data-dimension25="$109.95">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49d6a-cf90-11f1-860e-0521650de222" data-action="Deal Block" data-label="Wolverine V3 Pro 8K" data-dimension48="Wolverine V3 Pro 8K" data-dimension25="$151.99" href="https://www.amazon.com/dp/B0FC9DTDJ3" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="oyWyECCjM2npsCm4FAktzU" name="PCGamer Deal Block (9)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oyWyECCjM2npsCm4FAktzU-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>With a great feel, superb specs, and a bunch of remappable buttons, the Wolverine V3 Pro 8K is not only viable as a competitive choice, but comfy enough for everyday use. </p><p><strong>Key specs: Up to 8,000 Hz | TMR thumbsticks | Hall effect triggers |</strong> <strong>included carry case | Wireless and wired | 20 hour battery life (with 1,000 Hz polling)</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FC9DTDJ3" target="_blank" rel="nofollow" data-dimension112="f2d49d6a-cf90-11f1-860e-0521650de222" data-action="Deal Block" data-label="Wolverine V3 Pro 8K" data-dimension48="Wolverine V3 Pro 8K" data-dimension25="$151.99">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><div class="vizualizer-embed"><fc-author-commerce-widget data-fcaw-version="1" data-fcaw-full-bleed="false">  <style data-fcaw-host-protection>fc-author-commerce-widget[data-fcaw-version="1"] {  display: block !important;  width: 100% !important;  min-width: 0 !important;  max-width: none !important;  isolation: isolate !important;  contain: style !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]{  width: min(    1200px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1200px !important;  margin-left: var(    --fcaw-full-bleed-offset,    calc(50% - min(600px, 50vw))  ) !important;  margin-right: 0 !important;  position: relative !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]  #tg-df-spreadsheet-filters {  width: min(    1500px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1500px !important;  margin-left: calc(    (      100% -      min(1500px, var(--fcaw-viewport-width, 100vw))    ) / 2  ) !important;  margin-right: 0 !important;}fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::before,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::after {  box-sizing: border-box;}</style>  <div data-fcaw-fallback class="fcaw-v1-fallback">    <style>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with 'tg-df-' to prevent CMS style leakage.    */    .tg-df-container { user-select: text; -webkit-user-select: text;      container-type: inline-size;      container-name: tg-df;                  --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]    {      width: min(        1200px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1200px !important;      margin-left: calc(        (          100% -          min(1200px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;      position: relative !important;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]      #tg-df-spreadsheet-filters {      width: min(        1500px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1500px !important;      margin-left: calc(        (          100% -          min(1500px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: var(--tg-df-blue);    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }        .tg-df-filters {      display: flex;      justify-content: center;      width: 100%;      gap: 12px;      margin: 0 auto;      max-width: 42rem;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;      max-width: 280px;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    .tg-df-scroll-btn {      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 4px;    }    .tg-df-scroll-btn.right {      right: 4px;    }    @container tg-df (max-width: 768px) {      .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;      margin: 0 auto;    }    .tg-df-filters {        justify-content: center;        width: 100%;        margin: 0 auto;        margin-bottom: -320px;        padding: 0 0 320px 0;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: calc(100% + 32px);      max-width: none;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;      margin: 0 -16px -16px -16px;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }    .tg-df-buying-guide-badge {      left: auto;      right: 12px;      max-width: calc(100% - 24px);      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges { position: absolute; bottom: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; z-index: 10; }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-card-listings {      margin: 0 0 12px;    }    .tg-df-card-listings-title {      display: block;      color: var(--tg-df-text-muted);      font-size: 11px;      font-weight: 700;      letter-spacing: 0.45px;      line-height: 1.2;      margin-bottom: 4px;      text-transform: uppercase;    }    .tg-df-card-listings-links {      border-top: 1px solid var(--tg-df-border);    }    .tg-df-container .tg-df-card-listing-link {      align-items: center;      border-bottom: 1px solid var(--tg-df-border);      box-sizing: border-box;      color: var(--tg-df-blue);      display: flex;      font-size: 13px;      font-weight: 700;      justify-content: space-between;      line-height: 1.2;      min-height: 34px;      padding: 5px 2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-listing-link::after {      content: '↗';      font-size: 14px;      font-weight: 600;      margin-left: 8px;    }    .tg-df-container .tg-df-card-listing-link:hover,    .tg-df-container .tg-df-card-listing-link:focus-visible {      background: #f8fafc;      color: var(--tg-df-blue);      outline: 2px solid var(--tg-df-blue);      outline-offset: -2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: calc(100% + 32px);      max-width: none;      box-sizing: border-box;      background-color: var(--tg-df-blue);      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;      margin: 0 -16px -16px -16px;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      filter: brightness(0.85);    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /* Optional mobile 2x2 filter grid */    .tg-df-mobile-2x2-container {      display: none;      width: 100%;      margin: 0 0 16px 0;      position: relative;      z-index: 30;    }    .tg-df-mobile-2x2-grid {      display: grid;      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);      width: 100%;      border: 1px solid var(--tg-df-border, #e2e8f0);      background: var(--tg-df-bg, #ffffff);    }    .tg-df-container .tg-df-mobile-grid-cell {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      min-width: 0;      padding: 12px 14px;      font-family: inherit;      font-size: 11px;      font-weight: 600;      line-height: 1.2;      text-transform: uppercase;      letter-spacing: 0.5px;      text-align: left;      color: var(--tg-df-text-muted, #64748b);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-mobile-grid-cell > span {      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }    .tg-df-mobile-grid-cell > svg {      flex: 0 0 auto;      margin-left: 8px;      transition: transform 0.15s ease;    }    .tg-df-mobile-grid-cell > svg.is-open {      transform: rotate(180deg);    }    .tg-df-mobile-grid-cell {      border-bottom: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-grid-cell:nth-child(odd) {      border-right: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-2x2-grid--even .tg-df-mobile-grid-cell:nth-last-child(-n + 2) {      border-bottom: 0;    }    .tg-df-mobile-2x2-grid--odd .tg-df-mobile-grid-cell:last-child {      grid-column: 1 / -1;      border-right: 0;      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-grid-cell.active,    .tg-df-container .tg-df-mobile-grid-cell:hover {      background: var(--tg-df-bg-secondary, #f8fafc);      color: var(--tg-df-text, #0f172a);    }    .tg-df-container .tg-df-mobile-grid-cell.has-active-filter {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;    }    .tg-df-mobile-menu-drawer {      width: 100%;      max-height: 260px;      overflow-y: auto;      overscroll-behavior: contain;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-top: 0;      background: var(--tg-df-bg, #ffffff);      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);    }    .tg-df-container .tg-df-mobile-menu-item {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      width: 100%;      min-height: 42px;      padding: 12px 16px;      font-family: inherit;      font-size: 12px;      font-weight: 500;      line-height: 1.3;      text-align: left;      color: var(--tg-df-text, #0f172a);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-bottom: 1px solid #f1f5f9;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-container .tg-df-mobile-menu-item:last-child {      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-menu-item.selected {      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.08);      font-weight: 600;    }    .tg-df-container .tg-df-mobile-menu-item:hover {      background: var(--tg-df-bg-secondary, #f8fafc);    }    .tg-df-mobile-cell-badge {      display: inline-flex;      align-items: center;      justify-content: center;      padding: 2px 6px;      margin-left: 4px;      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.1);      border-radius: 9999px;      font-size: 10px;      font-weight: 700;    }    @container tg-df (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    @media (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    /* A non-full-bleed desktop embed is constrained to the article column.       Reuse the compact filter grid there instead of squeezing the rails. */    @container tg-df (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    @media (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-mobile-authors { gap: 16px !important; }      .tg-df-mobile-authors .tg-df-author-row-item { width: 56px !important; }      .tg-df-mobile-authors .tg-df-author-img-wrapper { width: 48px !important; height: 48px !important; }      .tg-df-mobile-authors .tg-df-author-brand-logo { width: 18px !important; height: 18px !important; bottom: -2px !important; right: -2px !important; }      .tg-df-mobile-authors .tg-df-author-row-name { font-size: 11px !important; }      .tg-df-mobile-authors .tg-df-author-row-role { font-size: 10px !important; }            .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-controls {        padding: 16px 0 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 8px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    @media (max-width: 599px) {      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }        .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: var(--tg-df-blue);      position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }      .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }        .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;      scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-scroll-left {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: rgba(255, 255, 255, 0.4);      color: var(--tg-df-blue);      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);      border: none;      cursor: pointer;      transition: background-color 0.2s;      margin-top: -4px;      z-index: 10;    }    .tg-df-container .tg-df-carousel-scroll-right {      right: 0;    }    .tg-df-container .tg-df-carousel-scroll-left {      left: 0;    }    .tg-df-container .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-scroll-left:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left {       height: 30px;       width: 30px;       background-color: rgba(255, 255, 255, 0.8);       box-shadow: 0 2px 4px rgba(0,0,0,0.1);       margin-top: 0;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left:hover {       background-color: white;    }    .tg-df-container .tg-df-grid-wrapper {       position: relative;    }    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-left {       background-color: white;       box-shadow: 0 4px 12px rgba(0,0,0,0.15);       top: 40%;       width: 44px;       height: 44px;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }            .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover, .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      width: calc(100% + 24px);      border-radius: 0;      padding: 8px 10px;      margin: auto -12px -12px -12px;      background-color: var(--tg-df-blue);    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; padding-right: 12px; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @media (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }      .tg-df-container .hawk-deal-widget-title-product-title,      .tg-df-container .hawk-deal-widget-title-price,      .tg-df-container .hawk-deal-widget-title-retailer {        font-size: 14px !important;        line-height: 1.35 !important;        font-weight: 700 !important;      }      .tg-df-container .hawk-deal-widget-title-was-price {        font-size: 13px !important;        line-height: 1.35 !important;      }      .tg-df-container .hawk-deal-widget-text-body-main {        font-size: 14px !important;        line-height: 1.35 !important;        margin-bottom: 8px !important;      }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    /* BESPOKE AUTHOR HEADER STYLES - MAX ISOLATION PROTECTION */    .tg-df-author-embed {      width: 100% !important;      font-family: inherit !important;      background: transparent !important;      margin: 0 !important;      padding: 0 !important;      border: none !important;    }    .tg-df-author-section {      display: block !important;      width: 100% !important;      max-width: 100% !important;      opacity: 1 !important;      overflow: visible !important;      background: transparent !important;      border: none !important;      margin: 0 auto !important;      padding: 0 !important;      box-shadow: none !important;    }    .tg-df-author-card {      text-align: center !important;      padding: 1.75rem 1rem 1.25rem 1rem !important;      margin: 0 auto !important;      max-width: 48rem !important;      background: transparent !important;      border: none !important;      border-radius: 0 !important;      box-sizing: border-box !important;      box-shadow: none !important;    }    .tg-df-author-image {      width: 180px !important;      height: 180px !important;      border-radius: 50% !important;      object-fit: cover !important;      margin: 0 auto 0.75rem auto !important;      display: block !important;      border: none !important;      box-shadow: none !important;      max-width: 100% !important;    }    .tg-df-author-media-slot {      width: 100% !important;      height: 180px !important;      min-height: 180px !important;      margin: 0 auto 0.75rem auto !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;    }    .tg-df-author-media-slot .tg-df-author-image {      margin: 0 auto !important;    }    .tg-df-author-profile-image-wrapper {      position: relative !important;      width: 180px !important;      height: 180px !important;      margin: 0 auto 0.75rem auto !important;      flex: 0 0 auto !important;    }    .tg-df-author-profile-brand-logo {      position: absolute !important;      right: 12px !important;      bottom: 12px !important;      width: 42px !important;      height: 42px !important;      padding: 0 !important;      border: 3px solid var(--tg-df-bg, #fff) !important;      border-radius: 50% !important;      background: #000 !important;      object-fit: contain !important;      box-sizing: border-box !important;    }    .tg-df-author-curated-by {      font-size: 0.875rem !important;      color: #6B7280 !important;      font-style: normal !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      line-height: 1.4 !important;    }    .tg-df-author-name {      font-size: 2rem !important;      font-weight: 300 !important;      color: #111827 !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      line-height: 1.1 !important;      letter-spacing: -0.02em !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-role {      font-size: 0.9375rem !important;      font-weight: 500 !important;      color: var(--tg-df-blue, #1F69FF) !important;      margin: 0 0 1.25rem 0 !important;      padding: 0 !important;      line-height: 1.3 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-meta-slot {      width: 100% !important;      min-height: 88px !important;      display: flex !important;      flex-direction: column !important;      align-items: center !important;      justify-content: flex-start !important;    }    .tg-df-author-meta-slot--site {      padding-top: 1rem !important;    }    .tg-df-author-meta-slot--no-social {      min-height: 0 !important;    }    .tg-df-author-meta-slot--no-social .tg-df-author-role {      margin-bottom: 0.5rem !important;    }    .tg-df-author-social-links {      display: flex !important;      flex-wrap: wrap !important;      align-items: center !important;      justify-content: center !important;      gap: 1rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 !important;      max-width: 42rem !important;      width: 100% !important;      list-style: none !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-social-btn {      display: inline-flex !important;      align-items: center !important;      justify-content: center !important;      padding: 0 !important;      border-radius: 50% !important;      background-color: #f2f2f2 !important;      color: #111111 !important;      font-size: 0.8125rem !important;      font-weight: 500 !important;      text-decoration: none !important;      transition: all 0.2s ease !important;      border: 0 !important;      line-height: 1 !important;      box-shadow: none !important;      cursor: pointer !important;      outline: none !important;      margin: 0 !important;      height: 34px !important;      width: 34px !important;      min-width: 34px !important;      box-sizing: border-box !important;    }    .tg-df-author-social-btn:hover {      background-color: #dedede !important;      color: #111111 !important;      transform: translateY(-1px) !important;    }    .tg-df-author-social-btn > svg {      width: 19px !important;      height: 19px !important;      flex-shrink: 0 !important;      display: block !important;      margin: 0 !important;    }    .tg-df-author-social-btn[data-social-key="facebook"] > svg {      transform: scale(1.25) !important;    }    .tg-df-author-social-btn[data-social-key="pinterest"] > svg,    .tg-df-author-social-btn[data-social-key="tiktok"] > svg {      transform: scale(1.2) !important;    }    .tg-df-author-bio {      max-width: 42rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 0.5rem !important;      color: #4b5563 !important;      line-height: 1.6 !important;      font-weight: 300 !important;      font-size: 0.9375rem !important;      text-align: center !important;      background: none !important;      border: none !important;      border-radius: 0 !important;      box-shadow: none !important;      display: block !important;      height: auto !important;      overflow: visible !important;    }    .tg-df-author-bio-shell--stable {      width: 100% !important;      box-sizing: border-box !important;    }    .tg-df-author-bio--clamped {      min-height: 4.8em !important;      height: 4.8em !important;      max-height: 4.8em !important;      display: -webkit-box !important;      -webkit-box-orient: vertical !important;      -webkit-line-clamp: 3 !important;      overflow: hidden !important;    }    .tg-df-author-bio--expanded {      min-height: 4.8em !important;      height: auto !important;      max-height: none !important;      display: block !important;      overflow: visible !important;    }    .tg-df-author-bio--static,    .tg-df-author-bio--static:hover,    .tg-df-author-bio--static:focus,    .tg-df-author-bio--static:focus-visible {      outline: none !important;      box-shadow: none !important;      cursor: default !important;    }    .tg-df-author-bio-toggle-slot {      height: 28px !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;      margin: 0.125rem 0 0 !important;    }    .tg-df-author-bio-toggle {      appearance: none !important;      border: 0 !important;      border-bottom: 1px solid currentColor !important;      border-radius: 0 !important;      padding: 0.125rem 0 !important;      margin: 0 !important;      background: transparent !important;      color: #4b5563 !important;      box-shadow: none !important;      font: inherit !important;      font-size: 0.75rem !important;      font-weight: 600 !important;      line-height: 1.2 !important;      text-decoration: none !important;      text-transform: none !important;      cursor: pointer !important;    }    .tg-df-author-bio a {      color: var(--tg-df-blue, #1F69FF) !important;      text-decoration: underline !important;      font-weight: 400 !important;      background: none !important;      border: none !important;      padding: 0 !important;      margin: 0 !important;      border-radius: 0 !important;      display: inline !important;      box-shadow: none !important;    }    .tg-df-author-bio p,    .tg-df-author-bio div,    .tg-df-author-bio span {      margin: 0 !important;      padding: 0 !important;      color: inherit !important;      font: inherit !important;      line-height: inherit !important;      text-align: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-bio strong,    .tg-df-author-bio b {      font-weight: 600 !important;    }    .tg-df-author-bio em,    .tg-df-author-bio i {      font-style: italic !important;    }    @container tg-df (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @media (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @container tg-df (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @media (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }    @media (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }        .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button {      align-items: center; background-color: var(--tg-df-blue); box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;    }    .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button:hover { filter: brightness(0.85); text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-active-badges-row {      display: flex;      flex-wrap: wrap;      gap: 8px;      align-items: center;      margin-top: 12px;      margin-bottom: 16px;      width: 100%;    }    .tg-df-active-badge {      display: inline-flex;      align-items: center;      gap: 6px;      padding: 8px 14px;      background-color: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border: 1px solid var(--tg-df-blue, #1f69ff);      border-radius: 0px;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;    }    .tg-df-badge-remove {      display: inline-flex;      align-items: center;      justify-content: center;      width: 16px;      height: 16px;      border-radius: 0px;      border: none;      background: rgba(255, 255, 255, 0.25);      color: #ffffff;      cursor: pointer;      padding: 0;      margin-left: 4px;      transition: background-color 0.15s, color 0.15s;    }    .tg-df-badge-remove:hover {      background: rgba(255, 255, 255, 0.45);      color: #ffffff;    }    .tg-df-badge-clear-all {      display: inline-flex;      align-items: center;      justify-content: center;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;      padding: 8px 14px;      color: var(--tg-df-text-muted, #64748b);      cursor: pointer;      background: #ffffff;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-radius: 0px;      transition: all 0.15s ease;    }    .tg-df-badge-clear-all:hover {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border-color: var(--tg-df-blue, #1f69ff);    }    .tg-df-savings-squad-header {      margin-bottom: 24px;      text-align: center;    }    .tg-df-banner-img-desktop {      display: block;      width: 100%;      height: auto;      margin-bottom: 32px;    }    .tg-df-banner-img-mobile {      display: none;      width: 100%;      height: auto;      margin-bottom: 32px;    }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop {        display: none;      }      .tg-df-banner-img-mobile {        display: block;      }    }    .tg-df-header-title {      font-size: 28px;      font-weight: 700;      color: var(--tg-df-text);      margin: 32px 0 12px 0;      line-height: 1.3;    }    .tg-df-header-subtitle {      font-size: 16px;      color: var(--tg-df-text-muted);      margin: 0 0 32px 0;      line-height: 1.5;    }    @container tg-df (max-width: 599px) {      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    @media (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    /* Article Intro Content Styling */    .tg-df-article-content {      font-size: 1rem;      line-height: 1.7;      color: #334155;    }    .tg-df-article-content p {      margin-bottom: 1.25rem;      line-height: 1.7;      font-size: 1rem;      color: #334155;    }    .tg-df-article-content > p:first-of-type::first-letter {      font-size: 3.25rem;      font-weight: 700;      float: left;      line-height: 0.85;      margin-right: 0.5rem;      margin-top: 0.15rem;      color: #0f172a;      font-family: inherit;    }    .tg-df-article-content a {      color: #0066cc;      text-decoration: underline;      font-weight: 500;    }    .tg-df-article-content a:hover {      color: #004499;    }    .tg-df-article-content strong, .tg-df-article-content b {      font-weight: 700;      color: #0f172a;    }    .tg-df-article-section-banner {      border-bottom: 2px solid #e6007e;      margin: 2.25rem 0 1.25rem 0;      position: relative;      clear: both;    }    .tg-df-article-section-banner span {      background-color: #e6007e;      color: #ffffff;      padding: 6px 16px;      font-weight: 700;      font-size: 0.875rem;      text-transform: uppercase;      letter-spacing: 0.05em;      display: inline-block;    }  </style><div class="tg-df-widget-host" data-vizualizer-embed="true" data-tg-df-full-bleed="false" data-tg-df-mobile-dropdowns="true" data-tg-df-sticky-mobile-filters="false" style="--tg-df-blue: #DC191B;"><div class="tg-df-container article-body" style="background-color: transparent;"><div id="tg-df-spreadsheet-filters" style="display: block; margin-bottom: 16px;"><div class="tg-df-categories-row-container" style="border-bottom: 1px solid var(--tg-df-border); position: relative;"><button aria-label="Scroll left" class="tg-df-scroll-btn left tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 18l-6-6 6-6"></path></svg></button><button aria-label="Scroll right" class="tg-df-scroll-btn right tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-categories-row" style="display: flex; overflow-x: auto; scrollbar-width: none;"><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Hardware <span style="color: var(--tg-df-blue); font-size: 10px;">66</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Monitors <span style="color: var(--tg-df-blue); font-size: 10px;">9</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming PCs <span style="color: var(--tg-df-blue); font-size: 10px;">7</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Mice <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Headsets <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Audio <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">SSDs <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Storage <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Laptops <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Controllers <span style="color: var(--tg-df-blue); font-size: 10px;">1</span></button></div></div></div><div class="tg-df-mobile-2x2-container"><div class="tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--odd"><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>CATEGORIES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>PRICES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell has-active-filter" aria-expanded="false"><span>DISCOUNTS (25%+)</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button></div></div><div class="tg-df-controls" id="tg-df-controls" style="display: flex; margin-top: 12px; margin-bottom: 16px; justify-content: center;"><div class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0px auto;"><button class="tg-df-scroll-btn left" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 18l-6-6 6-6"></path></svg></button><button class="tg-df-scroll-btn right" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-filters"><div class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices"><option value="all">All Prices</option><option value="under50">Under $50</option><option value="50_100">$50 - $100</option><option value="100_200">$100 - $200</option><option value="200_500">$200 - $500</option><option value="over500">Over $500</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount"><option value="all">Any discount</option><option value="5">Min 5%</option><option value="10">Min 10%</option><option value="15">Min 15%</option><option value="20">Min 20%</option><option value="25">Min 25%</option><option value="30">Min 30%</option><option value="40">Min 40%</option><option value="50">Min 50%</option><option value="60">Min 60%</option><option value="70">Min 70%</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-review-sort-wrapper" style="display: none;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 7h16M7 12h10m-7 5h4"></path></svg><select class="tg-df-filter-select" id="tg-df-review-sort" aria-label="Sort Reviews"><option value="date_desc">Most recent</option><option value="rating_desc">Highest rating</option><option value="scored_first">Scored products first</option></select></div></div></div></div><div class="tg-df-active-badges-row" style="display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 10px; margin-bottom: 16px;"><span class="tg-df-active-badge">Min 25% off<button type="button" class="tg-df-badge-remove" aria-label="Remove Min 25% off"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></span></div><div class="tg-df-grid-wrapper"><div class="tg-df-grid article-body tg-df-grid-auto" id="tg-df-grid"><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-0" data-merchant="Amazon" data-previous-price="34.99" data-price="25.99" data-product-name="G203 | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $9</span><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G203 | Wired" class="tg-df-card-image" loading="lazy" src="http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G203 | Wired"><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G203 | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>25.99</span></span><span class="tg-df-card-msrp">$34.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Glorious" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-0" data-merchant="Amazon" data-previous-price="59.99" data-price="26.31" data-product-name="GHS Eternal | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33.68</span><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="GHS Eternal | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="GHS Eternal | 40 mm drivers"><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Glorious GHS Eternal | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>26.31</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-1" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed | Wireless"><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-86" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed"><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-87" data-merchant="Bestbuy" data-previous-price="69.99" data-price="34.98" data-product-name="Basilisk V3"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35.01</span><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Basilisk V3" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Basilisk V3"><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Basilisk V3</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>34.98</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-3" data-merchant="Amazon" data-previous-price="69.99" data-price="37.99" data-product-name="G502 Hero | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $32</span><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G502 Hero | Wired" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G502 Hero | Wired"><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G502 Hero | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>37.99</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-80" data-merchant="Amazon" data-previous-price="59.99" data-price="39.79" data-product-name="BlackShark V2 X"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20.2</span><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="BlackShark V2 X" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="BlackShark V2 X"><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer BlackShark V2 X</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.79</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-1" data-merchant="Amazon" data-previous-price="79.99" data-price="39.99" data-product-name="G432 | 50 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $40</span><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G432 | 50 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G432 | 50 mm drivers"><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G432 | 50 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-2" data-merchant="Amazon" data-previous-price="79.99" data-price="44.99" data-product-name="Kraken V4 X | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35</span><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Kraken V4 X | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Kraken V4 X | 40 mm drivers"><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Kraken V4 X | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>44.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Turtle Beach" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-5" data-merchant="Amazon" data-previous-price="99.99" data-price="54.99" data-product-name="Burst II Air | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $45</span><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Burst II Air | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Burst II Air | Wireless"><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Turtle Beach Burst II Air | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>54.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="HyperX" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-5" data-merchant="Amazon" data-previous-price="99.99" data-price="57.99" data-product-name="Cloud III | 53 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $42</span><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Cloud III | 53 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Cloud III | 53 mm drivers"><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>HyperX Cloud III | 53 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>57.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Nothing" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-15" data-merchant="Amazon" data-previous-price="79" data-price="59" data-product-name="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Nothing Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>59</span></span><span class="tg-df-card-msrp">$79</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="KTC" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-40" data-merchant="Newegg" data-previous-price="99.99" data-price="62.49" data-product-name="H24V27"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $37.5</span><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="H24V27" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="H24V27"><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>KTC H24V27</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code &quot;LDSF246&quot; for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>62.49</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Scuf" data-currency="$" data-deal-id="airedale-A97h9Ug45WeF5xPLdcoJyf-0" data-merchant="Amazon" data-previous-price="109.99" data-price="76.99" data-product-name="Valor Pro"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33</span><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Valor Pro" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Valor Pro"><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Scuf Valor Pro</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>76.99</span></span><span class="tg-df-card-msrp">$109.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Jess Kinghorn" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/controllers/the-best-wired-pc-controller-has-been-knocked-down-to-usd77-so-long-as-you-dont-mind-it-in-white" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Jess Kinghorn</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 24 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Acer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-41" data-merchant="Newegg" data-previous-price="129.99" data-price="79.99" data-product-name="AOpen 24KG1Y X3bip"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="AOpen 24KG1Y X3bip" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="AOpen 24KG1Y X3bip"><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Acer AOpen 24KG1Y X3bip</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Asus" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-82" data-merchant="Amazon" data-previous-price="129.99" data-price="79.99" data-product-name="ROG Pelta"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="ROG Pelta" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="ROG Pelta"><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Asus ROG Pelta</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-43" data-merchant="Bestbuy" data-previous-price="149.99" data-price="97.49" data-product-name="MAG 244F"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $52.5</span><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 244F" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 244F"><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 244F</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>97.49</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-UBBZiFU9BXsLfvbZ8d4awf-1" data-merchant="Walmart" data-previous-price="149.99" data-price="99" data-product-name="MAG 255XFV"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50.99</span><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 255XFV" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 255XFV"><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 255XFV</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>99</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Walmart</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/amazon-prime-day-gaming-monitor-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-load-more-control" style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1; overflow-anchor: none;"><button type="button" class="tg-df-tag-outline" aria-busy="false" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More</button></div><script type="application/ld+json">{"@context":"https://schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Product","name":"G203 | Wired","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":25.99,"url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":2,"item":{"@type":"Product","name":"GHS Eternal | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","brand":{"@type":"Brand","name":"Glorious"},"offers":{"@type":"Offer","priceCurrency":"USD","price":26.31,"url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":3,"item":{"@type":"Product","name":"G305 Lightspeed | Wireless","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":4,"item":{"@type":"Product","name":"G305 Lightspeed","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/dp/B07CMS5Q6P","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":5,"item":{"@type":"Product","name":"Basilisk V3","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":34.98,"url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":6,"item":{"@type":"Product","name":"G502 Hero | Wired","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":37.99,"url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":7,"item":{"@type":"Product","name":"BlackShark V2 X","image":"https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg","description":"The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.79,"url":"https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":8,"item":{"@type":"Product","name":"G432 | 50 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg","description":"Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.99,"url":"https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":9,"item":{"@type":"Product","name":"Kraken V4 X | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg","description":"If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":44.99,"url":"https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":10,"item":{"@type":"Product","name":"Burst II Air | Wireless","image":"https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg","description":"We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99","brand":{"@type":"Brand","name":"Turtle Beach"},"offers":{"@type":"Offer","priceCurrency":"USD","price":54.99,"url":"https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":11,"item":{"@type":"Product","name":"Cloud III | 53 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg","description":"We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99","brand":{"@type":"Brand","name":"HyperX"},"offers":{"@type":"Offer","priceCurrency":"USD","price":57.99,"url":"https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":12,"item":{"@type":"Product","name":"Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)","image":"https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png","description":"These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response","brand":{"@type":"Brand","name":"Nothing"},"offers":{"@type":"Offer","priceCurrency":"USD","price":59,"url":"https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":13,"item":{"@type":"Product","name":"H24V27","image":"https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png","description":"This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code "LDSF246" for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA","brand":{"@type":"Brand","name":"KTC"},"offers":{"@type":"Offer","priceCurrency":"USD","price":62.49,"url":"https://www.newegg.com/p/3D4-007C-00016","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":14,"item":{"@type":"Product","name":"Valor Pro","image":"https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png","description":"This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks","brand":{"@type":"Brand","name":"Scuf"},"offers":{"@type":"Offer","priceCurrency":"USD","price":76.99,"url":"https://www.amazon.com/dp/B0DTB3QCS5","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":15,"item":{"@type":"Product","name":"AOpen 24KG1Y X3bip","image":"https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png","description":"With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"Acer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.newegg.com/p/N82E16824011533","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":16,"item":{"@type":"Product","name":"ROG Pelta","image":"https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg","description":"With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life","brand":{"@type":"Brand","name":"Asus"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":17,"item":{"@type":"Product","name":"MAG 244F","image":"https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png","description":"With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":97.49,"url":"https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":18,"item":{"@type":"Product","name":"MAG 255XFV","image":"https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg","description":"You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":99,"url":"https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174","seller":{"@type":"Organization","name":"Walmart"}}}}]}</script></div></div><div class="tg-df-modal-backdrop "><div class="tg-df-modal"><div class="tg-df-modal-header"><h3 class="tg-df-modal-title">Available Coupons & Deals</h3><button class="tg-df-modal-close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="tg-df-modal-body"><div class="tg-df-message">No active vouchers found for .</div></div></div></div></div></div>  </div>  <script type="application/json" data-fcaw-config>{"authorBioLength":"short","authorFullBleed":false,"authorHandle":"all-authors","authorName":"All authors","backgroundColor":"transparent","customBio":"","discountAmount":"25","editorMode":false,"editorialMaxAgeMonths":"0","includeBuyingGuideProducts":false,"includeCollections":false,"includeDeals":true,"includeReviewProducts":false,"mobileDropdowns":true,"stickyMobileFilters":false,"offerType":"","preloadReviewInventory":false,"lightweightReviewDelivery":false,"hideHawkPrices":false,"prioritiseCommercialProducts":true,"priceRange":"all","productSelection":"mix","query":"","region":"auto","resultCount":"6","retailer":"","selectedBrands":[],"showAuthorBio":false,"showAuthorCounters":true,"showAuthorIdentity":false,"showAuthorRail":false,"showBrandRail":false,"showCategoryRail":true,"showCollectionsDropdown":false,"showPriceDiscountFilters":true,"showReviewSort":false,"showSocialButtons":false,"showCountdown":false,"showHeaderDetails":true,"showFreeformTagRail":false,"sort":"price_asc","viewMode":"author","website":"pcgamer","widgetSubtitle":"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.","widgetTitle":"Top Deals Handpicked by Our Editors","brands":[],"shortenedHeadlines":{},"compactEmbed":true}</script>  <script type="application/json" data-fcaw-preload>{"authors":[{"bioLong":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","bioShort":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","name":"James","fullName":"James Bentley","handle":"james-bentley","role":"Hardware writer","image":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","brandKey":"pcgamer"},{"bioLong":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","bioShort":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","name":"Dave","fullName":"Dave James","handle":"dave-james","role":"Editor-in-Chief, Hardware","image":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/not_the_gk","label":"X (Twitter)"},{"key":"email","href":"mailto:dave.james@futurenet.com","label":"Email"}]},{"bioLong":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","bioShort":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","name":"Jacob","fullName":"Jacob Fox","handle":"jacob-fox","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","brandKey":"pcgamer"},{"bioLong":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","bioShort":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","name":"Andy","fullName":"Andy Edser","handle":"andy-edser","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","brandKey":"pcgamer"},{"bioLong":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","bioShort":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","name":"Jess","fullName":"Jess Kinghorn","handle":"jess-kinghorn","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/KoeniginKatze","label":"X (Twitter)"},{"key":"linkedin","href":"https://www.linkedin.com/in/jess-kinghorn","label":"LinkedIn"}]}],"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"activeDealTag":null,"activeFreeformTag":null,"activeFreeformTags":[],"couponMap":{"Amazon":"has","Bestbuy":"none","Newegg":"none","Walmart":"none"},"totalAuthorCount":5,"totalDealCount":56,"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"reviewInventoryBaked":false,"regionalDealManifests":{"US":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-0","url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":25.99,"rawMsrp":34.99,"price":"25.99","msrp":"34.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $9","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362\" target=\"_blank\"\u003eBest Buy $39.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-0","url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","title":"GHS Eternal | 40 mm drivers","brand":"Glorious","productName":"GHS Eternal | 40 mm drivers","merchant":"Amazon","rawPrice":26.31,"rawMsrp":59.99,"price":"26.31","msrp":"59.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $33.68","savingType":"amount","isPrime":false,"starRating":null,"description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","text":"\u003cp\u003eWith a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20 hz - 20 kHz | 255 g\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-1","url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite budget wireless mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR\" target=\"_blank\"\u003eBest Buy $49.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-86","url":"https://www.amazon.com/dp/B07CMS5Q6P","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","title":"G305 Lightspeed","brand":"Logitech","productName":"G305 Lightspeed","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","text":"\u003cp\u003eAlready reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-87","url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","title":"Basilisk V3","brand":"Razer","productName":"Basilisk V3","merchant":"Bestbuy","rawPrice":34.98,"rawMsrp":69.99,"price":"34.98","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $35.01","savingType":"amount","isPrime":false,"starRating":null,"description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","text":"\u003cp\u003eThis mouse might be a few years old, but we scored it highly in \u003ca href=\"https://www.pcgamer.com/razer-basilisk-v3-gaming-mouse-review/\" target=\"_blank\"\u003eour review\u003c/a\u003e in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to \u003ca href=\"https://www.pcgamer.com/hardware/im-ashamed-to-say-that-this-razer-mouse-has-made-me-actually-take-a-shine-to-rgb-and-now-you-can-be-persuaded-too-for-almost-50-percent-off/\" target=\"_blank\"\u003etempt even those who usually hate RGB lighting\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-3","url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":37.99,"rawMsrp":69.99,"price":"37.99","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $32","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","text":"\u003cp\u003eThis is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133\" target=\"_blank\"\u003eBest Buy $69.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true}],"GB":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-10","url":"https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":19.99,"rawMsrp":30.99,"price":"19.99","msrp":"30.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £11","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-11","url":"https://www.amazon.co.uk/Logitech-Wireless-Lightweight-Programmable-compatible/dp/B07CGPZ3ZQ","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":19.99,"rawMsrp":27.99,"price":"19.99","msrp":"27.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £8","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite wireless budget mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays. Key specs: Wireless | 12,000 DPI | Right-handed","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite wireless budget mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-19","url":"https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/","image":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","title":"Quantum 100 | 40 mm drivers","brand":"JBL","productName":"Quantum 100 | 40 mm drivers","merchant":"Amazon","rawPrice":19.99,"rawMsrp":29.99,"price":"19.99","msrp":"29.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £10","savingType":"amount","isPrime":false,"starRating":null,"description":"JBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired","text":"\u003cp\u003eJBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-12","url":"https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":22.01,"rawMsrp":37.79,"price":"22.01","msrp":"37.79","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £15.78","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness. Key specs: Wired | 25,600 DPI | Right-handed","text":"\u003cp\u003eThis is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-23","url":"https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1","image":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","title":"G321 Lightspeed | 40 mm drivers","brand":"Logitech","productName":"G321 Lightspeed | 40 mm drivers","merchant":"Amazon","rawPrice":32.99,"rawMsrp":59.99,"price":"32.99","msrp":"59.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £27","savingType":"amount","isPrime":false,"starRating":null,"description":"This very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in his review. It won't blow you away with bass or features, but at this price it's still worth considering. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless Price check: Currys £42.99","text":"\u003cp\u003eThis very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in \u003ca href=\"https://www.pcgamer.com/hardware/gaming-headsets/logitech-g321-lightspeed-review/\" target=\"_blank\"\u003ehis review\u003c/a\u003e. It won't blow you away with bass or features, but at this price it's still worth considering.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless \u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g321-lightspeed-wireless-bluetooth-gaming-headset-black-10289632.html\" target=\"_blank\"\u003eCurrys £42.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-20","url":"https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/","image":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","title":"G335 | 40 mm drivers","brand":"Logitech","productName":"G335 | 40 mm drivers","merchant":"Amazon","rawPrice":34.99,"rawMsrp":64.99,"price":"34.99","msrp":"64.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £30","savingType":"amount","isPrime":false,"starRating":null,"description":"This Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired Price check: Currys £34.99","text":"\u003cp\u003eThis Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g335-gaming-headset-black-10227173.html\" target=\"_blank\"\u003eCurrys £34.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true}],"AU":[{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-5","url":"https://www.amazon.com.au/JBL-QuantumSOUND-Signature-Comfortable-Breathable/dp/B0D6NLHV8N","image":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","title":"Quantum 100M2","brand":"JBL","productName":"Quantum 100M2","merchant":"Amazon","rawPrice":29,"rawMsrp":59.95,"price":"29","msrp":"59.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$30.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.","text":"\u003cp\u003eIf you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-1","url":"https://www.amazon.com.au/dp/B0CMCPY4VG","image":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","title":"Nova Lite","brand":"GameSir","productName":"Nova Lite","merchant":"Amazon","rawPrice":32,"rawMsrp":45,"price":"32","msrp":"45","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$13","savingType":"amount","isPrime":false,"starRating":null,"description":"Our favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.","text":"\u003cp\u003eOur favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-15","url":"https://www.amazon.com.au/dp/B07MG5547J","image":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","title":"G502 Hero","brand":"Logitech","productName":"G502 Hero","merchant":"Amazon","rawPrice":55.99,"rawMsrp":149.95,"price":"55.99","msrp":"149.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$93.96","savingType":"amount","isPrime":false,"starRating":null,"description":"Logitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;","text":"\u003cp\u003eLogitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-8","url":"https://www.amazon.com.au/CORSAIR-Membrane-Wired-Gaming-Keyboard/dp/B0CP6BR96G","image":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","title":"K55 Core Membrane","brand":"Corsair","productName":"K55 Core Membrane","merchant":"Amazon","rawPrice":59,"rawMsrp":79.95,"price":"59","msrp":"79.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$20.95","savingType":"amount","isPrime":false,"starRating":null,"description":"This discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.","text":"\u003cp\u003eThis discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-11","url":"https://www.amazon.com.au/dp/B01K48R5V4","image":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","fallbackImage":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","title":"G G213 Prodigy","brand":"Logitech","productName":"G G213 Prodigy","merchant":"Amazon","rawPrice":72,"rawMsrp":129.95,"price":"72","msrp":"129.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$57.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.","text":"\u003cp\u003eIf you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-13","url":"https://www.amazon.com.au/CORSAIR-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8/","image":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","title":"Sabre v2 Pro","brand":"Corsair","productName":"Sabre v2 Pro","merchant":"Amazon","rawPrice":79,"rawMsrp":169,"price":"79","msrp":"169","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$90","savingType":"amount","isPrime":false,"starRating":null,"description":"The Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox loved its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life.","text":"\u003cp\u003eThe Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox \u003ca href=\"https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/\"\u003eloved\u003c/a\u003e its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life. \u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true}]},"regionalDealRailData":{"US":{"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"totalAuthorCount":5,"totalDealCount":56},"GB":{"brands":[{"formatted_value":"Logitech","count":6},{"formatted_value":"Steelseries","count":2},{"formatted_value":"EarFun","count":2},{"formatted_value":"Lexar","count":2},{"formatted_value":"AOC","count":2},{"formatted_value":"MSI","count":2},{"formatted_value":"JBL","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Turtle Beach","count":1}],"freeformTagCounts":{"hardware":17,"mouse":5,"gaming-mouse":5,"prime-day":5,"amazon-prime-day-2026":14,"amazon-prime-day":17,"prime-day-deals":8,"deals":17,"deal":17,"big-deal-days":17,"gaming-headset":9,"amazon-prime":3,"ssd":1,"pc-deals":3,"gaming-monitor":2,"monitors":2,"solid-state-drive":1,"solid-state":1,"hdd":1,"hard-drive":1,"storage":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"}],"tagCounts":{"Gaming Mice":5,"Hardware":17,"Gaming Headsets":9,"Gaming Audio":9,"SSDs":1,"Storage":1,"Gaming Monitors":2},"tags":["Hardware","Gaming Headsets","Gaming Audio","Gaming Mice","Gaming Monitors","SSDs","Storage"],"totalAuthorCount":4,"totalDealCount":17},"AU":{"brands":[{"formatted_value":"Logitech","count":7},{"formatted_value":"Corsair","count":4},{"formatted_value":"JBL","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"GameSir","count":1},{"formatted_value":"8BitDo","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Asus","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"SteelSeries","count":1}],"freeformTagCounts":{"hardware":20,"amazon-prime":20,"pc-deals":20,"deals":20,"prime-day-deals":20},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"}],"tagCounts":{"Hardware":20},"tags":["Hardware"],"totalAuthorCount":1,"totalDealCount":20}}}</script></fc-author-commerce-widget><script>(()=>{var Z1=Object.create;var cg=Object.defineProperty;var W1=Object.getOwnPropertyDescriptor;var I1=Object.getOwnPropertyNames;var J1=Object.getPrototypeOf,$1=Object.prototype.hasOwnProperty;var un=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var eb=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of I1(t))!$1.call(e,l)&&l!==n&&cg(e,l,{get:()=>t[l],enumerable:!(a=W1(t,l))||a.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Z1(J1(e)):{},eb(t||!e||!e.__esModule?cg(n,"default",{value:e,enumerable:!0}):n,e));var Ag=un(z=>{"use strict";var Tc=Symbol.for("react.transitional.element"),tb=Symbol.for("react.portal"),nb=Symbol.for("react.fragment"),ab=Symbol.for("react.strict_mode"),lb=Symbol.for("react.profiler"),ib=Symbol.for("react.consumer"),rb=Symbol.for("react.context"),ob=Symbol.for("react.forward_ref"),ub=Symbol.for("react.suspense"),cb=Symbol.for("react.memo"),mg=Symbol.for("react.lazy"),sb=Symbol.for("react.activity"),sg=Symbol.iterator;function db(e){return e===null||typeof e!="object"?null:(e=sg&&e[sg]||e["@@iterator"],typeof e=="function"?e:null)}var hg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pg=Object.assign,yg={};function ml(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}ml.prototype.isReactComponent={};ml.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ml.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function vg(){}vg.prototype=ml.prototype;function Ec(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}var Dc=Ec.prototype=new vg;Dc.constructor=Ec;pg(Dc,ml.prototype);Dc.isPureReactComponent=!0;var dg=Array.isArray;function Rc(){}var he={H:null,A:null,T:null,S:null},bg=Object.prototype.hasOwnProperty;function xc(e,t,n){var a=n.ref;return{$$typeof:Tc,type:e,key:t,ref:a!==void 0?a:null,props:n}}function fb(e,t){return xc(e.type,t,e.props)}function Mc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function gb(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var fg=/\/+/g;function Cc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?gb(""+e.key):t.toString(36)}function mb(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Rc,Rc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function gl(e,t,n,a,l){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var r=!1;if(e===null)r=!0;else switch(i){case"bigint":case"string":case"number":r=!0;break;case"object":switch(e.$$typeof){case Tc:case tb:r=!0;break;case mg:return r=e._init,gl(r(e._payload),t,n,a,l)}}if(r)return l=l(e),r=a===""?"."+Cc(e,0):a,dg(l)?(n="",r!=null&&(n=r.replace(fg,"$&/")+"/"),gl(l,t,n,"",function(c){return c})):l!=null&&(Mc(l)&&(l=fb(l,n+(l.key==null||e&&e.key===l.key?"":(""+l.key).replace(fg,"$&/")+"/")+r)),t.push(l)),1;r=0;var o=a===""?".":a+":";if(dg(e))for(var u=0;u<e.length;u++)a=e[u],i=o+Cc(a,u),r+=gl(a,t,n,i,l);else if(u=db(e),typeof u=="function")for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,i=o+Cc(a,u++),r+=gl(a,t,n,i,l);else if(i==="object"){if(typeof e.then=="function")return gl(mb(e),t,n,a,l);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return r}function ro(e,t,n){if(e==null)return e;var a=[],l=0;return gl(e,a,"","",function(i){return t.call(n,i,l++)}),a}function hb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var gg=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},pb={map:ro,forEach:function(e,t,n){ro(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ro(e,function(){t++}),t},toArray:function(e){return ro(e,function(t){return t})||[]},only:function(e){if(!Mc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};z.Activity=sb;z.Children=pb;z.Component=ml;z.Fragment=nb;z.Profiler=lb;z.PureComponent=Ec;z.StrictMode=ab;z.Suspense=ub;z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=he;z.__COMPILER_RUNTIME={__proto__:null,c:function(e){return he.H.useMemoCache(e)}};z.cache=function(e){return function(){return e.apply(null,arguments)}};z.cacheSignal=function(){return null};z.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=pg({},e.props),l=e.key;if(t!=null)for(i in t.key!==void 0&&(l=""+t.key),t)!bg.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(a[i]=t[i]);var i=arguments.length-2;if(i===1)a.children=n;else if(1<i){for(var r=Array(i),o=0;o<i;o++)r[o]=arguments[o+2];a.children=r}return xc(e.type,l,a)};z.createContext=function(e){return e={$$typeof:rb,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:ib,_context:e},e};z.createElement=function(e,t,n){var a,l={},i=null;if(t!=null)for(a in t.key!==void 0&&(i=""+t.key),t)bg.call(t,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(l[a]=t[a]);var r=arguments.length-2;if(r===1)l.children=n;else if(1<r){for(var o=Array(r),u=0;u<r;u++)o[u]=arguments[u+2];l.children=o}if(e&&e.defaultProps)for(a in r=e.defaultProps,r)l[a]===void 0&&(l[a]=r[a]);return xc(e,i,l)};z.createRef=function(){return{current:null}};z.forwardRef=function(e){return{$$typeof:ob,render:e}};z.isValidElement=Mc;z.lazy=function(e){return{$$typeof:mg,_payload:{_status:-1,_result:e},_init:hb}};z.memo=function(e,t){return{$$typeof:cb,type:e,compare:t===void 0?null:t}};z.startTransition=function(e){var t=he.T,n={};he.T=n;try{var a=e(),l=he.S;l!==null&&l(n,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Rc,gg)}catch(i){gg(i)}finally{t!==null&&n.types!==null&&(t.types=n.types),he.T=t}};z.unstable_useCacheRefresh=function(){return he.H.useCacheRefresh()};z.use=function(e){return he.H.use(e)};z.useActionState=function(e,t,n){return he.H.useActionState(e,t,n)};z.useCallback=function(e,t){return he.H.useCallback(e,t)};z.useContext=function(e){return he.H.useContext(e)};z.useDebugValue=function(){};z.useDeferredValue=function(e,t){return he.H.useDeferredValue(e,t)};z.useEffect=function(e,t){return he.H.useEffect(e,t)};z.useEffectEvent=function(e){return he.H.useEffectEvent(e)};z.useId=function(){return he.H.useId()};z.useImperativeHandle=function(e,t,n){return he.H.useImperativeHandle(e,t,n)};z.useInsertionEffect=function(e,t){return he.H.useInsertionEffect(e,t)};z.useLayoutEffect=function(e,t){return he.H.useLayoutEffect(e,t)};z.useMemo=function(e,t){return he.H.useMemo(e,t)};z.useOptimistic=function(e,t){return he.H.useOptimistic(e,t)};z.useReducer=function(e,t,n){return he.H.useReducer(e,t,n)};z.useRef=function(e){return he.H.useRef(e)};z.useState=function(e){return he.H.useState(e)};z.useSyncExternalStore=function(e,t,n){return he.H.useSyncExternalStore(e,t,n)};z.useTransition=function(){return he.H.useTransition()};z.version="19.2.8"});var ft=un((zS,wg)=>{"use strict";wg.exports=Ag()});var Bg=un(Se=>{"use strict";function Oc(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,l=e[a];if(0<oo(l,t))e[a]=t,e[n]=l,n=a;else break e}}function cn(e){return e.length===0?null:e[0]}function co(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,l=e.length,i=l>>>1;a<i;){var r=2*(a+1)-1,o=e[r],u=r+1,c=e[u];if(0>oo(o,n))u<l&&0>oo(c,o)?(e[a]=c,e[u]=n,a=u):(e[a]=o,e[r]=n,a=r);else if(u<l&&0>oo(c,n))e[a]=c,e[u]=n,a=u;else break e}}return t}function oo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Se.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Sg=performance,Se.unstable_now=function(){return Sg.now()}):(_c=Date,Cg=_c.now(),Se.unstable_now=function(){return _c.now()-Cg});var Sg,_c,Cg,wn=[],Qn=[],yb=1,Ut=null,et=3,kc=!1,Mi=!1,_i=!1,Lc=!1,Eg=typeof setTimeout=="function"?setTimeout:null,Dg=typeof clearTimeout=="function"?clearTimeout:null,Rg=typeof setImmediate<"u"?setImmediate:null;function uo(e){for(var t=cn(Qn);t!==null;){if(t.callback===null)co(Qn);else if(t.startTime<=e)co(Qn),t.sortIndex=t.expirationTime,Oc(wn,t);else break;t=cn(Qn)}}function Hc(e){if(_i=!1,uo(e),!Mi)if(cn(wn)!==null)Mi=!0,pl||(pl=!0,hl());else{var t=cn(Qn);t!==null&&zc(Hc,t.startTime-e)}}var pl=!1,Bi=-1,xg=5,Mg=-1;function _g(){return Lc?!0:!(Se.unstable_now()-Mg<xg)}function Bc(){if(Lc=!1,pl){var e=Se.unstable_now();Mg=e;var t=!0;try{e:{Mi=!1,_i&&(_i=!1,Dg(Bi),Bi=-1),kc=!0;var n=et;try{t:{for(uo(e),Ut=cn(wn);Ut!==null&&!(Ut.expirationTime>e&&_g());){var a=Ut.callback;if(typeof a=="function"){Ut.callback=null,et=Ut.priorityLevel;var l=a(Ut.expirationTime<=e);if(e=Se.unstable_now(),typeof l=="function"){Ut.callback=l,uo(e),t=!0;break t}Ut===cn(wn)&&co(wn),uo(e)}else co(wn);Ut=cn(wn)}if(Ut!==null)t=!0;else{var i=cn(Qn);i!==null&&zc(Hc,i.startTime-e),t=!1}}break e}finally{Ut=null,et=n,kc=!1}t=void 0}}finally{t?hl():pl=!1}}}var hl;typeof Rg=="function"?hl=function(){Rg(Bc)}:typeof MessageChannel<"u"?(Nc=new MessageChannel,Tg=Nc.port2,Nc.port1.onmessage=Bc,hl=function(){Tg.postMessage(null)}):hl=function(){Eg(Bc,0)};var Nc,Tg;function zc(e,t){Bi=Eg(function(){e(Se.unstable_now())},t)}Se.unstable_IdlePriority=5;Se.unstable_ImmediatePriority=1;Se.unstable_LowPriority=4;Se.unstable_NormalPriority=3;Se.unstable_Profiling=null;Se.unstable_UserBlockingPriority=2;Se.unstable_cancelCallback=function(e){e.callback=null};Se.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):xg=0<e?Math.floor(1e3/e):5};Se.unstable_getCurrentPriorityLevel=function(){return et};Se.unstable_next=function(e){switch(et){case 1:case 2:case 3:var t=3;break;default:t=et}var n=et;et=t;try{return e()}finally{et=n}};Se.unstable_requestPaint=function(){Lc=!0};Se.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=et;et=e;try{return t()}finally{et=n}};Se.unstable_scheduleCallback=function(e,t,n){var a=Se.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?a+n:a):n=a,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return l=n+l,e={id:yb++,callback:t,priorityLevel:e,startTime:n,expirationTime:l,sortIndex:-1},n>a?(e.sortIndex=n,Oc(Qn,e),cn(wn)===null&&e===cn(Qn)&&(_i?(Dg(Bi),Bi=-1):_i=!0,zc(Hc,n-a))):(e.sortIndex=l,Oc(wn,e),Mi||kc||(Mi=!0,pl||(pl=!0,hl()))),e};Se.unstable_shouldYield=_g;Se.unstable_wrapCallback=function(e){var t=et;return function(){var n=et;et=t;try{return e.apply(this,arguments)}finally{et=n}}}});var Og=un((GS,Ng)=>{"use strict";Ng.exports=Bg()});var Lg=un(ot=>{"use strict";var vb=ft();function kg(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Kn(){}var rt={d:{f:Kn,r:function(){throw Error(kg(522))},D:Kn,C:Kn,L:Kn,m:Kn,X:Kn,S:Kn,M:Kn},p:0,findDOMNode:null},bb=Symbol.for("react.portal");function Ab(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:bb,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}var Ni=vb.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function so(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ot.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=rt;ot.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(kg(299));return Ab(e,t,null,n)};ot.flushSync=function(e){var t=Ni.T,n=rt.p;try{if(Ni.T=null,rt.p=2,e)return e()}finally{Ni.T=t,rt.p=n,rt.d.f()}};ot.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,rt.d.C(e,t))};ot.prefetchDNS=function(e){typeof e=="string"&&rt.d.D(e)};ot.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin),l=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?rt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:l,fetchPriority:i}):n==="script"&&rt.d.X(e,{crossOrigin:a,integrity:l,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ot.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=so(t.as,t.crossOrigin);rt.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&rt.d.M(e)};ot.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin);rt.d.L(e,n,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};ot.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=so(t.as,t.crossOrigin);rt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else rt.d.m(e)};ot.requestFormReset=function(e){rt.d.r(e)};ot.unstable_batchedUpdates=function(e,t){return e(t)};ot.useFormState=function(e,t,n){return Ni.H.useFormState(e,t,n)};ot.useFormStatus=function(){return Ni.H.useHostTransitionStatus()};ot.version="19.2.8"});var Ug=un((qS,zg)=>{"use strict";function Hg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Hg)}catch(e){console.error(e)}}Hg(),zg.exports=Lg()});var Wy=un(Hu=>{"use strict";var Ge=Og(),sh=ft(),wb=Ug();function S(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function dh(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function vr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function fh(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function gh(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Gg(e){if(vr(e)!==e)throw Error(S(188))}function Sb(e){var t=e.alternate;if(!t){if(t=vr(e),t===null)throw Error(S(188));return t!==e?null:e}for(var n=e,a=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(a=l.return,a!==null){n=a;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return Gg(l),e;if(i===a)return Gg(l),t;i=i.sibling}throw Error(S(188))}if(n.return!==a.return)n=l,a=i;else{for(var r=!1,o=l.child;o;){if(o===n){r=!0,n=l,a=i;break}if(o===a){r=!0,a=l,n=i;break}o=o.sibling}if(!r){for(o=i.child;o;){if(o===n){r=!0,n=i,a=l;break}if(o===a){r=!0,a=i,n=l;break}o=o.sibling}if(!r)throw Error(S(189))}}if(n.alternate!==a)throw Error(S(190))}if(n.tag!==3)throw Error(S(188));return n.stateNode.current===n?e:t}function mh(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=mh(e),t!==null)return t;e=e.sibling}return null}var ve=Object.assign,Cb=Symbol.for("react.element"),fo=Symbol.for("react.transitional.element"),Pi=Symbol.for("react.portal"),Sl=Symbol.for("react.fragment"),hh=Symbol.for("react.strict_mode"),ys=Symbol.for("react.profiler"),ph=Symbol.for("react.consumer"),Mn=Symbol.for("react.context"),fd=Symbol.for("react.forward_ref"),vs=Symbol.for("react.suspense"),bs=Symbol.for("react.suspense_list"),gd=Symbol.for("react.memo"),Zn=Symbol.for("react.lazy");Symbol.for("react.scope");var As=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var Rb=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var Pg=Symbol.iterator;function Oi(e){return e===null||typeof e!="object"?null:(e=Pg&&e[Pg]||e["@@iterator"],typeof e=="function"?e:null)}var Tb=Symbol.for("react.client.reference");function ws(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Tb?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Sl:return"Fragment";case ys:return"Profiler";case hh:return"StrictMode";case vs:return"Suspense";case bs:return"SuspenseList";case As:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Pi:return"Portal";case Mn:return e.displayName||"Context";case ph:return(e._context.displayName||"Context")+".Consumer";case fd:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gd:return t=e.displayName||null,t!==null?t:ws(e.type)||"Memo";case Zn:t=e._payload,e=e._init;try{return ws(e(t))}catch{}}return null}var qi=Array.isArray,L=sh.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=wb.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,za={pending:!1,data:null,method:null,action:null},Ss=[],Cl=-1;function mn(e){return{current:e}}function Fe(e){0>Cl||(e.current=Ss[Cl],Ss[Cl]=null,Cl--)}function ge(e,t){Cl++,Ss[Cl]=e.current,e.current=t}var gn=mn(null),lr=mn(null),ra=mn(null),Vo=mn(null);function Xo(e,t){switch(ge(ra,t),ge(lr,e),ge(gn,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qm(t),e=Hy(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Fe(gn),ge(gn,e)}function ql(){Fe(gn),Fe(lr),Fe(ra)}function Cs(e){e.memoizedState!==null&&ge(Vo,e);var t=gn.current,n=Hy(t,e.type);t!==n&&(ge(lr,e),ge(gn,n))}function Qo(e){lr.current===e&&(Fe(gn),Fe(lr)),Vo.current===e&&(Fe(Vo),hr._currentValue=za)}var Uc,qg;function Oa(e){if(Uc===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Uc=t&&t[1]||"",qg=-1<n.stack.indexOf(`    at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return``+Uc+e+qg}var Gc=!1;function Pc(e,t){if(!e||Gc)return"";Gc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(m){var d=m}Reflect.construct(e,[],f)}else{try{f.call()}catch(m){d=m}e.call(f.prototype)}}else{try{throw Error()}catch(m){d=m}(f=e())&&typeof f.catch=="function"&&f.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),r=i[0],o=i[1];if(r&&o){var u=r.split(``),c=o.split(``);for(l=a=0;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;for(;l<c.length&&!c[l].includes("DetermineComponentFrameRoot");)l++;if(a===u.length||l===c.length)for(a=u.length-1,l=c.length-1;1<=a&&0<=l&&u[a]!==c[l];)l--;for(;1<=a&&0<=l;a--,l--)if(u[a]!==c[l]){if(a!==1||l!==1)do if(a--,l--,0>l||u[a]!==c[l]){var s=``+u[a].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=a&&0<=l);break}}}finally{Gc=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Oa(n):""}function Eb(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return Pc(e.type,!1);case 11:return Pc(e.type.render,!1);case 1:return Pc(e.type,!0);case 31:return Oa("Activity");default:return""}}function Fg(e){try{var t="",n=null;do t+=Eb(e,n),n=e,e=e.return;while(e);return t}catch(a){return`Error generating stack: `+a.message+``+a.stack}}var Rs=Object.prototype.hasOwnProperty,md=Ge.unstable_scheduleCallback,qc=Ge.unstable_cancelCallback,Db=Ge.unstable_shouldYield,xb=Ge.unstable_requestPaint,Dt=Ge.unstable_now,Mb=Ge.unstable_getCurrentPriorityLevel,yh=Ge.unstable_ImmediatePriority,vh=Ge.unstable_UserBlockingPriority,Ko=Ge.unstable_NormalPriority,_b=Ge.unstable_LowPriority,bh=Ge.unstable_IdlePriority,Bb=Ge.log,Nb=Ge.unstable_setDisableYieldValue,br=null,xt=null;function ta(e){if(typeof Bb=="function"&&Nb(e),xt&&typeof xt.setStrictMode=="function")try{xt.setStrictMode(br,e)}catch{}}var Mt=Math.clz32?Math.clz32:Lb,Ob=Math.log,kb=Math.LN2;function Lb(e){return e>>>=0,e===0?32:31-(Ob(e)/kb|0)|0}var go=256,mo=262144,ho=4194304;function ka(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Au(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var o=a&134217727;return o!==0?(a=o&~i,a!==0?l=ka(a):(r&=o,r!==0?l=ka(r):n||(n=o&~e,n!==0&&(l=ka(n))))):(o=a&~i,o!==0?l=ka(o):r!==0?l=ka(r):n||(n=a&~e,n!==0&&(l=ka(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function Ar(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Hb(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ah(){var e=ho;return ho<<=1,(ho&62914560)===0&&(ho=4194304),e}function Fc(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wr(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function zb(e,t,n,a,l,i){var r=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,u=e.expirationTimes,c=e.hiddenUpdates;for(n=r&~n;0<n;){var s=31-Mt(n),f=1<<s;o[s]=0,u[s]=-1;var d=c[s];if(d!==null)for(c[s]=null,s=0;s<d.length;s++){var m=d[s];m!==null&&(m.lane&=-536870913)}n&=~f}a!==0&&wh(e,a,0),i!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=i&~(r&~t))}function wh(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Mt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function Sh(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Mt(n),l=1<<a;l&t|e[a]&t&&(e[a]|=t),n&=~l}}function Ch(e,t){var n=t&-t;return n=(n&42)!==0?1:hd(n),(n&(e.suspendedLanes|t))!==0?0:n}function hd(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function pd(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Rh(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:Qy(e.type))}function jg(e,t){var n=$.p;try{return $.p=e,t()}finally{$.p=n}}var ba=Math.random().toString(36).slice(2),Ve="__reactFiber$"+ba,vt="__reactProps$"+ba,Jl="__reactContainer$"+ba,Ts="__reactEvents$"+ba,Ub="__reactListeners$"+ba,Gb="__reactHandles$"+ba,Yg="__reactResources$"+ba,Sr="__reactMarker$"+ba;function yd(e){delete e[Ve],delete e[vt],delete e[Ts],delete e[Ub],delete e[Gb]}function Rl(e){var t=e[Ve];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jl]||n[Ve]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Jm(e);e!==null;){if(n=e[Ve])return n;e=Jm(e)}return t}e=n,n=e.parentNode}return null}function $l(e){if(e=e[Ve]||e[Jl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Fi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(S(33))}function kl(e){var t=e[Yg];return t||(t=e[Yg]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function qe(e){e[Sr]=!0}var Th=new Set,Eh={};function Qa(e,t){Fl(e,t),Fl(e+"Capture",t)}function Fl(e,t){for(Eh[e]=t,e=0;e<t.length;e++)Th.add(t[e])}var Pb=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Vg={},Xg={};function qb(e){return Rs.call(Xg,e)?!0:Rs.call(Vg,e)?!1:Pb.test(e)?Xg[e]=!0:(Vg[e]=!0,!1)}function _o(e,t,n){if(qb(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function po(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function Sn(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+a)}}function Pt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fb(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,i=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(r){n=""+r,i.call(this,r)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){if(!e._valueTracker){var t=Dh(e)?"checked":"value";e._valueTracker=Fb(e,t,""+e[t])}}function xh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=Dh(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Zo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var jb=/[\n"\\]/g;function jt(e){return e.replace(jb,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ds(e,t,n,a,l,i,r,o){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pt(t)):e.value!==""+Pt(t)&&(e.value=""+Pt(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?xs(e,r,Pt(t)):n!=null?xs(e,r,Pt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+Pt(o):e.removeAttribute("name")}function Mh(e,t,n,a,l,i,r,o){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Es(e);return}n=n!=null?""+Pt(n):"",t=t!=null?""+Pt(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=o?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),Es(e)}function xs(e,t,n){t==="number"&&Zo(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ll(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&a&&(e[n].defaultSelected=!0)}else{for(n=""+Pt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,a&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function _h(e,t,n){if(t!=null&&(t=""+Pt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Pt(n):""}function Bh(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(S(92));if(qi(a)){if(1<a.length)throw Error(S(93));a=a[0]}n=a}n==null&&(n=""),t=n}n=Pt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==""&&a!==null&&(e.value=a),Es(e)}function jl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Qg(e,t,n){var a=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,n):typeof n!="number"||n===0||Yb.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Nh(e,t,n){if(t!=null&&typeof t!="object")throw Error(S(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var l in t)a=t[l],t.hasOwnProperty(l)&&n[l]!==a&&Qg(e,l,a)}else for(var i in t)t.hasOwnProperty(i)&&Qg(e,i,t[i])}function vd(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Xb=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Bo(e){return Xb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function _n(){}var Ms=null;function bd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tl=null,Hl=null;function Kg(e){var t=$l(e);if(t&&(e=t.stateNode)){var n=e[vt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Ds(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+jt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var l=a[vt]||null;if(!l)throw Error(S(90));Ds(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&xh(a)}break e;case"textarea":_h(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ll(e,!!n.multiple,t,!1)}}}var jc=!1;function Oh(e,t,n){if(jc)return e(t,n);jc=!0;try{var a=e(t);return a}finally{if(jc=!1,(Tl!==null||Hl!==null)&&(Nu(),Tl&&(t=Tl,e=Hl,Hl=Tl=null,Kg(t),e)))for(t=0;t<e.length;t++)Kg(e[t])}}function ir(e,t){var n=e.stateNode;if(n===null)return null;var a=n[vt]||null;if(a===null)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(S(231,t,typeof n));return n}var Ln=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_s=!1;if(Ln)try{yl={},Object.defineProperty(yl,"passive",{get:function(){_s=!0}}),window.addEventListener("test",yl,yl),window.removeEventListener("test",yl,yl)}catch{_s=!1}var yl,na=null,Ad=null,No=null;function kh(){if(No)return No;var e,t=Ad,n=t.length,a,l="value"in na?na.value:na.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var r=n-e;for(a=1;a<=r&&t[n-a]===l[i-a];a++);return No=l.slice(e,1<a?1-a:void 0)}function Oo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yo(){return!0}function Zg(){return!1}function bt(e){function t(n,a,l,i,r){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=i,this.target=r,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?yo:Zg,this.isPropagationStopped=Zg,this}return ve(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=yo)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var Ka={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},wu=bt(Ka),Cr=ve({},Ka,{view:0,detail:0}),Qb=bt(Cr),Yc,Vc,ki,Su=ve({},Cr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wd,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ki&&(ki&&e.type==="mousemove"?(Yc=e.screenX-ki.screenX,Vc=e.screenY-ki.screenY):Vc=Yc=0,ki=e),Yc)},movementY:function(e){return"movementY"in e?e.movementY:Vc}}),Wg=bt(Su),Kb=ve({},Su,{dataTransfer:0}),Zb=bt(Kb),Wb=ve({},Cr,{relatedTarget:0}),Xc=bt(Wb),Ib=ve({},Ka,{animationName:0,elapsedTime:0,pseudoElement:0}),Jb=bt(Ib),$b=ve({},Ka,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),eA=bt($b),tA=ve({},Ka,{data:0}),Ig=bt(tA),nA={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},aA={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},lA={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function iA(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=lA[e])?!!t[e]:!1}function wd(){return iA}var rA=ve({},Cr,{key:function(e){if(e.key){var t=nA[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Oo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?aA[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wd,charCode:function(e){return e.type==="keypress"?Oo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Oo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),oA=bt(rA),uA=ve({},Su,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jg=bt(uA),cA=ve({},Cr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wd}),sA=bt(cA),dA=ve({},Ka,{propertyName:0,elapsedTime:0,pseudoElement:0}),fA=bt(dA),gA=ve({},Su,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mA=bt(gA),hA=ve({},Ka,{newState:0,oldState:0}),pA=bt(hA),yA=[9,13,27,32],Sd=Ln&&"CompositionEvent"in window,Vi=null;Ln&&"documentMode"in document&&(Vi=document.documentMode);var vA=Ln&&"TextEvent"in window&&!Vi,Lh=Ln&&(!Sd||Vi&&8<Vi&&11>=Vi),$g=" ",em=!1;function Hh(e,t){switch(e){case"keyup":return yA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var El=!1;function bA(e,t){switch(e){case"compositionend":return zh(t);case"keypress":return t.which!==32?null:(em=!0,$g);case"textInput":return e=t.data,e===$g&&em?null:e;default:return null}}function AA(e,t){if(El)return e==="compositionend"||!Sd&&Hh(e,t)?(e=kh(),No=Ad=na=null,El=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Lh&&t.locale!=="ko"?null:t.data;default:return null}}var wA={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tm(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!wA[e.type]:t==="textarea"}function Uh(e,t,n,a){Tl?Hl?Hl.push(a):Hl=[a]:Tl=a,t=gu(t,"onChange"),0<t.length&&(n=new wu("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Xi=null,rr=null;function SA(e){Oy(e,0)}function Cu(e){var t=Fi(e);if(xh(t))return e}function nm(e,t){if(e==="change")return t}var Gh=!1;Ln&&(Ln?(bo="oninput"in document,bo||(Qc=document.createElement("div"),Qc.setAttribute("oninput","return;"),bo=typeof Qc.oninput=="function"),vo=bo):vo=!1,Gh=vo&&(!document.documentMode||9<document.documentMode));var vo,bo,Qc;function am(){Xi&&(Xi.detachEvent("onpropertychange",Ph),rr=Xi=null)}function Ph(e){if(e.propertyName==="value"&&Cu(rr)){var t=[];Uh(t,rr,e,bd(e)),Oh(SA,t)}}function CA(e,t,n){e==="focusin"?(am(),Xi=t,rr=n,Xi.attachEvent("onpropertychange",Ph)):e==="focusout"&&am()}function RA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Cu(rr)}function TA(e,t){if(e==="click")return Cu(t)}function EA(e,t){if(e==="input"||e==="change")return Cu(t)}function DA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bt=typeof Object.is=="function"?Object.is:DA;function or(e,t){if(Bt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!Rs.call(t,l)||!Bt(e[l],t[l]))return!1}return!0}function lm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function im(e,t){var n=lm(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lm(n)}}function qh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Zo(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Zo(e.document)}return t}function Cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var xA=Ln&&"documentMode"in document&&11>=document.documentMode,Dl=null,Bs=null,Qi=null,Ns=!1;function rm(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ns||Dl==null||Dl!==Zo(a)||(a=Dl,"selectionStart"in a&&Cd(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Qi&&or(Qi,a)||(Qi=a,a=gu(Bs,"onSelect"),0<a.length&&(t=new wu("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=Dl)))}function Na(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xl={animationend:Na("Animation","AnimationEnd"),animationiteration:Na("Animation","AnimationIteration"),animationstart:Na("Animation","AnimationStart"),transitionrun:Na("Transition","TransitionRun"),transitionstart:Na("Transition","TransitionStart"),transitioncancel:Na("Transition","TransitionCancel"),transitionend:Na("Transition","TransitionEnd")},Kc={},jh={};Ln&&(jh=document.createElement("div").style,"AnimationEvent"in window||(delete xl.animationend.animation,delete xl.animationiteration.animation,delete xl.animationstart.animation),"TransitionEvent"in window||delete xl.transitionend.transition);function Za(e){if(Kc[e])return Kc[e];if(!xl[e])return e;var t=xl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in jh)return Kc[e]=t[n];return e}var Yh=Za("animationend"),Vh=Za("animationiteration"),Xh=Za("animationstart"),MA=Za("transitionrun"),_A=Za("transitionstart"),BA=Za("transitioncancel"),Qh=Za("transitionend"),Kh=new Map,Os="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Os.push("scrollEnd");function tn(e,t){Kh.set(e,t),Qa(t,[e])}var Wo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Gt=[],Ml=0,Rd=0;function Ru(){for(var e=Ml,t=Rd=Ml=0;t<e;){var n=Gt[t];Gt[t++]=null;var a=Gt[t];Gt[t++]=null;var l=Gt[t];Gt[t++]=null;var i=Gt[t];if(Gt[t++]=null,a!==null&&l!==null){var r=a.pending;r===null?l.next=l:(l.next=r.next,r.next=l),a.pending=l}i!==0&&Zh(n,l,i)}}function Tu(e,t,n,a){Gt[Ml++]=e,Gt[Ml++]=t,Gt[Ml++]=n,Gt[Ml++]=a,Rd|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function Td(e,t,n,a){return Tu(e,t,n,a),Io(e)}function Wa(e,t){return Tu(e,null,null,t),Io(e)}function Zh(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var l=!1,i=e.return;i!==null;)i.childLanes|=n,a=i.alternate,a!==null&&(a.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(l=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,l&&t!==null&&(l=31-Mt(n),e=i.hiddenUpdates,a=e[l],a===null?e[l]=[t]:a.push(t),t.lane=n|536870912),i):null}function Io(e){if(50<nr)throw nr=0,ed=null,Error(S(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var _l={};function NA(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(e,t,n,a){return new NA(e,t,n,a)}function Ed(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nn(e,t){var n=e.alternate;return n===null?(n=Tt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Wh(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ko(e,t,n,a,l,i){var r=0;if(a=e,typeof e=="function")Ed(e)&&(r=1);else if(typeof e=="string")r=Lw(e,n,gn.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case As:return e=Tt(31,n,t,l),e.elementType=As,e.lanes=i,e;case Sl:return Ua(n.children,l,i,t);case hh:r=8,l|=24;break;case ys:return e=Tt(12,n,t,l|2),e.elementType=ys,e.lanes=i,e;case vs:return e=Tt(13,n,t,l),e.elementType=vs,e.lanes=i,e;case bs:return e=Tt(19,n,t,l),e.elementType=bs,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Mn:r=10;break e;case ph:r=9;break e;case fd:r=11;break e;case gd:r=14;break e;case Zn:r=16,a=null;break e}r=29,n=Error(S(130,e===null?"null":typeof e,"")),a=null}return t=Tt(r,n,t,l),t.elementType=e,t.type=a,t.lanes=i,t}function Ua(e,t,n,a){return e=Tt(7,e,a,t),e.lanes=n,e}function Zc(e,t,n){return e=Tt(6,e,null,t),e.lanes=n,e}function Ih(e){var t=Tt(18,null,null,0);return t.stateNode=e,t}function Wc(e,t,n){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var om=new WeakMap;function Yt(e,t){if(typeof e=="object"&&e!==null){var n=om.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Fg(t)},om.set(e,t),t)}return{value:e,source:t,stack:Fg(t)}}var Bl=[],Nl=0,Jo=null,ur=0,qt=[],Ft=0,ha=null,sn=1,dn="";function Dn(e,t){Bl[Nl++]=ur,Bl[Nl++]=Jo,Jo=e,ur=t}function Jh(e,t,n){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,ha=e;var a=sn;e=dn;var l=32-Mt(a)-1;a&=~(1<<l),n+=1;var i=32-Mt(t)+l;if(30<i){var r=l-l%5;i=(a&(1<<r)-1).toString(32),a>>=r,l-=r,sn=1<<32-Mt(t)+l|n<<l|a,dn=i+e}else sn=1<<i|n<<l|a,dn=e}function Dd(e){e.return!==null&&(Dn(e,1),Jh(e,1,0))}function xd(e){for(;e===Jo;)Jo=Bl[--Nl],Bl[Nl]=null,ur=Bl[--Nl],Bl[Nl]=null;for(;e===ha;)ha=qt[--Ft],qt[Ft]=null,dn=qt[--Ft],qt[Ft]=null,sn=qt[--Ft],qt[Ft]=null}function $h(e,t){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,sn=t.id,dn=t.overflow,ha=e}var Xe=null,ye=null,V=!1,oa=null,Vt=!1,ks=Error(S(519));function pa(e){var t=Error(S(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw cr(Yt(t,e)),ks}function um(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[Ve]=e,t[vt]=a,n){case"dialog":q("cancel",t),q("close",t);break;case"iframe":case"object":case"embed":q("load",t);break;case"video":case"audio":for(n=0;n<gr.length;n++)q(gr[n],t);break;case"source":q("error",t);break;case"img":case"image":case"link":q("error",t),q("load",t);break;case"details":q("toggle",t);break;case"input":q("invalid",t),Mh(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":q("invalid",t);break;case"textarea":q("invalid",t),Bh(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||a.suppressHydrationWarning===!0||Ly(t.textContent,n)?(a.popover!=null&&(q("beforetoggle",t),q("toggle",t)),a.onScroll!=null&&q("scroll",t),a.onScrollEnd!=null&&q("scrollend",t),a.onClick!=null&&(t.onclick=_n),t=!0):t=!1,t||pa(e,!0)}function cm(e){for(Xe=e.return;Xe;)switch(Xe.tag){case 5:case 31:case 13:Vt=!1;return;case 27:case 3:Vt=!0;return;default:Xe=Xe.return}}function vl(e){if(e!==Xe)return!1;if(!V)return cm(e),V=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||id(e.type,e.memoizedProps)),n=!n),n&&ye&&pa(e),cm(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else t===27?(t=ye,Aa(e.type)?(e=cd,cd=null,ye=e):ye=t):ye=Xe?Qt(e.stateNode.nextSibling):null;return!0}function Fa(){ye=Xe=null,V=!1}function Ic(){var e=oa;return e!==null&&(pt===null?pt=e:pt.push.apply(pt,e),oa=null),e}function cr(e){oa===null?oa=[e]:oa.push(e)}var Ls=mn(null),Ia=null,Bn=null;function In(e,t,n){ge(Ls,t._currentValue),t._currentValue=n}function On(e){e._currentValue=Ls.current,Fe(Ls)}function Hs(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function zs(e,t,n,a){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var i=l.dependencies;if(i!==null){var r=l.child;i=i.firstContext;e:for(;i!==null;){var o=i;i=l;for(var u=0;u<t.length;u++)if(o.context===t[u]){i.lanes|=n,o=i.alternate,o!==null&&(o.lanes|=n),Hs(i.return,n,e),a||(r=null);break e}i=o.next}}else if(l.tag===18){if(r=l.return,r===null)throw Error(S(341));r.lanes|=n,i=r.alternate,i!==null&&(i.lanes|=n),Hs(r,n,e),r=null}else r=l.child;if(r!==null)r.return=l;else for(r=l;r!==null;){if(r===e){r=null;break}if(l=r.sibling,l!==null){l.return=r.return,r=l;break}r=r.return}l=r}}function ei(e,t,n,a){e=null;for(var l=t,i=!1;l!==null;){if(!i){if((l.flags&524288)!==0)i=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var r=l.alternate;if(r===null)throw Error(S(387));if(r=r.memoizedProps,r!==null){var o=l.type;Bt(l.pendingProps.value,r.value)||(e!==null?e.push(o):e=[o])}}else if(l===Vo.current){if(r=l.alternate,r===null)throw Error(S(387));r.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(hr):e=[hr])}l=l.return}e!==null&&zs(t,e,n,a),t.flags|=262144}function $o(e){for(e=e.firstContext;e!==null;){if(!Bt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ja(e){Ia=e,Bn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Qe(e){return ep(Ia,e)}function Ao(e,t){return Ia===null&&ja(e),ep(e,t)}function ep(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Bn===null){if(e===null)throw Error(S(308));Bn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Bn=Bn.next=t;return n}var OA=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},kA=Ge.unstable_scheduleCallback,LA=Ge.unstable_NormalPriority,ke={$$typeof:Mn,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Md(){return{controller:new OA,data:new Map,refCount:0}}function Rr(e){e.refCount--,e.refCount===0&&kA(LA,function(){e.controller.abort()})}var Ki=null,Us=0,Yl=0,zl=null;function HA(e,t){if(Ki===null){var n=Ki=[];Us=0,Yl=ef(),zl={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Us++,t.then(sm,sm),t}function sm(){if(--Us===0&&Ki!==null){zl!==null&&(zl.status="fulfilled");var e=Ki;Ki=null,Yl=0,zl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function zA(e,t){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var l=0;l<n.length;l++)(0,n[l])(t)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var dm=L.S;L.S=function(e,t){my=Dt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&HA(e,t),dm!==null&&dm(e,t)};var Ga=mn(null);function _d(){var e=Ga.current;return e!==null?e:ue.pooledCache}function Lo(e,t){t===null?ge(Ga,Ga.current):ge(Ga,t.pool)}function tp(){var e=_d();return e===null?null:{parent:ke._currentValue,pool:e}}var ti=Error(S(460)),Bd=Error(S(474)),Eu=Error(S(542)),eu={then:function(){}};function fm(e){return e=e.status,e==="fulfilled"||e==="rejected"}function np(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(_n,_n),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e;default:if(typeof t.status=="string")t.then(_n,_n);else{if(e=ue,e!==null&&100<e.shellSuspendCounter)throw Error(S(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=a}},function(a){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e}throw Pa=t,ti}}function La(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Pa=n,ti):n}}var Pa=null;function gm(){if(Pa===null)throw Error(S(459));var e=Pa;return Pa=null,e}function mm(e){if(e===ti||e===Eu)throw Error(S(483))}var Ul=null,sr=0;function wo(e){var t=sr;return sr+=1,Ul===null&&(Ul=[]),np(Ul,e,t)}function Li(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function So(e,t){throw t.$$typeof===Cb?Error(S(525)):(e=Object.prototype.toString.call(t),Error(S(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ap(e){function t(h,g){if(e){var p=h.deletions;p===null?(h.deletions=[g],h.flags|=16):p.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function a(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function l(h,g){return h=Nn(h,g),h.index=0,h.sibling=null,h}function i(h,g,p){return h.index=p,e?(p=h.alternate,p!==null?(p=p.index,p<g?(h.flags|=67108866,g):p):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function r(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function o(h,g,p,y){return g===null||g.tag!==6?(g=Zc(p,h.mode,y),g.return=h,g):(g=l(g,p),g.return=h,g)}function u(h,g,p,y){var C=p.type;return C===Sl?s(h,g,p.props.children,y,p.key):g!==null&&(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type)?(g=l(g,p.props),Li(g,p),g.return=h,g):(g=ko(p.type,p.key,p.props,null,h.mode,y),Li(g,p),g.return=h,g)}function c(h,g,p,y){return g===null||g.tag!==4||g.stateNode.containerInfo!==p.containerInfo||g.stateNode.implementation!==p.implementation?(g=Wc(p,h.mode,y),g.return=h,g):(g=l(g,p.children||[]),g.return=h,g)}function s(h,g,p,y,C){return g===null||g.tag!==7?(g=Ua(p,h.mode,y,C),g.return=h,g):(g=l(g,p),g.return=h,g)}function f(h,g,p){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Zc(""+g,h.mode,p),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case fo:return p=ko(g.type,g.key,g.props,null,h.mode,p),Li(p,g),p.return=h,p;case Pi:return g=Wc(g,h.mode,p),g.return=h,g;case Zn:return g=La(g),f(h,g,p)}if(qi(g)||Oi(g))return g=Ua(g,h.mode,p,null),g.return=h,g;if(typeof g.then=="function")return f(h,wo(g),p);if(g.$$typeof===Mn)return f(h,Ao(h,g),p);So(h,g)}return null}function d(h,g,p,y){var C=g!==null?g.key:null;if(typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint")return C!==null?null:o(h,g,""+p,y);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:return p.key===C?u(h,g,p,y):null;case Pi:return p.key===C?c(h,g,p,y):null;case Zn:return p=La(p),d(h,g,p,y)}if(qi(p)||Oi(p))return C!==null?null:s(h,g,p,y,null);if(typeof p.then=="function")return d(h,g,wo(p),y);if(p.$$typeof===Mn)return d(h,g,Ao(h,p),y);So(h,p)}return null}function m(h,g,p,y,C){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return h=h.get(p)||null,o(g,h,""+y,C);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case fo:return h=h.get(y.key===null?p:y.key)||null,u(g,h,y,C);case Pi:return h=h.get(y.key===null?p:y.key)||null,c(g,h,y,C);case Zn:return y=La(y),m(h,g,p,y,C)}if(qi(y)||Oi(y))return h=h.get(p)||null,s(g,h,y,C,null);if(typeof y.then=="function")return m(h,g,p,wo(y),C);if(y.$$typeof===Mn)return m(h,g,p,Ao(g,y),C);So(g,y)}return null}function v(h,g,p,y){for(var C=null,R=null,T=g,M=g=0,w=null;T!==null&&M<p.length;M++){T.index>M?(w=T,T=null):w=T.sibling;var D=d(h,T,p[M],y);if(D===null){T===null&&(T=w);break}e&&T&&D.alternate===null&&t(h,T),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D,T=w}if(M===p.length)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;M<p.length;M++)T=f(h,p[M],y),T!==null&&(g=i(T,g,M),R===null?C=T:R.sibling=T,R=T);return V&&Dn(h,M),C}for(T=a(T);M<p.length;M++)w=m(T,h,M,p[M],y),w!==null&&(e&&w.alternate!==null&&T.delete(w.key===null?M:w.key),g=i(w,g,M),R===null?C=w:R.sibling=w,R=w);return e&&T.forEach(function(k){return t(h,k)}),V&&Dn(h,M),C}function A(h,g,p,y){if(p==null)throw Error(S(151));for(var C=null,R=null,T=g,M=g=0,w=null,D=p.next();T!==null&&!D.done;M++,D=p.next()){T.index>M?(w=T,T=null):w=T.sibling;var k=d(h,T,D.value,y);if(k===null){T===null&&(T=w);break}e&&T&&k.alternate===null&&t(h,T),g=i(k,g,M),R===null?C=k:R.sibling=k,R=k,T=w}if(D.done)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;!D.done;M++,D=p.next())D=f(h,D.value,y),D!==null&&(g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return V&&Dn(h,M),C}for(T=a(T);!D.done;M++,D=p.next())D=m(T,h,M,D.value,y),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?M:D.key),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return e&&T.forEach(function(se){return t(h,se)}),V&&Dn(h,M),C}function b(h,g,p,y){if(typeof p=="object"&&p!==null&&p.type===Sl&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:e:{for(var C=p.key;g!==null;){if(g.key===C){if(C=p.type,C===Sl){if(g.tag===7){n(h,g.sibling),y=l(g,p.props.children),y.return=h,h=y;break e}}else if(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type){n(h,g.sibling),y=l(g,p.props),Li(y,p),y.return=h,h=y;break e}n(h,g);break}else t(h,g);g=g.sibling}p.type===Sl?(y=Ua(p.props.children,h.mode,y,p.key),y.return=h,h=y):(y=ko(p.type,p.key,p.props,null,h.mode,y),Li(y,p),y.return=h,h=y)}return r(h);case Pi:e:{for(C=p.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===p.containerInfo&&g.stateNode.implementation===p.implementation){n(h,g.sibling),y=l(g,p.children||[]),y.return=h,h=y;break e}else{n(h,g);break}else t(h,g);g=g.sibling}y=Wc(p,h.mode,y),y.return=h,h=y}return r(h);case Zn:return p=La(p),b(h,g,p,y)}if(qi(p))return v(h,g,p,y);if(Oi(p)){if(C=Oi(p),typeof C!="function")throw Error(S(150));return p=C.call(p),A(h,g,p,y)}if(typeof p.then=="function")return b(h,g,wo(p),y);if(p.$$typeof===Mn)return b(h,g,Ao(h,p),y);So(h,p)}return typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint"?(p=""+p,g!==null&&g.tag===6?(n(h,g.sibling),y=l(g,p),y.return=h,h=y):(n(h,g),y=Zc(p,h.mode,y),y.return=h,h=y),r(h)):n(h,g)}return function(h,g,p,y){try{sr=0;var C=b(h,g,p,y);return Ul=null,C}catch(T){if(T===ti||T===Eu)throw T;var R=Tt(29,T,null,h.mode);return R.lanes=y,R.return=h,R}finally{}}}var Ya=ap(!0),lp=ap(!1),Wn=!1;function Nd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gs(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ca(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(J&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=Io(e),Zh(e,null,n),t}return Tu(e,a,t,n),Io(e)}function Zi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}function Jc(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var r={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=r:i=i.next=r,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ps=!1;function Wi(){if(Ps){var e=zl;if(e!==null)throw e}}function Ii(e,t,n,a){Ps=!1;var l=e.updateQueue;Wn=!1;var i=l.firstBaseUpdate,r=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var u=o,c=u.next;u.next=null,r===null?i=c:r.next=c,r=u;var s=e.alternate;s!==null&&(s=s.updateQueue,o=s.lastBaseUpdate,o!==r&&(o===null?s.firstBaseUpdate=c:o.next=c,s.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;r=0,s=c=u=null,o=i;do{var d=o.lane&-536870913,m=d!==o.lane;if(m?(Y&d)===d:(a&d)===d){d!==0&&d===Yl&&(Ps=!0),s!==null&&(s=s.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var v=e,A=o;d=t;var b=n;switch(A.tag){case 1:if(v=A.payload,typeof v=="function"){f=v.call(b,f,d);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=A.payload,d=typeof v=="function"?v.call(b,f,d):v,d==null)break e;f=ve({},f,d);break e;case 2:Wn=!0}}d=o.callback,d!==null&&(e.flags|=64,m&&(e.flags|=8192),m=l.callbacks,m===null?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:o.tag,payload:o.payload,callback:o.callback,next:null},s===null?(c=s=m,u=f):s=s.next=m,r|=d;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;m=o,o=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);s===null&&(u=f),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=s,i===null&&(l.shared.lanes=0),va|=r,e.lanes=r,e.memoizedState=f}}function ip(e,t){if(typeof e!="function")throw Error(S(191,e));e.call(t)}function rp(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ip(n[e],t)}var Vl=mn(null),tu=mn(0);function hm(e,t){e=Gn,ge(tu,e),ge(Vl,t),Gn=e|t.baseLanes}function qs(){ge(tu,Gn),ge(Vl,Vl.current)}function Od(){Gn=tu.current,Fe(Vl),Fe(tu)}var Nt=mn(null),Xt=null;function Jn(e){var t=e.alternate;ge(xe,xe.current&1),ge(Nt,e),Xt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Xt=e)}function Fs(e){ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)}function op(e){e.tag===22?(ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)):$n(e)}function $n(){ge(xe,xe.current),ge(Nt,Nt.current)}function Rt(e){Fe(Nt),Xt===e&&(Xt=null),Fe(xe)}var xe=mn(0);function nu(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||od(n)||ud(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hn=0,G=null,re=null,Ne=null,au=!1,Gl=!1,Va=!1,lu=0,dr=0,Pl=null,UA=0;function Re(){throw Error(S(321))}function kd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Bt(e[n],t[n]))return!1;return!0}function Ld(e,t,n,a,l,i){return Hn=i,G=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=e===null||e.memoizedState===null?Up:Xd,Va=!1,i=n(a,l),Va=!1,Gl&&(i=cp(t,n,a,l)),up(e),i}function up(e){L.H=fr;var t=re!==null&&re.next!==null;if(Hn=0,Ne=re=G=null,au=!1,dr=0,Pl=null,t)throw Error(S(300));e===null||Le||(e=e.dependencies,e!==null&&$o(e)&&(Le=!0))}function cp(e,t,n,a){G=e;var l=0;do{if(Gl&&(Pl=null),dr=0,Gl=!1,25<=l)throw Error(S(301));if(l+=1,Ne=re=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}L.H=Gp,i=t(n,a)}while(Gl);return i}function GA(){var e=L.H,t=e.useState()[0];return t=typeof t.then=="function"?Tr(t):t,e=e.useState()[0],(re!==null?re.memoizedState:null)!==e&&(G.flags|=1024),t}function Hd(){var e=lu!==0;return lu=0,e}function zd(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ud(e){if(au){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}au=!1}Hn=0,Ne=re=G=null,Gl=!1,dr=lu=0,Pl=null}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e,Ne}function Me(){if(re===null){var e=G.alternate;e=e!==null?e.memoizedState:null}else e=re.next;var t=Ne===null?G.memoizedState:Ne.next;if(t!==null)Ne=t,re=e;else{if(e===null)throw G.alternate===null?Error(S(467)):Error(S(310));re=e,e={memoizedState:re.memoizedState,baseState:re.baseState,baseQueue:re.baseQueue,queue:re.queue,next:null},Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e}return Ne}function Du(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Tr(e){var t=dr;return dr+=1,Pl===null&&(Pl=[]),e=np(Pl,e,t),t=G,(Ne===null?t.memoizedState:Ne.next)===null&&(t=t.alternate,L.H=t===null||t.memoizedState===null?Up:Xd),e}function xu(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Tr(e);if(e.$$typeof===Mn)return Qe(e)}throw Error(S(438,String(e)))}function Gd(e){var t=null,n=G.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=G.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Du(),G.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=Rb;return t.index++,n}function zn(e,t){return typeof t=="function"?t(e):t}function Ho(e){var t=Me();return Pd(t,re,e)}function Pd(e,t,n){var a=e.queue;if(a===null)throw Error(S(311));a.lastRenderedReducer=n;var l=e.baseQueue,i=a.pending;if(i!==null){if(l!==null){var r=l.next;l.next=i.next,i.next=r}t.baseQueue=l=i,a.pending=null}if(i=e.baseState,l===null)e.memoizedState=i;else{t=l.next;var o=r=null,u=null,c=t,s=!1;do{var f=c.lane&-536870913;if(f!==c.lane?(Y&f)===f:(Hn&f)===f){var d=c.revertLane;if(d===0)u!==null&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===Yl&&(s=!0);else if((Hn&d)===d){c=c.next,d===Yl&&(s=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=f,r=i):u=u.next=f,G.lanes|=d,va|=d;f=c.action,Va&&n(i,f),i=c.hasEagerState?c.eagerState:n(i,f)}else d={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=d,r=i):u=u.next=d,G.lanes|=f,va|=f;c=c.next}while(c!==null&&c!==t);if(u===null?r=i:u.next=o,!Bt(i,e.memoizedState)&&(Le=!0,s&&(n=zl,n!==null)))throw n;e.memoizedState=i,e.baseState=r,e.baseQueue=u,a.lastRenderedState=i}return l===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function $c(e){var t=Me(),n=t.queue;if(n===null)throw Error(S(311));n.lastRenderedReducer=e;var a=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var r=l=l.next;do i=e(i,r.action),r=r.next;while(r!==l);Bt(i,t.memoizedState)||(Le=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function sp(e,t,n){var a=G,l=Me(),i=V;if(i){if(n===void 0)throw Error(S(407));n=n()}else n=t();var r=!Bt((re||l).memoizedState,n);if(r&&(l.memoizedState=n,Le=!0),l=l.queue,qd(gp.bind(null,a,l,e),[e]),l.getSnapshot!==t||r||Ne!==null&&Ne.memoizedState.tag&1){if(a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,l,n,t),null),ue===null)throw Error(S(349));i||(Hn&127)!==0||dp(a,t,n)}return n}function dp(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=G.updateQueue,t===null?(t=Du(),G.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function fp(e,t,n,a){t.value=n,t.getSnapshot=a,mp(t)&&hp(e)}function gp(e,t,n){return n(function(){mp(t)&&hp(e)})}function mp(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Bt(e,n)}catch{return!0}}function hp(e){var t=Wa(e,2);t!==null&&yt(t,e,2)}function js(e){var t=ut();if(typeof e=="function"){var n=e;if(e=n(),Va){ta(!0);try{n()}finally{ta(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:e},t}function pp(e,t,n,a){return e.baseState=n,Pd(e,re,typeof a=="function"?a:zn)}function PA(e,t,n,a,l){if(_u(e))throw Error(S(485));if(e=t.action,e!==null){var i={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){i.listeners.push(r)}};L.T!==null?n(!0):i.isTransition=!1,a(i),n=t.pending,n===null?(i.next=t.pending=i,yp(t,i)):(i.next=n.next,t.pending=n.next=i)}}function yp(e,t){var n=t.action,a=t.payload,l=e.state;if(t.isTransition){var i=L.T,r={};L.T=r;try{var o=n(l,a),u=L.S;u!==null&&u(r,o),pm(e,t,o)}catch(c){Ys(e,t,c)}finally{i!==null&&r.types!==null&&(i.types=r.types),L.T=i}}else try{i=n(l,a),pm(e,t,i)}catch(c){Ys(e,t,c)}}function pm(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){ym(e,t,a)},function(a){return Ys(e,t,a)}):ym(e,t,n)}function ym(e,t,n){t.status="fulfilled",t.value=n,vp(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,yp(e,n)))}function Ys(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=n,vp(t),t=t.next;while(t!==a)}e.action=null}function vp(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function bp(e,t){return t}function vm(e,t){if(V){var n=ue.formState;if(n!==null){e:{var a=G;if(V){if(ye){t:{for(var l=ye,i=Vt;l.nodeType!==8;){if(!i){l=null;break t}if(l=Qt(l.nextSibling),l===null){l=null;break t}}i=l.data,l=i==="F!"||i==="F"?l:null}if(l){ye=Qt(l.nextSibling),a=l.data==="F!";break e}}pa(a)}a=!1}a&&(t=n[0])}}return n=ut(),n.memoizedState=n.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bp,lastRenderedState:t},n.queue=a,n=Lp.bind(null,G,a),a.dispatch=n,a=js(!1),i=Vd.bind(null,G,!1,a.queue),a=ut(),l={state:t,dispatch:null,action:e,pending:null},a.queue=l,n=PA.bind(null,G,l,i,n),l.dispatch=n,a.memoizedState=e,[t,n,!1]}function bm(e){var t=Me();return Ap(t,re,e)}function Ap(e,t,n){if(t=Pd(e,t,bp)[0],e=Ho(zn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=Tr(t)}catch(r){throw r===ti?Eu:r}else a=t;t=Me();var l=t.queue,i=l.dispatch;return n!==t.memoizedState&&(G.flags|=2048,Xl(9,{destroy:void 0},qA.bind(null,l,n),null)),[a,i,e]}function qA(e,t){e.action=t}function Am(e){var t=Me(),n=re;if(n!==null)return Ap(t,n,e);Me(),t=t.memoizedState,n=Me();var a=n.queue.dispatch;return n.memoizedState=e,[t,a,!1]}function Xl(e,t,n,a){return e={tag:e,create:n,deps:a,inst:t,next:null},t=G.updateQueue,t===null&&(t=Du(),G.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function wp(){return Me().memoizedState}function zo(e,t,n,a){var l=ut();G.flags|=e,l.memoizedState=Xl(1|t,{destroy:void 0},n,a===void 0?null:a)}function Mu(e,t,n,a){var l=Me();a=a===void 0?null:a;var i=l.memoizedState.inst;re!==null&&a!==null&&kd(a,re.memoizedState.deps)?l.memoizedState=Xl(t,i,n,a):(G.flags|=e,l.memoizedState=Xl(1|t,i,n,a))}function wm(e,t){zo(8390656,8,e,t)}function qd(e,t){Mu(2048,8,e,t)}function FA(e){G.flags|=4;var t=G.updateQueue;if(t===null)t=Du(),G.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Sp(e){var t=Me().memoizedState;return FA({ref:t,nextImpl:e}),function(){if((J&2)!==0)throw Error(S(440));return t.impl.apply(void 0,arguments)}}function Cp(e,t){return Mu(4,2,e,t)}function Rp(e,t){return Mu(4,4,e,t)}function Tp(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ep(e,t,n){n=n!=null?n.concat([e]):null,Mu(4,4,Tp.bind(null,t,e),n)}function Fd(){}function Dp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;return t!==null&&kd(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function xp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;if(t!==null&&kd(t,a[1]))return a[0];if(a=e(),Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a}function jd(e,t,n){return n===void 0||(Hn&1073741824)!==0&&(Y&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=py(),G.lanes|=e,va|=e,n)}function Mp(e,t,n,a){return Bt(n,t)?n:Vl.current!==null?(e=jd(e,n,a),Bt(e,t)||(Le=!0),e):(Hn&42)===0||(Hn&1073741824)!==0&&(Y&261930)===0?(Le=!0,e.memoizedState=n):(e=py(),G.lanes|=e,va|=e,t)}function _p(e,t,n,a,l){var i=$.p;$.p=i!==0&&8>i?i:8;var r=L.T,o={};L.T=o,Vd(e,!1,t,n);try{var u=l(),c=L.S;if(c!==null&&c(o,u),u!==null&&typeof u=="object"&&typeof u.then=="function"){var s=zA(u,a);Ji(e,t,s,_t(e))}else Ji(e,t,a,_t(e))}catch(f){Ji(e,t,{then:function(){},status:"rejected",reason:f},_t())}finally{$.p=i,r!==null&&o.types!==null&&(r.types=o.types),L.T=r}}function jA(){}function Vs(e,t,n,a){if(e.tag!==5)throw Error(S(476));var l=Bp(e).queue;_p(e,l,t,za,n===null?jA:function(){return Np(e),n(a)})}function Bp(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:za,baseState:za,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:za},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Np(e){var t=Bp(e);t.next===null&&(t=e.alternate.memoizedState),Ji(e,t.next.queue,{},_t())}function Yd(){return Qe(hr)}function Op(){return Me().memoizedState}function kp(){return Me().memoizedState}function YA(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_t();e=ua(n);var a=ca(t,e,n);a!==null&&(yt(a,t,n),Zi(a,t,n)),t={cache:Md()},e.payload=t;return}t=t.return}}function VA(e,t,n){var a=_t();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},_u(e)?Hp(t,n):(n=Td(e,t,n,a),n!==null&&(yt(n,e,a),zp(n,t,a)))}function Lp(e,t,n){var a=_t();Ji(e,t,n,a)}function Ji(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(_u(e))Hp(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,o=i(r,n);if(l.hasEagerState=!0,l.eagerState=o,Bt(o,r))return Tu(e,t,l,0),ue===null&&Ru(),!1}catch{}finally{}if(n=Td(e,t,l,a),n!==null)return yt(n,e,a),zp(n,t,a),!0}return!1}function Vd(e,t,n,a){if(a={lane:2,revertLane:ef(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},_u(e)){if(t)throw Error(S(479))}else t=Td(e,n,a,2),t!==null&&yt(t,e,2)}function _u(e){var t=e.alternate;return e===G||t!==null&&t===G}function Hp(e,t){Gl=au=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zp(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}var fr={readContext:Qe,use:xu,useCallback:Re,useContext:Re,useEffect:Re,useImperativeHandle:Re,useLayoutEffect:Re,useInsertionEffect:Re,useMemo:Re,useReducer:Re,useRef:Re,useState:Re,useDebugValue:Re,useDeferredValue:Re,useTransition:Re,useSyncExternalStore:Re,useId:Re,useHostTransitionStatus:Re,useFormState:Re,useActionState:Re,useOptimistic:Re,useMemoCache:Re,useCacheRefresh:Re};fr.useEffectEvent=Re;var Up={readContext:Qe,use:xu,useCallback:function(e,t){return ut().memoizedState=[e,t===void 0?null:t],e},useContext:Qe,useEffect:wm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,zo(4194308,4,Tp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zo(4194308,4,e,t)},useInsertionEffect:function(e,t){zo(4,2,e,t)},useMemo:function(e,t){var n=ut();t=t===void 0?null:t;var a=e();if(Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=ut();if(n!==void 0){var l=n(t);if(Va){ta(!0);try{n(t)}finally{ta(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=VA.bind(null,G,e),[a.memoizedState,e]},useRef:function(e){var t=ut();return e={current:e},t.memoizedState=e},useState:function(e){e=js(e);var t=e.queue,n=Lp.bind(null,G,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Fd,useDeferredValue:function(e,t){var n=ut();return jd(n,e,t)},useTransition:function(){var e=js(!1);return e=_p.bind(null,G,e.queue,!0,!1),ut().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=G,l=ut();if(V){if(n===void 0)throw Error(S(407));n=n()}else{if(n=t(),ue===null)throw Error(S(349));(Y&127)!==0||dp(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,wm(gp.bind(null,a,i,e),[e]),a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,i,n,t),null),n},useId:function(){var e=ut(),t=ue.identifierPrefix;if(V){var n=dn,a=sn;n=(a&~(1<<32-Mt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=lu++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=UA++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Yd,useFormState:vm,useActionState:vm,useOptimistic:function(e){var t=ut();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Vd.bind(null,G,!0,n),n.dispatch=t,[e,t]},useMemoCache:Gd,useCacheRefresh:function(){return ut().memoizedState=YA.bind(null,G)},useEffectEvent:function(e){var t=ut(),n={impl:e};return t.memoizedState=n,function(){if((J&2)!==0)throw Error(S(440));return n.impl.apply(void 0,arguments)}}},Xd={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:Ho,useRef:wp,useState:function(){return Ho(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=Ho(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:bm,useActionState:bm,useOptimistic:function(e,t){var n=Me();return pp(n,re,e,t)},useMemoCache:Gd,useCacheRefresh:kp};Xd.useEffectEvent=Sp;var Gp={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:$c,useRef:wp,useState:function(){return $c(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return re===null?jd(n,e,t):Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=$c(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:Am,useActionState:Am,useOptimistic:function(e,t){var n=Me();return re!==null?pp(n,re,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Gd,useCacheRefresh:kp};Gp.useEffectEvent=Sp;function es(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:ve({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xs={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=_t(),a=ua(n);a.tag=2,t!=null&&(a.callback=t),t=ca(e,a,n),t!==null&&(yt(t,e,n),Zi(t,e,n))}};function Sm(e,t,n,a,l,i,r){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,r):t.prototype&&t.prototype.isPureReactComponent?!or(n,a)||!or(l,i):!0}function Cm(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Xs.enqueueReplaceState(t,t.state,null)}function Xa(e,t){var n=t;if("ref"in t){n={};for(var a in t)a!=="ref"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=ve({},n));for(var l in e)n[l]===void 0&&(n[l]=e[l])}return n}function Pp(e){Wo(e)}function qp(e){console.error(e)}function Fp(e){Wo(e)}function iu(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function Rm(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Qs(e,t,n){return n=ua(n),n.tag=3,n.payload={element:null},n.callback=function(){iu(e,t)},n}function jp(e){return e=ua(e),e.tag=3,e}function Yp(e,t,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var i=a.value;e.payload=function(){return l(i)},e.callback=function(){Rm(t,n,a)}}var r=n.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){Rm(t,n,a),typeof l!="function"&&(sa===null?sa=new Set([this]):sa.add(this));var o=a.stack;this.componentDidCatch(a.value,{componentStack:o!==null?o:""})})}function XA(e,t,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=n.alternate,t!==null&&ei(t,n,l,!0),n=Nt.current,n!==null){switch(n.tag){case 31:case 13:return Xt===null?su():n.alternate===null&&Te===0&&(Te=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),ds(e,a,l)),!1;case 22:return n.flags|=65536,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),ds(e,a,l)),!1}throw Error(S(435,n.tag))}return ds(e,a,l),su(),!1}if(V)return t=Nt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,a!==ks&&(e=Error(S(422),{cause:a}),cr(Yt(e,n)))):(a!==ks&&(t=Error(S(423),{cause:a}),cr(Yt(t,n))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,a=Yt(a,n),l=Qs(e.stateNode,a,l),Jc(e,l),Te!==4&&(Te=2)),!1;var i=Error(S(520),{cause:a});if(i=Yt(i,n),tr===null?tr=[i]:tr.push(i),Te!==4&&(Te=2),t===null)return!0;a=Yt(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=l&-l,n.lanes|=e,e=Qs(n.stateNode,a,e),Jc(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(sa===null||!sa.has(i))))return n.flags|=65536,l&=-l,n.lanes|=l,l=jp(l),Yp(l,e,n,a),Jc(n,l),!1}n=n.return}while(n!==null);return!1}var Qd=Error(S(461)),Le=!1;function Ye(e,t,n,a){t.child=e===null?lp(t,null,n,a):Ya(t,e.child,n,a)}function Tm(e,t,n,a,l){n=n.render;var i=t.ref;if("ref"in a){var r={};for(var o in a)o!=="ref"&&(r[o]=a[o])}else r=a;return ja(t),a=Ld(e,t,n,r,i,l),o=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&o&&Dd(t),t.flags|=1,Ye(e,t,a,l),t.child)}function Em(e,t,n,a,l){if(e===null){var i=n.type;return typeof i=="function"&&!Ed(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,Vp(e,t,i,a,l)):(e=ko(n.type,null,a,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Kd(e,l)){var r=i.memoizedProps;if(n=n.compare,n=n!==null?n:or,n(r,a)&&e.ref===t.ref)return Un(e,t,l)}return t.flags|=1,e=Nn(i,a),e.ref=t.ref,e.return=t,t.child=e}function Vp(e,t,n,a,l){if(e!==null){var i=e.memoizedProps;if(or(i,a)&&e.ref===t.ref)if(Le=!1,t.pendingProps=a=i,Kd(e,l))(e.flags&131072)!==0&&(Le=!0);else return t.lanes=e.lanes,Un(e,t,l)}return Ks(e,t,n,a,l)}function Xp(e,t,n,a){var l=a.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(a=t.child=e.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~i}else a=0,t.child=null;return Dm(e,t,i,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Lo(t,i!==null?i.cachePool:null),i!==null?hm(t,i):qs(),op(t);else return a=t.lanes=536870912,Dm(e,t,i!==null?i.baseLanes|n:n,n,a)}else i!==null?(Lo(t,i.cachePool),hm(t,i),$n(t),t.memoizedState=null):(e!==null&&Lo(t,null),qs(),$n(t));return Ye(e,t,l,n),t.child}function ji(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Dm(e,t,n,a,l){var i=_d();return i=i===null?null:{parent:ke._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Lo(t,null),qs(),op(t),e!==null&&ei(e,t,a,!0),t.childLanes=l,null}function Uo(e,t){return t=ru({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function xm(e,t,n){return Ya(t,e.child,null,n),e=Uo(t,t.pendingProps),e.flags|=2,Rt(t),t.memoizedState=null,e}function QA(e,t,n){var a=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(V){if(a.mode==="hidden")return e=Uo(t,a),t.lanes=536870912,ji(null,e);if(Fs(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return t.lanes=536870912,null}return Uo(t,a)}var i=e.memoizedState;if(i!==null){var r=i.dehydrated;if(Fs(t),l)if(t.flags&256)t.flags&=-257,t=xm(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(S(558));else if(Le||ei(e,t,n,!1),l=(n&e.childLanes)!==0,Le||l){if(a=ue,a!==null&&(r=Ch(a,n),r!==0&&r!==i.retryLane))throw i.retryLane=r,Wa(e,r),yt(a,e,r),Qd;su(),t=xm(e,t,n)}else e=i.treeContext,ye=Qt(r.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Uo(t,a),t.flags|=4096;return t}return e=Nn(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Go(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(S(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Ks(e,t,n,a,l){return ja(t),n=Ld(e,t,n,a,void 0,l),a=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,l),t.child)}function Mm(e,t,n,a,l,i){return ja(t),t.updateQueue=null,n=cp(t,a,n,l),up(e),a=Hd(),e!==null&&!Le?(zd(e,t,i),Un(e,t,i)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,i),t.child)}function _m(e,t,n,a,l){if(ja(t),t.stateNode===null){var i=_l,r=n.contextType;typeof r=="object"&&r!==null&&(i=Qe(r)),i=new n(a,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Xs,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=a,i.state=t.memoizedState,i.refs={},Nd(t),r=n.contextType,i.context=typeof r=="object"&&r!==null?Qe(r):_l,i.state=t.memoizedState,r=n.getDerivedStateFromProps,typeof r=="function"&&(es(t,n,r,a),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&Xs.enqueueReplaceState(i,i.state,null),Ii(t,a,i,l),Wi(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){i=t.stateNode;var o=t.memoizedProps,u=Xa(n,o);i.props=u;var c=i.context,s=n.contextType;r=_l,typeof s=="object"&&s!==null&&(r=Qe(s));var f=n.getDerivedStateFromProps;s=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function",o=t.pendingProps!==o,s||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o||c!==r)&&Cm(t,i,a,r),Wn=!1;var d=t.memoizedState;i.state=d,Ii(t,a,i,l),Wi(),c=t.memoizedState,o||d!==c||Wn?(typeof f=="function"&&(es(t,n,f,a),c=t.memoizedState),(u=Wn||Sm(t,n,u,a,d,c,r))?(s||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=r,a=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Gs(e,t),r=t.memoizedProps,s=Xa(n,r),i.props=s,f=t.pendingProps,d=i.context,c=n.contextType,u=_l,typeof c=="object"&&c!==null&&(u=Qe(c)),o=n.getDerivedStateFromProps,(c=typeof o=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r!==f||d!==u)&&Cm(t,i,a,u),Wn=!1,d=t.memoizedState,i.state=d,Ii(t,a,i,l),Wi();var m=t.memoizedState;r!==f||d!==m||Wn||e!==null&&e.dependencies!==null&&$o(e.dependencies)?(typeof o=="function"&&(es(t,n,o,a),m=t.memoizedState),(s=Wn||Sm(t,n,s,a,d,m,u)||e!==null&&e.dependencies!==null&&$o(e.dependencies))?(c||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(a,m,u),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(a,m,u)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=u,a=s):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return i=a,Go(e,t),a=(t.flags&128)!==0,i||a?(i=t.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&a?(t.child=Ya(t,e.child,null,l),t.child=Ya(t,null,n,l)):Ye(e,t,n,l),t.memoizedState=i.state,e=t.child):e=Un(e,t,l),e}function Bm(e,t,n,a){return Fa(),t.flags|=256,Ye(e,t,n,a),t.child}var ts={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ns(e){return{baseLanes:e,cachePool:tp()}}function as(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Et),e}function Qp(e,t,n){var a=t.pendingProps,l=!1,i=(t.flags&128)!==0,r;if((r=i)||(r=e!==null&&e.memoizedState===null?!1:(xe.current&2)!==0),r&&(l=!0,t.flags&=-129),r=(t.flags&32)!==0,t.flags&=-33,e===null){if(V){if(l?Jn(t):$n(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return ud(e)?t.lanes=32:t.lanes=536870912,null}var o=a.children;return a=a.fallback,l?($n(t),l=t.mode,o=ru({mode:"hidden",children:o},l),a=Ua(a,l,n,null),o.return=t,a.return=t,o.sibling=a,t.child=o,a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,ji(null,a)):(Jn(t),Zs(t,o))}var u=e.memoizedState;if(u!==null&&(o=u.dehydrated,o!==null)){if(i)t.flags&256?(Jn(t),t.flags&=-257,t=ls(e,t,n)):t.memoizedState!==null?($n(t),t.child=e.child,t.flags|=128,t=null):($n(t),o=a.fallback,l=t.mode,a=ru({mode:"visible",children:a.children},l),o=Ua(o,l,n,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,Ya(t,e.child,null,n),a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,t=ji(null,a));else if(Jn(t),ud(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var c=r.dgst;r=c,a=Error(S(419)),a.stack="",a.digest=r,cr({value:a,source:null,stack:null}),t=ls(e,t,n)}else if(Le||ei(e,t,n,!1),r=(n&e.childLanes)!==0,Le||r){if(r=ue,r!==null&&(a=Ch(r,n),a!==0&&a!==u.retryLane))throw u.retryLane=a,Wa(e,a),yt(r,e,a),Qd;od(o)||su(),t=ls(e,t,n)}else od(o)?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,ye=Qt(o.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Zs(t,a.children),t.flags|=4096);return t}return l?($n(t),o=a.fallback,l=t.mode,u=e.child,c=u.sibling,a=Nn(u,{mode:"hidden",children:a.children}),a.subtreeFlags=u.subtreeFlags&65011712,c!==null?o=Nn(c,o):(o=Ua(o,l,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,ji(null,a),a=t.child,o=e.child.memoizedState,o===null?o=ns(n):(l=o.cachePool,l!==null?(u=ke._currentValue,l=l.parent!==u?{parent:u,pool:u}:l):l=tp(),o={baseLanes:o.baseLanes|n,cachePool:l}),a.memoizedState=o,a.childLanes=as(e,r,n),t.memoizedState=ts,ji(e.child,a)):(Jn(t),n=e.child,e=n.sibling,n=Nn(n,{mode:"visible",children:a.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Zs(e,t){return t=ru({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ru(e,t){return e=Tt(22,e,null,t),e.lanes=0,e}function ls(e,t,n){return Ya(t,e.child,null,n),e=Zs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nm(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Hs(e.return,t,n)}function is(e,t,n,a,l,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=l,r.treeForkCount=i)}function Kp(e,t,n){var a=t.pendingProps,l=a.revealOrder,i=a.tail;a=a.children;var r=xe.current,o=(r&2)!==0;if(o?(r=r&1|2,t.flags|=128):r&=1,ge(xe,r),Ye(e,t,a,n),a=V?ur:0,!o&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nm(e,n,t);else if(e.tag===19)Nm(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&nu(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),is(t,!1,l,n,i,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&nu(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}is(t,!0,n,null,i,a);break;case"together":is(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function Un(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),va|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ei(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(S(153));if(t.child!==null){for(e=t.child,n=Nn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Nn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Kd(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&$o(e)))}function KA(e,t,n){switch(t.tag){case 3:Xo(t,t.stateNode.containerInfo),In(t,ke,e.memoizedState.cache),Fa();break;case 27:case 5:Cs(t);break;case 4:Xo(t,t.stateNode.containerInfo);break;case 10:In(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Fs(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(Jn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Qp(e,t,n):(Jn(t),e=Un(e,t,n),e!==null?e.sibling:null);Jn(t);break;case 19:var l=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||(ei(e,t,n,!1),a=(n&t.childLanes)!==0),l){if(a)return Kp(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ge(xe,xe.current),a)break;return null;case 22:return t.lanes=0,Xp(e,t,n,t.pendingProps);case 24:In(t,ke,e.memoizedState.cache)}return Un(e,t,n)}function Zp(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Le=!0;else{if(!Kd(e,n)&&(t.flags&128)===0)return Le=!1,KA(e,t,n);Le=(e.flags&131072)!==0}else Le=!1,V&&(t.flags&1048576)!==0&&Jh(t,ur,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=La(t.elementType),t.type=e,typeof e=="function")Ed(e)?(a=Xa(e,a),t.tag=1,t=_m(null,t,e,a,n)):(t.tag=0,t=Ks(null,t,e,a,n));else{if(e!=null){var l=e.$$typeof;if(l===fd){t.tag=11,t=Tm(null,t,e,a,n);break e}else if(l===gd){t.tag=14,t=Em(null,t,e,a,n);break e}}throw t=ws(e)||e,Error(S(306,t,""))}}return t;case 0:return Ks(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,l=Xa(a,t.pendingProps),_m(e,t,a,l,n);case 3:e:{if(Xo(t,t.stateNode.containerInfo),e===null)throw Error(S(387));a=t.pendingProps;var i=t.memoizedState;l=i.element,Gs(e,t),Ii(t,a,null,n);var r=t.memoizedState;if(a=r.cache,In(t,ke,a),a!==i.cache&&zs(t,[ke],n,!0),Wi(),a=r.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:r.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Bm(e,t,a,n);break e}else if(a!==l){l=Yt(Error(S(424)),t),cr(l),t=Bm(e,t,a,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(ye=Qt(e.firstChild),Xe=t,V=!0,oa=null,Vt=!0,n=lp(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Fa(),a===l){t=Un(e,t,n);break e}Ye(e,t,a,n)}t=t.child}return t;case 26:return Go(e,t),e===null?(n=eh(t.type,null,t.pendingProps,null))?t.memoizedState=n:V||(n=t.type,e=t.pendingProps,a=mu(ra.current).createElement(n),a[Ve]=t,a[vt]=e,Ke(a,n,e),qe(a),t.stateNode=a):t.memoizedState=eh(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Cs(t),e===null&&V&&(a=t.stateNode=Gy(t.type,t.pendingProps,ra.current),Xe=t,Vt=!0,l=ye,Aa(t.type)?(cd=l,ye=Qt(a.firstChild)):ye=l),Ye(e,t,t.pendingProps.children,n),Go(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&V&&((l=a=ye)&&(a=Sw(a,t.type,t.pendingProps,Vt),a!==null?(t.stateNode=a,Xe=t,ye=Qt(a.firstChild),Vt=!1,l=!0):l=!1),l||pa(t)),Cs(t),l=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,a=i.children,id(l,i)?a=null:r!==null&&id(l,r)&&(t.flags|=32),t.memoizedState!==null&&(l=Ld(e,t,GA,null,null,n),hr._currentValue=l),Go(e,t),Ye(e,t,a,n),t.child;case 6:return e===null&&V&&((e=n=ye)&&(n=Cw(n,t.pendingProps,Vt),n!==null?(t.stateNode=n,Xe=t,ye=null,e=!0):e=!1),e||pa(t)),null;case 13:return Qp(e,t,n);case 4:return Xo(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ya(t,null,a,n):Ye(e,t,a,n),t.child;case 11:return Tm(e,t,t.type,t.pendingProps,n);case 7:return Ye(e,t,t.pendingProps,n),t.child;case 8:return Ye(e,t,t.pendingProps.children,n),t.child;case 12:return Ye(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,In(t,t.type,a.value),Ye(e,t,a.children,n),t.child;case 9:return l=t.type._context,a=t.pendingProps.children,ja(t),l=Qe(l),a=a(l),t.flags|=1,Ye(e,t,a,n),t.child;case 14:return Em(e,t,t.type,t.pendingProps,n);case 15:return Vp(e,t,t.type,t.pendingProps,n);case 19:return Kp(e,t,n);case 31:return QA(e,t,n);case 22:return Xp(e,t,n,t.pendingProps);case 24:return ja(t),a=Qe(ke),e===null?(l=_d(),l===null&&(l=ue,i=Md(),l.pooledCache=i,i.refCount++,i!==null&&(l.pooledCacheLanes|=n),l=i),t.memoizedState={parent:a,cache:l},Nd(t),In(t,ke,l)):((e.lanes&n)!==0&&(Gs(e,t),Ii(t,null,null,n),Wi()),l=e.memoizedState,i=t.memoizedState,l.parent!==a?(l={parent:a,cache:a},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),In(t,ke,a)):(a=i.cache,In(t,ke,a),a!==l.cache&&zs(t,[ke],n,!0))),Ye(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(S(156,t.tag))}function Cn(e){e.flags|=4}function rs(e,t,n,a,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(by())e.flags|=8192;else throw Pa=eu,Bd}else e.flags&=-16777217}function Om(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Fy(t))if(by())e.flags|=8192;else throw Pa=eu,Bd}function Co(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ah():536870912,e.lanes|=t,Ql|=t)}function Hi(e,t){if(!V)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function ZA(e,t,n){var a=t.pendingProps;switch(xd(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pe(t),null;case 1:return pe(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),On(ke),ql(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(vl(t)?Cn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ic())),pe(t),null;case 26:var l=t.type,i=t.memoizedState;return e===null?(Cn(t),i!==null?(pe(t),Om(t,i)):(pe(t),rs(t,l,null,a,n))):i?i!==e.memoizedState?(Cn(t),pe(t),Om(t,i)):(pe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&Cn(t),pe(t),rs(t,l,e,a,n)),null;case 27:if(Qo(t),n=ra.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}e=gn.current,vl(t)?um(t,e):(e=Gy(l,a,n),t.stateNode=e,Cn(t))}return pe(t),null;case 5:if(Qo(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}if(i=gn.current,vl(t))um(t,i);else{var r=mu(ra.current);switch(i){case 1:i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":i=r.createElement("div"),i.innerHTML="<script><\/scr"+"ipt>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?r.createElement(l,{is:a.is}):r.createElement(l)}}i[Ve]=t,i[vt]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(Ke(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Cn(t)}}return pe(t),rs(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(S(166));if(e=ra.current,vl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=Xe,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[Ve]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Ly(e.nodeValue,n)),e||pa(t,!0)}else e=mu(e).createTextNode(a),e[Ve]=t,t.stateNode=e}return pe(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=vl(t),n!==null){if(e===null){if(!a)throw Error(S(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(557));e[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),e=!1}else n=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Rt(t),t):(Rt(t),null);if((t.flags&128)!==0)throw Error(S(558))}return pe(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=vl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(S(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(317));l[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),l=!1}else l=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Rt(t),t):(Rt(t),null)}return Rt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Co(t,t.updateQueue),pe(t),null);case 4:return ql(),e===null&&tf(t.stateNode.containerInfo),pe(t),null;case 10:return On(t.type),pe(t),null;case 19:if(Fe(xe),a=t.memoizedState,a===null)return pe(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)Hi(a,!1);else{if(Te!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=nu(e),i!==null){for(t.flags|=128,Hi(a,!1),e=i.updateQueue,t.updateQueue=e,Co(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Wh(n,e),n=n.sibling;return ge(xe,xe.current&1|2),V&&Dn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Dt()>uu&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304)}else{if(!l)if(e=nu(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Co(t,e),Hi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!V)return pe(t),null}else 2*Dt()-a.renderingStartTime>uu&&n!==536870912&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Dt(),e.sibling=null,n=xe.current,ge(xe,l?n&1|2:n&1),V&&Dn(t,a.treeForkCount),e):(pe(t),null);case 22:case 23:return Rt(t),Od(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(pe(t),t.subtreeFlags&6&&(t.flags|=8192)):pe(t),n=t.updateQueue,n!==null&&Co(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&Fe(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),On(ke),pe(t),null;case 25:return null;case 30:return null}throw Error(S(156,t.tag))}function WA(e,t){switch(xd(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return On(ke),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Qo(t),null;case 31:if(t.memoizedState!==null){if(Rt(t),t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Rt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fe(xe),null;case 4:return ql(),null;case 10:return On(t.type),null;case 22:case 23:return Rt(t),Od(),e!==null&&Fe(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return On(ke),null;case 25:return null;default:return null}}function Wp(e,t){switch(xd(t),t.tag){case 3:On(ke),ql();break;case 26:case 27:case 5:Qo(t);break;case 4:ql();break;case 31:t.memoizedState!==null&&Rt(t);break;case 13:Rt(t);break;case 19:Fe(xe);break;case 10:On(t.type);break;case 22:case 23:Rt(t),Od(),e!==null&&Fe(Ga);break;case 24:On(ke)}}function Er(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,r=n.inst;a=i(),r.destroy=a}n=n.next}while(n!==l)}}catch(o){le(t,t.return,o)}}function ya(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var r=a.inst,o=r.destroy;if(o!==void 0){r.destroy=void 0,l=t;var u=n,c=o;try{c()}catch(s){le(l,u,s)}}}a=a.next}while(a!==i)}}catch(s){le(t,t.return,s)}}function Ip(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{rp(t,n)}catch(a){le(e,e.return,a)}}}function Jp(e,t,n){n.props=Xa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){le(e,t,a)}}function $i(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){le(e,t,l)}}function fn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){le(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){le(e,t,l)}else n.current=null}function $p(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){le(e,e.return,l)}}function os(e,t,n){try{var a=e.stateNode;pw(a,e.type,n,t),a[vt]=t}catch(l){le(e,e.return,l)}}function ey(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Aa(e.type)||e.tag===4}function us(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ey(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Aa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ws(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=_n));else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Ws(e,t,n),e=e.sibling;e!==null;)Ws(e,t,n),e=e.sibling}function ou(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ou(e,t,n),e=e.sibling;e!==null;)ou(e,t,n),e=e.sibling}function ty(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);Ke(t,a,n),t[Ve]=e,t[vt]=n}catch(i){le(e,e.return,i)}}var xn=!1,Oe=!1,cs=!1,km=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function IA(e,t){if(e=e.containerInfo,ad=vu,e=Fh(e),Cd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var r=0,o=-1,u=-1,c=0,s=0,f=e,d=null;t:for(;;){for(var m;f!==n||l!==0&&f.nodeType!==3||(o=r+l),f!==i||a!==0&&f.nodeType!==3||(u=r+a),f.nodeType===3&&(r+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===n&&++c===l&&(o=r),d===i&&++s===a&&(u=r),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}n=o===-1||u===-1?null:{start:o,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ld={focusedElem:e,selectionRange:n},vu=!1,Pe=t;Pe!==null;)if(t=Pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Pe=e;else for(;Pe!==null;){switch(t=Pe,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)l=e[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,l=i.memoizedProps,i=i.memoizedState,a=n.stateNode;try{var v=Xa(n.type,l);e=a.getSnapshotBeforeUpdate(v,i),a.__reactInternalSnapshotBeforeUpdate=e}catch(A){le(n,n.return,A)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)rd(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":rd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(S(163))}if(e=t.sibling,e!==null){e.return=t.return,Pe=e;break}Pe=t.return}}function ny(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Tn(e,n),a&4&&Er(5,n);break;case 1:if(Tn(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(r){le(n,n.return,r)}else{var l=Xa(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(r){le(n,n.return,r)}}a&64&&Ip(n),a&512&&$i(n,n.return);break;case 3:if(Tn(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{rp(e,t)}catch(r){le(n,n.return,r)}}break;case 27:t===null&&a&4&&ty(n);case 26:case 5:Tn(e,n),t===null&&a&4&&$p(n),a&512&&$i(n,n.return);break;case 12:Tn(e,n);break;case 31:Tn(e,n),a&4&&iy(e,n);break;case 13:Tn(e,n),a&4&&ry(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=rw.bind(null,n),Rw(e,n))));break;case 22:if(a=n.memoizedState!==null||xn,!a){t=t!==null&&t.memoizedState!==null||Oe,l=xn;var i=Oe;xn=a,(Oe=t)&&!i?En(e,n,(n.subtreeFlags&8772)!==0):Tn(e,n),xn=l,Oe=i}break;case 30:break;default:Tn(e,n)}}function ay(e){var t=e.alternate;t!==null&&(e.alternate=null,ay(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&yd(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ce=null,ht=!1;function Rn(e,t,n){for(n=n.child;n!==null;)ly(e,t,n),n=n.sibling}function ly(e,t,n){if(xt&&typeof xt.onCommitFiberUnmount=="function")try{xt.onCommitFiberUnmount(br,n)}catch{}switch(n.tag){case 26:Oe||fn(n,t),Rn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Oe||fn(n,t);var a=Ce,l=ht;Aa(n.type)&&(Ce=n.stateNode,ht=!1),Rn(e,t,n),ar(n.stateNode),Ce=a,ht=l;break;case 5:Oe||fn(n,t);case 6:if(a=Ce,l=ht,Ce=null,Rn(e,t,n),Ce=a,ht=l,Ce!==null)if(ht)try{(Ce.nodeType===9?Ce.body:Ce.nodeName==="HTML"?Ce.ownerDocument.body:Ce).removeChild(n.stateNode)}catch(i){le(n,t,i)}else try{Ce.removeChild(n.stateNode)}catch(i){le(n,t,i)}break;case 18:Ce!==null&&(ht?(e=Ce,Zm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),Il(e)):Zm(Ce,n.stateNode));break;case 4:a=Ce,l=ht,Ce=n.stateNode.containerInfo,ht=!0,Rn(e,t,n),Ce=a,ht=l;break;case 0:case 11:case 14:case 15:ya(2,n,t),Oe||ya(4,n,t),Rn(e,t,n);break;case 1:Oe||(fn(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"&&Jp(n,t,a)),Rn(e,t,n);break;case 21:Rn(e,t,n);break;case 22:Oe=(a=Oe)||n.memoizedState!==null,Rn(e,t,n),Oe=a;break;default:Rn(e,t,n)}}function iy(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Il(e)}catch(n){le(t,t.return,n)}}}function ry(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Il(e)}catch(n){le(t,t.return,n)}}function JA(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new km),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new km),t;default:throw Error(S(435,e.tag))}}function Ro(e,t){var n=JA(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var l=ow.bind(null,e,a);a.then(l,l)}})}function gt(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var l=n[a],i=e,r=t,o=r;e:for(;o!==null;){switch(o.tag){case 27:if(Aa(o.type)){Ce=o.stateNode,ht=!1;break e}break;case 5:Ce=o.stateNode,ht=!1;break e;case 3:case 4:Ce=o.stateNode.containerInfo,ht=!0;break e}o=o.return}if(Ce===null)throw Error(S(160));ly(i,r,l),Ce=null,ht=!1,i=l.alternate,i!==null&&(i.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)oy(t,e),t=t.sibling}var en=null;function oy(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),mt(e),a&4&&(ya(3,e,e.return),Er(3,e),ya(5,e,e.return));break;case 1:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&64&&xn&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var l=en;if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&4){var i=n!==null?n.memoizedState:null;if(a=e.memoizedState,n===null)if(a===null)if(e.stateNode===null){e:{a=e.type,n=e.memoizedProps,l=l.ownerDocument||l;t:switch(a){case"title":i=l.getElementsByTagName("title")[0],(!i||i[Sr]||i[Ve]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=l.createElement(a),l.head.insertBefore(i,l.querySelector("head > title"))),Ke(i,a,n),i[Ve]=e,qe(i),a=i;break e;case"link":var r=nh("link","href",l).get(a+(n.href||""));if(r){for(var o=0;o<r.length;o++)if(i=r[o],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;case"meta":if(r=nh("meta","content",l).get(a+(n.content||""))){for(o=0;o<r.length;o++)if(i=r[o],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;default:throw Error(S(468,a))}i[Ve]=e,qe(i),a=i}e.stateNode=a}else ah(l,e.type,e.stateNode);else e.stateNode=th(l,a,e.memoizedProps);else i!==a?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count--,a===null?ah(l,e.type,e.stateNode):th(l,a,e.memoizedProps)):a===null&&e.stateNode!==null&&os(e,e.memoizedProps,n.memoizedProps)}break;case 27:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),n!==null&&a&4&&os(e,e.memoizedProps,n.memoizedProps);break;case 5:if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),e.flags&32){l=e.stateNode;try{jl(l,"")}catch(v){le(e,e.return,v)}}a&4&&e.stateNode!=null&&(l=e.memoizedProps,os(e,l,n!==null?n.memoizedProps:l)),a&1024&&(cs=!0);break;case 6:if(gt(t,e),mt(e),a&4){if(e.stateNode===null)throw Error(S(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(v){le(e,e.return,v)}}break;case 3:if(Fo=null,l=en,en=hu(t.containerInfo),gt(t,e),en=l,mt(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Il(t.containerInfo)}catch(v){le(e,e.return,v)}cs&&(cs=!1,uy(e));break;case 4:a=en,en=hu(e.stateNode.containerInfo),gt(t,e),mt(e),en=a;break;case 12:gt(t,e),mt(e);break;case 31:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 13:gt(t,e),mt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Bu=Dt()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 22:l=e.memoizedState!==null;var u=n!==null&&n.memoizedState!==null,c=xn,s=Oe;if(xn=c||l,Oe=s||u,gt(t,e),Oe=s,xn=c,mt(e),a&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(n===null||u||xn||Oe||Ha(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){u=n=t;try{if(i=u.stateNode,l)r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{o=u.stateNode;var f=u.memoizedProps.style,d=f!=null&&f.hasOwnProperty("display")?f.display:null;o.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(v){le(u,u.return,v)}}}else if(t.tag===6){if(n===null){u=t;try{u.stateNode.nodeValue=l?"":u.memoizedProps}catch(v){le(u,u.return,v)}}}else if(t.tag===18){if(n===null){u=t;try{var m=u.stateNode;l?Wm(m,!0):Wm(u.stateNode,!1)}catch(v){le(u,u.return,v)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,Ro(e,n))));break;case 19:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 30:break;case 21:break;default:gt(t,e),mt(e)}}function mt(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(ey(a)){n=a;break}a=a.return}if(n==null)throw Error(S(160));switch(n.tag){case 27:var l=n.stateNode,i=us(e);ou(e,i,l);break;case 5:var r=n.stateNode;n.flags&32&&(jl(r,""),n.flags&=-33);var o=us(e);ou(e,o,r);break;case 3:case 4:var u=n.stateNode.containerInfo,c=us(e);Ws(e,c,u);break;default:throw Error(S(161))}}catch(s){le(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function uy(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;uy(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Tn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ny(e,t.alternate,t),t=t.sibling}function Ha(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ya(4,t,t.return),Ha(t);break;case 1:fn(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Jp(t,t.return,n),Ha(t);break;case 27:ar(t.stateNode);case 26:case 5:fn(t,t.return),Ha(t);break;case 22:t.memoizedState===null&&Ha(t);break;case 30:Ha(t);break;default:Ha(t)}e=e.sibling}}function En(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,l=e,i=t,r=i.flags;switch(i.tag){case 0:case 11:case 15:En(l,i,n),Er(4,i);break;case 1:if(En(l,i,n),a=i,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(c){le(a,a.return,c)}if(a=i,l=a.updateQueue,l!==null){var o=a.stateNode;try{var u=l.shared.hiddenCallbacks;if(u!==null)for(l.shared.hiddenCallbacks=null,l=0;l<u.length;l++)ip(u[l],o)}catch(c){le(a,a.return,c)}}n&&r&64&&Ip(i),$i(i,i.return);break;case 27:ty(i);case 26:case 5:En(l,i,n),n&&a===null&&r&4&&$p(i),$i(i,i.return);break;case 12:En(l,i,n);break;case 31:En(l,i,n),n&&r&4&&iy(l,i);break;case 13:En(l,i,n),n&&r&4&&ry(l,i);break;case 22:i.memoizedState===null&&En(l,i,n),$i(i,i.return);break;case 30:break;default:En(l,i,n)}t=t.sibling}}function Zd(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Rr(n))}function Wd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e))}function $t(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)cy(e,t,n,a),t=t.sibling}function cy(e,t,n,a){var l=t.flags;switch(t.tag){case 0:case 11:case 15:$t(e,t,n,a),l&2048&&Er(9,t);break;case 1:$t(e,t,n,a);break;case 3:$t(e,t,n,a),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e)));break;case 12:if(l&2048){$t(e,t,n,a),e=t.stateNode;try{var i=t.memoizedProps,r=i.id,o=i.onPostCommit;typeof o=="function"&&o(r,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(u){le(t,t.return,u)}}else $t(e,t,n,a);break;case 31:$t(e,t,n,a);break;case 13:$t(e,t,n,a);break;case 23:break;case 22:i=t.stateNode,r=t.alternate,t.memoizedState!==null?i._visibility&2?$t(e,t,n,a):er(e,t):i._visibility&2?$t(e,t,n,a):(i._visibility|=2,Al(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Zd(r,t);break;case 24:$t(e,t,n,a),l&2048&&Wd(t.alternate,t);break;default:$t(e,t,n,a)}}function Al(e,t,n,a,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,r=t,o=n,u=a,c=r.flags;switch(r.tag){case 0:case 11:case 15:Al(i,r,o,u,l),Er(8,r);break;case 23:break;case 22:var s=r.stateNode;r.memoizedState!==null?s._visibility&2?Al(i,r,o,u,l):er(i,r):(s._visibility|=2,Al(i,r,o,u,l)),l&&c&2048&&Zd(r.alternate,r);break;case 24:Al(i,r,o,u,l),l&&c&2048&&Wd(r.alternate,r);break;default:Al(i,r,o,u,l)}t=t.sibling}}function er(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,l=a.flags;switch(a.tag){case 22:er(n,a),l&2048&&Zd(a.alternate,a);break;case 24:er(n,a),l&2048&&Wd(a.alternate,a);break;default:er(n,a)}t=t.sibling}}var Yi=8192;function bl(e,t,n){if(e.subtreeFlags&Yi)for(e=e.child;e!==null;)sy(e,t,n),e=e.sibling}function sy(e,t,n){switch(e.tag){case 26:bl(e,t,n),e.flags&Yi&&e.memoizedState!==null&&Hw(n,en,e.memoizedState,e.memoizedProps);break;case 5:bl(e,t,n);break;case 3:case 4:var a=en;en=hu(e.stateNode.containerInfo),bl(e,t,n),en=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=Yi,Yi=16777216,bl(e,t,n),Yi=a):bl(e,t,n));break;default:bl(e,t,n)}}function dy(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function zi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)fy(e),e=e.sibling}function fy(e){switch(e.tag){case 0:case 11:case 15:zi(e),e.flags&2048&&ya(9,e,e.return);break;case 3:zi(e);break;case 12:zi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Po(e)):zi(e);break;default:zi(e)}}function Po(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ya(8,t,t.return),Po(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Po(t));break;default:Po(t)}e=e.sibling}}function gy(e,t){for(;Pe!==null;){var n=Pe;switch(n.tag){case 0:case 11:case 15:ya(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Rr(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,Pe=a;else e:for(n=e;Pe!==null;){a=Pe;var l=a.sibling,i=a.return;if(ay(a),a===n){Pe=null;break e}if(l!==null){l.return=i,Pe=l;break e}Pe=i}}}var $A={getCacheForType:function(e){var t=Qe(ke),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Qe(ke).controller.signal}},ew=typeof WeakMap=="function"?WeakMap:Map,J=0,ue=null,F=null,Y=0,ae=0,Ct=null,aa=!1,ni=!1,Id=!1,Gn=0,Te=0,va=0,qa=0,Jd=0,Et=0,Ql=0,tr=null,pt=null,Is=!1,Bu=0,my=0,uu=1/0,cu=null,sa=null,Ue=0,da=null,Kl=null,kn=0,Js=0,$s=null,hy=null,nr=0,ed=null;function _t(){return(J&2)!==0&&Y!==0?Y&-Y:L.T!==null?ef():Rh()}function py(){if(Et===0)if((Y&536870912)===0||V){var e=mo;mo<<=1,(mo&3932160)===0&&(mo=262144),Et=e}else Et=536870912;return e=Nt.current,e!==null&&(e.flags|=32),Et}function yt(e,t,n){(e===ue&&(ae===2||ae===9)||e.cancelPendingCommit!==null)&&(Zl(e,0),la(e,Y,Et,!1)),wr(e,n),((J&2)===0||e!==ue)&&(e===ue&&((J&2)===0&&(qa|=n),Te===4&&la(e,Y,Et,!1)),hn(e))}function yy(e,t,n){if((J&6)!==0)throw Error(S(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Ar(e,t),l=a?aw(e,t):ss(e,t,!0),i=a;do{if(l===0){ni&&!a&&la(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!tw(n)){l=ss(e,t,!1),i=!1;continue}if(l===2){if(i=t,e.errorRecoveryDisabledLanes&i)var r=0;else r=e.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){t=r;e:{var o=e;l=tr;var u=o.current.memoizedState.isDehydrated;if(u&&(Zl(o,r).flags|=256),r=ss(o,r,!1),r!==2){if(Id&&!u){o.errorRecoveryDisabledLanes|=i,qa|=i,l=4;break e}i=pt,pt=l,i!==null&&(pt===null?pt=i:pt.push.apply(pt,i))}l=r}if(i=!1,l!==2)continue}}if(l===1){Zl(e,0),la(e,t,0,!0);break}e:{switch(a=e,i=l,i){case 0:case 1:throw Error(S(345));case 4:if((t&4194048)!==t)break;case 6:la(a,t,Et,!aa);break e;case 2:pt=null;break;case 3:case 5:break;default:throw Error(S(329))}if((t&62914560)===t&&(l=Bu+300-Dt(),10<l)){if(la(a,t,Et,!aa),Au(a,0,!0)!==0)break e;kn=t,a.timeoutHandle=zy(Lm.bind(null,a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,"Throttled",-0,0),l);break e}Lm(a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,null,-0,0)}}break}while(!0);hn(e)}function Lm(e,t,n,a,l,i,r,o,u,c,s,f,d,m){if(e.timeoutHandle=-1,f=t.subtreeFlags,f&8192||(f&16785408)===16785408){f={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:_n},sy(t,i,f);var v=(i&62914560)===i?Bu-Dt():(i&4194048)===i?my-Dt():0;if(v=zw(f,v),v!==null){kn=i,e.cancelPendingCommit=v(zm.bind(null,e,t,i,n,a,l,r,o,u,s,f,null,d,m)),la(e,i,r,!c);return}}zm(e,t,i,n,a,l,r,o,u)}function tw(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],i=l.getSnapshot;l=l.value;try{if(!Bt(i(),l))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function la(e,t,n,a){t&=~Jd,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var l=t;0<l;){var i=31-Mt(l),r=1<<i;a[i]=-1,l&=~r}n!==0&&wh(e,n,t)}function Nu(){return(J&6)===0?(Dr(0,!1),!1):!0}function $d(){if(F!==null){if(ae===0)var e=F.return;else e=F,Bn=Ia=null,Ud(e),Ul=null,sr=0,e=F;for(;e!==null;)Wp(e.alternate,e),e=e.return;F=null}}function Zl(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,bw(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),kn=0,$d(),ue=e,F=n=Nn(e.current,null),Y=t,ae=0,Ct=null,aa=!1,ni=Ar(e,t),Id=!1,Ql=Et=Jd=qa=va=Te=0,pt=tr=null,Is=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var l=31-Mt(a),i=1<<l;t|=e[l],a&=~i}return Gn=t,Ru(),n}function vy(e,t){G=null,L.H=fr,t===ti||t===Eu?(t=gm(),ae=3):t===Bd?(t=gm(),ae=4):ae=t===Qd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ct=t,F===null&&(Te=1,iu(e,Yt(t,e.current)))}function by(){var e=Nt.current;return e===null?!0:(Y&4194048)===Y?Xt===null:(Y&62914560)===Y||(Y&536870912)!==0?e===Xt:!1}function Ay(){var e=L.H;return L.H=fr,e===null?fr:e}function wy(){var e=L.A;return L.A=$A,e}function su(){Te=4,aa||(Y&4194048)!==Y&&Nt.current!==null||(ni=!0),(va&134217727)===0&&(qa&134217727)===0||ue===null||la(ue,Y,Et,!1)}function ss(e,t,n){var a=J;J|=2;var l=Ay(),i=wy();(ue!==e||Y!==t)&&(cu=null,Zl(e,t)),t=!1;var r=Te;e:do try{if(ae!==0&&F!==null){var o=F,u=Ct;switch(ae){case 8:$d(),r=6;break e;case 3:case 2:case 9:case 6:Nt.current===null&&(t=!0);var c=ae;if(ae=0,Ct=null,Ol(e,o,u,c),n&&ni){r=0;break e}break;default:c=ae,ae=0,Ct=null,Ol(e,o,u,c)}}nw(),r=Te;break}catch(s){vy(e,s)}while(!0);return t&&e.shellSuspendCounter++,Bn=Ia=null,J=a,L.H=l,L.A=i,F===null&&(ue=null,Y=0,Ru()),r}function nw(){for(;F!==null;)Sy(F)}function aw(e,t){var n=J;J|=2;var a=Ay(),l=wy();ue!==e||Y!==t?(cu=null,uu=Dt()+500,Zl(e,t)):ni=Ar(e,t);e:do try{if(ae!==0&&F!==null){t=F;var i=Ct;t:switch(ae){case 1:ae=0,Ct=null,Ol(e,t,i,1);break;case 2:case 9:if(fm(i)){ae=0,Ct=null,Hm(t);break}t=function(){ae!==2&&ae!==9||ue!==e||(ae=7),hn(e)},i.then(t,t);break e;case 3:ae=7;break e;case 4:ae=5;break e;case 7:fm(i)?(ae=0,Ct=null,Hm(t)):(ae=0,Ct=null,Ol(e,t,i,7));break;case 5:var r=null;switch(F.tag){case 26:r=F.memoizedState;case 5:case 27:var o=F;if(r?Fy(r):o.stateNode.complete){ae=0,Ct=null;var u=o.sibling;if(u!==null)F=u;else{var c=o.return;c!==null?(F=c,Ou(c)):F=null}break t}}ae=0,Ct=null,Ol(e,t,i,5);break;case 6:ae=0,Ct=null,Ol(e,t,i,6);break;case 8:$d(),Te=6;break e;default:throw Error(S(462))}}lw();break}catch(s){vy(e,s)}while(!0);return Bn=Ia=null,L.H=a,L.A=l,J=n,F!==null?0:(ue=null,Y=0,Ru(),Te)}function lw(){for(;F!==null&&!Db();)Sy(F)}function Sy(e){var t=Zp(e.alternate,e,Gn);e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Hm(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Mm(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=Mm(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:Ud(t);default:Wp(n,t),t=F=Wh(t,Gn),t=Zp(n,t,Gn)}e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Ol(e,t,n,a){Bn=Ia=null,Ud(t),Ul=null,sr=0;var l=t.return;try{if(XA(e,l,t,n,Y)){Te=1,iu(e,Yt(n,e.current)),F=null;return}}catch(i){if(l!==null)throw F=l,i;Te=1,iu(e,Yt(n,e.current)),F=null;return}t.flags&32768?(V||a===1?e=!0:ni||(Y&536870912)!==0?e=!1:(aa=e=!0,(a===2||a===9||a===3||a===6)&&(a=Nt.current,a!==null&&a.tag===13&&(a.flags|=16384))),Cy(t,e)):Ou(t)}function Ou(e){var t=e;do{if((t.flags&32768)!==0){Cy(t,aa);return}e=t.return;var n=ZA(t.alternate,t,Gn);if(n!==null){F=n;return}if(t=t.sibling,t!==null){F=t;return}F=t=e}while(t!==null);Te===0&&(Te=5)}function Cy(e,t){do{var n=WA(e.alternate,e);if(n!==null){n.flags&=32767,F=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){F=e;return}F=e=n}while(e!==null);Te=6,F=null}function zm(e,t,n,a,l,i,r,o,u){e.cancelPendingCommit=null;do ku();while(Ue!==0);if((J&6)!==0)throw Error(S(327));if(t!==null){if(t===e.current)throw Error(S(177));if(i=t.lanes|t.childLanes,i|=Rd,zb(e,n,i,r,o,u),e===ue&&(F=ue=null,Y=0),Kl=t,da=e,kn=n,Js=i,$s=l,hy=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,uw(Ko,function(){return xy(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=L.T,L.T=null,l=$.p,$.p=2,r=J,J|=4;try{IA(e,t,n)}finally{J=r,$.p=l,L.T=a}}Ue=1,Ry(),Ty(),Ey()}}function Ry(){if(Ue===1){Ue=0;var e=da,t=Kl,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{oy(t,e);var i=ld,r=Fh(e.containerInfo),o=i.focusedElem,u=i.selectionRange;if(r!==o&&o&&o.ownerDocument&&qh(o.ownerDocument.documentElement,o)){if(u!==null&&Cd(o)){var c=u.start,s=u.end;if(s===void 0&&(s=c),"selectionStart"in o)o.selectionStart=c,o.selectionEnd=Math.min(s,o.value.length);else{var f=o.ownerDocument||document,d=f&&f.defaultView||window;if(d.getSelection){var m=d.getSelection(),v=o.textContent.length,A=Math.min(u.start,v),b=u.end===void 0?A:Math.min(u.end,v);!m.extend&&A>b&&(r=b,b=A,A=r);var h=im(o,A),g=im(o,b);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var p=f.createRange();p.setStart(h.node,h.offset),m.removeAllRanges(),A>b?(m.addRange(p),m.extend(g.node,g.offset)):(p.setEnd(g.node,g.offset),m.addRange(p))}}}}for(f=[],m=o;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<f.length;o++){var y=f[o];y.element.scrollLeft=y.left,y.element.scrollTop=y.top}}vu=!!ad,ld=ad=null}finally{J=l,$.p=a,L.T=n}}e.current=t,Ue=2}}function Ty(){if(Ue===2){Ue=0;var e=da,t=Kl,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{ny(e,t.alternate,t)}finally{J=l,$.p=a,L.T=n}}Ue=3}}function Ey(){if(Ue===4||Ue===3){Ue=0,xb();var e=da,t=Kl,n=kn,a=hy;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ue=5:(Ue=0,Kl=da=null,Dy(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(sa=null),pd(n),t=t.stateNode,xt&&typeof xt.onCommitFiberRoot=="function")try{xt.onCommitFiberRoot(br,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=L.T,l=$.p,$.p=2,L.T=null;try{for(var i=e.onRecoverableError,r=0;r<a.length;r++){var o=a[r];i(o.value,{componentStack:o.stack})}}finally{L.T=t,$.p=l}}(kn&3)!==0&&ku(),hn(e),l=e.pendingLanes,(n&261930)!==0&&(l&42)!==0?e===ed?nr++:(nr=0,ed=e):nr=0,Dr(0,!1)}}function Dy(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Rr(t)))}function ku(){return Ry(),Ty(),Ey(),xy()}function xy(){if(Ue!==5)return!1;var e=da,t=Js;Js=0;var n=pd(kn),a=L.T,l=$.p;try{$.p=32>n?32:n,L.T=null,n=$s,$s=null;var i=da,r=kn;if(Ue=0,Kl=da=null,kn=0,(J&6)!==0)throw Error(S(331));var o=J;if(J|=4,fy(i.current),cy(i,i.current,r,n),J=o,Dr(0,!1),xt&&typeof xt.onPostCommitFiberRoot=="function")try{xt.onPostCommitFiberRoot(br,i)}catch{}return!0}finally{$.p=l,L.T=a,Dy(e,t)}}function Um(e,t,n){t=Yt(n,t),t=Qs(e.stateNode,t,2),e=ca(e,t,2),e!==null&&(wr(e,2),hn(e))}function le(e,t,n){if(e.tag===3)Um(e,e,n);else for(;t!==null;){if(t.tag===3){Um(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(sa===null||!sa.has(a))){e=Yt(n,e),n=jp(2),a=ca(t,n,2),a!==null&&(Yp(n,a,t,e),wr(a,2),hn(a));break}}t=t.return}}function ds(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new ew;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Id=!0,l.add(n),e=iw.bind(null,e,t,n),t.then(e,e))}function iw(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ue===e&&(Y&n)===n&&(Te===4||Te===3&&(Y&62914560)===Y&&300>Dt()-Bu?(J&2)===0&&Zl(e,0):Jd|=n,Ql===Y&&(Ql=0)),hn(e)}function My(e,t){t===0&&(t=Ah()),e=Wa(e,t),e!==null&&(wr(e,t),hn(e))}function rw(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),My(e,n)}function ow(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(S(314))}a!==null&&a.delete(t),My(e,n)}function uw(e,t){return md(e,t)}var du=null,wl=null,td=!1,fu=!1,fs=!1,ia=0;function hn(e){e!==wl&&e.next===null&&(wl===null?du=wl=e:wl=wl.next=e),fu=!0,td||(td=!0,sw())}function Dr(e,t){if(!fs&&fu){fs=!0;do for(var n=!1,a=du;a!==null;){if(!t)if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var r=a.suspendedLanes,o=a.pingedLanes;i=(1<<31-Mt(42|e)+1)-1,i&=l&~(r&~o),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,Gm(a,i))}else i=Y,i=Au(a,a===ue?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||Ar(a,i)||(n=!0,Gm(a,i));a=a.next}while(n);fs=!1}}function cw(){_y()}function _y(){fu=td=!1;var e=0;ia!==0&&vw()&&(e=ia);for(var t=Dt(),n=null,a=du;a!==null;){var l=a.next,i=By(a,t);i===0?(a.next=null,n===null?du=l:n.next=l,l===null&&(wl=n)):(n=a,(e!==0||(i&3)!==0)&&(fu=!0)),a=l}Ue!==0&&Ue!==5||Dr(e,!1),ia!==0&&(ia=0)}function By(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var r=31-Mt(i),o=1<<r,u=l[r];u===-1?((o&n)===0||(o&a)!==0)&&(l[r]=Hb(o,t)):u<=t&&(e.expiredLanes|=o),i&=~o}if(t=ue,n=Y,n=Au(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(ae===2||ae===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&qc(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Ar(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&qc(a),pd(n)){case 2:case 8:n=vh;break;case 32:n=Ko;break;case 268435456:n=bh;break;default:n=Ko}return a=Ny.bind(null,e),n=md(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&qc(a),e.callbackPriority=2,e.callbackNode=null,2}function Ny(e,t){if(Ue!==0&&Ue!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(ku()&&e.callbackNode!==n)return null;var a=Y;return a=Au(e,e===ue?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(yy(e,a,t),By(e,Dt()),e.callbackNode!=null&&e.callbackNode===n?Ny.bind(null,e):null)}function Gm(e,t){if(ku())return null;yy(e,t,!0)}function sw(){Aw(function(){(J&6)!==0?md(yh,cw):_y()})}function ef(){if(ia===0){var e=Yl;e===0&&(e=go,go<<=1,(go&261888)===0&&(go=256)),ia=e}return ia}function Pm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Bo(""+e)}function qm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function dw(e,t,n,a,l){if(t==="submit"&&n&&n.stateNode===l){var i=Pm((l[vt]||null).action),r=a.submitter;r&&(t=(t=r[vt]||null)?Pm(t.formAction):r.getAttribute("formAction"),t!==null&&(i=t,r=null));var o=new wu("action","action",null,a,l);e.push({event:o,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(ia!==0){var u=r?qm(l,r):new FormData(l);Vs(n,{pending:!0,data:u,method:l.method,action:i},null,u)}}else typeof i=="function"&&(o.preventDefault(),u=r?qm(l,r):new FormData(l),Vs(n,{pending:!0,data:u,method:l.method,action:i},i,u))},currentTarget:l}]})}}for(To=0;To<Os.length;To++)Eo=Os[To],Fm=Eo.toLowerCase(),jm=Eo[0].toUpperCase()+Eo.slice(1),tn(Fm,"on"+jm);var Eo,Fm,jm,To;tn(Yh,"onAnimationEnd");tn(Vh,"onAnimationIteration");tn(Xh,"onAnimationStart");tn("dblclick","onDoubleClick");tn("focusin","onFocus");tn("focusout","onBlur");tn(MA,"onTransitionRun");tn(_A,"onTransitionStart");tn(BA,"onTransitionCancel");tn(Qh,"onTransitionEnd");Fl("onMouseEnter",["mouseout","mouseover"]);Fl("onMouseLeave",["mouseout","mouseover"]);Fl("onPointerEnter",["pointerout","pointerover"]);Fl("onPointerLeave",["pointerout","pointerover"]);Qa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Qa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Qa("onBeforeInput",["compositionend","keypress","textInput","paste"]);Qa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),fw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(gr));function Oy(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],l=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var r=a.length-1;0<=r;r--){var o=a[r],u=o.instance,c=o.currentTarget;if(o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}else for(r=0;r<a.length;r++){if(o=a[r],u=o.instance,c=o.currentTarget,o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}}}}function q(e,t){var n=t[Ts];n===void 0&&(n=t[Ts]=new Set);var a=e+"__bubble";n.has(a)||(ky(t,e,2,!1),n.add(a))}function gs(e,t,n){var a=0;t&&(a|=4),ky(n,e,a,t)}var Do="_reactListening"+Math.random().toString(36).slice(2);function tf(e){if(!e[Do]){e[Do]=!0,Th.forEach(function(n){n!=="selectionchange"&&(fw.has(n)||gs(n,!1,e),gs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Do]||(t[Do]=!0,gs("selectionchange",!1,t))}}function ky(e,t,n,a){switch(Qy(t)){case 2:var l=Pw;break;case 8:l=qw;break;default:l=rf}n=l.bind(null,t,n,e),l=void 0,!_s||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),a?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function ms(e,t,n,a,l){var i=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var r=a.tag;if(r===3||r===4){var o=a.stateNode.containerInfo;if(o===l)break;if(r===4)for(r=a.return;r!==null;){var u=r.tag;if((u===3||u===4)&&r.stateNode.containerInfo===l)return;r=r.return}for(;o!==null;){if(r=Rl(o),r===null)return;if(u=r.tag,u===5||u===6||u===26||u===27){a=i=r;continue e}o=o.parentNode}}a=a.return}Oh(function(){var c=i,s=bd(n),f=[];e:{var d=Kh.get(e);if(d!==void 0){var m=wu,v=e;switch(e){case"keypress":if(Oo(n)===0)break e;case"keydown":case"keyup":m=oA;break;case"focusin":v="focus",m=Xc;break;case"focusout":v="blur",m=Xc;break;case"beforeblur":case"afterblur":m=Xc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Wg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Zb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=sA;break;case Yh:case Vh:case Xh:m=Jb;break;case Qh:m=fA;break;case"scroll":case"scrollend":m=Qb;break;case"wheel":m=mA;break;case"copy":case"cut":case"paste":m=eA;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Jg;break;case"toggle":case"beforetoggle":m=pA}var A=(t&4)!==0,b=!A&&(e==="scroll"||e==="scrollend"),h=A?d!==null?d+"Capture":null:d;A=[];for(var g=c,p;g!==null;){var y=g;if(p=y.stateNode,y=y.tag,y!==5&&y!==26&&y!==27||p===null||h===null||(y=ir(g,h),y!=null&&A.push(mr(g,y,p))),b)break;g=g.return}0<A.length&&(d=new m(d,v,null,n,s),f.push({event:d,listeners:A}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",d&&n!==Ms&&(v=n.relatedTarget||n.fromElement)&&(Rl(v)||v[Jl]))break e;if((m||d)&&(d=s.window===s?s:(d=s.ownerDocument)?d.defaultView||d.parentWindow:window,m?(v=n.relatedTarget||n.toElement,m=c,v=v?Rl(v):null,v!==null&&(b=vr(v),A=v.tag,v!==b||A!==5&&A!==27&&A!==6)&&(v=null)):(m=null,v=c),m!==v)){if(A=Wg,y="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(A=Jg,y="onPointerLeave",h="onPointerEnter",g="pointer"),b=m==null?d:Fi(m),p=v==null?d:Fi(v),d=new A(y,g+"leave",m,n,s),d.target=b,d.relatedTarget=p,y=null,Rl(s)===c&&(A=new A(h,g+"enter",v,n,s),A.target=p,A.relatedTarget=b,y=A),b=y,m&&v)t:{for(A=gw,h=m,g=v,p=0,y=h;y;y=A(y))p++;y=0;for(var C=g;C;C=A(C))y++;for(;0<p-y;)h=A(h),p--;for(;0<y-p;)g=A(g),y--;for(;p--;){if(h===g||g!==null&&h===g.alternate){A=h;break t}h=A(h),g=A(g)}A=null}else A=null;m!==null&&Ym(f,d,m,A,!1),v!==null&&b!==null&&Ym(f,b,v,A,!0)}}e:{if(d=c?Fi(c):window,m=d.nodeName&&d.nodeName.toLowerCase(),m==="select"||m==="input"&&d.type==="file")var R=nm;else if(tm(d))if(Gh)R=EA;else{R=RA;var T=CA}else m=d.nodeName,!m||m.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?c&&vd(c.elementType)&&(R=nm):R=TA;if(R&&(R=R(e,c))){Uh(f,R,n,s);break e}T&&T(e,d,c),e==="focusout"&&c&&d.type==="number"&&c.memoizedProps.value!=null&&xs(d,"number",d.value)}switch(T=c?Fi(c):window,e){case"focusin":(tm(T)||T.contentEditable==="true")&&(Dl=T,Bs=c,Qi=null);break;case"focusout":Qi=Bs=Dl=null;break;case"mousedown":Ns=!0;break;case"contextmenu":case"mouseup":case"dragend":Ns=!1,rm(f,n,s);break;case"selectionchange":if(xA)break;case"keydown":case"keyup":rm(f,n,s)}var M;if(Sd)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else El?Hh(e,n)&&(w="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(w="onCompositionStart");w&&(Lh&&n.locale!=="ko"&&(El||w!=="onCompositionStart"?w==="onCompositionEnd"&&El&&(M=kh()):(na=s,Ad="value"in na?na.value:na.textContent,El=!0)),T=gu(c,w),0<T.length&&(w=new Ig(w,e,null,n,s),f.push({event:w,listeners:T}),M?w.data=M:(M=zh(n),M!==null&&(w.data=M)))),(M=vA?bA(e,n):AA(e,n))&&(w=gu(c,"onBeforeInput"),0<w.length&&(T=new Ig("onBeforeInput","beforeinput",null,n,s),f.push({event:T,listeners:w}),T.data=M)),dw(f,e,c,n,s)}Oy(f,t)})}function mr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function gu(e,t){for(var n=t+"Capture",a=[];e!==null;){var l=e,i=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||i===null||(l=ir(e,n),l!=null&&a.unshift(mr(e,l,i)),l=ir(e,t),l!=null&&a.push(mr(e,l,i))),e.tag===3)return a;e=e.return}return[]}function gw(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ym(e,t,n,a,l){for(var i=t._reactName,r=[];n!==null&&n!==a;){var o=n,u=o.alternate,c=o.stateNode;if(o=o.tag,u!==null&&u===a)break;o!==5&&o!==26&&o!==27||c===null||(u=c,l?(c=ir(n,i),c!=null&&r.unshift(mr(n,c,u))):l||(c=ir(n,i),c!=null&&r.push(mr(n,c,u)))),n=n.return}r.length!==0&&e.push({event:t,listeners:r})}var mw=/\r\n?/g,hw=/\u0000|\uFFFD/g;function Vm(e){return(typeof e=="string"?e:""+e).replace(mw,``).replace(hw,"")}function Ly(e,t){return t=Vm(t),Vm(e)===t}function ie(e,t,n,a,l,i){switch(n){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||jl(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&jl(e,""+a);break;case"className":po(e,"class",a);break;case"tabIndex":po(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":po(e,n,a);break;case"style":Nh(e,a,i);break;case"data":if(t!=="object"){po(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(n==="formAction"?(t!=="input"&&ie(e,t,"name",l.name,l,null),ie(e,t,"formEncType",l.formEncType,l,null),ie(e,t,"formMethod",l.formMethod,l,null),ie(e,t,"formTarget",l.formTarget,l,null)):(ie(e,t,"encType",l.encType,l,null),ie(e,t,"method",l.method,l,null),ie(e,t,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"onClick":a!=null&&(e.onclick=_n);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}n=Bo(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""+a):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":a===!0?e.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,a):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case"popover":q("beforetoggle",e),q("toggle",e),_o(e,"popover",a);break;case"xlinkActuate":Sn(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Sn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Sn(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Sn(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Sn(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Sn(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":_o(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Vb.get(n)||n,_o(e,n,a))}}function nd(e,t,n,a,l,i){switch(n){case"style":Nh(e,a,i);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"children":typeof a=="string"?jl(e,a):(typeof a=="number"||typeof a=="bigint")&&jl(e,""+a);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"onClick":a!=null&&(e.onclick=_n);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eh.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),t=n.slice(2,l?n.length-7:void 0),i=e[vt]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,l),typeof a=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,l);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,""):_o(e,n,a)}}}function Ke(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":q("error",e),q("load",e);var a=!1,l=!1,i;for(i in n)if(n.hasOwnProperty(i)){var r=n[i];if(r!=null)switch(i){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,i,r,n,null)}}l&&ie(e,t,"srcSet",n.srcSet,n,null),a&&ie(e,t,"src",n.src,n,null);return;case"input":q("invalid",e);var o=i=r=l=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case"name":l=s;break;case"type":r=s;break;case"checked":u=s;break;case"defaultChecked":c=s;break;case"value":i=s;break;case"defaultValue":o=s;break;case"children":case"dangerouslySetInnerHTML":if(s!=null)throw Error(S(137,t));break;default:ie(e,t,a,s,n,null)}}Mh(e,i,o,u,c,r,l,!1);return;case"select":q("invalid",e),a=r=i=null;for(l in n)if(n.hasOwnProperty(l)&&(o=n[l],o!=null))switch(l){case"value":i=o;break;case"defaultValue":r=o;break;case"multiple":a=o;default:ie(e,t,l,o,n,null)}t=i,n=r,e.multiple=!!a,t!=null?Ll(e,!!a,t,!1):n!=null&&Ll(e,!!a,n,!0);return;case"textarea":q("invalid",e),i=l=a=null;for(r in n)if(n.hasOwnProperty(r)&&(o=n[r],o!=null))switch(r){case"value":a=o;break;case"defaultValue":l=o;break;case"children":i=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(S(91));break;default:ie(e,t,r,o,n,null)}Bh(e,a,l,i);return;case"option":for(u in n)if(n.hasOwnProperty(u)&&(a=n[u],a!=null))switch(u){case"selected":e.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:ie(e,t,u,a,n,null)}return;case"dialog":q("beforetoggle",e),q("toggle",e),q("cancel",e),q("close",e);break;case"iframe":case"object":q("load",e);break;case"video":case"audio":for(a=0;a<gr.length;a++)q(gr[a],e);break;case"image":q("error",e),q("load",e);break;case"details":q("toggle",e);break;case"embed":case"source":case"link":q("error",e),q("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(a=n[c],a!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,c,a,n,null)}return;default:if(vd(t)){for(s in n)n.hasOwnProperty(s)&&(a=n[s],a!==void 0&&nd(e,t,s,a,n,void 0));return}}for(o in n)n.hasOwnProperty(o)&&(a=n[o],a!=null&&ie(e,t,o,a,n,null))}function pw(e,t,n,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,i=null,r=null,o=null,u=null,c=null,s=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":u=f;default:a.hasOwnProperty(m)||ie(e,t,m,null,a,f)}}for(var d in a){var m=a[d];if(f=n[d],a.hasOwnProperty(d)&&(m!=null||f!=null))switch(d){case"type":i=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":s=m;break;case"value":r=m;break;case"defaultValue":o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(S(137,t));break;default:m!==f&&ie(e,t,d,m,a,f)}}Ds(e,r,o,u,c,s,i,l);return;case"select":m=r=o=d=null;for(i in n)if(u=n[i],n.hasOwnProperty(i)&&u!=null)switch(i){case"value":break;case"multiple":m=u;default:a.hasOwnProperty(i)||ie(e,t,i,null,a,u)}for(l in a)if(i=a[l],u=n[l],a.hasOwnProperty(l)&&(i!=null||u!=null))switch(l){case"value":d=i;break;case"defaultValue":o=i;break;case"multiple":r=i;default:i!==u&&ie(e,t,l,i,a,u)}t=o,n=r,a=m,d!=null?Ll(e,!!n,d,!1):!!a!=!!n&&(t!=null?Ll(e,!!n,t,!0):Ll(e,!!n,n?[]:"",!1));return;case"textarea":m=d=null;for(o in n)if(l=n[o],n.hasOwnProperty(o)&&l!=null&&!a.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:ie(e,t,o,null,a,l)}for(r in a)if(l=a[r],i=n[r],a.hasOwnProperty(r)&&(l!=null||i!=null))switch(r){case"value":d=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(S(91));break;default:l!==i&&ie(e,t,r,l,a,i)}_h(e,d,m);return;case"option":for(var v in n)if(d=n[v],n.hasOwnProperty(v)&&d!=null&&!a.hasOwnProperty(v))switch(v){case"selected":e.selected=!1;break;default:ie(e,t,v,null,a,d)}for(u in a)if(d=a[u],m=n[u],a.hasOwnProperty(u)&&d!==m&&(d!=null||m!=null))switch(u){case"selected":e.selected=d&&typeof d!="function"&&typeof d!="symbol";break;default:ie(e,t,u,d,a,m)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var A in n)d=n[A],n.hasOwnProperty(A)&&d!=null&&!a.hasOwnProperty(A)&&ie(e,t,A,null,a,d);for(c in a)if(d=a[c],m=n[c],a.hasOwnProperty(c)&&d!==m&&(d!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(S(137,t));break;default:ie(e,t,c,d,a,m)}return;default:if(vd(t)){for(var b in n)d=n[b],n.hasOwnProperty(b)&&d!==void 0&&!a.hasOwnProperty(b)&&nd(e,t,b,void 0,a,d);for(s in a)d=a[s],m=n[s],!a.hasOwnProperty(s)||d===m||d===void 0&&m===void 0||nd(e,t,s,d,a,m);return}}for(var h in n)d=n[h],n.hasOwnProperty(h)&&d!=null&&!a.hasOwnProperty(h)&&ie(e,t,h,null,a,d);for(f in a)d=a[f],m=n[f],!a.hasOwnProperty(f)||d===m||d==null&&m==null||ie(e,t,f,d,a,m)}function Xm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function yw(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],i=l.transferSize,r=l.initiatorType,o=l.duration;if(i&&o&&Xm(r)){for(r=0,o=l.responseEnd,a+=1;a<n.length;a++){var u=n[a],c=u.startTime;if(c>o)break;var s=u.transferSize,f=u.initiatorType;s&&Xm(f)&&(u=u.responseEnd,r+=s*(u<o?1:(o-c)/(u-c)))}if(--a,t+=8*(i+r)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var ad=null,ld=null;function mu(e){return e.nodeType===9?e:e.ownerDocument}function Qm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Hy(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function id(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var hs=null;function vw(){var e=window.event;return e&&e.type==="popstate"?e===hs?!1:(hs=e,!0):(hs=null,!1)}var zy=typeof setTimeout=="function"?setTimeout:void 0,bw=typeof clearTimeout=="function"?clearTimeout:void 0,Km=typeof Promise=="function"?Promise:void 0,Aw=typeof queueMicrotask=="function"?queueMicrotask:typeof Km<"u"?function(e){return Km.resolve(null).then(e).catch(ww)}:zy;function ww(e){setTimeout(function(){throw e})}function Aa(e){return e==="head"}function Zm(e,t){var n=t,a=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"||n==="/&"){if(a===0){e.removeChild(l),Il(t);return}a--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")a++;else if(n==="html")ar(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,ar(n);for(var i=n.firstChild;i;){var r=i.nextSibling,o=i.nodeName;i[Sr]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&i.rel.toLowerCase()==="stylesheet"||n.removeChild(i),i=r}}else n==="body"&&ar(e.ownerDocument.body);n=l}while(n);Il(t)}function Wm(e,t){var n=e;e=0;do{var a=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=a}while(n)}function rd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":rd(n),yd(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Sw(e,t,n,a){for(;e.nodeType===1;){var l=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(a){if(!e[Sr])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Qt(e.nextSibling),e===null)break}return null}function Cw(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qt(e.nextSibling),e===null))return null;return e}function Uy(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qt(e.nextSibling),e===null))return null;return e}function od(e){return e.data==="$?"||e.data==="$~"}function ud(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Rw(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var a=function(){t(),n.removeEventListener("DOMContentLoaded",a)};n.addEventListener("DOMContentLoaded",a),e._reactRetry=a}}function Qt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var cd=null;function Im(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qt(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Jm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Gy(e,t,n){switch(t=mu(n),e){case"html":if(e=t.documentElement,!e)throw Error(S(452));return e;case"head":if(e=t.head,!e)throw Error(S(453));return e;case"body":if(e=t.body,!e)throw Error(S(454));return e;default:throw Error(S(451))}}function ar(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);yd(e)}var Kt=new Map,$m=new Set;function hu(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Pn=$.d;$.d={f:Tw,r:Ew,D:Dw,C:xw,L:Mw,m:_w,X:Nw,S:Bw,M:Ow};function Tw(){var e=Pn.f(),t=Nu();return e||t}function Ew(e){var t=$l(e);t!==null&&t.tag===5&&t.type==="form"?Np(t):Pn.r(e)}var ai=typeof document>"u"?null:document;function Py(e,t,n){var a=ai;if(a&&typeof t=="string"&&t){var l=jt(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),$m.has(l)||($m.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function Dw(e){Pn.D(e),Py("dns-prefetch",e,null)}function xw(e,t){Pn.C(e,t),Py("preconnect",e,t)}function Mw(e,t,n){Pn.L(e,t,n);var a=ai;if(a&&e&&t){var l='link[rel="preload"][as="'+jt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+jt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+jt(n.imageSizes)+'"]')):l+='[href="'+jt(e)+'"]';var i=l;switch(t){case"style":i=Wl(e);break;case"script":i=li(e)}Kt.has(i)||(e=ve({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Kt.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(xr(i))||t==="script"&&a.querySelector(Mr(i))||(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function _w(e,t){Pn.m(e,t);var n=ai;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+jt(a)+'"][href="'+jt(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=li(e)}if(!Kt.has(i)&&(e=ve({rel:"modulepreload",href:e},t),Kt.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Mr(i)))return}a=n.createElement("link"),Ke(a,"link",e),qe(a),n.head.appendChild(a)}}}function Bw(e,t,n){Pn.S(e,t,n);var a=ai;if(a&&e){var l=kl(a).hoistableStyles,i=Wl(e);t=t||"default";var r=l.get(i);if(!r){var o={loading:0,preload:null};if(r=a.querySelector(xr(i)))o.loading=5;else{e=ve({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Kt.get(i))&&nf(e,n);var u=r=a.createElement("link");qe(u),Ke(u,"link",e),u._p=new Promise(function(c,s){u.onload=c,u.onerror=s}),u.addEventListener("load",function(){o.loading|=1}),u.addEventListener("error",function(){o.loading|=2}),o.loading|=4,qo(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:o},l.set(i,r)}}}function Nw(e,t){Pn.X(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ow(e,t){Pn.M(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0,type:"module"},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function eh(e,t,n,a){var l=(l=ra.current)?hu(l):null;if(!l)throw Error(S(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Wl(n.href),n=kl(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Wl(n.href);var i=kl(l).hoistableStyles,r=i.get(e);if(r||(l=l.ownerDocument||l,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=l.querySelector(xr(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Kt.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Kt.set(e,n),i||kw(l,e,n,r.state))),t&&a===null)throw Error(S(528,""));return r}if(t&&a!==null)throw Error(S(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=li(n),n=kl(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(S(444,e))}}function Wl(e){return'href="'+jt(e)+'"'}function xr(e){return'link[rel="stylesheet"]['+e+"]"}function qy(e){return ve({},e,{"data-precedence":e.precedence,precedence:null})}function kw(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Ke(t,"link",n),qe(t),e.head.appendChild(t))}function li(e){return'[src="'+jt(e)+'"]'}function Mr(e){return"script[async]"+e}function th(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+jt(n.href)+'"]');if(a)return t.instance=a,qe(a),a;var l=ve({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),qe(a),Ke(a,"style",l),qo(a,n.precedence,e),t.instance=a;case"stylesheet":l=Wl(n.href);var i=e.querySelector(xr(l));if(i)return t.state.loading|=4,t.instance=i,qe(i),i;a=qy(n),(l=Kt.get(l))&&nf(a,l),i=(e.ownerDocument||e).createElement("link"),qe(i);var r=i;return r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),t.state.loading|=4,qo(i,n.precedence,e),t.instance=i;case"script":return i=li(n.src),(l=e.querySelector(Mr(i)))?(t.instance=l,qe(l),l):(a=n,(l=Kt.get(i))&&(a=ve({},n),af(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),qe(l),Ke(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(S(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,qo(a,n.precedence,e));return t.instance}function qo(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,r=0;r<a.length;r++){var o=a[r];if(o.dataset.precedence===t)i=o;else if(i!==l)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function nf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function af(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Fo=null;function nh(e,t,n){if(Fo===null){var a=new Map,l=Fo=new Map;l.set(n,a)}else l=Fo,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),l=0;l<n.length;l++){var i=n[l];if(!(i[Sr]||i[Ve]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var r=i.getAttribute(t)||"";r=e+r;var o=a.get(r);o?o.push(i):a.set(r,[i])}}return a}function ah(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function Lw(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Fy(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Hw(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Wl(a.href),i=t.querySelector(xr(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=pu.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,qe(i);return}i=t.ownerDocument||t,a=qy(a),(l=Kt.get(l))&&nf(a,l),i=i.createElement("link"),qe(i);var r=i;r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=pu.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ps=0;function zw(e,t){return e.stylesheets&&e.count===0&&jo(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&ps===0&&(ps=62500*yw());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>ps?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function pu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jo(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var yu=null;function jo(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,yu=new Map,t.forEach(Uw,e),yu=null,pu.call(e))}function Uw(e,t){if(!(t.state.loading&4)){var n=yu.get(e);if(n)var a=n.get(null);else{n=new Map,yu.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<l.length;i++){var r=l[i];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(n.set(r.dataset.precedence,r),a=r)}a&&n.set(null,a)}l=t.instance,r=l.getAttribute("data-precedence"),i=n.get(r)||a,i===a&&n.set(null,l),n.set(r,l),this.count++,a=pu.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),i?i.parentNode.insertBefore(l,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var hr={$$typeof:Mn,Provider:null,Consumer:null,_currentValue:za,_currentValue2:za,_threadCount:0};function Gw(e,t,n,a,l,i,r,o,u){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Fc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fc(0),this.hiddenUpdates=Fc(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=i,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=u,this.incompleteTransitions=new Map}function jy(e,t,n,a,l,i,r,o,u,c,s,f){return e=new Gw(e,t,n,r,u,c,s,f,o),t=1,i===!0&&(t|=24),i=Tt(3,null,null,t),e.current=i,i.stateNode=e,t=Md(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:a,isDehydrated:n,cache:t},Nd(i),e}function Yy(e){return e?(e=_l,e):_l}function Vy(e,t,n,a,l,i){l=Yy(l),a.context===null?a.context=l:a.pendingContext=l,a=ua(t),a.payload={element:n},i=i===void 0?null:i,i!==null&&(a.callback=i),n=ca(e,a,t),n!==null&&(yt(n,e,t),Zi(n,e,t))}function lh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lf(e,t){lh(e,t),(e=e.alternate)&&lh(e,t)}function Xy(e){if(e.tag===13||e.tag===31){var t=Wa(e,67108864);t!==null&&yt(t,e,67108864),lf(e,67108864)}}function ih(e){if(e.tag===13||e.tag===31){var t=_t();t=hd(t);var n=Wa(e,t);n!==null&&yt(n,e,t),lf(e,t)}}var vu=!0;function Pw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=2,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function qw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=8,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function rf(e,t,n,a){if(vu){var l=sd(a);if(l===null)ms(e,t,a,bu,n),rh(e,a);else if(jw(l,e,t,n,a))a.stopPropagation();else if(rh(e,a),t&4&&-1<Fw.indexOf(e)){for(;l!==null;){var i=$l(l);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var r=ka(i.pendingLanes);if(r!==0){var o=i;for(o.pendingLanes|=2,o.entangledLanes|=2;r;){var u=1<<31-Mt(r);o.entanglements[1]|=u,r&=~u}hn(i),(J&6)===0&&(uu=Dt()+500,Dr(0,!1))}}break;case 31:case 13:o=Wa(i,2),o!==null&&yt(o,i,2),Nu(),lf(i,2)}if(i=sd(a),i===null&&ms(e,t,a,bu,n),i===l)break;l=i}l!==null&&a.stopPropagation()}else ms(e,t,a,null,n)}}function sd(e){return e=bd(e),of(e)}var bu=null;function of(e){if(bu=null,e=Rl(e),e!==null){var t=vr(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=fh(t),e!==null)return e;e=null}else if(n===31){if(e=gh(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return bu=e,null}function Qy(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Mb()){case yh:return 2;case vh:return 8;case Ko:case _b:return 32;case bh:return 268435456;default:return 32}default:return 32}}var dd=!1,fa=null,ga=null,ma=null,pr=new Map,yr=new Map,ea=[],Fw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function rh(e,t){switch(e){case"focusin":case"focusout":fa=null;break;case"dragenter":case"dragleave":ga=null;break;case"mouseover":case"mouseout":ma=null;break;case"pointerover":case"pointerout":pr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yr.delete(t.pointerId)}}function Ui(e,t,n,a,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[l]},t!==null&&(t=$l(t),t!==null&&Xy(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function jw(e,t,n,a,l){switch(t){case"focusin":return fa=Ui(fa,e,t,n,a,l),!0;case"dragenter":return ga=Ui(ga,e,t,n,a,l),!0;case"mouseover":return ma=Ui(ma,e,t,n,a,l),!0;case"pointerover":var i=l.pointerId;return pr.set(i,Ui(pr.get(i)||null,e,t,n,a,l)),!0;case"gotpointercapture":return i=l.pointerId,yr.set(i,Ui(yr.get(i)||null,e,t,n,a,l)),!0}return!1}function Ky(e){var t=Rl(e.target);if(t!==null){var n=vr(t);if(n!==null){if(t=n.tag,t===13){if(t=fh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===31){if(t=gh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Yo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=sd(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Ms=a,n.target.dispatchEvent(a),Ms=null}else return t=$l(n),t!==null&&Xy(t),e.blockedOn=n,!1;t.shift()}return!0}function oh(e,t,n){Yo(e)&&n.delete(t)}function Yw(){dd=!1,fa!==null&&Yo(fa)&&(fa=null),ga!==null&&Yo(ga)&&(ga=null),ma!==null&&Yo(ma)&&(ma=null),pr.forEach(oh),yr.forEach(oh)}function xo(e,t){e.blockedOn===t&&(e.blockedOn=null,dd||(dd=!0,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,Yw)))}var Mo=null;function uh(e){Mo!==e&&(Mo=e,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,function(){Mo===e&&(Mo=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],l=e[t+2];if(typeof a!="function"){if(of(a||n)===null)continue;break}var i=$l(n);i!==null&&(e.splice(t,3),t-=3,Vs(i,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function Il(e){function t(u){return xo(u,e)}fa!==null&&xo(fa,e),ga!==null&&xo(ga,e),ma!==null&&xo(ma,e),pr.forEach(t),yr.forEach(t);for(var n=0;n<ea.length;n++){var a=ea[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<ea.length&&(n=ea[0],n.blockedOn===null);)Ky(n),n.blockedOn===null&&ea.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],i=n[a+1],r=l[vt]||null;if(typeof i=="function")r||uh(n);else if(r){var o=null;if(i&&i.hasAttribute("formAction")){if(l=i,r=i[vt]||null)o=r.formAction;else if(of(l)!==null)continue}else o=r.action;typeof o=="function"?n[a+1]=o:(n.splice(a,3),a-=3),uh(n)}}}function Zy(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(r){return l=r})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function uf(e){this._internalRoot=e}Lu.prototype.render=uf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(S(409));var n=t.current,a=_t();Vy(n,a,e,t,null,null)};Lu.prototype.unmount=uf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Vy(e.current,2,null,e,null,null),Nu(),t[Jl]=null}};function Lu(e){this._internalRoot=e}Lu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rh();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ea.length&&t!==0&&t<ea[n].priority;n++);ea.splice(n,0,e),n===0&&Ky(e)}};var ch=sh.version;if(ch!=="19.2.8")throw Error(S(527,ch,"19.2.8"));$.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(S(188)):(e=Object.keys(e).join(","),Error(S(268,e)));return e=Sb(t),e=e!==null?mh(e):null,e=e===null?null:e.stateNode,e};var Vw={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Gi=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Gi.isDisabled&&Gi.supportsFiber))try{br=Gi.inject(Vw),xt=Gi}catch{}var Gi;Hu.createRoot=function(e,t){if(!dh(e))throw Error(S(299));var n=!1,a="",l=Pp,i=qp,r=Fp;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=jy(e,1,!1,null,null,n,a,null,l,i,r,Zy),e[Jl]=t.current,tf(e),new uf(t)};Hu.hydrateRoot=function(e,t,n){if(!dh(e))throw Error(S(299));var a=!1,l="",i=Pp,r=qp,o=Fp,u=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(i=n.onUncaughtError),n.onCaughtError!==void 0&&(r=n.onCaughtError),n.onRecoverableError!==void 0&&(o=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=jy(e,1,!0,t,n??null,a,l,u,i,r,o,Zy),t.context=Yy(null),n=t.current,a=_t(),a=hd(a),l=ua(a),l.callback=null,ca(n,l,a),n=a,t.current.lanes=n,wr(t,n),hn(t),e[Jl]=t.current,tf(e),new Lu(t)};Hu.version="19.2.8"});var $y=un((jS,Jy)=>{"use strict";function Iy(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Iy)}catch(e){console.error(e)}}Iy(),Jy.exports=Wy()});var t0=un(zu=>{"use strict";var Xw=Symbol.for("react.transitional.element"),Qw=Symbol.for("react.fragment");function e0(e,t,n){var a=null;if(n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),"key"in t){n={};for(var l in t)l!=="key"&&(n[l]=t[l])}else n=t;return t=n.ref,{$$typeof:Xw,type:e,key:a,ref:t!==void 0?t:null,props:n}}zu.Fragment=Qw;zu.jsx=e0;zu.jsxs=e0});var O=un((VS,n0)=>{"use strict";n0.exports=t0()});var Lt=B(ft(),1),s1=B($y(),1);var Wv=B(ft(),1);var qn=B(O(),1);function Kw(e){return{under50:"Under $50",over50:"Over $50",over30:"Over $30",over500:"Over $500","50_100":"$50 - $100","100_200":"$100 - $200","200_500":"$200 - $500"}[e]||e}function a0({activeDealTag:e,activeFreeformTags:t,airedaleTags:n,freeformTags:a,discountAmount:l,onBrandSelect:i,onBrandToggle:r,onDiscountAmountChange:o,onPriceRangeChange:u,onTagClear:c,onFreeformTagClear:s,onFreeformTagToggle:f,priceRange:d,selectedBrands:m}){let v=m.map(b=>({type:"brand",value:b,label:b}));if(e){let b=n.find(h=>h.startsWith(e+":::")||h===e);v.push({type:"category",value:e,label:b?b.split(":::")[1]||b.split(":::")[0]:e})}if(t.forEach(b=>{let h=a.find(g=>g.handle===b);v.push({type:"freeform-tag",value:b,label:h?.label||b})}),d&&d!=="all"&&v.push({type:"price",value:d,label:Kw(d)}),l&&l!=="0"&&l!=="all"&&v.push({type:"discount",value:l,label:`Min ${l}% off`}),v.length===0)return null;let A=b=>{b.type==="brand"&&r?.(b.value),b.type==="category"&&c(),b.type==="freeform-tag"&&f(b.value),b.type==="discount"&&o?.("0"),b.type==="price"&&u?.("all")};return(0,qn.jsxs)("div",{className:"tg-df-active-badges-row",style:{display:"flex",flexWrap:"wrap",gap:"4px",alignItems:"center",marginTop:"10px",marginBottom:"16px"},children:[v.map(b=>(0,qn.jsxs)("span",{className:"tg-df-active-badge",children:[b.label,(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-remove","aria-label":`Remove ${b.label}`,onClick:()=>A(b),children:(0,qn.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,qn.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,qn.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},b.type+"-"+b.value)),v.length>1&&(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-clear-all",onClick:()=>{i?.([]),c(),s(),o?.("0"),u?.("all")},children:"Clear all"})]})}function l0(e){if(!e)return null;let t=e.documentname||e.title||"";!t&&e.documentnametext&&(t=Array.isArray(e.documentnametext)?e.documentnametext[0]:e.documentnametext),!t&&e.articlename&&(t=Array.isArray(e.articlename)?e.articlename[0]:e.articlename),!t&&e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&(t=e.articlesocialtitle[0]);let n=e.strapline||e.articlestrapline||e.subtitle||e.dek||"";!n&&e.image_thumbnail&&e.image_thumbnail.dek&&(n=e.image_thumbnail.dek),Array.isArray(n)&&(n=n[0]||"");let a="";if(e.articlepage)try{let l=e.articlepage;if(typeof l=="string")try{l=JSON.parse(l)}catch{}if(Array.isArray(l)&&l.length>0){let i=l[0];if(typeof i=="string")try{i=JSON.parse(i)}catch{}if(Array.isArray(i)){let r=[];for(let o of i){if(o.type==="featured-product")break;if(o.type==="text"&&o.data)Array.isArray(o.data.paragraphs)?o.data.paragraphs.forEach(u=>{u&&r.push(u.startsWith("<")?u:`<p>${u}<\/p>`)}):typeof o.data.text=="string"&&o.data.text&&r.push(o.data.text.startsWith("<")?o.data.text:`<p>${o.data.text}<\/p>`);else if(o.type==="section"&&o.data){let u=o.data.text||o.data.heading||o.data.title||"";u&&r.push(`<div class="tg-df-article-section-banner"><span>${u}<\/span><\/div>`)}}r.length>0&&(a=r.join(""))}}}catch(l){console.error("Error parsing articlepage",l)}return!a&&e.content?a=typeof e.content=="string"?e.content:"":!a&&e.intro?a=typeof e.intro=="string"?e.intro:"":!a&&e.paragraphs&&(a=(Array.isArray(e.paragraphs)?e.paragraphs:[e.paragraphs]).map(i=>`<p>${i}<\/p>`).join("")),{headline:t,strapline:n,contentHtml:a}}var ii=B(O(),1);function i0({articles:e,selectedArticleId:t}){if(!t)return null;let n=e.find(l=>l.id===t);if(!n)return null;let a=l0(n);return!a||!a.headline&&!a.strapline&&!a.contentHtml?null:(0,ii.jsxs)("div",{className:"tg-df-article-intro-container",id:"tg-df-article-intro",style:{margin:"0 auto 32px",width:"100%",maxWidth:"800px",textAlign:"left",padding:"0 16px"},children:[a.headline&&(0,ii.jsx)("h2",{className:"tg-df-article-headline",id:"tg-df-article-headline",style:{fontSize:"1.75rem",fontWeight:800,color:"#0f172a",marginBottom:"1rem",lineHeight:1.25},children:a.headline}),a.strapline&&(0,ii.jsx)("p",{className:"tg-df-article-strapline",id:"tg-df-article-strapline",style:{fontSize:"1.125rem",fontWeight:600,color:"#334155",marginBottom:"1.25rem",lineHeight:1.4},children:a.strapline}),a.contentHtml&&(0,ii.jsx)("div",{className:"tg-df-article-content",id:"tg-df-article-content",dangerouslySetInnerHTML:{__html:a.contentHtml}})]})}var Fn=B(O(),1);function Zw({articles:e,authorHandle:t,authorName:n}){let a=n||e.length>0&&(e[0].articleauthortext?.[0]||e[0].articleauthor?.[0])||"Author";(t==="all-authors"||n==="all-authors"||n==="All authors")&&(a="All authors");let l=a.trim().split(" ")[0]||"Author";return a==="All authors"&&(l="All authors"),`Shop all ${l==="All authors"?"authors'":l.endsWith("'s")||l.endsWith("\u2019s")?l:`${l}'s`} collections`}function Ww(e){let t=[];return e.documentnametext&&t.push(e.documentnametext),e.documentname&&t.push(e.documentname),e.articlename&&t.push(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&t.push(...e.articlesocialtitle),t.length>0?t.reduce((n,a)=>a&&a.length<n.length?a:n,t[0]):"Article"}function r0({articles:e,authorHandle:t,authorName:n,onChange:a,selectedArticleId:l,shortenedHeadlines:i}){return(0,Fn.jsx)("div",{className:"tg-df-top-bar",id:"tg-df-top-bar",style:{position:"relative",zIndex:100,margin:"0 auto 20px",width:"100%",display:"flex",justifyContent:"center"},children:(0,Fn.jsxs)("div",{className:"tg-df-sort-wrapper",style:{width:"auto",maxWidth:"320px",display:"inline-flex",position:"relative"},children:[(0,Fn.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",width:"14px",height:"14px",color:"var(--tg-df-text-muted)",pointerEvents:"none",zIndex:2},children:(0,Fn.jsx)("path",{d:"M12 2l-10 4.5 10 4.5 10-4.5-10-4.5zm0 6.5l-8-3.6 8-3.6 8 3.6-8 3.6zm-10 6l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5zm0 5l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5z"})}),(0,Fn.jsxs)("select",{className:"tg-df-filter-select tg-df-article-select",style:{width:"100%",maxWidth:"320px",padding:"10px 36px 10px 38px",fontSize:"14px",fontWeight:500,borderRadius:"100px",border:"1px solid var(--tg-df-border)",color:"var(--tg-df-text)",backgroundColor:"var(--tg-df-bg-secondary)",appearance:"none",backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E")`,backgroundRepeat:"no-repeat",backgroundPosition:"right 14px center",textAlign:"left",textAlignLast:"left",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",cursor:"pointer"},value:l||"",onChange:r=>a(r.target.value),children:[(0,Fn.jsx)("option",{value:"",style:{textAlign:"left"},children:Zw({articles:e,authorHandle:t,authorName:n})}),e.map(r=>{let o=i?.[r.id]||Ww(r);return o&&o.length>38&&(o=o.substring(0,36)+"\u2026"),(0,Fn.jsx)("option",{value:r.id,style:{textAlign:"left"},children:o},r.id)})]})]})})}var A0=B(ft(),1);function o0(e,t=new Date){if(!e)return"";let n=new Date(e),a=Math.floor((t.getTime()-n.getTime())/1e3);if(a<60)return"Just now";let l=Math.floor(a/60);if(l<60)return`${l} min${l>1?"s":""} ago`;let i=Math.floor(l/60);if(i<24)return`${i} hr${i>1?"s":""} ago`;let r=Math.floor(i/24);if(r<30)return`${r} day${r>1?"s":""} ago`;let o=Math.floor(r/30);if(o<12)return`${o} mo${o>1?"s":""} ago`;let u=Math.floor(r/365);return`${u} yr${u>1?"s":""} ago`}function Iw(e){return e.replace(/<\/p\s*>/gi," ").replace(/<p[^>]*>/gi," ").replace(/<br\s*\/?>/gi," ").replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim()}function _r(e,t,n){let a="";return n==="short"?a=e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"":a=e.articleauthorlongbio&&e.articleauthorlongbio[t]&&e.articleauthorlongbio[t]!=="null"?e.articleauthorlongbio[t]:e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"",a?Iw(a):""}function u0(e,t){return e.articleauthorrole&&e.articleauthorrole[t]&&e.articleauthorrole[t]!=="null"?e.articleauthorrole[t]:""}function c0(e,t){return e.articleauthormedia&&e.articleauthormedia[t]?e.articleauthormedia[t]:""}function ri(e){if(typeof e!="string"||!e.trim())return"";try{let t=new URL(e);if(t.hostname.toLowerCase()!=="cdn.mos.cms.futurecdn.net")return e;let n=/\.(?:jpe?g|png|webp)$/i;return!n.test(t.pathname)||/-\d+-\d+\.(?:jpe?g|png|webp)$/i.test(t.pathname)?e:(t.pathname=t.pathname.replace(n,"-480-80$&"),t.toString())}catch{return e}}function Uu(e,t=0){if(!e||!e.articleauthorsocialnetworks)return[];let n=e.articleauthorsocialnetworks[t];if(n||(n=e.articleauthorsocialnetworks[0]),!n)return[];let a=null;if(typeof n=="string")try{a=JSON.parse(n)}catch{try{a=JSON.parse(n.replace(/\\"/g,'"'))}catch{}}else typeof n=="object"&&n!==null&&(a=n);if(!a||typeof a!="object")return[];let l=[];for(let[i,r]of Object.entries(a)){if(!r)continue;let o="",u="";if(typeof r=="string"?o=r:typeof r=="object"&&r!==null&&(o=r.url||r.address||r.link||"",u=r.address||""),!o&&!u)continue;let c=i.toLowerCase().trim(),s=o||u;c==="email"?s.startsWith("mailto:")||(s=s.includes("@")?`mailto:${s}`:`mailto:${s}`):!s.startsWith("http://")&&!s.startsWith("https://")&&!s.startsWith("//")&&(s=`https://${s}`);let f=c.charAt(0).toUpperCase()+c.slice(1);c==="linkedin"?f="LinkedIn":c==="youtube"?f="YouTube":c==="tiktok"?f="TikTok":c==="twitch"?f="Twitch":c==="steam"?f="Steam":c==="github"?f="GitHub":c==="rss"?f="RSS":(c==="x"||c==="twitter")&&(f="X (Twitter)"),l.push({key:c,href:s,label:f})}return l}function ee(e){if(!e)return"";let t=String(e);for(let n=0;n<3;n+=1){let a=t.replace(/&/gi,"&").replace(/£/g,"\xA3").replace(/£/gi,"\xA3").replace(/$/g,"$").replace(/&dollar;/gi,"$").replace(/€/g,"\u20AC").replace(/€/gi,"\u20AC").replace(/&#(\d+);/g,(l,i)=>String.fromCharCode(Number(i))).replace(/&#x([0-9a-f]+);/gi,(l,i)=>String.fromCharCode(parseInt(i,16)));if(a===t)break;t=a}return t}var Ee=B(O(),1);function cf({authorUrl:e,deal:t}){if(!t.authorName)return null;let n=ee(String(t.authorName)),a=t.authorRole&&!["null","nul","undefined"].includes(String(t.authorRole).toLowerCase())?` \u2022 ${ee(String(t.authorRole))}`:"";return(0,Ee.jsx)("div",{className:"tg-df-author-line-desktop",style:{padding:"0 0 12px 0"},children:(0,Ee.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[t.authorImage&&(0,Ee.jsx)("img",{src:ri(t.authorImage),alt:n,className:"tg-df-author-img",width:"36",height:"36",style:{borderRadius:"50%",objectFit:"cover",flexShrink:0,aspectRatio:"1 / 1",minWidth:"36px",minHeight:"36px"}}),(0,Ee.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,Ee.jsx)("div",{style:{fontSize:"10px",color:"var(--tg-df-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px",fontWeight:600},children:t.isReviewProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Product tested by:"}):t.isBuyingGuideProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Expert review by:"}):t.isFeatured?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:"Top product"})," ","recommended by:"]}):(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:t.merchant})," ","deal recommended by:"]})}),(0,Ee.jsxs)("div",{style:{fontSize:"11px",color:"var(--tg-df-text)",lineHeight:1.2},children:[(0,Ee.jsx)("strong",{children:(0,Ee.jsx)("a",{href:e,target:"_blank",rel:"noopener",style:{textDecoration:"none",color:"inherit",borderBottom:"1px dotted var(--tg-df-text-muted)"},children:n})}),a,t.modifiedDate?(0,Ee.jsxs)("span",{style:{color:"var(--tg-df-text-muted)"},children:[" ","\u2022 ",o0(t.modifiedDate)]}):""]})]})]})})}var K=B(O(),1);function s0({authorUrl:e,deal:t,hideHawkPrices:n,msrpFormatted:a,sourceArticleUrl:l}){let i=ee(String(t.merchant||"")),r=ee(String(t.currency||""));if(t.isBuyingGuideProduct||t.isReviewProduct){let o=!!t.hasCommerceOffer,u=o&&!t.isCheckPrice,c=!!t.hawkPricePending,s=!!t.isReviewProduct&&!c&&!o,f=n&&o&&Array.isArray(t.hawkListings)?t.hawkListings.filter(m=>m?.merchant&&m?.url).slice(0,4):[],d=f.length>0;return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[c?(0,K.jsx)("div",{className:"tg-df-card-price-group","aria-live":"polite",children:(0,K.jsx)("span",{className:"tg-df-card-price",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"Checking live price\u2026"})}):d?(0,K.jsxs)("div",{className:"tg-df-card-listings",children:[(0,K.jsx)("span",{className:"tg-df-card-listings-title",children:"Today's cheapest prices:"}),(0,K.jsx)("div",{className:"tg-df-card-listings-links",children:f.map((m,v)=>{let A=ee(String(m.merchant));return(0,K.jsx)("a",{"aria-label":`View product at ${A}`,className:"tg-df-card-listing-link hawk-affiliate-link-container","data-fcaw-affiliate-link":"","data-merchant":A,"data-merchant-id":m.merchantId||void 0,"data-model-id":m.modelId||void 0,"data-product-key":m.productKey||void 0,href:m.url,rel:"sponsored nofollow noopener",target:"_blank",children:A},`${m.merchant}-${m.url}-${v}`)})})]}):u?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsxs)("div",{className:"tg-df-card-price-group",children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})]}):s?(0,K.jsx)("div",{className:"tg-df-card-price-group",children:(0,K.jsx)("span",{className:"tg-df-card-price tg-df-card-price--unavailable",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"No retail listing found"})}):null,(0,K.jsx)(cf,{authorUrl:e,deal:t}),!d&&(0,K.jsx)("a",{href:o?t.url:l,"data-fcaw-affiliate-link":o?"":void 0,target:"_blank",rel:o?"sponsored nofollow noopener":"noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},children:o?u?"VIEW DEAL":"CHECK PRICE":"READ REVIEW"})]})}return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[!(t.authorName&&!t.isFeatured)&&(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsx)("div",{className:"tg-df-card-price-group",children:t.isCheckPrice?(0,K.jsx)("span",{className:"tg-df-card-price",style:{fontSize:"15px",fontWeight:500,fontStyle:"italic"},children:"See price at retailer"}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})}),(0,K.jsx)(cf,{authorUrl:e,deal:t}),(0,K.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":"",target:"_blank",rel:"sponsored nofollow noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},"data-model-id":t.modelId||void 0,"data-product-key":t.productKey||void 0,"data-merchant-id":t.merchantId||void 0,children:t.isCheckPrice?"CHECK PRICE":t.isFeatured?"SHOP NOW":"VIEW DEAL"})]})}var Ze=B(O(),1);function d0({couponStatus:e,deal:t,onOpenVouchers:n}){let a=!!t.hasCommerceOffer;return(0,Ze.jsxs)("div",{className:"tg-df-card-image-box",children:[t.buyingGuideBadge?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge tg-df-buying-guide-badge",children:t.buyingGuideBadge}):t.savingLabel&&!t.isCheckPrice?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge",children:ee(t.savingLabel)}):null,(0,Ze.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":a?"":void 0,className:a?"hawk-affiliate-link-deal-widget":void 0,target:"_blank",rel:a?"sponsored nofollow noopener":"noopener",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",height:"100%"},children:(0,Ze.jsx)("img",{src:t.image||void 0,alt:ee(String(t.title||"")),className:"tg-df-card-image",loading:"lazy",onError:l=>{t.fallbackImage&&!l.currentTarget.dataset.fb?(l.currentTarget.dataset.fb="1",l.currentTarget.src=t.fallbackImage):l.currentTarget.style.opacity="0"}})}),(0,Ze.jsxs)("div",{className:"tg-df-card-badges",children:[t.isPrime&&(0,Ze.jsxs)("span",{className:"tg-df-tag tg-df-tag-prime",children:[(0,Ze.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ze.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})," ","Prime"]}),!t.merchant?.toLowerCase().includes("amazon")&&(e==="loading"||e==="has")&&(0,Ze.jsx)("div",{className:"tg-df-coupon-wrapper",style:{display:"inline-flex",alignItems:"center"},children:e==="loading"?(0,Ze.jsx)("div",{className:"tg-df-coupon-spinner"}):(0,Ze.jsxs)("button",{type:"button",className:"tg-df-tag tg-df-tag-coupons",onClick:l=>{l.preventDefault(),n(t.merchant)},children:[(0,Ze.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,Ze.jsx)("path",{d:"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"}),(0,Ze.jsx)("line",{x1:"7",y1:"7",x2:"7.01",y2:"7"})]})," ","Coupons"]})})]})]})}var ct=B(O(),1);function f0({label:e="Tom's Guide:",starRating:t,color:n="#1f69ff"}){if(!t||t<=0)return null;let a=Math.floor(t),l=t-a>=.5?1:0,i=Math.max(0,5-a-l),r=[];for(let o=0;o<a;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:n,stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`f${o}`));l&&r.push((0,ct.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"url(#halfGrad)",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,ct.jsx)("defs",{children:(0,ct.jsxs)("linearGradient",{id:"halfGrad",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,ct.jsx)("stop",{offset:"50%",stopColor:n}),(0,ct.jsx)("stop",{offset:"50%",stopColor:"transparent"})]})}),(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})]},"h"));for(let o=0;o<i;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:n,opacity:"0.35",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`e${o}`));return(0,ct.jsxs)("div",{className:"tg-df-card-stars",style:{display:"flex",alignItems:"center",marginBottom:"8px",fontSize:"13px",fontWeight:600,color:"var(--tg-df-text-muted)"},children:[e&&(0,ct.jsx)("span",{style:{marginRight:"6px"},children:e}),(0,ct.jsx)("div",{style:{display:"flex",gap:"2px"},children:r})]})}var At=B(O(),1);function g0({heading:e,items:t}){return t.length===0?null:(0,At.jsxs)("div",{style:{marginBottom:"10px"},children:[(0,At.jsx)("strong",{style:{display:"block",fontSize:"12px",marginBottom:"3px"},children:e}),(0,At.jsx)("ul",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:0,paddingLeft:"18px"},children:t.map(n=>{let a=ee(String(n));return(0,At.jsx)("li",{children:a},n)})})]})}function m0({cons:e=[],expanded:t,fullReviewUrl:n,onToggle:a,pros:l=[],subtitle:i="",truncateSubtitle:r=!1}){let o=l.length>0||e.length>0,u=ee(i);return!u&&!o?null:(0,At.jsxs)("div",{style:{marginBottom:"12px"},children:[u&&(0,At.jsx)("p",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:"0 0 8px",display:!t&&r?"-webkit-box":"block",WebkitLineClamp:!t&&r?3:void 0,WebkitBoxOrient:!t&&r?"vertical":void 0,overflow:!t&&r?"hidden":void 0},children:u}),t&&o&&(0,At.jsxs)("div",{children:[(0,At.jsx)(g0,{heading:"Pros",items:l}),(0,At.jsx)(g0,{heading:"Cons",items:e})]}),(o||r)&&(0,At.jsxs)("div",{className:"tg-df-review-summary-actions",style:{alignItems:"flex-start",display:"flex",flexDirection:"column",gap:t&&n?"4px":0},children:[t&&n&&(0,At.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"tg-df-review-full-link",style:{alignItems:"center",color:"var(--tg-df-blue)",display:"flex",fontSize:"12px",fontWeight:700,minHeight:"40px",paddingRight:"12px",textDecoration:"underline"},children:"Read our full review"}),(0,At.jsx)("button",{type:"button",onClick:c=>{c.preventDefault(),c.stopPropagation(),a()},className:"tg-df-review-summary-toggle",style:{appearance:"none",background:"transparent",border:"none",color:"#000000",cursor:"pointer",fontFamily:"inherit",fontSize:"11px",fontWeight:700,minHeight:"40px",padding:"0 12px 0 0",textTransform:"uppercase"},children:t?"LESS":"READ MORE"})]})]})}var oi=B(ft(),1);var Br=B(O(),1);function h0({text:e,expanded:t,onToggle:n}){let[a,l]=(0,oi.useState)(!1),i=(0,oi.useRef)(null),r=ee(e);return(0,oi.useEffect)(()=>{i.current&&l(i.current.scrollHeight>i.current.clientHeight||i.current.scrollHeight>60)},[r]),r?(0,Br.jsxs)("div",{style:{marginBottom:"12px",position:"relative"},children:[(0,Br.jsx)("p",{ref:i,style:{fontSize:"13px",color:"var(--tg-df-text-muted)",marginBottom:"0",lineHeight:"1.4",display:t?"inline":"-webkit-box",WebkitLineClamp:t?"unset":3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r}),a&&(0,Br.jsx)("button",{type:"button",onClick:o=>{o.preventDefault(),o.stopPropagation(),n()},style:{display:"block",appearance:"none",border:"none",color:"#000000",fontSize:"11px",fontWeight:700,textTransform:"uppercase",cursor:"pointer",fontFamily:"inherit",position:t?"static":"absolute",bottom:"2px",right:0,background:t?"transparent":"linear-gradient(to right, transparent, #fff 20%, #fff)",padding:t?"0":"0 0 0 16px"},children:t?"LESS":"READ MORE"})]}):null}var p0={pcgamer:"#DC191B",space:"#2E4A7F",tomsguide:"#1F69FF",techradar:"#E40784",golfmonthly:"#FFFFFF",androidcentral:"#1CCC3E",cinemablend:"#FFC033",creativebloq:"#DC361A",cyclingnews:"#371B51",cyclingweekly:"#AE1305",decanter:"#1B1B1B",digitalcameraworld:"#CAEBF2",fitandwell:"#BED100",fourfourtwo:"#AE1006",gamesradar:"#DC361A",guitarplayer:"#FFFFFF",guitarworld:"#DC1F26",homesandgardens:"#185A7D",idealhome:"#CAEBF2",imore:"#FFD600",livescience:"#023953",livingetc:"#FFFFFF",loudersound:"#DC0F17",marieclaireus:"#FFFFFF",marieclaireuk:"#FFFFFF",musicradar:"#006EA9",shortlist:"#2853E0",t3:"#DF0A14",theweek:"#DF0A14",theweekjuniorus:"#10A0B0",tomshardware:"#D8373B",wallpaper:"#FFFFFF",whathifi:"#E02928",whowhatwear:"#FFFFFF",windowscentral:"#CE0E5F",womanandhome:"#2F746E"},Nr={tomsguide:"https://proof.vanilla.tools/media/images/brandLogos/tomsguide.png",techradar:"https://proof.vanilla.tools/media/images/brandLogos/techradar.png",tomshardware:"https://proof.vanilla.tools/media/images/brandLogos/tomshardware.png",pcgamer:"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png",gamesradar:"https://proof.vanilla.tools/media/images/brandLogos/gamesradar.png",creativebloq:"https://proof.vanilla.tools/media/images/brandLogos/creativebloq.png",space:"https://proof.vanilla.tools/media/images/brandLogos/space.png",livescience:"https://proof.vanilla.tools/media/images/brandLogos/livescience.png",cinemablend:"https://proof.vanilla.tools/media/images/brandLogos/cinemablend.png",marieclaireus:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireus.png",marieclaireuk:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireuk.png",homesandgardens:"https://proof.vanilla.tools/media/images/brandLogos/homesandgardens.png",whowhatwear:"https://proof.vanilla.tools/media/images/brandLogos/whowhatwear.png",idealhome:"https://proof.vanilla.tools/media/images/brandLogos/idealhome.png",womanandhome:"https://proof.vanilla.tools/media/images/brandLogos/womanandhome.png",livingetc:"https://proof.vanilla.tools/media/images/brandLogos/livingetc.png",t3:"https://proof.vanilla.tools/media/images/brandLogos/t3.png",whathifi:"https://proof.vanilla.tools/media/images/brandLogos/whathifi.png",digitalcameraworld:"https://proof.vanilla.tools/media/images/brandLogos/digitalcameraworld.png",fitandwell:"https://proof.vanilla.tools/media/images/brandLogos/fitandwell.png",golfmonthly:"https://proof.vanilla.tools/media/images/brandLogos/golfmonthly.png",musicradar:"https://proof.vanilla.tools/media/images/brandLogos/musicradar.png",windowscentral:"https://proof.vanilla.tools/media/images/brandLogos/windowscentral.png",cyclingnews:"https://proof.vanilla.tools/media/images/brandLogos/cyclingnews.png",cyclingweekly:"https://proof.vanilla.tools/media/images/brandLogos/cyclingweekly.png",loudersound:"https://proof.vanilla.tools/media/images/brandLogos/loudersound.png",guitarworld:"https://proof.vanilla.tools/media/images/brandLogos/guitarworld.png",guitarplayer:"https://proof.vanilla.tools/media/images/brandLogos/guitarplayer.png",wallpaper:"https://proof.vanilla.tools/media/images/brandLogos/wallpaper.png",fourfourtwo:"https://proof.vanilla.tools/media/images/brandLogos/fourfourtwo.png",shortlist:"https://proof.vanilla.tools/media/images/brandLogos/shortlist.png",advnture:"https://proof.vanilla.tools/media/images/brandLogos/advnture.png",countrylife:"https://proof.vanilla.tools/media/images/brandLogos/countrylife.png",gardeningknowhow:"https://proof.vanilla.tools/media/images/brandLogos/gardeningknowhow.png",gnomesingardens:"https://proof.vanilla.tools/media/images/brandLogos/gnomesingardens.png",kiplinger:"https://proof.vanilla.tools/media/images/brandLogos/kiplinger.png",moneyweek:"https://proof.vanilla.tools/media/images/brandLogos/moneyweek.png",toptenreviews:"https://proof.vanilla.tools/media/images/brandLogos/toptenreviews.png"},Gu={tomsguide:"Tom's Guide",techradar:"TechRadar",tomshardware:"Tom's Hardware",pcgamer:"PC Gamer",gamesradar:"GamesRadar+",creativebloq:"Creative Bloq",space:"Space",livescience:"Live Science",cinemablend:"CinemaBlend",marieclaireus:"Marie Claire US",marieclaireuk:"Marie Claire UK",homesandgardens:"Homes & Gardens",whowhatwear:"Who What Wear",idealhome:"Ideal Home",womanandhome:"Woman & Home",livingetc:"Living Etc",t3:"T3",whathifi:"What Hi-Fi?",digitalcameraworld:"Digital Camera World",fitandwell:"Fit & Well",golfmonthly:"Golf Monthly",musicradar:"MusicRadar",androidcentral:"Android Central",imore:"iMore",windowscentral:"Windows Central",cyclingnews:"Cycling News",cyclingweekly:"Cycling Weekly",loudersound:"Louder Sound",guitarworld:"Guitar World",guitarplayer:"Guitar Player",theweek:"The Week",theweekjuniorus:"The Week Junior US",wallpaper:"Wallpaper",decanter:"Decanter",fourfourtwo:"FourFourTwo",shortlist:"ShortList",advnture:"Advnture",countrylife:"Country Life",gardeningknowhow:"Gardening Know How",gnomesingardens:"Gnomes in Gardens",kiplinger:"Kiplinger",moneyweek:"Money Week",toptenreviews:"Top 10 Reviews"},y0={pcgamer:[{key:"steam",href:"https://steamcommunity.com/groups/pcgamer",label:"PC Gamer on Steam"},{key:"x",href:"https://twitter.com/pcgamer",label:"PC Gamer on X"},{key:"facebook",href:"https://www.facebook.com/pcgamermagazine",label:"PC Gamer on Facebook"},{key:"instagram",href:"https://www.instagram.com/pcgamer_mag/?hl=en",label:"PC Gamer on Instagram"},{key:"youtube",href:"https://www.youtube.com/user/pcgamer",label:"PC Gamer on YouTube"},{key:"twitch",href:"https://www.twitch.tv/pcgamer",label:"PC Gamer on Twitch"},{key:"tiktok",href:"https://www.tiktok.com/@pcgamer_mag?lang=en",label:"PC Gamer on TikTok"}],homesandgardens:[{key:"instagram",href:"https://www.instagram.com/homesandgardensofficial",label:"Homes & Gardens on Instagram"},{key:"facebook",href:"https://www.facebook.com/homesandgardens/",label:"Homes & Gardens on Facebook"},{key:"x",href:"https://x.com/homesandgardens",label:"Homes & Gardens on X"},{key:"tiktok",href:"https://www.tiktok.com/@homesandgardensofficial",label:"Homes & Gardens on TikTok"},{key:"pinterest",href:"https://pinterest.com/homesgardensofficial/",label:"Homes & Gardens on Pinterest"}],whowhatwear:[{key:"x",href:"https://twitter.com/WhoWhatWear",label:"Who What Wear on X"},{key:"instagram",href:"https://www.instagram.com/whowhatwear/",label:"Who What Wear on Instagram"},{key:"facebook",href:"https://www.facebook.com/WhoWhatWear/",label:"Who What Wear on Facebook"},{key:"pinterest",href:"https://www.pinterest.co.uk/whowhatwearuk/",label:"Who What Wear on Pinterest"},{key:"tiktok",href:"https://www.tiktok.com/@whowhatwear.uk",label:"Who What Wear on TikTok"}]};var Ot=B(O(),1);function v0(e){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").trim().toLowerCase()}function Jw(e){let t=ee(String(e.brand||"")).trim(),n=ee(String(e.productName||e.title||"")).trim(),a=v0(t),l=v0(n);return a.length>0&&l.startsWith(a)&&!/^[a-z0-9]/.test(l.slice(a.length))||!t?n:`${t} ${n}`.trim()}function b0({couponStatus:e,deal:t,editorMode:n,hideHawkPrices:a,isDescriptionExpanded:l,isSelected:i,onDescriptionToggle:r,onOpenVouchers:o,onSelectionChange:u,website:c}){let s=ee(String(t.currency||"")),f=t.rawMsrp?s+t.rawMsrp:null,d=Jw(t),m=ee(String(t.title||"")),v=Gu[c||"tomsguide"]||c||"Tom's Guide",A=(c||"tomsguide").includes(".")?(c||"").startsWith("http")?c:`https://${c}`:`https://www.${c||"tomsguide"}.com`,b=(t.documentUrl||"").replace(/^\/+/,""),h=b.startsWith("http://")||b.startsWith("https://")?b:`${A}/${b}`,g=String(t.sourceArticleUrl||t.documentUrl||t.url||"").replace(/^\/+/,""),p=g.startsWith("http://")||g.startsWith("https://")?g:`${A}/${g}`,y=!!t.hasCommerceOffer;return(0,Ot.jsxs)("div",{className:"tg-df-card","data-brand":t.modelBrand||t.brand||void 0,"data-currency":t.isoCurrencyCode||s||void 0,"data-deal-id":t.externalProductId||t.id||void 0,"data-merchant":t.merchant||void 0,"data-merchant-id":t.merchantId||void 0,"data-model-id":t.modelId||void 0,"data-previous-price":t.rawMsrp||void 0,"data-price":t.rawPrice||void 0,"data-product-key":t.productKey||void 0,"data-product-name":t.productName||t.title||void 0,"data-review-product":t.isReviewProduct?"true":void 0,"data-source-article-url":t.isReviewProduct?p:void 0,children:[n&&(0,Ot.jsx)("input",{type:"checkbox",className:"tg-df-deal-checkbox",checked:i,onChange:C=>u(C.target.checked)}),(0,Ot.jsx)(d0,{couponStatus:e,deal:t,onOpenVouchers:o}),(0,Ot.jsxs)("div",{className:"tg-df-card-body",children:[(0,Ot.jsx)("h3",{className:"tg-df-card-title",title:m,children:(0,Ot.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":y?"":void 0,className:y?"hawk-affiliate-link-container":void 0,target:"_blank",rel:y?"sponsored nofollow noopener":"noopener",style:{textDecoration:"none",color:"inherit"},children:(0,Ot.jsx)("strong",{children:d})})}),(0,Ot.jsx)(f0,{label:t.isBuyingGuideProduct?"":`${v} rating:`,starRating:t.starRating,color:t.isReviewProduct?"var(--tg-df-blue)":void 0}),t.isBuyingGuideProduct||t.isReviewProduct?(0,Ot.jsx)(m0,{cons:t.cons,expanded:l,fullReviewUrl:t.isReviewProduct&&g?p:void 0,onToggle:r,pros:t.pros,subtitle:t.isReviewProduct?t.description:t.subtitle,truncateSubtitle:t.isReviewProduct}):t.description?(0,Ot.jsx)(h0,{text:t.description,expanded:l,onToggle:r}):null,(0,Ot.jsx)(s0,{authorUrl:h,deal:t,hideHawkPrices:a,msrpFormatted:f,sourceArticleUrl:p})]})]})}var ce=B(O(),1);function $w({activeDealTag:e,activeFreeformTags:t=[],query:n,selectedBrands:a=[]}){let l=o=>{let u=String(o||"").trim();return u&&u.toLowerCase()!=="everything"?u:""},r=(t.length>0?t:e?[e]:a.length>0?a:[n]).map(l).filter(Boolean).map(o=>o.replace(/\s+deals?$/i,"").trim()).filter((o,u,c)=>c.findIndex(s=>s.toLowerCase()===o.toLowerCase())===u);return r.length<=1?r[0]||"":`${r.slice(0,-1).join(", ")} or ${r.at(-1)}`}function e2(){return(0,ce.jsx)(ce.Fragment,{children:Array.from({length:6}).map((e,t)=>(0,ce.jsxs)("div",{className:"tg-df-card",children:[(0,ce.jsx)("div",{className:"tg-df-card-image-box tg-df-skeleton"}),(0,ce.jsxs)("div",{className:"tg-df-card-body",children:[(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short",style:{marginBottom:"24px"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title",style:{width:"80%"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short"}),(0,ce.jsx)("div",{className:"tg-df-card-cta tg-df-skeleton",style:{width:"100%",height:"40px",marginTop:"auto",border:"none"}})]})]},t))})}function t2(e,t){return{"@context":"https://schema.org","@type":"ItemList",itemListElement:e.slice(0,t).map((n,a)=>{let l="USD";return n.currency==="\xA3"?l="GBP":n.currency==="\u20AC"?l="EUR":n.currency==="A$"?l="AUD":n.currency==="CA$"&&(l="CAD"),{"@type":"ListItem",position:a+1,item:{"@type":"Product",name:n.title,image:n.image||"",description:n.description||"",brand:{"@type":"Brand",name:n.brand||""},offers:{"@type":"Offer",priceCurrency:l,price:n.rawPrice||0,url:n.url||"",seller:{"@type":"Organization",name:n.merchant||""}}}}}).filter(n=>n.item.name)}}function w0({activeDealTag:e,activeFreeformTags:t,couponMap:n,deals:a,displayCount:l,editorMode:i,error:r,expandedDealIds:o,hasMore:u,hideHawkPrices:c,loading:s,loadingMore:f,loadMoreStartCount:d,onDescriptionToggle:m,onLoadMore:v,onOpenVouchers:A,query:b,recentDealsOnly:h,selectedBrands:g,selectedDeals:p,setSelectedDeals:y,website:C}){let R=$w({activeDealTag:e,activeFreeformTags:t,query:b,selectedBrands:g}),T=f&&d!=null?d:l,M=!f&&d!=null&&d<T?d:null,w=D=>D.map(k=>(0,ce.jsx)(A0.default.Fragment,{children:(0,ce.jsx)(b0,{couponStatus:n[k.merchant],deal:k,editorMode:i,hideHawkPrices:c,isDescriptionExpanded:o.has(k.id),isSelected:p.has(k.id),onDescriptionToggle:()=>m(k.id),onOpenVouchers:A,onSelectionChange:se=>{let I=new Map(p);se?I.set(k.id,k):I.delete(k.id),y(I)},website:C})},k.id));return(0,ce.jsx)("div",{className:"tg-df-grid-wrapper",children:(0,ce.jsx)("div",{className:"tg-df-grid article-body tg-df-grid-auto",id:"tg-df-grid",children:s?(0,ce.jsx)(e2,{}):r?(0,ce.jsx)("div",{className:"tg-df-message",children:"Failed to load deals. Please try again."}):a.length===0?(0,ce.jsx)("div",{className:"tg-df-message",children:h?`No ${R?`${R} `:""}deals found from the last 30 days.`:!b||b.length<=2||b.toLowerCase()==="everything"?"No deals found for this author.":`No savings squad match your search for "${b}".`}):(0,ce.jsxs)(ce.Fragment,{children:[w(a.slice(0,M??T)),M!=null&&(0,ce.jsx)("div",{"aria-live":"polite",className:"tg-df-load-more-boundary",style:{alignItems:"center",color:"var(--tg-df-text-muted)",display:"flex",fontSize:"13px",fontWeight:600,gridColumn:"1 / -1",justifyContent:"center",marginTop:"16px",minHeight:"40px",overflowAnchor:"none"},children:"More products"}),M!=null&&w(a.slice(M,T)),u&&(0,ce.jsx)("div",{className:"tg-df-load-more-control",style:{width:"100%",display:"flex",justifyContent:"center",marginTop:"16px",gridColumn:"1 / -1",overflowAnchor:"none"},children:(0,ce.jsx)("button",{type:"button",className:"tg-df-tag-outline",style:{padding:"8px 24px",borderRadius:"100px",fontWeight:600,fontSize:"14px",cursor:"pointer"},"aria-busy":f,disabled:f,onClick:D=>{D.preventDefault(),D.stopPropagation(),v()},children:f?"Loading more products\u2026":"Load More"})}),a.length>0&&(0,ce.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t2(a,T))}})]})})})}var S0=B(O(),1);var pn=B(ft(),1),nn=B(O(),1);function Pu({onScrollLeft:e,onScrollRight:t,showLeft:n,showRight:a}){return(0,nn.jsxs)(nn.Fragment,{children:[(0,nn.jsx)("button",{"aria-label":"Scroll left",className:"tg-df-scroll-btn left tg-df-desktop-only",onClick:e,style:{display:n?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,nn.jsx)("button",{"aria-label":"Scroll right",className:"tg-df-scroll-btn right tg-df-desktop-only",onClick:t,style:{display:a?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})}function qu(e){let t=(0,pn.useRef)(null),[n,a]=(0,pn.useState)(!1),[l,i]=(0,pn.useState)(!1),r=(0,pn.useCallback)(()=>{let u=t.current;u&&(a(u.scrollLeft>1),i(Math.ceil(u.scrollLeft+u.clientWidth)<u.scrollWidth-1))},[]);(0,pn.useLayoutEffect)(()=>{let u=t.current;if(!u)return;r();let c=requestAnimationFrame(r),s=typeof ResizeObserver>"u"?null:new ResizeObserver(r);return s?.observe(u),()=>{cancelAnimationFrame(c),s?.disconnect()}},[e,r]);let o=(0,pn.useCallback)(u=>{t.current?.scrollBy({left:u,behavior:"smooth"})},[]);return{onScroll:r,railRef:t,scrollLeft:()=>o(-240),scrollRight:()=>o(240),showLeft:n,showRight:l}}var jn=B(O(),1);function ui({containerClassName:e,itemClassName:t,items:n,loading:a,loadingKey:l,onItemClick:i,rowClassName:r,showCounters:o}){let u=qu(n.length);return n.length===0&&!a?null:(0,jn.jsxs)("div",{className:e,style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[n.length>0&&(0,jn.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,jn.jsx)("div",{className:r,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none"},onScroll:u.onScroll,children:n.length>0?n.map(c=>(0,jn.jsxs)("button",{className:t,onClick:()=>i(c.key),style:{border:"none",borderRight:"1px solid var(--tg-df-border)",padding:"12px 20px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"1px",cursor:"pointer",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:"6px",...t==="tg-df-brand-row-item"?{transition:"all 0.2s ease"}:{},background:c.selected?"var(--tg-df-bg-secondary)":"var(--tg-df-bg)",color:c.selected?"var(--tg-df-text-primary)":"var(--tg-df-text-muted)",fontWeight:c.selected?600:500},children:[c.label," ",l===c.key&&(0,jn.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading",style:{borderWidth:"2px",height:"12px",width:"12px"}}),o!==!1&&(0,jn.jsx)("span",{style:{color:"var(--tg-df-blue)",fontSize:"10px",...t==="tg-df-brand-row-item"?{fontWeight:400}:{}},children:c.count})]},c.key)):[1,2,3,4,5].map(c=>(0,jn.jsx)("div",{className:"tg-df-skeleton",style:{height:"36px",width:"80px",borderRadius:"18px",flexShrink:0,margin:"8px 12px"}},`${r}-skeleton-${c}`))})]})}var R0=B(O(),1);function C0({airedaleBrands:e,brands:t,loading:n,refreshing:a,onBrandToggle:l,selectedBrands:i,showAuthorCounters:r}){let o=e.length>0?e:t||[],u=o.slice(0,15).map(c=>({count:c.count||0,key:c.formatted_value,label:c.formatted_value,selected:i?.includes(c.formatted_value)||!1}));return(0,R0.jsx)(ui,{containerClassName:"tg-df-brands-row-container",itemClassName:"tg-df-brand-row-item",items:u,loading:n&&o.length===0,loadingKey:a?i?.[0]:null,onItemClick:c=>l?.(c),rowClassName:"tg-df-brands-row",showCounters:r})}var E0=B(O(),1);function T0({activeDealTag:e,airedaleTagCounts:t,airedaleTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>{let c=u.split(":::"),s=c[0];return{count:t[u]||0,key:s,label:c[1]||u,selected:e===s}});return(0,E0.jsx)(ui,{containerClassName:"tg-df-categories-row-container",itemClassName:"tg-df-category-row-item",items:o,loading:a&&n.length===0,loadingKey:l?e:null,onItemClick:i,rowClassName:"tg-df-categories-row",showCounters:r})}var x0=B(O(),1);function D0({activeFreeformTags:e,freeformTagCounts:t,freeformTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>({count:t[u.handle]||0,key:u.handle,label:u.label,selected:e.includes(u.handle)}));return(0,x0.jsx)(ui,{containerClassName:"tg-df-freeform-tags-row-container",itemClassName:"tg-df-freeform-tag-row-item",items:o,loading:a&&n.length===0,loadingKey:l&&e.at(-1)||null,onItemClick:i,rowClassName:"tg-df-freeform-tags-row",showCounters:r})}var _e=B(O(),1),n2=4;function M0({authors:e,clickedAuthorOverride:t,loading:n,refreshing:a,onAuthorClick:l,overriddenAuthorHandle:i,overriddenAuthorName:r,website:o}){let u=qu(e.length);return e.length===0&&!n?null:(0,_e.jsxs)("div",{className:"tg-df-authors-row-container",style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[e.length>0&&(0,_e.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,_e.jsx)("div",{className:"tg-df-authors-row tg-df-mobile-authors",onScroll:u.onScroll,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",gap:"24px",padding:"4px 16px 2px 16px",alignItems:"flex-start"},children:e.length>0?e.map((c,s)=>{let f=Nr[c.brandKey]||Nr[o||"tomsguide"],d=t&&(i===c.handle||r===c.fullName);return(0,_e.jsxs)("div",{className:"tg-df-author-row-item",onClick:()=>l(c),style:{cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px",opacity:t?d?1:.4:1},children:[(0,_e.jsxs)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px",borderRadius:"50%",boxShadow:d?"0 0 0 3px var(--tg-df-blue, #1F69FF)":"none"},children:[(0,_e.jsx)("img",{src:ri(c.image),alt:c.fullName,decoding:"async",loading:s<n2?"eager":"lazy",style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover",filter:t&&!d?"grayscale(100%)":"none"}}),d&&(0,_e.jsx)("span",{"aria-label":`Clear ${c.fullName} selection`,className:"tg-df-author-clear-badge",title:"Click again to clear selection",style:{alignItems:"center",backgroundColor:"#dc2626",border:"2px solid var(--tg-df-bg, #fff)",borderRadius:"50%",boxShadow:"0 1px 3px rgb(0 0 0 / 25%)",color:"#fff",display:"flex",fontSize:"15px",fontWeight:700,height:"20px",justifyContent:"center",lineHeight:1,position:"absolute",right:"-5px",top:"-5px",width:"20px",zIndex:1},children:(0,_e.jsx)("span",{"aria-hidden":"true",style:{display:"block",transform:"translateY(-1px)"},children:"\xD7"})}),f&&(0,_e.jsx)("img",{src:f,alt:"",className:"tg-df-author-brand-logo",decoding:"async",loading:"lazy",style:{position:"absolute",bottom:"-4px",right:"-4px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid var(--tg-df-bg, #fff)",backgroundColor:"#000",objectFit:"contain",filter:t&&!d?"grayscale(100%)":"none"}})]}),(0,_e.jsxs)("div",{style:{textAlign:"center"},children:[(0,_e.jsxs)("div",{className:"tg-df-author-row-name",style:{fontSize:"13px",fontWeight:700,color:"var(--tg-df-text)",lineHeight:"1.2"},children:[c.name,a&&d&&(0,_e.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading author products",style:{borderWidth:"2px",display:"inline-block",height:"11px",marginLeft:"4px",width:"11px"}})]}),c.role&&(0,_e.jsx)("div",{className:"tg-df-author-row-role",style:{fontSize:"11px",color:"var(--tg-df-text-muted)",lineHeight:"1.2",marginTop:"2px",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word"},children:c.role})]})]},c.handle)}):[1,2,3,4].map(c=>(0,_e.jsxs)("div",{className:"tg-df-author-row-item",style:{display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px"},children:[(0,_e.jsx)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px"},children:(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),(0,_e.jsxs)("div",{style:{textAlign:"center",width:"100%"},children:[(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"12px",width:"80%",margin:"0 auto 4px auto",borderRadius:"2px"}}),(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"10px",width:"60%",margin:"0 auto",borderRadius:"2px"}})]})]},`author-skeleton-${c}`))})]})}var Ja=B(O(),1);function _0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,freeformTagCounts:i,freeformTags:r,allAuthorsList:o,brands:u,clickedAuthorOverride:c,loading:s,refreshing:f,onAuthorClick:d,onBrandToggle:m,onTagClick:v,onFreeformTagClick:A,overriddenAuthorHandle:b,overriddenAuthorName:h,selectedBrands:g,showAuthorRail:p,showAuthorCounters:y,showBrandRail:C,showCategoryRail:R,showFreeformTagRail:T,website:M}){let w=R!==!1&&l.length>0||T!==!1&&r.length>0||C!==!1&&(n.length>0||!!u?.length)||p&&o.length>0;return!(p||R!==!1||T!==!1||C!==!1)||!w&&!s?null:(0,Ja.jsxs)("div",{id:"tg-df-spreadsheet-filters",style:{display:"block",marginBottom:"16px"},children:[p&&(0,Ja.jsx)(M0,{authors:o,clickedAuthorOverride:c,loading:s&&o.length===0,refreshing:f,onAuthorClick:d,overriddenAuthorHandle:b,overriddenAuthorName:h,website:M}),R!==!1&&(0,Ja.jsx)(T0,{activeDealTag:e,airedaleTagCounts:a,airedaleTags:l,loading:s,refreshing:f,onTagClick:v,showAuthorCounters:y}),T!==!1&&(0,Ja.jsx)(D0,{activeFreeformTags:t,freeformTagCounts:i,freeformTags:r,loading:s,refreshing:f,onTagClick:A,showAuthorCounters:y}),C!==!1&&(0,Ja.jsx)(C0,{airedaleBrands:n,brands:u,loading:s,refreshing:f,onBrandToggle:m,selectedBrands:g,showAuthorCounters:y})]})}var O0=B(ft(),1);var B0=[{value:"date_desc",label:"Most recent"},{value:"rating_desc",label:"Highest rating"},{value:"scored_first",label:"Scored products first"}];function Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}){return!!(a&&e!==!0&&t===!1&&n===!1)}function Fu({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a,lightweightReviewDelivery:l,showPriceDiscountFilters:i,showReviewSort:r}){return!!(l&&i===!1&&r===!1&&Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}))}function ju(e=!0){return e?B0:B0.filter(t=>t.value!=="scored_first")}function wa(e,t=!0){return!t&&e==="scored_first"?"date_desc":e||"date_desc"}var H=B(O(),1),N0=[{value:"all",label:"All Prices",shortLabel:""},{value:"under50",label:"Under $50",shortLabel:"< $50"},{value:"50_100",label:"$50 - $100",shortLabel:"$50-$100"},{value:"100_200",label:"$100 - $200",shortLabel:"$100-$200"},{value:"200_500",label:"$200 - $500",shortLabel:"$200-$500"},{value:"over500",label:"Over $500",shortLabel:"> $500"}],a2=[{value:"0",label:"Any discount"},...[5,10,15,20,25,30,40,50,60,70].map(e=>({value:String(e),label:`Min ${e}% off`}))];function l2({open:e}){return(0,H.jsx)("svg",{"aria-hidden":"true",className:e?"is-open":void 0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("path",{d:"m6 9 6 6 6-6"})})}function Yn(){return(0,H.jsx)("svg",{"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function k0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,brands:i,discountAmount:r,enabled:o,freeformTagCounts:u,freeformTags:c,includeScoredFirst:s,onBrandSelect:f,onBrandToggle:d,onDiscountAmountChange:m,onFreeformTagClear:v,onFreeformTagToggle:A,onPriceRangeChange:b,onReviewSortChange:h,onTagClear:g,onTagClick:p,priceRange:y,reviewSort:C,selectedBrands:R,showCounters:T,showBrandRail:M,showCategoryRail:w,showFreeformTagRail:D,showPriceDiscountFilters:k,showReviewSort:se}){let[I,j]=(0,O0.useState)(null);if(!o)return null;let He=l.map(x=>{let P=x.split(":::");return{count:a[x]||0,handle:P[0],label:P[1]||x}}),ze=n.length>0?n:i||[],St=He.find(x=>x.handle===e),Ie=y||"all",rn=!r||r==="all"?"0":r,Be=N0.find(x=>x.value===Ie),Je=k!==!1,nt=wa(C,s),X=ju(s),de=nt==="rating_desc"?"Highest rating":nt==="scored_first"?"Scored first":"Most recent",$e=x=>{j(P=>P===x?null:x)},Z=[];return w!==!1&&Z.push({active:!!e,label:`CATEGORIES${St?` (${St.label})`:""}`,menu:"categories"}),D!==!1&&Z.push({active:t.length>0,label:`KEYWORDS${t.length>0?` (${t.length})`:""}`,menu:"keywords"}),M!==!1&&Z.push({active:R.length>0,label:`BRANDS${R.length>0?` (${R.length})`:""}`,menu:"brands"}),Je&&Z.push({active:Ie!=="all",label:`PRICES${Be?.shortLabel?` (${Be.shortLabel})`:""}`,menu:"prices"}),(Je||se)&&Z.push({active:se?nt!=="date_desc":rn!=="0",label:se?`SORT REVIEWS (${de})`:`DISCOUNTS${rn!=="0"?` (${rn}%+)`:""}`,menu:se?"review-sort":"discounts"}),(0,H.jsxs)("div",{className:"tg-df-mobile-2x2-container",children:[(0,H.jsx)("div",{className:`tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--${Z.length%2===0?"even":"odd"}`,children:Z.map(x=>(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-grid-cell${x.active?" has-active-filter":""}${I===x.menu?" active":""}`,"aria-expanded":I===x.menu,onClick:()=>$e(x.menu),children:[(0,H.jsx)("span",{children:x.label}),(0,H.jsx)(l2,{open:I===x.menu})]},x.menu))}),w!==!1&&I==="categories"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${e?"":" selected"}`,onClick:()=>{g(),j(null)},children:[(0,H.jsx)("span",{children:"All Categories"}),!e&&(0,H.jsx)(Yn,{})]}),He.map(x=>{let P=e===x.handle;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{p(x.handle),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},x.handle)})]}),M!==!1&&I==="brands"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${R.length===0?" selected":""}`,onClick:()=>f?.([]),children:[(0,H.jsx)("span",{children:"All Brands"}),R.length===0&&(0,H.jsx)(Yn,{})]}),ze.map(x=>{let P=x.formatted_value,Q=R.includes(P);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${Q?" selected":""}`,onClick:()=>d?.(P),children:[(0,H.jsx)("span",{children:P}),Q?(0,H.jsx)(Yn,{}):T!==!1&&x.count?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},P)})]}),D!==!1&&I==="keywords"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${t.length===0?" selected":""}`,onClick:()=>{v(),j(null)},children:[(0,H.jsx)("span",{children:"All Keywords"}),t.length===0&&(0,H.jsx)(Yn,{})]}),c.map(x=>{let P=t.includes(x.handle);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>A(x.handle),children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1&&u[x.handle]?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:u[x.handle]}):null]},x.handle)})]}),I==="prices"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:N0.map(x=>{let P=Ie===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{b?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="discounts"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:a2.map(x=>{let P=rn===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{m?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="review-sort"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:X.map(x=>{let P=nt===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{h?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})})]})}var $a=B(ft(),1);var W=B(O(),1);function L0({airedaleBrands:e,airedaleTags:t,discountAmount:n,hidden:a,includeScoredFirst:l,onDiscountAmountChange:i,onPriceRangeChange:r,onReviewSortChange:o,priceRange:u,reviewSort:c,showReviewSort:s,showPriceDiscountFilters:f}){let d=(0,$a.useRef)(null),[m,v]=(0,$a.useState)(!1),[A,b]=(0,$a.useState)(!1),h=ju(l),g=wa(c,l),p=()=>{if(!d.current)return;let{scrollLeft:y,scrollWidth:C,clientWidth:R}=d.current;v(y>0),b(Math.ceil(y+R)<C-5)};return(0,$a.useEffect)(()=>(p(),window.addEventListener("resize",p),setTimeout(p,100),setTimeout(()=>{document.querySelector(".tg-df-categories-row")?.dispatchEvent(new Event("scroll")),document.querySelector(".tg-df-brands-row")?.dispatchEvent(new Event("scroll"))},150),()=>window.removeEventListener("resize",p)),[t,e]),(0,W.jsx)("div",{className:"tg-df-controls",id:"tg-df-controls",style:{display:a?"none":"flex",marginTop:"12px",marginBottom:"16px",justifyContent:"center"},children:(0,W.jsxs)("div",{className:"tg-df-filters-container",style:{position:"relative",width:"100%",maxWidth:"800px",margin:"0 auto"},children:[(0,W.jsx)("button",{className:"tg-df-scroll-btn left",style:{display:m?"flex":"none"},onClick:()=>d.current?.scrollBy({left:-200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,W.jsx)("button",{className:"tg-df-scroll-btn right",style:{display:A?"flex":"none"},onClick:()=>d.current?.scrollBy({left:200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M9 18l6-6-6-6"})})}),(0,W.jsxs)("div",{className:"tg-df-filters",ref:d,onScroll:p,children:[(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-legacy-price-wrapper",style:{display:f!==!1?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-price-filter","aria-label":"Filter Prices",value:u||"all",onChange:y=>r?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"All Prices"}),(0,W.jsx)("option",{value:"under50",children:"Under $50"}),(0,W.jsx)("option",{value:"50_100",children:"$50 - $100"}),(0,W.jsx)("option",{value:"100_200",children:"$100 - $200"}),(0,W.jsx)("option",{value:"200_500",children:"$200 - $500"}),(0,W.jsx)("option",{value:"over500",children:"Over $500"})]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-discount-filter-wrapper",style:{display:f!==!1&&!s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-discount-filter","aria-label":"Discount Amount",value:n||"all",onChange:y=>i?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"Any discount"}),[5,10,15,20,25,30,40,50,60,70].map(y=>(0,W.jsxs)("option",{value:y,children:["Min ",y,"%"]},y))]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-review-sort-wrapper",style:{display:s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M4 7h16M7 12h10m-7 5h4"})}),(0,W.jsx)("select",{className:"tg-df-filter-select",id:"tg-df-review-sort","aria-label":"Sort Reviews",value:g,onChange:y=>o?.(y.target.value),children:h.map(y=>(0,W.jsx)("option",{value:y.value,children:y.label},y.value))})]})]})]})})}var be=B(ft(),1);function kr(e,t){return e.filter(n=>{let a=n.handle.toLowerCase(),l=n.fullName.toLowerCase(),i=n.name.toLowerCase();return t.some(r=>{let o=r.articleauthorhandle||[],u=r.articleauthor||[],c=r.articleauthortext||[];return[...o,...u,...c].some(s=>{let f=String(s||"").toLowerCase();return f===a||f===l||f===i})})})}function Yu(e,t){return e.map((n,a)=>({index:a,profile:n,productCount:t[n.handle]||0})).sort((n,a)=>a.productCount-n.productCount||n.index-a.index).map(({profile:n})=>n)}function Vu(e,t){return e==="all-authors"||t==="all-authors"||t==="All authors"||!e&&!t}function Xu(e,t,n){let a=e;if((t||n)&&t!=="all-authors"&&n!=="all-authors"&&n!=="All authors"){if(t){let l=t.toLowerCase(),i=e.filter(r=>r.articleauthorhandle&&r.articleauthorhandle.some(o=>o.toLowerCase()===l));if(i.length>0)a=i;else if(n){let r=n.toLowerCase(),o=e.filter(u=>u.articleauthor&&u.articleauthor.some(c=>c.toLowerCase()===r));o.length>0&&(a=o)}}else if(n){let l=n.toLowerCase();a=e.filter(i=>i.articleauthor&&i.articleauthor.some(r=>r.toLowerCase()===l))}}return a}function sf(e,t,n){let a=0;if(t&&e.articleauthorhandle){let l=e.articleauthorhandle.findIndex(i=>i.toLowerCase()===t.toLowerCase());l>=0&&(a=l)}else if(n&&e.articleauthor){let l=e.articleauthor.findIndex(i=>i.toLowerCase()===n.toLowerCase());l>=0&&(a=l)}return a}function Qu(e,t,n){let a=sf(e,t,n),l=i=>typeof i=="string"?ee(i):i||"";return{authorName:e.articleauthortext?l(e.articleauthortext[a]):e.articleauthor?l(e.articleauthor[a]):"",authorRole:e.articleauthorrole?l(e.articleauthorrole[a]):"",authorImage:e.articleauthormedia?e.articleauthormedia[a]:""}}function Lr(e,t){let n=new Map;return e.forEach(a=>{if(!a.articleauthor)return;let l=t;if(a.documenturl)try{let f=new URL(a.documenturl).hostname.replace("www.","").split(".");f.length>0&&(l=f[0].toLowerCase())}catch{}let i=a.articleauthorhandle||[],r=a.articleauthor||[],o=a.articleauthortext||[],u=a.articleauthorrole||[],c=a.articleauthormedia||[];r.forEach((s,f)=>{if(!s||s==="null"||s.toLowerCase()==="all authors")return;let d=i[f]&&i[f]!=="null"?i[f]:s.toLowerCase().replace(/\s+/g,"-");if(!d||d==="null")return;let m=o[f]&&o[f]!=="null"?o[f]:s,v=u[f]&&u[f]!=="null"?u[f]:"",A=ee(String(m)),b=ee(String(v)),h=c[f]&&c[f]!=="null"?c[f]:"",g=A.split(" ")[0],p=_r(a,f,"short"),y=_r(a,f,"long"),C=Uu(a,f),R=n.get(d);!R&&A&&h?n.set(d,{...y?{bioLong:y}:{},...p?{bioShort:p}:{},name:g,fullName:A,handle:d,role:b,image:h,brandKey:l,...C.length>0?{socialNetworks:C}:{}}):R&&(!R.bioShort&&p&&(R.bioShort=p),!R.bioLong&&y&&(R.bioLong=y),!R.socialNetworks?.length&&C.length>0&&(R.socialNetworks=C))})}),Array.from(n.values())}var E=B(O(),1);function z0(e){let t=(0,be.useRef)(""),n=(0,be.useRef)(null),a=(0,be.useCallback)(()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null)},[]),l=(0,be.useCallback)(r=>{a(),t.current=r},[a]),i=(0,be.useCallback)((r,o,u=!1)=>{if(!e)return;if(r===t.current){a();return}let c=()=>{n.current=null,t.current=r,e(o)};a(),u?c():n.current=window.setTimeout(c,350)},[a,e]);return(0,be.useEffect)(()=>a,[a]),{save:i,synchronise:l}}function H0({contentKey:e,defaultText:t,kind:n,onChange:a,value:l}){let i=(0,be.useRef)(null),r=(0,be.useRef)(e),[o,u]=(0,be.useState)(!1),c=l??t,s=!!a,{save:f,synchronise:d}=z0(a);(0,be.useLayoutEffect)(()=>{let g=r.current!==e;i.current&&(g||document.activeElement!==i.current)&&(i.current.innerHTML!==c&&(i.current.innerHTML=c),d(c)),r.current=e},[e,d,c]);let m=(g=!1)=>{if(!i.current)return;let p=i.current.innerHTML;f(p,p===t?void 0:p,g)},v=(g,p)=>{document.execCommand(g,!1,p),m(!0)},A=n==="kicker"?{fontSize:"0.875rem",color:"#6B7280",fontStyle:"normal",margin:"0 0 0.25rem 0"}:{fontSize:"2.25rem",fontWeight:300,color:"#111827",margin:"0 0 0.25rem 0",lineHeight:1.1,letterSpacing:"-0.02em"},b=n==="kicker"?"tg-df-author-curated-by tg-df-author-kicker":"tg-df-author-name",h=()=>n==="kicker"?(0,E.jsx)("p",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}}):(0,E.jsx)("h2",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}});return s?(0,E.jsxs)("div",{className:"tg-df-author-header-text-shell",style:{position:"relative"},children:[o&&(0,E.jsxs)("div",{className:"tg-df-author-header-text-toolbar",role:"toolbar","aria-label":`${n==="kicker"?"Shop by text":"Site or author name"} formatting`,style:{display:"flex",justifyContent:"center",alignItems:"center",gap:"0.25rem",margin:"0 auto 0.375rem",width:"fit-content",padding:"0.25rem 0.5rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",fontSize:"11px",zIndex:10},children:[(0,E.jsx)("span",{style:{color:"#64748b",padding:"2px 2px 2px 0"},children:"Editing"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("bold"),title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("italic"),title:"Italic",children:(0,E.jsx)("em",{children:"I"})}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{let g=prompt("Enter URL:");g&&v("createLink",g)},title:"Add link",children:"\u{1F517}"}),l!==void 0&&(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{i.current&&(i.current.innerHTML=t),d(t),a?.(void 0)},title:"Restore default",children:"Reset"})]}),h()]}):h()}function i2({contentKey:e,initialBio:t,defaultPlaceholder:n,onBioChange:a,stabilizeHeight:l=!1}){let r=(0,be.useRef)(null),o=(0,be.useRef)(e),u=(0,be.useRef)(n),c=(0,be.useRef)(!1),[s,f]=(0,be.useState)(!1),[d,m]=(0,be.useState)(!1),[v,A]=(0,be.useState)(!1),b=t||n,h=l&&b.replace(/<[^>]*>/g,"").trim().length>240,g=!!a,{save:p,synchronise:y}=z0(a);(0,be.useLayoutEffect)(()=>{let w=o.current!==e,D=u.current!==n;w&&(c.current=!1);let k=!t&&D&&!c.current;r.current&&(w||document.activeElement!==r.current||k)&&(r.current.innerHTML!==b&&(r.current.innerHTML=b),y(b)),o.current=e,u.current=n},[b,e,n,t,y]),(0,be.useLayoutEffect)(()=>{m(!1)},[e]),(0,be.useLayoutEffect)(()=>{if(!h||!r.current){A(!1);return}let w=r.current,D=()=>{A(w.scrollHeight>w.clientHeight+1)};if(D(),typeof ResizeObserver>"u")return;let k=new ResizeObserver(D);return k.observe(w),()=>k.disconnect()},[b,e,d,h]);let C=(w,D=null)=>{if(c.current=!0,document.execCommand(w,!1,D||void 0),r.current){let k=r.current.innerHTML;p(k,k===n?"":k,!0)}},R=(w=!1)=>{if(!r.current)return;let D=r.current.innerHTML;p(D,D===n?"":D,w)};return(0,E.jsxs)("div",{style:{position:"relative",maxWidth:"42rem",margin:"0 auto 0.5rem auto",padding:"0.25rem 0.5rem"},className:`tg-df-author-bio-shell${l?" tg-df-author-bio-shell--stable":""}`,children:[g&&s&&(0,E.jsxs)("div",{role:"toolbar","aria-label":"Introduction text formatting",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"0.375rem",marginBottom:"0.5rem",padding:"0.25rem 0.625rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",width:"fit-content",margin:"0 auto 0.5rem auto",fontSize:"12px",userSelect:"none",zIndex:10},children:[(0,E.jsx)("span",{style:{fontSize:"11px",color:"#64748b",fontWeight:500,marginRight:"2px"},children:"Editing \u2014 saves when you click away"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("bold"),style:{fontWeight:"bold",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("italic"),style:{fontStyle:"italic",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Italic",children:"I"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>{let w=prompt("Enter URL:");w&&C("createLink",w)},style:{padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Add Link",children:"\u{1F517}"}),t&&(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:w=>{w.preventDefault(),w.stopPropagation(),r.current&&(r.current.innerHTML=n),c.current=!1,y(n),a&&a("")},style:{fontSize:"10px",padding:"2px 8px",borderRadius:"4px",background:"#fee2e2",color:"#991b1b",cursor:"pointer",border:"1px solid #fca5a5"},title:"Reset Bio",children:"Reset"})]}),(0,E.jsx)("div",{ref:r,contentEditable:g?!0:void 0,suppressContentEditableWarning:g,onFocus:g?()=>{f(!0)}:void 0,onBlur:g?()=>{f(!1),R(!0),c.current=!1}:void 0,onInput:g?()=>{c.current=!0}:void 0,className:`tg-df-author-bio ${g?"wysiwyg-bio-editable":"tg-df-author-bio--static"}${h?d?" tg-df-author-bio--expanded":" tg-df-author-bio--clamped":""}`,style:{color:"#4b5563",lineHeight:1.6,fontWeight:300,fontSize:"0.9375rem",textAlign:"center",outline:g&&s?"2px solid #3b82f6":"none",borderRadius:"6px",padding:"0.375rem 0.5rem",cursor:g?"text":"default",transition:"all 0.15s ease-in-out"}}),h?(0,E.jsx)("div",{className:"tg-df-author-bio-toggle-slot",children:(0,E.jsx)("button",{type:"button",className:"tg-df-author-bio-toggle","aria-expanded":d,onClick:()=>m(w=>!w),style:{visibility:v||d?"visible":"hidden"},children:d?"Show less":"Read more"})}):null]})}function r2(e){let t=(e||"").toLowerCase();return t==="linkedin"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"})}):t==="twitter"||t==="x"?(0,E.jsx)("svg",{className:"icon-svg",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,E.jsx)("path",{fill:"currentColor",d:"M18 2h4l-8 9 9 11h-7l-5-7-6 7H2l7-9L1 2h7l5 6zm-1 18h2L7 4H5z"})}):t==="email"||t==="mail"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),(0,E.jsx)("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}):t==="instagram"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"5",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"12",cy:"12",r:"4.25",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"17.4",cy:"6.7",r:"1.25",fill:"currentColor"})]}):t==="steam"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("circle",{fill:"#0f1618",cx:"12",cy:"12",r:"12"}),(0,E.jsx)("path",{d:"m18.22 8.9a2.269 2.269 0 1 1 -2.27-2.265 2.267 2.267 0 0 1 2.27 2.265zm2.258.005a4.534 4.534 0 0 1 -4.533 4.526h-.1l-4.087 2.911v.161a3.4 3.4 0 0 1 -6.74.669l-4.549-1.879c-.032-.109-.057-.219-.085-.329a11.973 11.973 0 0 1 -.384-2.964c0-.214.02-.423.032-.635 0-.1.008-.206.016-.308l6.394 2.643a3.385 3.385 0 0 1 1.915-.591c.065 0 .127 0 .191.005l2.865-4.145v-.062a4.533 4.533 0 0 1 9.066 0zm-9.763 6.618a2.55 2.55 0 0 0 -3.262-1.411l1.525.63a1.877 1.877 0 1 1 -1.446 3.464l-1.475-.606a2.529 2.529 0 0 0 1.315 1.25 2.559 2.559 0 0 0 3.339-1.374 2.526 2.526 0 0 0 .004-1.951zm8.251-6.618a3.021 3.021 0 1 0 -3.021 3.015 3.022 3.022 0 0 0 3.021-3.013z",fill:"#fff"})]}):t==="youtube"?(0,E.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})}):t==="twitch"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"m24 12a12 12 0 1 1 -12-12 12 12 0 0 1 12 12z",fill:"#111"}),(0,E.jsx)("path",{d:"m12.308 17.167-1.833 1.833h-1.818v-1.833h-3.357v-9.733l.925-2.434h12.475v8.517l-3.648 3.65zm5.175-10.95h-10.043v8.824h2.743v1.833l1.817-1.833h3.342l2.14-2.126zm-5.483 6.083v-3.65h-1.218v3.65zm3.342 0v-3.65h-1.216v3.65z",fill:"#fff"})]}):t==="facebook"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m13.079 19h-2.9v-7h-1.441v-2.408h1.442v-1.456c0-1.96.813-3.136 3.136-3.136h1.933v2.408h-1.2c-.91 0-.965.35-.965.966v1.218h2.183l-.257 2.408h-1.931z",fill:"currentColor"})}):t==="pinterest"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.336 5c-3.822 0-5.754 2.744-5.754 5.025a3.065 3.065 0 0 0 1.652 3.066.279.279 0 0 0 .407-.2l.154-.644a.373.373 0 0 0-.113-.448 2.341 2.341 0 0 1-.532-1.582 3.812 3.812 0 0 1 3.961-3.849 3.009 3.009 0 0 1 3.346 3.08c0 2.323-1.022 4.283-2.547 4.283a1.253 1.253 0 0 1-1.273-1.554 17.616 17.616 0 0 0 .713-2.856 1.081 1.081 0 0 0-1.092-1.2c-.854 0-1.553.881-1.553 2.071a2.954 2.954 0 0 0 .266 1.274l-1.038 4.383a9.389 9.389 0 0 0-.027 3.065.109.109 0 0 0 .2.042 8.737 8.737 0 0 0 1.457-2.631l.561-2.212a2.3 2.3 0 0 0 1.959 1.008c2.59 0 4.34-2.366 4.34-5.516a4.8 4.8 0 0 0-5.087-4.605z",fill:"currentColor"})}):t==="substack"?(0,E.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z"})}):t==="threads"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12.186 24h-.007c-3.582-.024-6.332-1.22-8.173-3.555C2.26 18.212 1.5 15.228 1.5 11.83 1.5 8.16 2.673 5.097 4.902 2.935 7.026.877 10.02 0 13.565 0c3.784 0 6.81 1.028 8.995 3.056 2.008 1.862 3.013 4.417 2.91 7.391-.122 3.518-1.57 6.136-4.304 7.781-1.892 1.138-4.103 1.62-6.57 1.433-.122.392-.266.769-.434 1.127-.514 1.096-1.18 1.96-1.982 2.569-.884.67-1.933 1.01-3.118 1.01-1.34 0-2.42-.42-3.21-1.248-.78-.82-1.17-1.89-1.17-3.18 0-1.512.52-2.73 1.545-3.62 1.018-.883 2.45-1.33 4.258-1.33.56 0 1.11.04 1.63.12-.04-.53-.13-1.02-.27-1.46-.26-.81-.71-1.45-1.34-1.92-.62-.47-1.42-.71-2.38-.71-1.09 0-2.02.29-2.77.87-.29.22-.68.17-.9-.12l-.76-1.03c-.22-.3-.16-.71.13-.93C7.43 5.37 8.95 4.9 10.8 4.9c1.64 0 2.99.41 4.02 1.22 1.04.81 1.73 1.93 2.06 3.33.15.65.25 1.42.3 2.31 1.68-.31 3.05-1.05 4.08-2.2 1.01-1.13 1.52-2.58 1.52-4.31 0-2.43-.84-4.32-2.5-5.62C18.63 1.32 16.32.5 13.56.5c-3.03 0-5.54.73-7.27 2.21C4.48 4.27 3.5 6.78 3.5 10c0 3.1.66 5.62 1.96 7.49 1.34 1.93 3.38 2.92 6.07 2.95 1.76.02 3.32-.34 4.64-1.07.28-.15.63-.05.78.22l.55.98c.15.28.05.63-.22.78-1.63.9-3.55 1.35-5.7 1.35z"})}):t==="tiktok"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.308 5.012c.763-.012 1.522 0 2.281-.012a3.636 3.636 0 0 0 1.02 2.434 4.12 4.12 0 0 0 2.473 1.043v2.349a6.177 6.177 0 0 1-2.449-.564 7.207 7.207 0 0 1-.947-.543c0 1.705.008 3.406-.01 5.105a4.442 4.442 0 0 1-.789 2.3 4.343 4.343 0 0 1-3.448 1.872 4.254 4.254 0 0 1-2.379-.6 4.393 4.393 0 0 1-2.127-3.331c-.014-.292-.019-.584-.007-.868a4.395 4.395 0 0 1 5.091-3.9c.013.864-.021 1.727-.021 2.591a2.007 2.007 0 0 0-2.558 1.237 2.316 2.316 0 0 0-.079.939 1.992 1.992 0 0 0 3.658.736 1.39 1.39 0 0 0 .239-.62c.057-1.043.034-2.082.041-3.126.006-2.351-.007-4.7.011-7.041z",fill:"currentColor"})}):t==="bluesky"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.879.139 2.588-.02 3.868.002 5.03c.08 4.201 1.84 10.024 3.931 12.397 2.091 2.373 4.545 1.573 5.467.927.817-.573 1.564-1.611 2.6-2.92 1.036 1.309 1.783 2.347 2.6 2.92.922.646 3.376 1.446 5.467-.927 2.091-2.373 3.851-8.196 3.931-12.397.022-1.162-.137-2.442-.9-3.151-.659-.613-1.664-.935-4.3-1.074C16.046 4.747 13.087 8.686 12 10.8z"})}):t==="github"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})}):t==="rss"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M4 11a9 9 0 0 1 9 9"}),(0,E.jsx)("path",{d:"M4 4a16 16 0 0 1 16 16"}),(0,E.jsx)("circle",{cx:"5",cy:"19",r:"1"})]}):(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,E.jsx)("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),(0,E.jsx)("path",{d:"M2 12h20"})]})}function U0({authorCount:e=0,authorArticlesList:t,authorBioLength:n,customBio:a,customHeaderKicker:l,customHeaderTitle:i,effectiveAuthorHandle:r,effectiveAuthorName:o,isReviewWidget:u=!1,onBioChange:c,onHeaderKickerChange:s,onHeaderTitleChange:f,selectedProfile:d,showAuthorBio:m=!0,showAuthorIdentity:v=!0,showSocialButtons:A=!0,stabilizeBio:b=!1,totalDealCount:h=0,website:g}){let p=Vu(r,o),y=g||"tomsguide",C=Gu[y]||y,R=Nr[y],T=r?.toLowerCase(),M=o?.toLowerCase(),w=t.find(Be=>T&&Be.articleauthorhandle?.some(Je=>Je?.toLowerCase()===T)||M&&Be.articleauthor?.some(Je=>Je?.toLowerCase()===M))||null,D=w?sf(w,r,o):0,k=d?.image||(w?c0(w,D):""),se=d?n==="short"?d.bioShort||"":d.bioLong||d.bioShort||"":w?_r(w,D,n):"",I=p?`Our team is dedicated to researching, reviewing and recommending the latest and best products in all the categories that matter to you. Below you can shop the latest ${h} ${u?"review ":""}recommendations from ${e} ${C} ${u?"editor tests":"editors"}.`:se||`Handpicked deals and recommendations curated by ${o||"our expert editorial team"}.`,j=d?.role||"",He=p?y0[y]||[]:d?.socialNetworks||[];!p&&w&&(j||(j=u0(w,D)),He.length===0&&(He=Uu(w,D)));let ze=d?.fullName||o||"Author Name",St=p?`site:${y}`:`author:${d?.handle||r||ze}`,Ie=A&&He.length>0,rn=!p&&!!j||Ie;return(0,E.jsxs)("div",{className:"tg-df-author-card",style:{textAlign:"center",padding:"1.75rem 1rem 0.25rem 1rem",margin:"0 auto",maxWidth:"48rem"},children:[v&&(p?(0,E.jsx)("div",{className:"tg-df-author-media-slot tg-df-author-image-container",style:{margin:"0 auto 0.75rem auto",textAlign:"center",minHeight:"180px",display:"flex",alignItems:"center",justifyContent:"center"},children:R?(0,E.jsx)("img",{src:R,alt:C,className:"tg-df-site-logo",style:{maxHeight:"150px",maxWidth:"520px",objectFit:"contain",margin:"0 auto",display:"block"}}):(0,E.jsx)("div",{style:{fontSize:"1.75rem",fontWeight:700,color:"#111827"},children:C})}):(0,E.jsx)("div",{className:"tg-df-author-media-slot",children:(0,E.jsxs)("div",{className:"tg-df-author-profile-image-wrapper",children:[k?(0,E.jsx)("img",{src:ri(k),alt:ze,className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",objectFit:"cover",display:"block"}}):(0,E.jsx)("div",{className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",background:"#e2e8f0",display:"block"}}),R?(0,E.jsx)("img",{src:R,alt:"",className:"tg-df-author-profile-brand-logo"}):null]})})),v&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(H0,{contentKey:`${St}:kicker`,defaultText:u?"Reviews shop by":"Shop by",kind:"kicker",onChange:s,value:l}),(0,E.jsx)(H0,{contentKey:`${St}:title`,defaultText:p?C:ze,kind:"title",onChange:f,value:i}),rn&&(0,E.jsxs)("div",{className:`tg-df-author-meta-slot${p?" tg-df-author-meta-slot--site":""}${Ie?"":" tg-df-author-meta-slot--no-social"}`,children:[!p&&j?(0,E.jsx)("div",{className:"tg-df-author-role",id:"tg-df-author-role-display",style:{fontSize:"0.9375rem",fontWeight:500,color:"var(--tg-df-blue, #1F69FF)",margin:"0 0 0.5rem 0",lineHeight:1.3},children:j}):null,Ie?(0,E.jsx)("div",{className:"tg-df-author-social-links",children:He.map(Be=>(0,E.jsx)("a",{href:Be.href,target:"_blank",rel:"noopener noreferrer",title:Be.label,"aria-label":Be.label,className:"tg-df-author-social-btn","data-social-key":Be.key.toLowerCase(),children:r2(Be.key)},Be.key))}):null]})]}),m&&(0,E.jsx)(i2,{contentKey:St,initialBio:a,defaultPlaceholder:I,onBioChange:c,stabilizeHeight:b})]})}var te=B(O(),1);function df(e){if(!e||typeof e!="object")return"";if(e.type==="voucher_code"&&e.display_value)return e.display_value;let t=Array.isArray(e)?e:Object.keys(e).filter(n=>Object.prototype.hasOwnProperty.call(e,n)).map(n=>e[n]);for(let n of t){let a=df(n);if(a)return a}return""}function o2({endTime:e}){if(!e)return null;let t=e;!isNaN(Number(t))&&String(t).length===10&&(t=Number(t)*1e3);let n=new Date(t),a=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"});return(0,te.jsxs)("span",{className:"tg-df-voucher-expiry",children:[(0,te.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginRight:"4px"},children:[(0,te.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,te.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"Expires ",a.format(n)]})}function G0({error:e,loading:t,merchant:n,onClose:a,vouchers:l}){return(0,te.jsx)("div",{className:`tg-df-modal-backdrop ${n?"active":""}`,onClick:i=>{i.target===i.currentTarget&&a()},children:(0,te.jsxs)("div",{className:"tg-df-modal",children:[(0,te.jsxs)("div",{className:"tg-df-modal-header",children:[(0,te.jsx)("h3",{className:"tg-df-modal-title",children:n?`${n} Coupons & Deals`:"Available Coupons & Deals"}),(0,te.jsx)("button",{className:"tg-df-modal-close",onClick:a,children:(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,te.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,te.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),(0,te.jsx)("div",{className:"tg-df-modal-body",children:t?(0,te.jsx)("div",{className:"tg-df-message",children:(0,te.jsx)("div",{className:"tg-df-coupon-spinner",style:{width:"24px",height:"24px",borderColor:"#ccc",borderTopColor:"#3b82f6"}})}):e?(0,te.jsx)("div",{className:"tg-df-message",children:"Failed to load vouchers."}):l.length===0?(0,te.jsxs)("div",{className:"tg-df-message",children:["No active vouchers found for ",n,"."]}):l.map((i,r)=>{let o=i.offer?.name||i.offer?.title||i.name||i.title||i.model_name||"Voucher",u=i.offer?.link||i.offer?.url||i.link||i.url||"#",c=i.merchant,s=Array.isArray(c)?c[0]?.logo_url||"":c?.logo_url||"",f=df(i.offer)||df(i)||i.offer?.voucher_code||i.voucher_code||"",d=i.offer?.end_time||i.end_time||"";return(0,te.jsxs)("a",{href:u,target:"_blank",rel:"noopener nofollow",className:"tg-df-voucher-item",children:[s?(0,te.jsx)("img",{src:s,alt:"Logo",className:"tg-df-voucher-logo"}):(0,te.jsx)("div",{className:"tg-df-voucher-logo",style:{background:"#e2e8f0"}}),(0,te.jsxs)("div",{className:"tg-df-voucher-content",children:[(0,te.jsx)("h4",{className:"tg-df-voucher-title",children:o}),(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginTop:"8px"},children:[f&&(0,te.jsxs)("span",{className:"tg-df-voucher-code",title:"Copy to clipboard",onClick:m=>{m.preventDefault(),m.stopPropagation();let v=m.currentTarget;navigator.clipboard.writeText(f).then(()=>{v.classList.add("copied");let A=v.querySelector(".tg-df-voucher-code-text"),b=v.querySelector(".tg-df-voucher-copy-icon"),h=A.innerText,g=b.innerHTML;A.innerText="Copied!",b.innerHTML='<polyline points="20 6 9 17 4 12"><\/polyline>',setTimeout(()=>{v.classList.remove("copied"),A&&(A.innerText=h),b&&(b.innerHTML=g)},2e3)})},children:[(0,te.jsx)("span",{className:"tg-df-voucher-code-text",children:f}),(0,te.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:"6px",flexShrink:0},className:"tg-df-voucher-copy-icon",children:[(0,te.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,te.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})]}),d&&(0,te.jsx)(o2,{endTime:d})]})]})]},r)})})]})})}var N=B(ft(),1);function ci(e){if(!e||!e.articlepage)return[];try{let t=e.articlepage;if(!Array.isArray(t))return typeof t=="string"?JSON.parse(t):t;if(t.length===0)return[];let n=t[0];return typeof n=="string"?JSON.parse(n):Array.isArray(n)?n:n&&typeof n=="object"&&"type"in n?t:n}catch{return[]}}function si(e,t=!1,{includeCollections:n=!0,includeDeals:a=!0}={}){let l=t?e.filter(r=>r.type==="buying-guide"):[];if(l.length>0)return l;let i=e.filter(r=>r.type==="deal"||r.type==="featured-product");return a&&!n&&!t?i.filter(r=>r.type==="deal"):i}function di(e,t){if(!t||t.length===0)return!0;let n=e&&(e.brand||e.retailer)||"";if(!n)return!1;let a=n.replace(/^\d+\.\s*/,"").trim().toLowerCase();return t.some(l=>{let i=l.trim().toLowerCase();return a===i||a.startsWith(`${i} `)||a.includes(i)||i.includes(a)})}function wt(e){return!e||e==="auto"?"US":e}function an(e){return e==="GB"||e==="UK"?"GBP":e==="AU"?"AUD":e==="CA"?"CAD":["DE","FR","IT","ES","NL"].includes(e)?"EUR":"USD"}function P0(e,t){if(e.isBuyingGuideProduct||e.isReviewProduct)return!0;if(t==="unavailable")return!1;let n=String(e.isoCurrency||e.currency||"").trim().toUpperCase();return({$:"USD",A$:"AUD",CA$:"CAD","\xA3":"GBP","\u20AC":"EUR"}[n]||n)===an(t)}function fi(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=a?n.currency||(n.price&&typeof n.price=="object"?n.price.currency:""):l.currency||(typeof l=="string"?l:"")||n.currency||"";!i&&n.variants&&n.variants.length>0&&(i=n.variants[0].currency||"");let r="$",o="USD",u=(i||"").toString().toUpperCase().trim();return u==="GBP"||u==="\xA3"||u.includes("POUND")||u.includes("163")?(r="\xA3",o="GBP"):u==="EUR"||u==="\u20AC"||u.includes("EURO")||u.includes("8364")?(r="\u20AC",o="EUR"):u==="AUD"||u==="A$"?(r="A$",o="AUD"):u==="CAD"||u==="CA$"?(r="CA$",o="CAD"):u==="USD"||u==="$"||u.includes("DOLLAR")||u.includes("36")?(r="$",o="USD"):(o=an(t),o==="GBP"?r="\xA3":o==="AUD"?r="A$":o==="CAD"?r="CA$":o==="EUR"&&(r="\u20AC")),{isoCurr:o,currencyStr:r}}function Ku(e){let t=e.data||{},n=e.type==="featured-product",a=t.price||{},l=0,i=0;return n?(l=typeof a=="number"?a:a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):t.msrp?parseFloat(t.msrp):0):(l=a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):0),{rawPrice:l,rawMsrp:i}}function Sa(e,t){if(!t||t==="all"||e<=0)return!0;if(t==="under50"&&e>=50||t==="over50"&&e<=50||t==="over30"&&e<=30||t==="over500"&&e<=500)return!1;if(t.includes("_")){let[n,a]=t.split("_").map(Number);if(n&&e<n||a&&e>a)return!1}return!0}function Ca(e,t,n){if(!n||n==="0"||n==="all")return!0;let a=parseInt(n);return!(!isNaN(a)&&a>0&&(!t||t<=e||Math.round((1-e/t)*100)<a))}var Zu=[0,50,100,150,200,250,300,350,400,450],ff={parameter:"articleControlTag",value:"type_buying_guide"},u2={includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"}]},c2={pcgamer:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["deals","type_deal","channel_gaming_hardware"]}],buyingGuideScopes:[ff]},homesandgardens:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"sig-product-collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"van-hawk-collection-widget",inventoryKind:"collections"},{parameter:"articleControlTag",value:"shopping",requiredArticleType:"news",inventoryKind:"collections"},{parameter:"articleType",value:"deals",inventoryKind:"deals"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["shopping","type_deal"],inventoryKind:"deals"}],buyingGuideScopes:[{parameter:"articleType",value:"buying guide"},ff]},whowhatwear:{includeAllContent:!0,pageStarts:Zu,scopes:[{}]}};function Wu(e,{includeBuyingGuideProducts:t=!1,includeCollections:n=!0,includeDeals:a=!0}={}){let l=c2[e]||u2;if(l.includeAllContent)return l;let i=l.scopes.filter(r=>r.inventoryKind==="collections"?n:r.inventoryKind==="deals"?a:r.value==="sig-product-collection"?n:a);return t?{...l,scopes:[...i,...l.buyingGuideScopes||[ff]]}:{...l,scopes:i}}function gf(e){if(Array.isArray(e))return e;let t=e.data;return t&&Array.isArray(t)?t:[]}function q0(e){let t=new Set;return e.filter(n=>{let a=n.id||n.articleid||n.url;return!a||t.has(a)?!1:(t.add(a),!0)})}function Zt(e){return typeof e.articletype=="string"?e.articletype.toLowerCase():Array.isArray(e.articletype)&&e.articletype.length>0?e.articletype[0].toLowerCase():""}function Hr(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]/g,"")}function mf(e){return[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]].map(Hr)}function s2(e){return Zt(e)==="review"&&mf(e).some(t=>t.includes("channelgaminghardware"))}function F0(e,t,n){let a=Zt(e),l=mf(e),i=c=>l.some(s=>s.includes(c)),r=a==="news"&&i("shopping")&&i("deal")&&i("typedeal"),o=a==="deals"||r,u=a==="collection"||i("sigproductcollection")||i("vanhawkcollectionwidget")||a==="news"&&i("shopping")&&!r||a==="idea"&&i("shopping")&&(i("sigproductcollection")||i("vanhawkcollectionwidget"));return t&&o||n&&u}function el(e,t=!0,n=!0,a){if(a==="homesandgardens")return F0(e,t,n);let l=Zt(e),i=mf(e),r=l==="deals"||i.some(u=>u.includes("typedeal")),o=i.some(u=>u.includes("sigproductcollection"));return t&&r||n&&o}function j0(e,t,n=!1,a=!1,l=!0,i=!0){if(a&&Zt(e)==="review")return t!=="pcgamer"||s2(e);if(t==="homesandgardens")return Zt(e)==="buying guide"?n:F0(e,i,l);let r=Wu(t,{includeBuyingGuideProducts:n,includeCollections:l,includeDeals:i});if(r.includeAllContent)return i&&l?!0:n||el(e,i,l);let o=Zt(e),u=[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]],c=f=>!f.requiredArticleType||o===f.requiredArticleType.toLowerCase(),s=f=>!f.requiredControlTags||f.requiredControlTags.every(d=>u.some(m=>typeof m=="string"&&Hr(m).includes(Hr(d))));return r.scopes.some(f=>!c(f)||!s(f)?!1:f.parameter==="articleType"?o===f.value.toLowerCase():f.parameter==="articleControlTag"?u.some(d=>typeof d=="string"&&Hr(d).includes(Hr(f.value))):!1)}function hf(e,t){let n=e.map(a=>({...a}));return t.filter(a=>(a.isBuyingGuideProduct||a.isReviewProduct)&&a.brand).forEach(a=>{let l=String(a.brand).trim();if(!l)return;let i=n.find(r=>r.formatted_value.toLowerCase()===l.toLowerCase());i?i.count++:n.push({formatted_value:l,count:1})}),n.sort((a,l)=>l.count-a.count)}function Iu(e,t){let n={};return e.forEach(a=>{if(!a.articlepage)return;let l=ci(a),i=si(l,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});(t.includeDeals===!1||t.includeCollections===!1)&&!i.some(r=>r.type==="buying-guide")&&!el(a,t.includeDeals,t.includeCollections,t.website)||i.forEach(r=>{if(fi(r,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:o,rawMsrp:u}=Ku(r);if(!Sa(o,t.priceRange)||!Ca(o,u,t.discountAmount))return;let c=r.data||{},s=c.brand||c.retailer;if(!s)return;let f=s.replace(/^\d+\.\s*/,"").trim(),d=f.toLowerCase(),m=Object.keys(n).find(v=>v.toLowerCase()===d);m?n[m]++:(f===f.toLowerCase()&&(f=f.replace(/\b\w/g,v=>v.toUpperCase())),n[f]=1)})}),Object.keys(n).map(a=>({formatted_value:a,count:n[a]})).sort((a,l)=>l.count-a.count)}function d2(e){return String(e||"").trim().toLowerCase()}function Ju(e){return(Array.isArray(e)?e:[e]).map(d2).filter(Boolean)}function pf(e){let t=Ju(e.articletype),n=[...Ju(e.articlecontroltag),...Ju(e.articletagtypetaghandle)];return t.includes("deals")||n.some(a=>a.replace(/[\s-]+/g,"_")==="type_deal")}function V0(e){let t=Array.isArray(e)?e[0]:e,n=new Date(String(t||"")).getTime();return Number.isFinite(n)?n:null}function f2(e){for(let t of[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]){let n=V0(t);if(n!==null)return n}return null}function g2(e){for(let t of[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]){let n=V0(t);if(n!==null)return n}return null}function Y0(e){return Ju(e.articletype).includes("review")}function yf(e,t=new Date,n=0){let a=pf(e)?1:Y0(e)?36:n;if(a<=0)return!0;let l=Y0(e)?g2(e):f2(e);if(l===null)return!0;let i=new Date(t);return i.setMonth(i.getMonth()-a),l>=i.getTime()}function tl(e,t,n=0){return e.filter(a=>yf(a,t,n))}var m2=15;function Q0(e){return Array.isArray(e.articlemedia)?e.articlemedia[0]:""}function zr(e){return Array.isArray(e.documenturl)?e.documenturl[0]:e.documenturl||""}function h2(e){return kt(String(e||"").replace(/^\d+\.\s*/,"").trim())}function tt(e){return Array.isArray(e)?e.map(tt).find(Boolean)||"":typeof e=="string"||typeof e=="number"?String(e).trim():""}function vf(e,t=!1){return(t?[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]:[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]).map(tt).find(Boolean)||""}function p2(e,t,n){let a=tt(e).match(/^\s*(\d+)\s*[.)]\s*/)?.[1];return a||[t.rank,t.position,t.number,t.productNumber,t.product_number].map(tt).map(i=>i.match(/^\s*(\d+)\s*$/)?.[1]||"").find(Boolean)||String(n+1)}function y2(e){let t=tt(e);try{t=new URL(t).pathname}catch{}return t=t.split(/[?#]/)[0].split("/").filter(Boolean).at(-1)||"",t.split(/[-_]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function v2(e){return tt(e.documenthandle)||tt(e.document_handle)||zr(e)||tt(e.documentname)||tt(e.documentnametext)}function b2(e,t){if(!t)return"";let n=t.length>m2?"Ranked":t;return`#${e} ${n}`}function A2(e){if(typeof e=="object"&&e)return String(e["data-model-name"]||"");try{return String(JSON.parse(String(e||""))["data-model-name"]||"")}catch{return""}}function w2(e){let t=e.brand||e.productBrand||e.manufacturer||e.maker||"";return typeof t=="string"?kt(t.replace(/^\d+\.\s*/,"").trim()):""}function S2(e){let t=e.price&&typeof e.price=="object"?e.price:{},n=Number(t.salePrice||t.price||e.salePrice||e.current_price||(typeof e.price=="number"?e.price:0)),a=Number(t.wasPrice||t.msrp||e.was_price||e.msrp||0),l=e.url||e.link?.url||e.link?.href||"";return{currency:t.currency||e.currency||"",rawMsrp:Number.isFinite(a)?a:0,rawPrice:Number.isFinite(n)?n:0,url:l}}function bf(e){let t=e?.review||{},n=t.rating??t.starRating??t.score??e?.rating??e?.starRating??e?.score,a=Number(n);if(!Number.isFinite(a)||a<=0)return null;let l=a>5?a/20:a;return Math.min(l,5)}function K0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,imageUrl:i}){let r=t.data||{},o=r.review||{},u=h2(r.title),c=p2(r.title,r,a),s=y2(v2(e)),f=zr(e),d=S2(r),m=!!d.url,v=m?d.url:o.url||f,A=i||Q0(e);return{id:`airedale-buying-guide-${n}-${a}`,url:v,image:A,fallbackImage:A,title:u,brand:w2(r),productName:u,merchant:"",rawPrice:d.rawPrice,rawMsrp:d.rawMsrp,price:d.rawPrice>0?String(d.rawPrice):"",msrp:d.rawMsrp>0?String(d.rawMsrp):"",currency:d.currency,isoCurrency:"",isCheckPrice:d.rawPrice<=0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf(r),description:"",text:"",subtitle:kt(r.subtitle||""),pros:Array.isArray(r.pros)?r.pros:[],cons:Array.isArray(r.cons)?r.cons:[],...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:!1,isBuyingGuideProduct:!0,buyingGuideBadge:b2(c,s),hawkModelName:A2(r.hawk),hasCommerceOffer:m,sourceArticleUrl:f}}function C2(e){return gi(e)||tt(e.documentnametext)||tt(e.documentname)}function $u(e){if(Array.isArray(e))return e.map($u).find(Boolean)||"";if(e&&typeof e=="object"){let n=e,a=tt(n["data-widget-type"]||n.dataWidgetType||n.widgetType).toLowerCase(),l=tt(n["data-model-name"]||n.dataModelName||n.modelName);return a==="review"&&l?l:Object.values(n).map($u).find(Boolean)||""}if(typeof e!="string")return"";let t=[e,e.replace(/\\"/g,'"').replace(/\\u0022/gi,'"')];for(let n of t){try{let l=$u(JSON.parse(n));if(l)return l}catch{}let a=n.match(/["']data-widget-type["']\s*:\s*["']review["'][\s\S]{0,1500}?["']data-model-name["']\s*:\s*["']([^"']+)["']/i);if(a?.[1])return a[1].trim()}return""}function gi(e){let t=tt(e.articlehawkmodels);if(t)return t;for(let n of[e.articlepage,e.articlebodypageblock,e.articlepageblock,e.fepjson,e.articlebodyclean]){let a=$u(n);if(a)return a}return""}function X0(e){return(Array.isArray(e)?e:[e]).map(t=>kt(tt(t))).filter(Boolean)}function Z0({article:e,articleIdentity:t,authorProfile:n}){let a=kt(gi(e)),l=kt(C2(e)),i=zr(e),r=Q0(e),o=kt(tt(e.productverdict));return{id:`airedale-review-${t}`,url:i,image:r,fallbackImage:r,title:l,brand:"",productName:l,merchant:"",rawPrice:0,rawMsrp:0,price:"",msrp:"",currency:"",isoCurrency:"",isCheckPrice:!0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf({rating:e.productrating}),description:o,text:o,...n,documentUrl:i,modifiedDate:vf(e,!0),isFeatured:!1,isReviewProduct:!0,hawkModelName:a||l,hasCommerceOffer:!1,sourceArticleUrl:i,pros:X0(e.productpros),cons:X0(e.productcons)}}function kt(e){return typeof e=="string"?ee(e):e}function W0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,currencyString:i,isoCurrency:r,presentation:o,pricing:u}){let c=t.data||{},{isFeatured:s,externalUrl:f,summaryTitle:d,description:m,imageUrl:v,merchantName:A}=o,{rawPrice:b,rawMsrp:h,savingLabel:g}=u;return{id:`airedale-${n}-${a}`,url:f,image:v,fallbackImage:v,title:kt(d),brand:kt(c.brand||""),productName:kt(c.productName||""),merchant:kt(A),rawPrice:b,rawMsrp:h,price:b>0?b.toString():"",msrp:h>0?h.toString():"",currency:i,isoCurrency:r,isCheckPrice:!b,savingLabel:g,savingType:h>b?"amount":"none",isPrime:!1,starRating:bf(c),description:kt(m),text:kt(c.text||""),...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:s,hasCommerceOffer:!!f}}function I0(e,t){let n=t.data||{},a=t.type==="featured-product",l=n.link||{},i=n.image||{};n.brand&&(n.brand=n.brand.replace(/^\d+\.\s*/,"").trim());let r=a?n.url:l.href||null,o=a?n.name||n.brand:n.productName||l.label||(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),u=a?n.strapline||"":n.text||"";if(!a&&!n.productName&&n.text){let f=n.text.split(/<br\s*\/?>/i);if(f.length>1)o=f[0].replace(/<[^>]+>/g,"").trim(),u=f.slice(1).join(" ").replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();else{let d=n.text.match(/<strong>(.*?)<\/strong>/);d&&(o=d[1].replace(/<[^>]+>/g,"").trim(),o.endsWith(":")&&(o=o.slice(0,-1)))}}let c=a?i.mos:i.src||null;c?.startsWith("//")&&(c=`https:${c}`),u=u.replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").replace(/View Deal$/i,"").trim();let s=n.retailer||"";if(!s&&r)try{s=new URL(r).hostname.replace("www.","").split(".")[0],s=s.charAt(0).toUpperCase()+s.slice(1)}catch{}return s||(s="Retailer"),{isFeatured:a,externalUrl:r,summaryTitle:o,description:u,imageUrl:c,merchantName:s}}function J0(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=0,r=0;a?(i=typeof n.salePrice=="number"&&n.salePrice>0?n.salePrice:typeof n.price=="number"?n.price:0,r=typeof n.salePrice=="number"&&typeof n.price=="number"&&n.price>n.salePrice?n.price:0):(i=l.amount?parseFloat(l.amount):0,r=l.amountWas?parseFloat(l.amountWas):0);let o=0,u="";return i>0&&r>i&&(o=parseFloat((r-i).toFixed(2)),u=`Save ${t}${o}`),{rawPrice:i,rawMsrp:r,savingLabel:u}}function R2(e,t){let n=e.indexOf(t);if(n<1)return"";let a=e[n-1]?.data||{},i=a.slides?.[0]?.image||a.image||a;return i?.src||i?.mos||""}function Ur(e,{activeRegionCode:t,targetIso:n,selectedBrands:a,priceRange:l,discountAmount:i,authorHandle:r,authorName:o,createFallbackIdentity:u=Math.random,includeBuyingGuideProducts:c=!1,includeCollections:s=!0,includeDeals:f=!0,includeReviewProducts:d=!1,website:m}){let v=[],A=new Set;return e.forEach(b=>{if(d&&Zt(b)==="review"){v.push(Z0({article:b,articleIdentity:b.id||u(),authorProfile:Qu(b,r,o)}));return}if(!b.articlepage)return;let h=ci(b),g=si(h,c,{includeCollections:s,includeDeals:f});(f===!1||s===!1)&&!g.some(p=>p.type==="buying-guide")&&!el(b,f,s,m)||g.forEach((p,y)=>{if(p.type==="buying-guide"){v.push(K0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),imageUrl:R2(h,p)}));return}let{isoCurr:C,currencyStr:R}=fi(p,t);if(C!==n)return;let T=p.data||{},M=I0(b,p),{externalUrl:w}=M,D=J0(p,R),{rawPrice:k,rawMsrp:se}=D;if(!(a&&a.length>0&&!di(T,a))&&Sa(k,l)&&Ca(k,se,i)){if(w){if(A.has(w))return;A.add(w)}v.push(W0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),currencyString:R,isoCurrency:C,presentation:M,pricing:D}))}})}),v}function mi(e,t){return Ur(e,{...t,selectedBrands:[],priceRange:"all",discountAmount:"0"})}function $0(e,t){return Ur(e,t)}function Gr(e){return(Array.isArray(e)?e:[e]).filter(n=>typeof n=="string").map(n=>n.trim())}function ec(e){return e?.trim().toLowerCase()==="freeform"}function Af(e){return!!e&&!/[^\p{L}\p{N}\s]/u.test(e)}function wf(e){let t=Gr(e.articletag),n=Gr(e.articletaghandle),a=Gr(e.articletagtype),l=new Map;t.forEach((o,u)=>{let c=n[u];!ec(a[u])||!c||!Af(o)||l.set(c.toLowerCase(),{handle:c,label:o,requestValue:o})});let i=Gr(e.articletagtypetag),r=Gr(e.articletagtypetaghandle);return i.forEach((o,u)=>{let[c,...s]=o.split("|"),[f,...d]=(r[u]||"").split("|"),m=s.join("|").trim(),v=d.join("|").trim();!ec(c)||!ec(f)||!v||!Af(m)||l.has(v.toLowerCase())||l.set(v.toLowerCase(),{handle:v,label:m,requestValue:m})}),r.forEach(o=>{let[u,...c]=o.split("|"),s=c.join("|").trim();!ec(u)||!s||!Af(s)||l.has(s.toLowerCase())||l.set(s.toLowerCase(),{handle:s,label:s})}),[...l.values()]}function ev(e,t){if(t)return e.find(n=>n.handle.toLowerCase()===t.toLowerCase())?.requestValue}function hi(e,t){let n=(Array.isArray(t)?t:[t]).filter(a=>typeof a=="string").map(a=>a.trim().toLowerCase()).filter(Boolean);return n.length===0?e:e.filter(a=>wf(a).some(l=>n.includes(l.handle.toLowerCase())))}function T2(e){let t=new Map;return Array.isArray(e.articlecategory)?(e.articlecategory.forEach(n=>{if(typeof n!="string")return;let a=n.trim();a===a.toLowerCase()&&(a=a.replace(/\b\w/g,l=>l.toUpperCase())),a&&!t.has(a.toLowerCase())&&t.set(a.toLowerCase(),{handle:a,label:a})}),[...t.values()]):[]}function tv(e,t,n){let a={},l={},i={};e.forEach(u=>{let c=[];if(t.includeReviewProducts&&Zt(u)==="review"&&c.push(u.id||u.documenturl||u.documenthandle||""),u.articlepage)try{let s=ci(u),f=si(s,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});if((t.includeDeals===!1||t.includeCollections===!1)&&!f.some(d=>d.type==="buying-guide")&&!el(u,t.includeDeals,t.includeCollections,t.website))return;f.forEach(d=>{if(d.type==="buying-guide"){c.push(d.id||JSON.stringify(d.data||{}));return}if(fi(d,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:m,rawMsrp:v}=Ku(d);if(!Sa(m,t.priceRange)||!Ca(m,v,t.discountAmount))return;let A=d.data||{};if(t.selectedBrands&&t.selectedBrands.length>0&&!di(A,t.selectedBrands))return;let h=d.type==="featured-product"?A.primaryLink:A.link,g=A.url||A.link&&A.link.url||h&&h.url;c.push(g||JSON.stringify(A))})}catch{}c.length!==0&&n(u).forEach(s=>{let f=s.handle.toLowerCase(),d=Object.keys(a).find(m=>m.toLowerCase()===f);d||(d=s.handle,a[d]=new Set,l[d]=s.label,i[d]=s.requestValue),c.forEach(m=>a[d].add(m))})});let r={};return Object.keys(a).forEach(u=>{r[u]=a[u].size}),{tags:Object.keys(r).map(u=>({handle:u,label:l[u]||u,requestValue:i[u]})).sort((u,c)=>r[c.handle]-r[u.handle]),tagCounts:r}}function tc(e,t){let{tags:n,tagCounts:a}=tv(e,t,T2);return{tags:n.map(l=>l.label),tagCounts:a}}function nc(e,t){let{tags:n,tagCounts:a}=tv(e,t,wf);return{tags:n,tagCounts:a}}function E2(e,t){return e.documentUrl||e.sourceArticleUrl||e.articleId||`deal-${t}`}function yn(e,t,n){if(t!=="mix"||n!=="date_desc")return e;let a=new Map;e.forEach((o,u)=>{let c=E2(o,u),s=a.get(c)||[];s.push(o),a.set(c,s)});let l=[],i=0,r=!0;for(;r;)r=!1,a.forEach(o=>{let u=o[i];u&&(l.push(u),r=!0)}),i+=1;return l}var nv="compact-v1",D2={brand:"",currency:"",hasCommerceOffer:!1,isoCurrency:"",isCheckPrice:!0,isFeatured:!1,isPrime:!1,merchant:"",merchantId:"",msrp:"",price:"",rawMsrp:0,rawPrice:0,savingLabel:"",savingType:"none"},x2={hasCommerceOffer:!0,hawkPricePending:!1,rawMsrp:0,rawPrice:0};function av(e){return e.map(t=>{if(!t.isReviewProduct)return t;let n=String(t.sourceArticleUrl||t.documentUrl||t.url||""),a=t.fallbackImage??t.image??"",l={...D2,...t,fallbackImage:a,image:t.image??a,sourceArticleUrl:n,documentUrl:t.documentUrl??n,url:t.url??n,title:t.title??t.productName??"",text:t.text??t.description??"",hawkPricePending:t.hawkPricePending??!!t.hawkModelName,pros:t.pros??[],cons:t.cons??[]};return t.hawkRegionalCommerce&&(l.hawkRegionalCommerce=Object.fromEntries(Object.entries(t.hawkRegionalCommerce).map(([i,r])=>{let o=r,u=o.productName??l.productName,c=o.rawPrice??0,s=o.rawMsrp??0;return[i,{...x2,...o,fallbackImage:o.fallbackImage??a,image:o.image??a,productName:u,title:o.title??u??l.title,price:o.price??(c?String(c):""),msrp:o.msrp??(s?String(s):"")}]}))),l})}function ac(e,t,n=100){let a=new Set(e.slice(0,t).map((i,r)=>i.id||`visible-${r}`)),l=e.slice(0,t).filter(i=>i.isReviewProduct).length;return e.filter((i,r)=>{let o=i.id||`visible-${r}`;return a.has(o)?!0:i.isReviewProduct?(l+=1,l<=n):!1})}function lv(e,t){let n=new Map(t.map((a,l)=>[a.id||`enriched-${l}`,a]));return e.map((a,l)=>n.get(a.id||`enriched-${l}`)||a)}var M2=new Set(["deal","featured-product","gallery","buying-guide","text","section"]);function lc(e){return!!e&&typeof e=="object"}function iv(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function rv(e){try{let t=iv(e);if(!Array.isArray(t)||!t[0])return;let n=t[0],a=typeof n=="string"?iv(n):Array.isArray(n)?n:lc(n)&&"type"in n?t:n;if(!Array.isArray(a))return;let l=a.filter(i=>lc(i)&&M2.has(i.type)).map(i=>i.type==="text"&&i.data?{type:"text",data:{paragraphs:Array.isArray(i.data.paragraphs)?i.data.paragraphs.slice(0,3):void 0,text:typeof i.data.text=="string"?i.data.text.slice(0,500):void 0}}:i.type==="section"&&i.data?{type:"section",data:{text:i.data.text,heading:i.data.heading,title:i.data.title}}:i);return l.length>0?[JSON.stringify(l)]:void 0}catch{return}}function ov(e){if(!Array.isArray(e))return[];let t=!1;return e.map(n=>{if(!lc(n))return n;let a=n.articlepage?rv(n.articlepage):void 0,l=!!(n.articleauthormedia||n.articleauthorrole),i=!!(!t&&(n.articleauthorbio||n.articleauthorlongbio||n.articleauthorsocialnetworks));return i&&(t=!0),{id:n.id,articlename:n.articlename,documentname:n.documentname,documentnametext:n.documentnametext,documenthandle:n.documenthandle,articlecategory:n.articlecategory,articletag:n.articletag,articletaghandle:n.articletaghandle,articletagtype:n.articletagtype,articletagtypetag:n.articletagtypetag,articletagtypetaghandle:n.articletagtypetaghandle,articlecontroltag:n.articlecontroltag,articletype:n.articletype,articleauthor:n.articleauthor,articleauthorhandle:n.articleauthorhandle,articleauthortext:n.articleauthortext,...l?{articleauthorrole:n.articleauthorrole,articleauthormedia:n.articleauthormedia}:{},articlestrapline:n.articlestrapline,articlesocialtitle:n.articlesocialtitle,documenturl:n.documenturl,articlemedia:n.articlemedia,articlehawkmodels:n.articlehawkmodels,productrating:n.productrating,productpros:n.productpros,productcons:n.productcons,productverdict:n.productverdict,contentmodifieddate:n.contentmodifieddate,modifieddate:n.modifieddate,createddate:n.createddate,datepublished:n.datepublished,publisheddate:n.publisheddate,...i?{articleauthorbio:n.articleauthorbio,articleauthorlongbio:n.articleauthorlongbio,articleauthorsocialnetworks:n.articleauthorsocialnetworks}:{},...a?{articlepage:a}:{}}})}function uv(e){return Array.isArray(e)?e.map(t=>{if(!lc(t))return t;let n=t.articlepage?rv(t.articlepage):void 0;return{id:t.id,articleid:t.articleid,articlename:t.articlename,documentname:t.documentname,documentnametext:t.documentnametext,documenthandle:t.documenthandle,articleauthor:t.articleauthor,articleauthorhandle:t.articleauthorhandle,articleauthortext:t.articleauthortext,articleauthorrole:t.articleauthorrole,articleauthormedia:t.articleauthormedia,articleauthorbio:t.articleauthorbio,articleauthorlongbio:t.articleauthorlongbio,articleauthorsocialnetworks:t.articleauthorsocialnetworks,articlecategory:t.articlecategory,articletag:t.articletag,articletaghandle:t.articletaghandle,articletagtype:t.articletagtype,articletagtypetag:t.articletagtypetag,articletagtypetaghandle:t.articletagtypetaghandle,articletype:t.articletype,articlestrapline:t.articlestrapline,articlesocialtitle:t.articlesocialtitle,documenturl:t.documenturl,articlemedia:t.articlemedia,articlehawkmodels:t.articlehawkmodels,productrating:t.productrating,productpros:t.productpros,productcons:t.productcons,productverdict:t.productverdict,url:t.url,contentmodifieddate:t.contentmodifieddate,modifieddate:t.modifieddate,createddate:t.createddate,datepublished:t.datepublished,publisheddate:t.publisheddate,content:t.content,dek:t.dek,image_thumbnail:t.image_thumbnail,intro:t.intro,paragraphs:t.paragraphs,strapline:t.strapline,subtitle:t.subtitle,title:t.title,...n?{articlepage:n}:{}}}):[]}function pi(e){if(!e?.modifiedDate)return 0;let t=Array.isArray(e.modifiedDate)?e.modifiedDate[0]:e.modifiedDate,n=new Date(t).getTime();return Number.isNaN(n)?0:n}function nl(e){return e?.hasCommerceOffer===!0?!0:e?.hasCommerceOffer===!1?!1:!!(!e?.isBuyingGuideProduct&&!e?.isReviewProduct&&e?.url)}function ln(e,t,n=!0){let a=!0;t==="date_desc"?e.sort((l,i)=>pi(i)-pi(l)):t==="price_asc"?e.sort((l,i)=>l.rawPrice-i.rawPrice):t==="price_desc"?e.sort((l,i)=>i.rawPrice-l.rawPrice):t==="discount_desc"?e.sort((l,i)=>{let r=l.rawMsrp>l.rawPrice?l.rawMsrp-l.rawPrice:0;return(i.rawMsrp>i.rawPrice?i.rawMsrp-i.rawPrice:0)-r}):t==="rating_desc"?e.sort((l,i)=>{let r=Number(l.starRating)||0;return(Number(i.starRating)||0)-r||pi(i)-pi(l)}):t==="scored_first"?e.sort((l,i)=>{let r=Number(l.starRating)>0?1:0;return(Number(i.starRating)>0?1:0)-r||pi(i)-pi(l)}):a=!1,a&&n&&e.sort((l,i)=>Number(nl(i))-Number(nl(l)))}function cv(e,t,n){let a=e;if(!a&&t){let l=n.find(i=>i.toLowerCase()===t?.toLowerCase());l&&(a=l)}return a}function Pr(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(a=>a.articlecategory&&Array.isArray(a.articlecategory)&&a.articlecategory.some(l=>{if(!l||typeof l!="string")return!1;let i=l.toLowerCase(),r=i.split(":::");return i===n||r[0]===n||i.includes(n)}))}function sv(e){let t=wt(e.region);return{activeRegionCode:t,targetIso:an(t)}}function al(e,t,{discountAmount:n,priceRange:a}={}){let l=!!(a&&a!=="all"),i=!!(n&&n!=="0"&&n!=="all");return!t?.length&&!l&&!i?e:e.filter(r=>!r.isBuyingGuideProduct&&!r.isReviewProduct?!0:t?.length&&!di({brand:r.brand},t)||l&&(!Number(r.rawPrice)||!Sa(Number(r.rawPrice),a))?!1:Ca(Number(r.rawPrice)||0,Number(r.rawMsrp)||0,n))}function _2(e,t){let n=e.articleauthorhandle||[],a=e.articleauthor||[],l=e.articleauthortext||[],i=new Set([t.handle.toLowerCase(),t.fullName.toLowerCase(),t.name.toLowerCase()]);return[...n,...a,...l].some(r=>i.has(String(r||"").toLowerCase()))}function Sf(e,t,n){let a=Object.fromEntries(e.map(l=>[l.handle,0]));return t.forEach(l=>{let i=mi([l],n).length;i!==0&&e.forEach(r=>{_2(l,r)&&(a[r.handle]+=i)})}),a}function Cf(e,t){let n=Xu(e,t.authorHandle,t.authorName),a=t.selectedArticleId?n.filter(A=>A.id===t.selectedArticleId):n,{activeRegionCode:l,targetIso:i}=sv(t),{tags:r,tagCounts:o}=tc(a,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),u=cv(t.activeDealTag,t.query,r),c=Pr(a,u),{tags:s,tagCounts:f}=nc(c,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),d=t.activeFreeformTags?.length?t.activeFreeformTags:t.activeFreeformTag?[t.activeFreeformTag]:[],m=d.flatMap(A=>{let b=s.find(h=>h.handle.toLowerCase()===A.toLowerCase());return b?[b.handle]:[]}),v=t.preserveFreeformTagSelection?d:m;return{activeDealTag:u,activeFreeformTag:v[0]||null,activeFreeformTags:v,activeRegionCode:l,authorArticles:n,freeformTagCounts:f,freeformTags:s,tagCounts:o,tags:r,targetArticles:hi(c,v),targetIso:i}}function ic(e,t,n,a){let l=Iu(e,{activeRegionCode:n,targetIso:a,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),i=Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(i,t.sort,t.prioritiseCommercialProducts);let r=yn(al(i,t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange}),t.productSelection,t.sort).map(o=>(o.isBuyingGuideProduct||o.isReviewProduct)&&o.hawkModelName?{...o,hawkPricePending:!0}:o);return{brands:l,displayedDeals:r,extractedDeals:i}}function dv(e,t){let{activeRegionCode:n,targetIso:a}=sv(t),l=Lr(e,t.website||"tomsguide"),i=e.filter(o=>mi([o],{activeRegionCode:n,targetIso:a,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}).length>0),r=al(Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange});return{authorCount:kr(l,i).length,deals:r}}function fv({allArticles:e,authorArticles:t,inventoryArticles:n,bakeReviewInventory:a,brands:l,couponMap:i,currentDealTag:r,currentFreeformTags:o,displayedDeals:u,options:c,resultCount:s,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}){let h=Lr(e,c.website||"tomsguide"),g=Sf(h,n,{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),selectedBrands:c.selectedBrands,priceRange:c.priceRange,discountAmount:c.discountAmount,includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}),p=kr(h,e.filter(C=>mi([C],{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}).length>0)),y=Number(s)||12;return{activeDealTag:r,activeFreeformTag:o[0]||null,activeFreeformTags:o,allDeals:a?ac(u,y):u,authorArticles:ov(t),authors:Yu(p,g),brands:l,couponMap:i,deals:u.slice(0,y),reviewInventoryBaked:a,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}}function B2(e){return e&&e.widget&&e.widget.data&&Array.isArray(e.widget.data.offers)?e.widget.data.offers:e&&e.data&&Array.isArray(e.data.offers)?e.data.offers:Array.isArray(e)?e:e&&Array.isArray(e.offers)?e.offers:e&&e.offers&&Array.isArray(e.offers.offer)?e.offers.offer:e&&Array.isArray(e.data)?e.data:[]}function gv(e,t,n){let a={...n},l=new Set;return B2(e).forEach(r=>{let o="";r.merchant_name?o=r.merchant_name:r.merchant&&r.merchant[0]&&r.merchant[0].name?o=r.merchant[0].name:r.merchant&&r.merchant.name?o=r.merchant.name:r.retailer&&(o=r.retailer),o&&l.add(o.toLowerCase())}),t.forEach(r=>{a[r]=l.has(r.toLowerCase())?"has":"none"}),a}function mv(e){let t=[];return e?.widget?.data?.offers?t=e.widget.data.offers:e?.data?.offers?t=e.data.offers:Array.isArray(e)?t=e:e?.offers?.offer?t=Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers&&(t=Array.isArray(e.offers)?e.offers:[e.offers]),t}async function hv({couponMap:e,couponUrl:t,fetcher:n=fetch,merchants:a}){if(!t)return e;try{let l=await n(t.toString());return gv(await l.json(),a,e)}catch{let l={...e};return a.forEach(i=>{l[i]="none"}),l}}function pv({enrichingBuyingGuides:e,error:t,loading:n,loadingMore:a,refreshingFeed:l}){return t?"error":a?"loading_more":n?"loading_inventory":l?"refreshing_inventory":e?"enriching_visible_cards":"ready"}function yv(e,t){let n=Xu(tl(e),t.authorHandle,t.authorName),a=wt(t.region),l=an(a),{tags:i,tagCounts:r}=tc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),o=Iu(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),{tags:u,tagCounts:c}=nc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),s=$0(n,{activeRegionCode:a,targetIso:l,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(s,t.sort,t.prioritiseCommercialProducts);let f=yn(s,t.productSelection,t.sort);return{authorArticles:n,brands:o,deals:f,tagCounts:r,tags:i,freeformTagCounts:c,freeformTags:u}}var N2="fc-author-commerce-widget",vn="airedale-feeds";var rc=null;function vv(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Rf(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function Tf(){return rc||(typeof window>"u"||typeof window.indexedDB>"u"?Promise.resolve(null):(rc=new Promise(e=>{let t=window.indexedDB.open(N2,14);t.onupgradeneeded=()=>{let n=t.result;n.objectStoreNames.contains(vn)||n.createObjectStore(vn,{keyPath:"key"})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),rc))}function bv({authorHandle:e,authorName:t,includeBuyingGuideProducts:n,includeCollections:a,includeDeals:l,includeReviewProducts:i,articleCategory:r,articleTag:o,pageStarts:u,reviewPageStarts:c,loadAllReviewPages:s,website:f}){return["v14",f||"tomsguide",e||"",t||"",n?"buying-guides":"",a===!1?"no-collections":"collections",l===!1?"no-deals":"deals",i?"reviews":"",r||"",o||"",u?.join(",")||"",c?.join(",")||"",s===!1?"review-pages-partial":""].map(d=>encodeURIComponent(d)).join("|")}async function O2(e){let t=await Tf();if(!t)return;let n=t.transaction(vn,"readwrite"),a=Rf(n);n.objectStore(vn).delete(e),await a}async function Av(e,t=Date.now()){try{let n=await Tf();if(!n)return null;let a=n.transaction(vn,"readonly"),l=await vv(a.objectStore(vn).get(e));if(!l||l.schemaVersion!==14||!Array.isArray(l.articles)||l.articles.length===0)return null;let i=Math.max(0,t-l.cachedAt);return i>864e5?(O2(e),null):{articles:l.articles,cachedAt:l.cachedAt,isFresh:i<=6e5}}catch{return null}}async function k2(e){let t=e.transaction(vn,"readwrite"),n=Rf(t),a=t.objectStore(vn);(await vv(a.getAll())).sort((i,r)=>r.cachedAt-i.cachedAt).slice(10).forEach(i=>a.delete(i.key)),await n}async function wv(e,t,n=Date.now()){if(t.length!==0)try{let a=await Tf();if(!a)return;let l=a.transaction(vn,"readwrite"),i=Rf(l);l.objectStore(vn).put({articles:t,cachedAt:n,key:e,schemaVersion:14}),await i,await k2(a)}catch{}}var Ef=[];var Mf=[],Df=0;function Sv(){for(;Df<4&&Mf.length>0;){let e=Mf.shift();if(!e)return;Df+=1,e.run().then(e.resolve,e.reject).finally(()=>{Df-=1,Sv()})}}function L2(e){return new Promise((t,n)=>{Mf.push({reject:n,resolve:t,run:e}),Sv()})}function xf(e){Ef.push(e),Ef.length>100&&Ef.shift()}async function oc(e,t,n=4){let a=new Array(e.length),l=0,i=Math.min(Math.max(1,n),e.length);return await Promise.all(Array.from({length:i},async()=>{for(;l<e.length;){let r=l;l+=1,a[r]=await t(e[r],r)}})),a}async function yi(e,t){return L2(async()=>{let n=t.fetcher||fetch,a=Date.now(),l=new AbortController,i=!1,r=()=>l.abort();if(t.signal?.aborted)return xf({durationMs:0,outcome:"aborted",source:t.source,startedAt:a}),{data:null,response:null};t.signal?.addEventListener("abort",r,{once:!0});let o=setTimeout(()=>{i=!0,l.abort()},8e3);try{let u=await n(e,{signal:l.signal}),c=u.ok?await u.json():null;return xf({durationMs:Date.now()-a,outcome:u.ok?"succeeded":"failed",source:t.source,startedAt:a}),{data:c,response:u}}catch{return xf({durationMs:Date.now()-a,outcome:i?"timed_out":t.signal?.aborted?"aborted":"failed",source:t.source,startedAt:a}),{data:null,response:null}}finally{clearTimeout(o),t.signal?.removeEventListener("abort",r)}})}var Bf="https://airedale.futurecdn.net/feeds/feed_1786707986217.json",H2="https://airedale.futurecdn.net/feeds/feed_1786702796175.json",z2="https://airedale.futurecdn.net/feeds/feed_1787582137748.json",U2=2,_f=new Map,Cv=new Map;function Rv(e){let t=new URL(e),n=String(t.searchParams.get("articleType")||"").trim().toLowerCase(),a=String(t.searchParams.get("articleControlTag")||"").replace(/[\s-]+/g,"_").toLowerCase();return n!=="deals"&&a!=="type_deal"?null:(t.searchParams.delete("start"),t.toString())}function G2(e){return!e.response?.ok||e.articles.length<50?!1:!e.articles.some(t=>pf(t)&&!yf(t))}function P2(e){return!e.parameter||!e.value?"":`&${e.parameter}=${encodeURIComponent(e.value)}`}function q2(e,t="",n=!1,a,l,{includeCollections:i=!0,includeDeals:r=!0}={},o){let u=Wu(e,{includeBuyingGuideProducts:n,includeCollections:i,includeDeals:r}),c=a?`&articleCategory=${encodeURIComponent(a)}`:"",s=o?`&articleTag=${encodeURIComponent(o)}`:"";return u.scopes.flatMap(f=>(l||u.pageStarts).map(d=>`${Bf}?site=${e}&limit=${50}&start=${d}${P2(f)}${t}${c}${s}`))}function Tv(e,t="",n,a=0,l){let i=e==="pcgamer"?"&articleControlTag=channel_gaming_hardware":"",r=n?`&articleCategory=${encodeURIComponent(n)}`:"",o=l?`&articleTag=${encodeURIComponent(l)}`:"";return`${H2}?site=${encodeURIComponent(e)}&articleType=review&limit=${50}&start=${a}${i}${t}${r}${o}`}function F2(e,t){return t!=="pcgamer"?e:e.map(n=>{let a=Array.isArray(n.articlecontroltag)?n.articlecontroltag:[];return a.some(l=>String(l).replace(/[^a-z0-9]/gi,"").toLowerCase()==="channelgaminghardware")?n:{...n,articlecontroltag:[...a,"channel_gaming_hardware"]}})}function j2(e,t){return`${z2}?site=${encodeURIComponent(e)}&documentHandle=${encodeURIComponent(t)}&limit=1`}async function Y2(e,t){let n=`${e}|${t}`,a=Cv.get(n);if(a)return a;let l=yi(j2(e,t),{source:"review-model-resolver"}).then(({data:i})=>i?gf(i)[0]:null).then(i=>i?gi(i):"").catch(()=>"");return Cv.set(n,l),l}async function Nf(e,t,n,a="date_desc"){let l=o=>{let u=[o.datepublished,o.publisheddate,o.createddate,o.contentmodifieddate,o.modifieddate].find(s=>s!=null&&String(s).trim()),c=new Date(Array.isArray(u)?u[0]:u).getTime();return Number.isFinite(c)?c:0},i=o=>{let u=Array.isArray(o.productrating)?o.productrating[0]:o.productrating;return Number(u)||0},r=e.filter(o=>Zt(o)==="review"&&!gi(o)&&typeof o.documenthandle=="string"&&o.documenthandle.trim()).sort((o,u)=>{let c=i(o),s=i(u);return a==="rating_desc"?s-c||l(u)-l(o):a==="scored_first"&&+(s>0)-+(c>0)||l(u)-l(o)}).slice(0,n);return await Promise.all(r.map(async o=>{let u=await Y2(t,o.documenthandle);u&&(o.articlehawkmodels=[u])})),e}function xv(e,t){let n=()=>{wv(e,uv(t))};if(typeof window<"u"&&typeof window.requestIdleCallback=="function"){window.requestIdleCallback(n,{timeout:2e3});return}setTimeout(n,0)}function V2(e,t){return e&&e!=="all-authors"?`&articleAuthorHandle=${encodeURIComponent(e)}`:t&&t!=="All authors"&&t!=="all-authors"?`&articleAuthor=${encodeURIComponent(t)}`:""}function X2({articleCategory:e,articleTag:t,authorParameter:n}){return!!(n&&!e&&!t)}async function Mv({authorHandle:e,authorName:t,fallbackAuthorName:n,includeBuyingGuideProducts:a,includeCollections:l,includeDeals:i,includeReviewProducts:r,onProgress:o,articleCategory:u,articleTag:c,pageStarts:s,reviewPageStarts:f,loadAllReviewPages:d,signal:m,throwOnFailure:v,website:A}){let b=A||"tomsguide",h=V2(e,t),g=[],p=!1,y=!0,C=w=>j0(w,b,a,r,l,i),R=()=>q0(g).map(w=>{let D=gi(w);return D&&!String(w.articlehawkmodels||"").trim()?{...w,articlehawkmodels:[D]}:w}).filter(C),T=()=>{let w=R();w.length>0&&o?.(w)};try{let w=q2(b,h,a,u,s,{includeCollections:l,includeDeals:i},c),D=[];r&&(f||[0]).forEach(X=>{let de=Tv(b,h,u,X,c);D.push(de),w.push(de)});let k=async(X,de=D.includes(X)?"review-feed":"author-feed")=>{let $e=await yi(X,{signal:m,source:de});for(let jr=0;jr<U2&&!$e.response?.ok&&!m?.aborted;jr+=1)$e=await yi(X,{signal:m,source:de});let{data:Z,response:x}=$e,P=Z?gf(Z):[],Q=b==="pcgamer"&&de.startsWith("review-feed")?F2(P,b):P,Vn={articles:Q,data:Z,isPcGamerHardwareReviewFeed:b==="pcgamer"&&de.startsWith("review-feed"),response:x,reviewTotalCount:D.includes(X)&&Number(x?.headers.get("x-total-count"))||null};return Q.length>0&&g.push(...Q),Vn},se=w.filter(X=>Number(new URL(X).searchParams.get("start")||0)===0),I=w.filter(X=>!se.includes(X)),j=await oc(se,X=>k(X));T();let He=new Map(se.flatMap((X,de)=>{let $e=Rv(X);return $e?[[$e,j[de]]]:[]})),ze=new Map,St=[];I.forEach(X=>{let de=Rv(X);if(!de){St.push(X);return}ze.set(de,[...ze.get(de)||[],X])});let[Ie,rn]=await Promise.all([oc(St,X=>k(X)),Promise.all([...ze.entries()].map(async([X,de])=>{let $e=[],Z=He.get(X);for(let x of de){if(!Z||!G2(Z))break;let P=await k(x);$e.push(P),Z=P}return $e}))]),Be=[...Ie,...rn.flat()],Je=[...j,...Be];p=Je.length>0&&Je.every(X=>!X.response?.ok);let nt=Je.find(X=>X.reviewTotalCount!==null)?.reviewTotalCount;if(d!==!1&&f&&nt&&nt>f.length*50){let X=new Set(f),de=[];for(let Z=0;Z<nt;Z+=50)X.has(Z)||de.push(Z);let $e=await oc(de,async Z=>await k(Tv(b,h,u,Z,c),"review-feed-page"));Je.push(...$e)}y=Je.every(X=>X.response?.ok)}catch(w){y=!1}if(v&&p)throw new Error("The author feed could not be loaded");let M=R();if(M.length===0&&X2({authorParameter:h,articleCategory:u,articleTag:c}))try{let w=await yi(`${Bf}?site=${b}&limit=150${h}`,{signal:m,source:"author-feed-fallback"});if(!w.response?.ok&&n&&(w=await yi(`${Bf}?site=${b}&limit=150&articleAuthor=${encodeURIComponent(n)}`,{signal:m,source:"author-feed-fallback"})),w.data){let D=w.data,k=Array.isArray(D)?D:D.data||[];k.length>0&&(M=k.slice(0,150))}}catch(w){}return{articles:M.filter(C),complete:!m?.aborted&&y}}function Ev(e,t){let n=_f.get(e);if(n)return n;let a=Mv(t).then(l=>(l.complete&&l.articles.length>0&&xv(e,l.articles),l)).finally(()=>{_f.delete(e)});return _f.set(e,a),a}async function Dv(e,t){let n=await Mv(t);return n.complete&&n.articles.length>0&&xv(e,n.articles),n}async function _v({onBackgroundRefresh:e,onProgress:t,...n}){let a=bv(n),l=await Av(a);return l?(t?.(l.articles),l.isFresh||(n.signal?Dv(a,n):Ev(a,n)).then(({articles:o,complete:u})=>{u&&o.length>0&&e?.(o)}),l.articles):(await(n.signal?Dv(a,{...n,onProgress:t}):Ev(a,{...n,onProgress:t}))).articles}function Of(e,t){let n=e.shipping?.prime===!0,a=e.merchant?.name||e.merchant_name||e.retailer||"Retailer";typeof e.merchant=="string"&&(a=e.merchant);let l=null,i=0,r=String(e.model_id||e.id||"");if(r&&t)if(t[r]&&t[r].score!=null)l=parseFloat(t[r].score);else{let o=Object.values(t).find(u=>String(u.model_id)===r||String(u.id)===r);o&&o.score!=null&&(l=parseFloat(o.score))}return l!=null&&(i=Math.round((l>10?l/20:l/2)*2)/2),{isPrime:n,merchant:a,starRating:i>0?i:null}}function kf(e){let t=String(e.price||e.current_price||"0"),n=String(e.was_price||e.msrp||e.original_price||"0"),a=parseFloat(t.replace(/[^0-9.]/g,""))||0,l=parseFloat(n.replace(/[^0-9.]/g,""))||0,i=a===0||t==="0.00"||t==="0",r=e.currency&&typeof e.currency=="string"?e.currency:e.currency_symbol&&typeof e.currency_symbol=="string"?e.currency_symbol:"$",o=ee(e.percentage_saving_label||"");!o&&l>a&&a>0&&(o=Math.round((l-a)/l*100)+"% OFF");let u=r;return u.includes("&")&&(u.includes("36")?u="$":u.includes("163")||u.includes("pound")?u="\xA3":(u.includes("8364")||u.includes("euro"))&&(u="\u20AC")),{rawPrice:a,rawMsrp:l,currency:u,isCheckPrice:i,savingLabel:o}}function Bv({query:e,region:t,retailer:n,selectedBrands:a,offerType:l,priceRange:i,discountAmount:r,resultCount:o}){let u=new URL("https://search-api.fie.future.net.uk/widget.php");if(u.searchParams.append("model_name",e),t&&t!=="auto"&&u.searchParams.append("area",t),n&&u.searchParams.append("filter_merchant_name",n),a&&a.length>0&&u.searchParams.append("filter_label[text_brand]",a.join(",")),l&&u.searchParams.append("offer",l),i&&i!=="all"){if(i==="under50")u.searchParams.append("filter_max_price","50");else if(i==="over50")u.searchParams.append("filter_min_price","50");else if(i==="over30")u.searchParams.append("filter_min_price","30");else if(i==="over500")u.searchParams.append("filter_min_price","500");else if(i.includes("_")){let[c,s]=i.split("_");c&&u.searchParams.append("filter_min_price",c),s&&u.searchParams.append("filter_max_price",s)}}if(r&&r!=="0"){let c=(100-parseInt(r))/100;u.searchParams.append("min_discount_ratio",c.toString())}return u.searchParams.append("filter_product_types","deals"),u.searchParams.append("rows",String(o||"12")),u}function Nv(e){return e?.widget?.data?.offers?e.widget.data.offers:e?.data?.offers?e.data.offers:Array.isArray(e)?e:e?.offers?.offer?Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers?Array.isArray(e.offers)?e.offers:[e.offers]:[]}function Ov(e){let t=[];return e.forEach(n=>{let a=[];Array.isArray(n.offers)?a=n.offers:Array.isArray(n.offer)?a=n.offer:n.offers&&typeof n.offers=="object"?a=[n.offers]:n.offer&&typeof n.offer=="object"&&(a=[n.offer]),a.length>0?a.forEach(l=>{t.push({...n,...l})}):t.push(n)}),t}function kv(e){return e?.widget?.data?.model_info?e.widget.data.model_info:e?.data?.model_info?e.data.model_info:{}}var Lf=new Map,Q2=3e3,K2=["GB","US"],Lv=6,Z2=["brand","currency","fallbackImage","hasCommerceOffer","hawkPricePending","hawkListings","image","isCheckPrice","merchant","merchantId","modelId","msrp","price","productKey","productName","rawMsrp","rawPrice","savingLabel","title","url"];function Hf(e){return String(e||"").trim().toLowerCase()}function Gv(e){return e==="UK"?"GB":e}function Pv(e,t){let n=String(t||"").trim().toUpperCase(),l={AU:["A$","AUD"],CA:["CA$","CAD"],DE:["\u20AC","EUR"],ES:["\u20AC","EUR"],FR:["\u20AC","EUR"],GB:["\xA3","GBP","GB\xA3"],IT:["\u20AC","EUR"],NL:["\u20AC","EUR"],US:["$","USD","US$"]}[e];return!l||l.includes(n)}function Hv(e,t){return String(e.id||`hawk-deal-${t}`)}function W2(e){return e.map(t=>({...t,hasCommerceOffer:!1,hawkPricePending:!!t.hawkModelName,hawkListings:[],image:t.fallbackImage||t.image||"",isCheckPrice:!0,merchant:"",merchantId:"",msrp:"",price:"",productKey:"",rawMsrp:0,rawPrice:0,savingLabel:"",url:t.sourceArticleUrl||t.documentUrl||t.url}))}function I2(e){return Z2.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}function qv(e){return!!((e.isBuyingGuideProduct||e.isReviewProduct)&&e.hawkModelName)}function J2(e){return e.model_image_url||e.model_image||e.product_image||e.image_url||e.image||""}function Fv(e){return e.link||e.url||e.offer_link||""}function $2(e,t){let n=String(t.model_id||t.id||"");return n&&e[n]?e[n]:Object.values(e).find(a=>String(a?.model_id||a?.id||"")===n)||{}}function eS(e,t,n){let a=e.map(i=>{let r=kf(i),o=Of(i,t),u=Fv(i),c=ee(String(o.merchant||"")).trim();return!u||!c||r.rawPrice<=0||!Pv(n,r.currency)?null:{merchant:c,merchantId:typeof i.merchant=="object"?String(i.merchant?.id||""):"",modelId:String(i.model_id||""),offer:i,productKey:String(i.product_key||""),rawPrice:r.rawPrice,url:u}}).filter(i=>i!==null).sort((i,r)=>i.rawPrice-r.rawPrice||i.merchant.localeCompare(r.merchant)),l=new Set;return a.filter(i=>{let r=i.merchant.toLocaleLowerCase();return l.has(r)?!1:(l.add(r),!0)}).slice(0,4)}async function zv(e,t,n){let a=`${t}|${Hf(e)}`;return Lf.has(a)||Lf.set(a,(async()=>{let l;try{let i=new AbortController;l=setTimeout(()=>i.abort(),Q2);let r=await n(Bv({query:e,region:t,resultCount:12}).toString(),{signal:i.signal});if(!r.ok)return null;let o=await r.json(),u=Ov(Nv(o)),c=Hf(e),s=u.filter(A=>Hf(A.model_name||A.model)===c),f=s.length?s:u,d=f[0]||null;if(!d)return null;let m=kv(o),v=$2(m,d);return{brand:String(v?.brand||d.brand||"").trim(),modelInfo:m,offer:d,offers:f}}catch{return null}finally{l&&clearTimeout(l)}})()),Lf.get(a)}function Uv(e,t,n){return e.map(a=>{let l=String(a.hawkModelName);if(!qv(a)||!t.has(l))return a;let i=t.get(l);if(!i)return{...a,hawkPricePending:!1};let{offer:r}=i.lookup,o=kf(r),u=Of(r,i.lookup.modelInfo),c=J2(r),s=Fv(r),f=ee(String(r.model_name||r.model||a.hawkModelName||a.productName||a.title||"").trim()),d=!!(i.region===n&&s&&Pv(n,o.currency)),m=i.region===n?eS(i.lookup.offers,i.lookup.modelInfo,n).map(({offer:v,...A})=>A):[];return d?{...a,brand:i.lookup.brand||r.brand||a.brand,currency:o.currency||a.currency,fallbackImage:c?a.image:a.fallbackImage,hasCommerceOffer:!0,hawkPricePending:!1,hawkListings:m,image:c||a.image,isCheckPrice:o.isCheckPrice,merchant:u.merchant||a.merchant,merchantId:typeof r.merchant=="object"&&r.merchant?.id||"",modelId:r.model_id||"",msrp:o.rawMsrp>0?String(o.rawMsrp):"",price:o.rawPrice>0?String(o.rawPrice):"",productKey:r.product_key||"",productName:f||a.productName,rawMsrp:o.rawMsrp,rawPrice:o.rawPrice,savingLabel:o.savingLabel,title:f||a.title,url:s||a.url}:{...a,brand:i.lookup.brand||a.brand,fallbackImage:c?a.image:a.fallbackImage,hawkPricePending:!1,image:c||a.image,productName:f||a.productName,title:f||a.title}})}async function vi(e,t,n=fetch,a,l=[],i){let r=Gv(t),o=new Map,u=e.filter(qv).map(f=>String(f.hawkModelName)),c=new Set(u),s=Array.from(new Set([...l.filter(f=>c.has(f)),...u])).slice(0,a);for(let f=0;f<s.length;f+=Lv)await Promise.all(s.slice(f,f+Lv).map(async d=>{let m=await zv(d,r,n),v=m||r==="GB"?null:await zv(d,"GB",n);o.set(d,m?{lookup:m,region:r}:v?{lookup:v,region:"GB"}:null),i?.(Uv(e,o,r))}));return Uv(e,o,r)}async function jv(e,t=fetch){let n=W2(e),a=await Promise.all(K2.map(async i=>[i,await vi(n,i,t)])),l=new Map;return a.forEach(([i,r])=>{r.forEach((o,u)=>{if(!o.hasCommerceOffer)return;let c=Hv(o,u),s=l.get(c)||{};s[i]=I2(o),l.set(c,s)})}),e.map((i,r)=>{let o=l.get(Hv(i,r));return o?{...i,hawkRegionalCommerce:o}:i})}function zf(e,t){let n=Gv(t);return e.map(a=>{let l=a.hawkRegionalCommerce?.[n];return l?{...a,...l,hawkPricePending:!1}:a})}function Yv(e,t){let n=Array.from(new Set(e.map(i=>i.merchant).filter(Boolean))),a={};if(n.forEach(i=>{a[i]="loading"}),n.length===0)return{merchants:n,couponMap:a,couponUrl:null};let l=new URL("https://search-api.fie.future.net.uk/widget.php");return l.searchParams.append("model_name","Everything"),l.searchParams.append("filter_merchant_name",n.join(",")),l.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),l.searchParams.append("sort","voucher"),l.searchParams.append("rows","120"),l.searchParams.append("origin","widgets-clientside"),l.searchParams.append("combine_product_types","1"),l.searchParams.append("language","en-GB"),l.searchParams.append("all_filters","false"),l.searchParams.append("exclude_unlabelled","false"),l.searchParams.append("include_specs","false"),t&&t!=="auto"&&l.searchParams.append("area",t),{merchants:n,couponMap:a,couponUrl:l}}function Vv(e,t){let n=new URL("https://search-api.fie.future.net.uk/widget.php");return n.searchParams.append("model_name","Everything"),n.searchParams.append("language","en-GB"),t&&t!=="auto"&&n.searchParams.append("area",t),n.searchParams.append("combine_product_types","1"),n.searchParams.append("filter_merchant_name",e),n.searchParams.append("all_filters","false"),n.searchParams.append("exclude_unlabelled","false"),n.searchParams.append("include_specs","false"),n.searchParams.append("sort","voucher"),n.searchParams.append("distinct_merchants","natural"),n.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),n.searchParams.append("rows","50"),n.searchParams.append("origin","widgets-clientside"),n}function Uf(e,t,n=!0){if(!e?.length)return e||[];if(t==="date_desc"&&!n)return e;let a=[...e];return ln(a,t,n),a}function uc(e,t,n,a=!0){if(n!=="date_desc"||!e?.length)return t;let l=(c,s)=>String(c.id||s),i=new Map(t.map((c,s)=>[l(c,s),c])),r=new Set,o=e.flatMap((c,s)=>{let f=l(c,s);r.add(f);let d=i.get(f);return d?[d]:[]}),u=t.filter((c,s)=>!r.has(l(c,s)));return a?[...o.filter(nl),...u.filter(nl),...o.filter(c=>!nl(c)),...u.filter(c=>!nl(c))]:[...o,...u]}function Xv({activeDealTag:e,activeFreeformTag:t,clickedAuthorOverride:n,compactEmbed:a,compactInventoryExplored:l,compactLoadRequested:i,initialActiveDealTag:r,initialActiveFreeformTag:o,reviewInventoryBaked:u}){return!!(a&&u&&!n&&!i&&!l&&(!e||e===r)&&(!t||t===o))}var Qv=[0,50,100,150,200,250,300,350,400,450],Gf=4;function Kv(e){return(Array.isArray(e)?e:[e]).reduce((n,a)=>{if(typeof a!="string"||!a.trim())return n;let l=a.trim();return n.some(i=>i.toLowerCase()===l.toLowerCase())?n:[...n,l]},[])}function nS(e,t){return e.length===t.length&&e.every((n,a)=>n===t[a])}function Pf(e){return e.map(t=>t.trim().toLowerCase()).sort().join("|")}function qf(e){let t=e.initialData,n=Fu(e),a=!!(e.preloadReviewInventory&&!n),l=!!(e.preloadReviewInventory&&e.includeReviewProducts&&!e.compactEmbed),i=n?Number(e.resultCount)||12:100,r=n?!1:e.prioritiseCommercialProducts,o=wt(e.region),u=zf(t?.allDeals||t?.deals||[],o).filter(_=>P0(_,o)),c=wa(n?"date_desc":e.sort,!Or(e)),s=!!(e.priceRange&&e.priceRange!=="all")||!!(e.discountAmount&&e.discountAmount!=="0"&&e.discountAmount!=="all"),f=tl(t?.authorArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),d=tl(t?.authorInteractionArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),[m,v]=(0,N.useState)(()=>Uf(u,c,r)),[A,b]=(0,N.useState)(t?.totalDealCount??t?.allDeals?.length??t?.deals?.length??0),[h,g]=(0,N.useState)(t?.totalAuthorCount??t?.authors?.length??0),[p,y]=(0,N.useState)(!t),[C,R]=(0,N.useState)(!1),[T,M]=(0,N.useState)(!1),[w,D]=(0,N.useState)(!1),[k,se]=(0,N.useState)(t?.couponMap||{}),[I,j]=(0,N.useState)(f),[He,ze]=(0,N.useState)(f),[St,Ie]=(0,N.useState)(t?.tags||[]),[rn,Be]=(0,N.useState)(t?.tagCounts||{}),[Je,nt]=(0,N.useState)(t?.freeformTags||[]),[X,de]=(0,N.useState)(t?.freeformTagCounts||{}),[$e,Z]=(0,N.useState)(t?.brands||[]),[x,P]=(0,N.useState)(()=>{let _=t?.activeDealTag||e.query;return _&&_.toLowerCase()!=="everything"?_:null}),[Q,Vn]=(0,N.useState)(()=>Kv(t?.activeFreeformTags||t?.activeFreeformTag)),[jr,bi]=(0,N.useState)(f),[sc,ll]=(0,N.useState)(null),[at,Yr]=(0,N.useState)(!1),[il,Vr]=(0,N.useState)(""),[rl,Xr]=(0,N.useState)(""),[f1,g1]=(0,N.useState)(0),[Wt,dc]=(0,N.useState)(e.resultCount?parseInt(e.resultCount):12),[Xf,fc]=(0,N.useState)(!1),[m1,Qr]=(0,N.useState)(null),[gc,h1]=(0,N.useState)(!1),[mc,p1]=(0,N.useState)([0]),Kr=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`:""),hc=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}|age-${e.editorialMaxAgeMonths||"none"}`:""),y1=(0,N.useRef)(e.website||"tomsguide"),pc=(0,N.useRef)(e.website||"tomsguide"),Qf=(0,N.useRef)(u.length>0),Kf=(0,N.useRef)(null),ol=(0,N.useRef)(new Map),v1=(0,N.useRef)({activeDealTag:String(x||"").trim().toLowerCase(),freeformTags:Pf(Kv(t?.activeFreeformTags||t?.activeFreeformTag)),discountAmount:e.discountAmount,priceRange:e.priceRange}),Xn=(0,N.useRef)(!1),De=(0,N.useRef)(!1),Ai=(0,N.useRef)(!1),Zf=(_,oe,ne=at?il:e.authorHandle,we=at?rl:e.authorName)=>[e.website||"tomsguide",ne||"",we||"",wt(e.region),String(_||"").trim().toLowerCase(),Pf(oe),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),Wf=(_,oe)=>{let ne=v1.current;return!!(e.compactEmbed&&t?.brands?.length&&String(_||"").trim().toLowerCase()===ne.activeDealTag&&Pf(oe)===ne.freeformTags&&e.priceRange===ne.priceRange&&e.discountAmount===ne.discountAmount)},Zr=(_,oe)=>{let ne=ol.current.get(Zf(_,oe));if(ne){Z(ne);return}if(Wf(_,oe)){Z(t?.brands||[]);return}},ul=()=>Xn.current||n?void 0:e.productSelection;(0,N.useEffect)(()=>{ll(null)},[e.authorName,e.authorHandle]),(0,N.useLayoutEffect)(()=>{let _=e.website||"tomsguide";pc.current!==_&&(pc.current=_,v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),ol.current.clear(),se({}),Yr(!1),Vr(""),Xr(""),ll(null),P(null),Vn([]),g(0),b(0),M(!1),fc(!1),Qr(null),Ai.current=!1,R(!0),y(!0))},[e.website]),(0,N.useEffect)(()=>{e.compactEmbed||typeof document>"u"||setTimeout(()=>{document.dispatchEvent(new CustomEvent("processArticle"))},100)},[m,Wt,e.query,x,Q]),(0,N.useEffect)(()=>{e.resultCount&&(dc(parseInt(e.resultCount,10)||12),Qr(null))},[e.resultCount]),(0,N.useEffect)(()=>{Qr(null)},[x,Q,e.authorHandle,e.authorName,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands,e.sort]),(0,N.useEffect)(()=>{if(!t||!e.includeBuyingGuideProducts&&!e.includeReviewProducts||e.compactEmbed&&(De.current||e.refreshDealsOnViewport))return;let _=wt(e.region),oe=zf(t.allDeals||t.deals||[],_);if(_==="unavailable"){let It=oe.map(on=>(on.isBuyingGuideProduct||on.isReviewProduct)&&on.hawkModelName?{...on,hawkPricePending:!1}:on);ln(It,c,r),v(yn(It,ul(),c));return}let ne=al(oe,e.selectedBrands),we=Number(e.resultCount)||12,Ta=typeof navigator>"u"?void 0:navigator.connection,Ea=!Ta?.saveData&&!Ta?.effectiveType?.includes("2g")&&(!e.compactEmbed||!!e.warmInventory),Si=s?ne:t.reviewInventoryBaked?ne.slice(0,Wt+(Ea?we:0)):oe;if(!Si.some(It=>(It.isBuyingGuideProduct||It.isReviewProduct)&&It.hawkModelName))return;let sl=!0;return M(!0),vi(Si,_).then(It=>{if(!sl)return;let on=t.reviewInventoryBaked?lv(oe,It):It,Ir=al(on,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(lt=>(lt.isBuyingGuideProduct||lt.isReviewProduct)&&lt.hawkModelName?{...lt,hawkPricePending:!1}:lt);ln(Ir,c,r),v(yn(Ir,ul(),c)),Z(lt=>t?.brands?.length?lt:hf(lt,It))}).finally(()=>{sl&&M(!1)}),()=>{sl=!1}},[t,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,e.selectedBrands,e.discountAmount,e.priceRange,c,e.productSelection,Wt,e.resultCount,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,x,Q]),(0,N.useEffect)(()=>{let _=!0,oe=new AbortController,ne=Ai.current,we=!e.refreshDealsOnViewport&&Xv({activeDealTag:x,activeFreeformTag:Q[0]||null,clickedAuthorOverride:at,compactEmbed:e.compactEmbed,compactInventoryExplored:De.current,compactLoadRequested:gc,initialActiveDealTag:t?.activeDealTag,initialActiveFreeformTag:t?.activeFreeformTag,reviewInventoryBaked:t?.reviewInventoryBaked}),Ta=u.length>0,Ea=!!(n&&e.compactEmbed&&!De.current),Si=!!(Ea&&e.warmInventory&&I.length===0&&m.length>0),sl=!!(we||e.compactEmbed&&Ta&&I.length===0&&!at&&!gc&&!De.current&&!e.refreshDealsOnViewport&&(!n||!e.warmInventory));return!sl&&!ne&&!Si&&(R(!0),e.compactEmbed&&De.current&&v([])),(async()=>{D(!1),M(!1);let on=m.length>0||St.length>0||Je.length>0||$e.length>0,Ir=sl;try{if(!e.authorName&&!e.authorHandle){v([]),j([]),bi([]),Ie([]),nt([]),Z([]),ll(null),P(null),Vn([]),y(!0);return}let lt=at?il:e.authorHandle,Jr=at?rl:e.authorName,$r=`${e.website||"tomsguide"}|${lt||""}|${Jr||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`,yc=`${$r}|${e.compactEmbed&&x||""}|${e.compactEmbed?Q.join(","):""}|${e.compactEmbed&&De.current?"expanded":e.refreshDealsOnViewport?"viewport-refresh":"initial"}|lightweight-pages-${Ea?mc.join(","):"all"}|age-${e.editorialMaxAgeMonths||"none"}`,Jt=I,$f=St,U1=ev(Je,Q.length===1?Q[0]:null),eg=()=>({activeDealTag:x,activeFreeformTag:Q[0]||null,activeFreeformTags:Q,preserveFreeformTagSelection:!!(e.compactEmbed&&Q.length),authorHandle:lt,authorName:Jr,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,priceRange:e.priceRange,prioritiseCommercialProducts:r,productSelection:ul(),query:e.query,region:e.region,selectedArticleId:sc,selectedBrands:e.selectedBrands,sort:c,website:e.website}),tg=hc.current!==yc||Jt.length===0,Da=[],vc=!1,ng=(me,zt=!1)=>{if(!_||zt&&vc)return;let bn=al(me,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange});ln(bn,c,r);let Di=yn(bn,ul(),c);v(uc(Da,Di,c,r))};if(Ir){y(!1),R(!1);return}if(tg){let me=Kr.current.split("|")[0],zt=e.website||"tomsguide",bn=!!(Kr.current&&me!==zt);!ne&&!Si&&R(!!e.compactEmbed||!on),bn&&(Jt=[],$f=[],v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),se({}),Yr(!1),Vr(""),Xr(""),y(!0));let Di=Qf.current&&Kr.current===$r&&Jt.length===0&&!De.current;Qf.current=!1,!Di&&!on&&y(!0);let lo=Ba=>{if(!_||Ba.length===0)return;let fe=eg(),it=Cf(Ba,fe),{displayedDeals:io}=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);io.length!==0&&(Da=io,v(Da),y(!1),e.includeReviewProducts&&Nf(it.targetArticles,e.website||"tomsguide",Math.min(Wt,Gf),c).then(()=>{if(!_||vc)return;let An=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);Da=An.displayedDeals,v(Da);let xi=An.displayedDeals.filter(dt=>dt.isReviewProduct&&dt.hawkModelName).slice(0,Gf).map(dt=>String(dt.hawkModelName));vi(An.extractedDeals,it.activeRegionCode,void 0,Gf,xi,dt=>ng(dt,!0))}))};if(Jt=await _v({authorHandle:lt,authorName:Jr,fallbackAuthorName:e.authorName,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,articleCategory:e.compactEmbed&&x||void 0,articleTag:e.compactEmbed?U1:void 0,pageStarts:e.compactEmbed&&!e.warmInventory&&!De.current?[0]:void 0,reviewPageStarts:e.includeReviewProducts?Ea?mc:!e.compactEmbed||De.current?Qv:void 0:void 0,loadAllReviewPages:!Ea,throwOnFailure:!!(e.compactEmbed&&De.current),onBackgroundRefresh:Ba=>{if(!_||hc.current!==yc)return;let fe=tl(Ba,void 0,Number(e.editorialMaxAgeMonths)||0);j(fe),at||ze(fe),g1(it=>it+1)},onProgress:lo,signal:oe.signal,website:e.website}),!_)return;if(Jt=tl(Jt,void 0,Number(e.editorialMaxAgeMonths)||0),Kr.current=$r,hc.current=yc,Di&&Jt.length===0){y(!1);return}_&&(j(Jt),at||ze(Jt),R(!1))}let eo=eg(),G1=Cf(Jt,eo),{activeDealTag:xa,activeRegionCode:Ci,authorArticles:ag,activeFreeformTags:Ma,freeformTagCounts:lg,freeformTags:to,tagCounts:ig,tags:Ri,targetArticles:_a,targetIso:P1}=G1,Ti=e.compactEmbed&&x&&!xa?x:xa,Ei=e.compactEmbed&&Q.length>0&&Ma.length===0?Q:Ma,q1=Ri.length>0?Ri:Ti?[Ti]:Ri,F1=to.length>0?to:Ei.length>0?t?.freeformTags?.filter(me=>Ei.includes(me.handle))||[]:to,j1={...ig,...Ti&&!xa?{[Ti]:0}:{}},Y1={...lg,...Object.fromEntries(Ma.length===0?Ei.map(me=>[me,0]):[])},no=Zf(xa,Ma,lt,Jr),rg=[$r,Ci,xa||"",Ma.join(","),e.selectedBrands.join(","),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),dl=null,fl=null;if(!at){let me=Kf.current;if(me?.key===rg&&me.articleCount===_a.length)dl=me.deals.length,fl=me.authorCount;else{let zt=dv(_a,eo);dl=zt.deals.length,fl=zt.authorCount,Kf.current={articleCount:_a.length,authorCount:fl,deals:zt.deals,key:rg}}}$f=Ri;let Ht;_&&(Ie(q1),Be(j1),nt(F1),de(Y1)),e.includeReviewProducts&&await Nf(_a,e.website||"tomsguide",l?Math.min(_a.length,i):Wt,c);let{brands:bc,displayedDeals:Ac,extractedDeals:ao}=ic(_a,eo,Ci,P1),{merchants:V1,couponMap:wc,couponUrl:X1}=Yv(Ac,e.region);_&&se(wc);let Q1=me=>{!_||!Ht||(Ht={...Ht,couponMap:me},window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht))};if(hv({couponMap:wc,couponUrl:X1,merchants:V1}).then(me=>{_&&(se(me),Q1(me))}),_){tg&&P(Ti),nS(Q,Ei)||Vn(Ei),bi(ag);let me=uc(Da,Ac,c,r);if(vc=!0,v(me),dl!==null){let zt=t?.totalDealCount||0,bn=Ea&&zt>dl;b(bn?zt:dl),g(bn?Math.max(t?.totalAuthorCount||0,fl||0):fl||0)}!ol.current.has(no)&&Wf(xa,Ma)&&ol.current.set(no,t?.brands||[]),Z(ol.current.get(no)||bc),y(!1),Ht=fv({allArticles:Jt,authorArticles:ag,bakeReviewInventory:a&&!e.compactEmbed,brands:bc,couponMap:wc,currentDealTag:xa,currentFreeformTags:Ma,displayedDeals:me,inventoryArticles:_a,options:eo,resultCount:e.resultCount,tagCounts:ig,tags:Ri,freeformTagCounts:lg,freeformTags:to,totalAuthorCount:fl??h,totalDealCount:dl??A}),window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht)}if((e.includeBuyingGuideProducts||e.includeReviewProducts)&&Ci!=="unavailable"){let me=Wt,zt=l?ao.filter(fe=>fe.isReviewProduct&&fe.hawkModelName).slice(0,i).map(fe=>String(fe.hawkModelName)):[],bn=Ac.filter(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName).map(fe=>String(fe.hawkModelName));ao.some(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName)&&M(!0);let lo=vi(ao,Ci,void 0,s?void 0:e.includeReviewProducts?l?i:me:void 0,[...zt,...bn],ng).then(async fe=>{if(!_)return;let it=al(fe,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(dt=>(dt.isBuyingGuideProduct||dt.isReviewProduct)&&dt.hawkModelName?{...dt,hawkPricePending:!1}:dt);ln(it,c,r);let io=yn(it,ul(),c),An=uc(Da,io,c,r),xi=hf(bc,fe);if(ol.current.set(no,xi),v(An),Z(xi),s&&b(it.length),Ht){let dt=a&&!e.compactEmbed,og=l,ug=dt?ac(An,Number(e.resultCount)||12):og?An.slice(0,i):An,K1=og?await jv(ug):ug;if(!_)return;let Sc={...Ht,allDeals:K1,deals:An.slice(0,me),brands:xi,totalDealCount:s?it.length:Ht.totalDealCount};Ht=Sc,window.__AUTHOR_PRELOAD_DATA__=Sc,e.onDataLoaded&&e.onDataLoaded(Sc)}}).finally(()=>{_&&M(!1)}),Ba=ao.slice(me,me+(Number(e.resultCount)||12));e.includeReviewProducts&&e.warmInventory&&!s&&!ne&&Ba.some(fe=>fe.hawkModelName)&&lo.then(()=>{_&&vi(Ba,Ci)}),ne&&await lo}}catch(lt){_&&D(!0)}finally{_&&(y(!1),R(!1),fc(!1),Ai.current=!1)}})(),()=>{_=!1,oe.abort()}},[e.query,e.region,e.selectedBrands,e.website,e.resultCount,Wt,c,e.priceRange,e.discountAmount,x,Q,e.authorName,e.authorHandle,e.website,e.authorBioLength,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,s,a,l,i,r,n,mc,e.productSelection,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,e.editorialMaxAgeMonths,sc,at,il,rl,f1,gc]);let Wr=e.website||"tomsguide",st=pc.current!==Wr,Ra=(0,N.useMemo)(()=>st?[]:y1.current===Wr&&t?.authors?t.authors:Lr(He.length>0?He:I,Wr),[I,Wr,He,t?.authors,st]),b1=at?il:e.authorHandle,A1=at?rl:e.authorName,w1=Ra.find(_=>_.handle===b1||_.fullName===A1),cl=He.length>0?He:I,If=(0,N.useMemo)(()=>{if(cl.length===0)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q),we=Sf(Ra,ne,{activeRegionCode:_,targetIso:oe,selectedBrands:e.selectedBrands,priceRange:e.priceRange,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website});return Yu(Ra,we)},[x,Q,Ra,cl,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands]),S1=(0,N.useMemo)(()=>{if(st)return[];if(cl.length===0&&t?.authors?.length||e.compactEmbed&&!x&&Q.length===0&&t?.authors?.length)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q).filter(we=>mi([we],{activeRegionCode:_,targetIso:oe,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website}).length>0);return kr(If,ne)},[x,Q,cl,st,at,t?.authors?.length,e.compactEmbed,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,If,e.website]),Jf=(_,oe)=>{let ne=He.length>0?He:I.length>0?I:d;if(ne.length===0)return;let we=yv(ne,{authorHandle:_,authorName:oe,discountAmount:e.discountAmount,priceRange:e.priceRange,region:e.region,selectedBrands:e.selectedBrands,sort:c,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,prioritiseCommercialProducts:r,website:e.website,productSelection:void 0});ll(null),P(null),Vn([]),bi(we.authorArticles),Ie(we.tags),Be(we.tagCounts),nt(we.freeformTags),de(we.freeformTagCounts),Z(we.brands),v(we.deals),y(!1)},C1=()=>{!e.compactEmbed||!t||(v(yn(Uf(t.deals||t.allDeals||[],c,r),ul(),c)),Ie(t.tags||[]),Be(t.tagCounts||{}),nt(t.freeformTags||[]),de(t.freeformTagCounts||{}),Z(t.brands||[]),se(t.couponMap||{}),g(t.totalAuthorCount??t.authors?.length??0),b(t.totalDealCount??t.deals?.length??t.allDeals?.length??0))},R1=_=>{Xn.current=!0,De.current=!0,R(!0),at&&(il===_.handle||rl===_.fullName)?(e.compactEmbed&&t?C1():Jf(e.authorHandle,e.authorName),Yr(!1),Vr(""),Xr("")):(Jf(_.handle,_.fullName),Yr(!0),Vr(_.handle),Xr(_.fullName)),e.onQueryChange?.("")},T1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=x===_?null:_;Zr(oe,Q),P(oe),e.onQueryChange?.("")},E1=()=>{Xn.current=!0,De.current=!0,R(!0)},D1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(null,Q),P(null),e.onQueryChange?.("")},x1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=Q.some(ne=>ne.toLowerCase()===_.toLowerCase())?Q.filter(ne=>ne.toLowerCase()!==_.toLowerCase()):[...Q,_];Zr(x,oe),Vn(oe)},M1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(x,[]),Vn([])},_1=_=>{Xn.current=!0,De.current=!0,R(!0),ll(_)},B1=()=>{if(Ai.current)return;Ai.current=!0,fc(!0);let _=Wt+(e.resultCount?parseInt(e.resultCount,10):12);!!(n&&e.compactEmbed&&!De.current)&&I.length>0&&m.length<_&&p1(we=>{let Ta=Qv[we.length];return Ta===void 0?we:[...we,Ta]}),dc(we=>(Qr(we),we+(e.resultCount?parseInt(e.resultCount,10):12)));let ne=!!(t?.reviewInventoryBaked&&m.length>Wt);e.compactEmbed&&I.length===0&&!ne&&(R(!0),h1(!0))},wi=e.compactEmbed&&!e.refreshDealsOnViewport,N1=wi&&t?.tags?.length?t.tags:St,O1=wi&&t?.tags?.length?t.tagCounts||{}:rn,k1=wi&&!De.current&&t?.brands?.length?t.brands:$e,L1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTags:Je,H1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTagCounts||{}:X,z1=pv({enrichingBuyingGuides:T,error:w,loading:p,loadingMore:Xf,refreshingFeed:C});return{activeDealTag:x,activeFreeformTags:Q,airedaleBrands:st?[]:k1,airedaleTagCounts:st?{}:O1,airedaleTags:st?[]:N1,airedaleFreeformTagCounts:st?{}:H1,airedaleFreeformTags:st?[]:L1,allAuthorsList:S1,authorArticlesList:st?[]:jr,clickedAuthorOverride:at,couponMap:k,deals:st?[]:m,displayCount:Wt,error:w,enrichingBuyingGuides:T,effectiveAuthorProfile:st?void 0:w1,loading:p,loadingMore:Xf,loadMoreStartCount:m1,markProductSelectionInteracted:E1,hasMore:m.length>Wt||!!e.compactEmbed&&A>m.length,loadMore:B1,refreshingFeed:C,overriddenAuthorHandle:il,overriddenAuthorName:rl,selectedArticleId:sc,setActiveDealTag:P,clearDealTag:D1,clearFreeformTags:M1,selectArticle:_1,setDisplayCount:dc,setSelectedArticleId:ll,status:z1,toggleAuthorOverride:R1,toggleDealTag:T1,toggleFreeformTag:x1,totalAuthorCount:st?0:h,totalDealCount:st?0:A}}var aS=B(ft(),1);var Fr=B(ft(),1);function Zv(e){let[t,n]=(0,Fr.useState)(null),[a,l]=(0,Fr.useState)([]),[i,r]=(0,Fr.useState)(!1),[o,u]=(0,Fr.useState)(!1);return{close:()=>n(null),error:o,loading:i,merchant:t,open:async f=>{n(f),r(!0),u(!1),l([]);try{let d=Vv(f,e),m=await fetch(d.toString());if(!m.ok)throw new Error("API Error");l(mv(await m.json()))}catch(d){u(!0)}finally{r(!1)}},vouchers:a}}var je=B(O(),1);function lS(e){return new Set(e.map(t=>Array.isArray(t.authorName)?t.authorName[0]:t.authorName).map(t=>String(t||"").trim().toLowerCase()).filter(Boolean)).size}var iS=new Map,rS=()=>{};function Iv({data:e,editorBar:t,editorMode:n=!1,props:a,selectedDeals:l=iS,setSelectedDeals:i=rS}){let r=Zv(a.region),[o,u]=(0,Wv.useState)(new Set),c=p0[a.website||""]||"#1F69FF",s=a.backgroundColor?a.backgroundColor==="white"?"#ffffff":a.backgroundColor==="transparent"?"transparent":a.backgroundColor==="light_blue"?"#E7F0FF":void 0:void 0,f=Vu(a.authorHandle,a.authorName),d=Or(a),m=Fu(a),v=wa(m?"date_desc":a.sort,!d),A=!!(a.showReviewSort&&a.includeReviewProducts),b=a.showPriceDiscountFilters!==!1||A,h=!a.authorFullBleed,g=!e.clickedAuthorOverride,p=e.totalDealCount||e.deals.length,y=e.totalAuthorCount||lS(e.deals),C=e.status==="loading_inventory"||e.status==="refreshing_inventory"||e.status==="enriching_visible_cards",R=e.status==="loading_inventory"||(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards")&&e.deals.length===0,M=!!(a.showReviewSort&&a.includeReviewProducts&&(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards"))?"Loading and sorting available review products":e.status==="enriching_visible_cards"?"Adding live product images and prices":e.status==="refreshing_inventory"?"Updating products":`Loading ${a.website||"site"} authors and products`,w=j=>{e.markProductSelectionInteracted(),a.onBrandToggle?.(j)},D=j=>{e.markProductSelectionInteracted(),a.onBrandSelect?.(j)},k=j=>{e.markProductSelectionInteracted(),a.onPriceRangeChange?.(j)},se=j=>{e.markProductSelectionInteracted(),a.onDiscountAmountChange?.(j)},I=j=>{e.markProductSelectionInteracted(),a.onSortChange?.(j)};return(0,je.jsx)("div",{className:"tg-df-widget-host",style:{"--tg-df-blue":c.toUpperCase()==="#FFFFFF"?"#000000":c},"data-vizualizer-embed":"true","data-tg-df-full-bleed":a.authorFullBleed?"true":"false","data-tg-df-mobile-dropdowns":a.mobileDropdowns?"true":"false","data-tg-df-sticky-mobile-filters":a.stickyMobileFilters===!1?"false":"true",children:(0,je.jsxs)("div",{className:"tg-df-container article-body",style:a.backgroundColor?{backgroundColor:s}:void 0,children:[(a.showAuthorIdentity!==!1||a.showAuthorBio!==!1)&&(0,je.jsx)("div",{className:"tg-df-author-embed",style:{width:"100%",fontFamily:"inherit"},children:(0,je.jsx)("div",{className:"tg-df-author-section",style:{display:"block",opacity:1,overflow:"visible",background:"transparent",border:"none"},children:(0,je.jsx)(U0,{authorArticlesList:e.authorArticlesList,authorBioLength:a.authorBioLength,customBio:g?a.customBio:void 0,customHeaderKicker:a.customHeaderKicker,customHeaderTitle:a.customHeaderTitle,effectiveAuthorHandle:e.clickedAuthorOverride?e.overriddenAuthorHandle:a.authorHandle,effectiveAuthorName:e.clickedAuthorOverride?e.overriddenAuthorName:a.authorName,isReviewWidget:d,onBioChange:g?a.onBioChange:void 0,onHeaderKickerChange:a.onHeaderKickerChange,onHeaderTitleChange:a.onHeaderTitleChange,selectedProfile:e.effectiveAuthorProfile,showAuthorBio:a.showAuthorBio,showAuthorIdentity:a.showAuthorIdentity,showSocialButtons:a.showSocialButtons,stabilizeBio:f,authorCount:y,totalDealCount:p,website:a.website})})}),t,a.showCollectionsDropdown&&(0,je.jsx)(r0,{articles:e.authorArticlesList,authorHandle:a.authorHandle,authorName:a.authorName||a.author,onChange:e.selectArticle,selectedArticleId:e.selectedArticleId,shortenedHeadlines:a.shortenedHeadlines}),C&&(0,je.jsxs)("div",{role:"status","aria-live":"polite","aria-label":M,style:{alignItems:"center",display:"flex",justifyContent:"center",marginBottom:"16px",minHeight:"72px"},children:[(0,je.jsx)("span",{className:"tg-df-coupon-spinner","aria-hidden":"true",style:{borderWidth:"3px",height:"24px",width:"24px"}}),(0,je.jsxs)("span",{style:{color:"#4B5563",fontSize:"14px",marginLeft:"10px"},children:[M,"\u2026"]})]}),(0,je.jsx)(_0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,allAuthorsList:e.allAuthorsList,brands:a.brands,clickedAuthorOverride:e.clickedAuthorOverride,loading:e.loading,refreshing:e.refreshingFeed,onAuthorClick:e.toggleAuthorOverride,onBrandToggle:w,onFreeformTagClick:e.toggleFreeformTag,onTagClick:e.toggleDealTag,overriddenAuthorHandle:e.overriddenAuthorHandle,overriddenAuthorName:e.overriddenAuthorName,selectedBrands:a.selectedBrands,showAuthorRail:f&&a.showAuthorRail!==!1,showAuthorCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,website:a.website}),(0,je.jsx)(k0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,brands:a.brands,discountAmount:a.discountAmount,enabled:a.mobileDropdowns||h,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,onPriceRangeChange:k,onReviewSortChange:I,onTagClear:e.clearDealTag,onTagClick:e.toggleDealTag,priceRange:a.priceRange,reviewSort:v,selectedBrands:a.selectedBrands||[],showCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),b&&(0,je.jsx)(L0,{airedaleBrands:e.airedaleBrands,airedaleTags:e.airedaleTags,discountAmount:a.discountAmount,hidden:!!e.selectedArticleId,onDiscountAmountChange:se,onPriceRangeChange:k,onReviewSortChange:I,priceRange:a.priceRange,reviewSort:v,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),(0,je.jsx)(i0,{articles:e.authorArticlesList,selectedArticleId:e.selectedArticleId}),(a.showCategoryRail!==!1||a.showFreeformTagRail!==!1||a.showBrandRail!==!1)&&(0,je.jsx)(a0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleTags:e.airedaleTags,freeformTags:e.airedaleFreeformTags,discountAmount:a.discountAmount,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onPriceRangeChange:k,onTagClear:e.clearDealTag,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,priceRange:a.priceRange,selectedBrands:a.selectedBrands||[]}),(0,je.jsx)(w0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,couponMap:e.couponMap,deals:e.deals,displayCount:e.displayCount,editorMode:n,error:e.error,expandedDealIds:o,hasMore:e.hasMore,hideHawkPrices:a.hideHawkPrices,loading:R,loadingMore:e.loadingMore,loadMoreStartCount:e.loadMoreStartCount,onDescriptionToggle:j=>u(He=>{let ze=new Set(He);return ze.has(j)?ze.delete(j):ze.add(j),ze}),onLoadMore:e.loadMore,onOpenVouchers:r.open,query:a.query,recentDealsOnly:!!(a.includeDeals&&!a.includeCollections&&!a.includeBuyingGuideProducts&&!a.includeReviewProducts),selectedBrands:a.selectedBrands,selectedDeals:l,setSelectedDeals:i,website:a.website}),(0,je.jsx)(G0,{error:r.error,loading:r.loading,merchant:r.merchant,onClose:r.close,vouchers:r.vouchers})]})})}var $v=B(O(),1),Jv=e=>{let t={...e,editorMode:!1},n=qf(t);return(0,$v.jsx)(Iv,{data:n,props:t})};var U={authorBioLength:"short",authorFullBleed:!0,authorHandle:"all-authors",authorName:"All authors",backgroundColor:"transparent",customBio:"",customHeaderKicker:void 0,customHeaderTitle:void 0,discountAmount:"0",editorMode:!1,editorialMaxAgeMonths:"12",includeBuyingGuideProducts:!0,includeCollections:!0,includeDeals:!0,includeReviewProducts:!1,mobileDropdowns:!0,stickyMobileFilters:!0,offerType:"",preloadReviewInventory:!1,lightweightReviewDelivery:!1,hideHawkPrices:!1,prioritiseCommercialProducts:!0,priceRange:"all",productSelection:"latest",query:"Everything",region:"auto",resultCount:"12",retailer:"",selectedBrands:[],showAuthorBio:!0,showAuthorCounters:!0,showAuthorIdentity:!0,showAuthorRail:!0,showBrandRail:!0,showCategoryRail:!0,showCollectionsDropdown:!1,showPriceDiscountFilters:!0,showReviewSort:!1,showSocialButtons:!0,showCountdown:!1,showHeaderDetails:!0,showFreeformTagRail:!0,sort:"date_desc",viewMode:"author",website:"whowhatwear",widgetSubtitle:"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.",widgetTitle:"Top Deals Handpicked by Our Editors"};function We(e,t){return typeof e=="string"?e:t}function Ae(e,t){return typeof e=="boolean"?e:t}function e1(e){let t=e||{},n=t.authorBioLength==="long"?"long":"short",a=t.productSelection==="mix"?"mix":"latest";return{...U,...t,authorBioLength:n,authorFullBleed:Ae(t.authorFullBleed,U.authorFullBleed),authorHandle:We(t.authorHandle,U.authorHandle),authorName:We(t.authorName,U.authorName),backgroundColor:We(t.backgroundColor,U.backgroundColor),customBio:We(t.customBio,U.customBio),customHeaderKicker:typeof t.customHeaderKicker=="string"?t.customHeaderKicker:void 0,customHeaderTitle:typeof t.customHeaderTitle=="string"?t.customHeaderTitle:void 0,discountAmount:We(t.discountAmount,U.discountAmount),editorMode:Ae(t.editorMode,U.editorMode),editorialMaxAgeMonths:We(t.editorialMaxAgeMonths,U.editorialMaxAgeMonths),includeBuyingGuideProducts:Ae(t.includeBuyingGuideProducts,U.includeBuyingGuideProducts),includeCollections:Ae(t.includeCollections,U.includeCollections),includeDeals:Ae(t.includeDeals,U.includeDeals),includeReviewProducts:Ae(t.includeReviewProducts,U.includeReviewProducts),mobileDropdowns:Ae(t.mobileDropdowns,U.mobileDropdowns),stickyMobileFilters:Ae(t.stickyMobileFilters,U.stickyMobileFilters),offerType:We(t.offerType,U.offerType),preloadReviewInventory:Ae(t.preloadReviewInventory,U.preloadReviewInventory),lightweightReviewDelivery:Ae(t.lightweightReviewDelivery,U.lightweightReviewDelivery),hideHawkPrices:Ae(t.hideHawkPrices,U.hideHawkPrices),prioritiseCommercialProducts:Ae(t.prioritiseCommercialProducts,U.prioritiseCommercialProducts),priceRange:We(t.priceRange,U.priceRange),productSelection:a,query:We(t.query,U.query),region:We(t.region,U.region),resultCount:We(t.resultCount,U.resultCount),retailer:We(t.retailer,U.retailer),selectedBrands:Array.isArray(t.selectedBrands)?t.selectedBrands.filter(l=>typeof l=="string"):[],showAuthorBio:Ae(t.showAuthorBio,U.showAuthorBio),showAuthorCounters:Ae(t.showAuthorCounters,U.showAuthorCounters),showAuthorIdentity:Ae(t.showAuthorIdentity,U.showAuthorIdentity),showAuthorRail:Ae(t.showAuthorRail,U.showAuthorRail),showBrandRail:Ae(t.showBrandRail,U.showBrandRail),showCategoryRail:Ae(t.showCategoryRail,U.showCategoryRail),showCollectionsDropdown:Ae(t.showCollectionsDropdown,U.showCollectionsDropdown),showPriceDiscountFilters:Ae(t.showPriceDiscountFilters,U.showPriceDiscountFilters),showReviewSort:Ae(t.showReviewSort,U.showReviewSort),showSocialButtons:Ae(t.showSocialButtons,U.showSocialButtons),showCountdown:Ae(t.showCountdown,U.showCountdown),showHeaderDetails:Ae(t.showHeaderDetails,U.showHeaderDetails),showFreeformTagRail:Ae(t.showFreeformTagRail,U.showFreeformTagRail),sort:We(t.sort,U.sort),viewMode:We(t.viewMode,U.viewMode),website:We(t.website,U.website),widgetSubtitle:We(t.widgetSubtitle,U.widgetSubtitle),widgetTitle:We(t.widgetTitle,U.widgetTitle)}}function t1(e,t={}){return{...e,brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}}function n1(e,t){try{window.hawk?.analytics?.freyr?.push({name:e,data:t}),window.dispatchEvent(new CustomEvent("hawk-analytics-update")),window.freyr?.cmd.push(()=>{window.freyr?.pushAndUpdate?.(e,t)})}catch{}}function a1(){window.dataLayer=window.dataLayer||[],window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.hawk=window.hawk||{},window.hawk.analytics=window.hawk.analytics||{},window.hawk.analytics.freyr=window.hawk.analytics.freyr||[],window.freyr=window.freyr||{cmd:[]},window.freyr.cmd=window.freyr.cmd||[];let e="https://freyr.futurecdn.net/freyr.js",t=window.location.hostname;if(!(window.navigator.webdriver||window.navigator.userAgent.includes("Headless"))&&!!t&&t!=="localhost"&&t!=="127.0.0.1"&&!t.includes("run.app")&&!document.querySelector(`script[src="${e}"]`)){let l=document.createElement("script");l.src=e,l.async=!0,document.head.appendChild(l)}}function oS(e){let t=Number.parseFloat(e.rawPrice||e.price)||null,n=Number.parseFloat(e.rawMsrp||e.msrp)||null;return{product:{primary:{id:e.externalProductId||e.id||e.matchId||null,name:e.productName||e.title||"",type:"deal",price:t,previousPrice:n,currency:e.isoCurrencyCode||e.currency||"USD",preorder:!1,labels:e.modelBrand||e.brand?[{type:"brand",value:e.modelBrand||e.brand}]:[],link:e.url||null,originalLink:e.originalLink||e.url||null,revenueId:e.revenueId||null,startTime:null,endTime:null,voucherCode:null,voucherAudience:null,voucherPercentageSaving:n&&t&&n>t?Math.round((1-t/n)*100):null,voucherMoneySaving:null,voucherType:null,offerExclusive:!1,offerScope:null,globalId:e.productKey||null,inStock:e.inStock!==!1,contractProvider:null,contractMinutes:null,contractTexts:null,contractData:null,contractLength:null,contractMonthlyPrice:null,contractCurrency:e.isoCurrencyCode||e.currency||"USD"}},merchant:{id:e.merchantId||null,name:e.merchant||"Retailer",url:e.merchantUrl||null,network:e.merchantNetwork||null},model:{id:e.modelId||null,brand:e.modelBrand||e.brand||null,name:e.productName||e.title||"",parent:e.modelParent||null}}}var uS=new Set(["subid1","ascsubtag","clickref","u1"]);function cS(e){return e.match(/(?:^|[-_])(\d{10,})(?=$|[-_])/)?.[1]||null}function sS(e){let t=new Set,n=a=>{if(!a||t.has(a))return null;t.add(a);let l;try{l=new URL(a)}catch{return null}for(let[i,r]of l.searchParams)if(uS.has(i.toLowerCase())){let o=cS(r);if(o)return o}for(let i of l.searchParams.values())if(/^https?:\/\//i.test(i)){let r=n(i);if(r)return r}return null};return n(e)}function l1({areaClicked:e,clickType:t,deals:n,index:a,queryName:l}){let i={event:"hawkEvent",category:"Affiliates",affiliate:{action:{type:t,id:"author-widget",event:t==="appeared"?"viewed":"Click from",timestamp:Date.now()},component:{flag:"Editor",product:"deals",category:"Signal Deal Finder Author widget",type:t==="appeared"?"review":"signal product",label:l||n[0]?.productName||n[0]?.title||"",index:a??-1,linkCount:n.length,blockLayout:"",areaClicked:e}},products:n.slice(0,20).map(oS),reviews:[],_clear:!0,"gtm.uniqueEventId":Date.now()%1e4};n1("hawkEvent",i)}function i1(e,t){e.length&&l1({areaClicked:"",clickType:"appeared",deals:e,index:null,queryName:t})}function r1(e,t){if(e?.deals?.length)return e.deals;let n=Number(t)||12;return e?.allDeals?.slice(0,n)||[]}function o1(e){e.addEventListener("click",t=>{let n=t.target;if(!(n instanceof Element))return;let a=n.closest("a[data-fcaw-affiliate-link][href], a.hawk-affiliate-link-deal-widget[href], a.hawk-affiliate-link-container[href], a.hawk-affiliate-link-deal-button[href]"),l=n.closest(".tg-df-card"),i=!!(!a?.dataset.fcawRevenueId&&(a?.hasAttribute("data-hl-processed")||a?.hasAttribute("data-fcaw-hawklinks-requested")));a&&l&&!i&&l1({areaClicked:"Signal Product Card",clickType:"retailer",deals:[{brand:l.dataset.brand,currency:l.dataset.currency,id:l.dataset.dealId,merchant:a.dataset.merchant||l.dataset.merchant,merchantId:a.dataset.merchantId||l.dataset.merchantId,modelId:a.dataset.modelId||l.dataset.modelId,productKey:a.dataset.productKey||l.dataset.productKey,rawMsrp:l.dataset.previousPrice,rawPrice:l.dataset.price,originalLink:a.dataset.fcawOriginalLink||a.href,revenueId:a.dataset.fcawRevenueId||sS(a.href),title:l.dataset.productName,url:a.href}],index:Array.from(e.querySelectorAll(".tg-df-card")).indexOf(l)});let r=n.closest('button, select, [role="button"]');r&&n1("elementInteraction",{element:{action:"click",id:r.id||void 0,class:r.className||void 0,name:r.getAttribute("name")||r.getAttribute("aria-label")||void 0,text:r.textContent?.trim()||void 0,label:r.getAttribute("aria-label")||void 0}})})}var Vf=B(O(),1),dS='fc-author-commerce-widget[data-fcaw-version="1"]',fS="(max-width: 599px)",gS=600,mS='[class*="membership-expandable-banner"]',hS=/^jump\s+to\b/i,jf="data-fcaw-jump-navigation-suppressed",pS=50,yS=1e4,vS=["[data-sticky-header]","[data-header-sticky]",'[role="banner"]',".navigation__container",".site-header",".main-header",".header__container",'[class*="membership-expandable-banner"] [class*="skinny-banner"]','[class*="membership-expandable-banner"] [id="skinnyBanner"]',"nav","header"].join(","),bS=`  :host {    display: block !important;    width: 100% !important;    min-width: 0 !important;    max-width: none !important;    isolation: isolate !important;    contain: style !important;  }  :host([data-fcaw-full-bleed="true"]) {    width: min(      1200px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1200px !important;    margin-left: var(      --fcaw-full-bleed-offset,      calc(50% - min(600px, 50vw))    ) !important;    margin-right: 0 !important;    position: relative !important;  }  :host([data-fcaw-full-bleed="true"]) #tg-df-spreadsheet-filters {    width: min(      1500px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1500px !important;    margin-left: calc(      (        100% -        min(1500px, var(--fcaw-viewport-width, 100vw))      ) / 2    ) !important;    margin-right: 0 !important;  }  :host, :host *, :host *::before, :host *::after {    box-sizing: border-box;  }`,Ff=new WeakMap;function AS(){if(document.querySelector("style[data-fcaw-jump-navigation-protection]"))return;let e=document.createElement("style");e.setAttribute("data-fcaw-jump-navigation-protection",""),e.textContent=`    [${jf}="true"] {      opacity: 0 !important;      pointer-events: none !important;      visibility: hidden !important;    }  `,document.head.appendChild(e)}function wS(){let e=Array.from(document.querySelectorAll("span, p, div, strong, b")).filter(n=>n.childElementCount===0&&hS.test(n.textContent?.trim()||"")),t=new Set;for(let n of e)for(let a=n.parentElement;a&&a!==document.body;a=a.parentElement)if(getComputedStyle(a).position==="sticky"){t.add(a);break}return[...t]}function SS(e,t,n){let a=Ff.get(e)||new Set;n?a.add(t):a.delete(t),a.size>0?(Ff.set(e,a),e.setAttribute(jf,"true")):(Ff.delete(e),e.removeAttribute(jf))}function CS(e){if(e.dataset.fcawFullBleed!=="true"||typeof IntersectionObserver>"u")return;let t=wS().filter(a=>!a.contains(e));if(t.length===0)return;AS(),new IntersectionObserver(([a])=>{t.forEach(l=>SS(l,e,a.isIntersecting))},{threshold:0}).observe(e)}function RS({host:e,initialData:t,initialProps:n}){let[a]=(0,Lt.useState)(d1),l=DS(t,a),[i,r]=(0,Lt.useState)(n.query),[o,u]=(0,Lt.useState)(n.selectedBrands),[c,s]=(0,Lt.useState)(n.priceRange),[f,d]=(0,Lt.useState)(n.discountAmount),[m,v]=(0,Lt.useState)(n.sort),[A,b]=(0,Lt.useState)(!1),h=!!(A&&n.compactEmbed&&n.includeDeals!==!1),g=(0,Lt.useRef)(!1);return(0,Lt.useEffect)(()=>{let p=()=>{g.current||(g.current=!0,i1(r1(l,n.resultCount),n.query))};if(typeof IntersectionObserver>"u"){p();return}let y=new IntersectionObserver(([C])=>{C?.isIntersecting&&(p(),y.disconnect())},{threshold:.1});return y.observe(e),()=>y.disconnect()},[e,l,n.query]),(0,Lt.useEffect)(()=>{if(typeof IntersectionObserver>"u"){b(!0);return}let p=new IntersectionObserver(([y])=>{y?.isIntersecting&&(b(!0),p.disconnect())},{rootMargin:"800px 0px"});return p.observe(e),()=>p.disconnect()},[e]),(0,Vf.jsx)(Jv,{...n,region:a||"unavailable",initialData:l,warmInventory:A,refreshDealsOnViewport:h,query:i,selectedBrands:o,priceRange:c,discountAmount:f,sort:m,editorMode:!1,onQueryChange:r,onBrandSelect:u,onBrandToggle:p=>u(y=>y.includes(p)?y.filter(C=>C!==p):[...y,p]),onPriceRangeChange:s,onDiscountAmountChange:d,onSortChange:v})}function TS(e){try{let t=document.cookie.match(new RegExp(`(?:^|;\\s*)${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}catch{return}}function cc(e){let n=String(e||"").trim().toUpperCase().replace("_","-").split("-").at(-1);return n==="UK"?"GB":["US","GB","AU","CA","DE","FR","IT","ES","NL"].includes(n||"")?n:void 0}function d1(){let e=new URLSearchParams(window.location.search).get("area");return cc(e)||cc(TS("FTR_Country_Code"))||cc(document.documentElement.getAttribute("data-locale"))||cc(window.navigator.language)}function u1(e,t){let n=e.querySelector(t);if(n?.textContent)try{return JSON.parse(n.textContent)}catch(a){console.warn("Author widget configuration could not be parsed.",a);return}}function ES(e){return e?.reviewInventoryFormat!==nv||!e.allDeals?e:{...e,allDeals:av(e.allDeals)}}function DS(e,t){let n=t?e?.regionalDealManifests?.[t]:void 0;if(!n)return e;let a=e?.regionalDealRailData?.[t];return{...e,allDeals:void 0,deals:n,...a}}function c1(e){e.querySelectorAll("a[href]").forEach(t=>{(t.hasAttribute("data-fcaw-affiliate-link")||t.classList.contains("hawk-affiliate-link-deal-widget")||t.classList.contains("hawk-affiliate-link-container")||t.classList.contains("hawk-affiliate-link-deal-button"))&&(t.rel="sponsored nofollow noopener")})}function xS(e){let t=e.closest(".tg-df-card"),n=t?.dataset.fcawRevenueId||e.dataset.fcawRevenueId;if(n)return n;let a=[window.location.href,t?.dataset.productName||"",t?.dataset.merchant||"",t?.dataset.modelId||"",new Date().toDateString(),"tomsguide"].join("|"),l=0;for(let r=0;r<a.length;r+=1)l=(l<<5)-l+a.charCodeAt(r),l|=0;let i=String(Math.abs(l));for(;i.length<19;)l=(l<<5)-l+i.length,l|=0,i+=String(Math.abs(l));return i=i.slice(0,19),t&&(t.dataset.fcawRevenueId=i),i}function MS(e){let t=e.dataset.fcawOriginalLink||e.href;if(!t.includes("hawk-custom-tracking"))return!1;let n=d1();if(!n)return!1;let a=xS(e);return e.dataset.fcawOriginalLink=t,e.dataset.fcawRevenueId=a,e.href=t.replaceAll("hawk-custom-tracking",`tomsguide-${n.toLowerCase()}-${a}`),e.setAttribute("data-fcaw-hawklinks-requested","true"),!0}function _S(){return!!window.hawklinks?.version}function BS(e){let t=!1,n,a,l=()=>Array.from(e.querySelectorAll(".article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-widget[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-container[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-button[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested])")),i=()=>{t=!1;let u=l();if(u.length===0)return;let c=u.filter(s=>!MS(s));if(c.length!==0){if(!_S()){let s=Date.now();a??=s,!n&&s-a<yS&&(n=window.setTimeout(()=>{n=void 0,r()},pS));return}a=void 0,c.forEach(s=>s.setAttribute("data-fcaw-hawklinks-requested","true")),document.dispatchEvent(new CustomEvent("processArticle",{detail:{element:e}}))}},r=()=>{t||(t=!0,window.setTimeout(i,0))},o=new MutationObserver(r);return o.observe(e,{attributes:!0,attributeFilter:["href"],childList:!0,subtree:!0}),r(),()=>{o.disconnect(),n&&window.clearTimeout(n)}}function NS(e){if(e.dataset.fcawFullBleed!=="true")return;let t=()=>{let n=document.documentElement.clientWidth||window.innerWidth,a=Math.min(1200,n),l=Math.max(0,(n-a)/2),i=e.parentElement?.getBoundingClientRect().left||0;e.style.setProperty("--fcaw-full-bleed-offset",`${l-i}px`),e.style.setProperty("--fcaw-viewport-width",`${n}px`)};t(),window.addEventListener("resize",t,{passive:!0}),typeof ResizeObserver<"u"&&e.parentElement&&new ResizeObserver(t).observe(e.parentElement)}function OS(e){let t=window.matchMedia(fS),n=!1,a=new Set,l=new Map,i,r=()=>t.matches||e.getBoundingClientRect().width<gS,o=()=>{n||(n=!0,window.requestAnimationFrame(s))},u=()=>{if(typeof MutationObserver>"u")return;let f=new Set(Array.from(document.querySelectorAll(mS)));l.forEach((d,m)=>{f.has(m)&&m.isConnected||(d.disconnect(),l.delete(m))}),f.forEach(d=>{if(l.has(d))return;let m=new MutationObserver(o);m.observe(d,{attributes:!0,attributeFilter:["class","style"],childList:!0,subtree:!0}),l.set(d,m)})},c=f=>{let d=new Set(f);a.forEach(m=>{d.has(m)||(i?.unobserve(m),m.removeEventListener("transitionend",o),a.delete(m))}),f.forEach(m=>{a.has(m)||(i?.observe(m),m.addEventListener("transitionend",o),a.add(m))})},s=()=>{if(n=!1,u(),!r()){c([]),e.style.removeProperty("--fcaw-mobile-sticky-offset");return}let f=Number.parseFloat(getComputedStyle(e).getPropertyValue("--fcaw-publisher-sticky-offset"));if(Number.isFinite(f)&&f>=0){c([]),e.style.setProperty("--fcaw-mobile-sticky-offset",`${f}px`);return}let d=Array.from(document.querySelectorAll(vS)).filter(v=>{if(v.contains(e))return!1;let A=getComputedStyle(v).position;return A==="fixed"||A==="sticky"});c(d);let m=d.reduce((v,A)=>{let b=A.getBoundingClientRect();return b.top>2||b.bottom<=0||b.height<=0||b.height>window.innerHeight*.5?v:Math.max(v,b.bottom)},0);e.style.setProperty("--fcaw-mobile-sticky-offset",`${Math.ceil(m)}px`)};return typeof ResizeObserver<"u"&&(i=new ResizeObserver(o),i.observe(e)),s(),window.addEventListener("scroll",o,{capture:!0,passive:!0}),window.addEventListener("resize",o,{passive:!0}),t.addEventListener?.("change",o),()=>{window.removeEventListener("scroll",o,!0),window.removeEventListener("resize",o),t.removeEventListener?.("change",o),i?.disconnect(),a.forEach(f=>f.removeEventListener("transitionend",o)),a.clear(),l.forEach(f=>f.disconnect()),l.clear()}}function kS(e){if(e.dataset.fcawEnhanced==="true")return;let t=u1(e,"script[data-fcaw-config]");if(!t)return;let n={...t1(e1(t),{brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}),compactEmbed:t.compactEmbed,editorMode:!1,warmInventory:t.warmInventory},a=u1(e,"script[data-fcaw-preload]"),l=ES(a),i=e.querySelector("[data-fcaw-fallback]");if(!i)return;NS(e),CS(e),n.stickyMobileFilters!==!1&&OS(e),c1(i);let r=e.shadowRoot||e.attachShadow({mode:"open"}),o=e.querySelector(":scope > style[data-fcaw-host-protection]");if(o&&r.appendChild(o),!r.querySelector("style[data-fcaw-shadow-protection]")){let c=document.createElement("style");c.setAttribute("data-fcaw-shadow-protection",""),c.textContent=bS,r.appendChild(c)}i.querySelectorAll(":scope > style").forEach(c=>{r.appendChild(c)});let u=document.createElement("div");for(u.setAttribute("data-fcaw-mount","");i.firstChild;)u.appendChild(i.firstChild);i.remove(),r.appendChild(u),e.dataset.fcawEnhanced="true",a1(),e.dataset.fcawAnalyticsReady="true",o1(r),BS(r),(0,s1.createRoot)(u).render((0,Vf.jsx)(RS,{host:e,initialData:l,initialProps:n})),window.setTimeout(()=>c1(r),0)}function Yf(){document.querySelectorAll(dS).forEach(kS)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yf,{once:!0}):Yf();new MutationObserver(Yf).observe(document.documentElement,{childList:!0,subtree:!0});})();/*! Bundled license information:react/cjs/react.production.js:  (**   * @license React   * react.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)scheduler/cjs/scheduler.production.js:  (**   * @license React   * scheduler.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom.production.js:  (**   * @license React   * react-dom.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom-client.production.js:  (**   * @license React   * react-dom-client.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react/cjs/react-jsx-runtime.production.js:  (**   * @license React   * react-jsx-runtime.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)*/</script></div><h2 class="article-body__section" id="section-black-friday-controller-deals-in-the-uk"><span>Black Friday controller deals in the UK</span></h2><h2 id="where-are-the-best-black-friday-controller-deals-in-the-uk">Where are the best Black Friday controller deals in the UK?</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.co.uk/s?k=controllers&crid=60S1AC87VO31&sprefix=controller%2Caps%2C134&ref=nb_sb_noss_1" target="_blank">Big discounts on top-brand controllers</a></li><li><strong>Overclockers:</strong> <a href="https://www.overclockers.co.uk/peripherals/gamepads-game-controllers?q=controllers&_gl=1*hw2u4v*_up*MQ..*_ga*MTQ2NzEzNjg2OC4xNzkwNjgwODU3*_ga_123456*czE3OTA2ODA4NTckbzEkZzAkdDE3OTA2ODA4ODYkajMxJGwwJGgxODc0NzI0ODg.*_ga_7SS7XDNBS9*czE3OTA2ODA4NTckbzEkZzAkdDE3OTA2ODA4ODckajMwJGwwJGgw" target="_blank">A whole bunch of controllers to choose from</a></li><li><strong>Scan:</strong> <a href="https://www.scan.co.uk/shop/computer-hardware/game-controllers/all" target="_blank">Gamepads from just £15</a></li><li><strong>Box: </strong><a href="https://box.co.uk/xbox-controllers" target="_blank">Controllers for everyone</a></li><li><strong>Currys:</strong> <a href="https://www.currys.co.uk/gaming/controllers/controllers/pc-gaming-controllers" target="_blank">Controllers from as little as £20</a></li><li><strong>Argos: </strong><a href="https://www.argos.co.uk/search/controllers/?clickOrigin=searchbar:search:term:controllers" target="_blank">Good prices on budget to high-end controllers</a></li></ul><div class="product"><a data-dimension112="f2d49e0a-cf90-11f1-954c-df904028710e" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="£18.99" href="https://www.amazon.co.uk/GameSir-Wireless-Controller-Bluetooth-Vibration-Nova-Lite-White/dp/B0CMCQ6WMC" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="soVwABeC6nbkWkMrnx2xcR" name="GameSir Nova Lite 2.4g Wireless Controller.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR-1920-80.jpg" mos="" align="middle" fullscreen="" width="200" height="200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/GameSir-Wireless-Controller-Bluetooth-Vibration-Nova-Lite-White/dp/B0CMCQ6WMC" target="_blank" rel="nofollow" data-dimension112="f2d49e0a-cf90-11f1-954c-df904028710e" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="£18.99">Nova Lite: was £24.99 now £18.99</a></strong><br>This gaming controller remains our <a href="https://www.pcgamer.com/best-controller-for-pc-gaming/#section-the-best-budget-controller" target="_blank">top budget pick</a> for good reason. <a href="https://www.pcgamer.com/hardware/controllers/gamesir-nova-lite-controller-review/" target="_blank">In our review</a>, James was particularly impressed by just how much GameSir cram into such an affordable package, highlighting the controller's Hall Effect sticks and 2.4 GHz connectivity.</p><p><strong>Key specs: Hall effect thumb sticks | 2.4G wireless | 10 h battery</strong><a class="view-deal button" href="https://www.amazon.co.uk/GameSir-Wireless-Controller-Bluetooth-Vibration-Nova-Lite-White/dp/B0CMCQ6WMC" target="_blank" rel="nofollow" data-dimension112="f2d49e0a-cf90-11f1-954c-df904028710e" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="£18.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49e6e-cf90-11f1-b9d0-19e1cc343e86" data-action="Deal Block" data-label="Nova Lite 2" data-dimension48="Nova Lite 2" data-dimension25="£29.99" href="https://www.amazon.co.uk/GameSir-Lite-Controller-Joysticks-Remappable/dp/B0F3D25PD3/ref=sr_1_4" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="VGAcVx239apmX4EGiGsDnE" name="1781519450.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VGAcVx239apmX4EGiGsDnE-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1499" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/GameSir-Lite-Controller-Joysticks-Remappable/dp/B0F3D25PD3/ref=sr_1_4" target="_blank" rel="nofollow" data-dimension112="f2d49e6e-cf90-11f1-b9d0-19e1cc343e86" data-action="Deal Block" data-label="Nova Lite 2" data-dimension48="Nova Lite 2" data-dimension25="£29.99">Nova Lite 2: £29.99</a></strong><br>An upgraded and improved version of the Nova Lite, this controller sets the standard for what you can score for a relatively slim amount of money. Hall effect everywhere and a mechanical D-pad.</p><p><strong>Key specs: Hall effect joysticks + triggers | 2.4G wireless | 1000 Hz polling</strong><a class="view-deal button" href="https://www.amazon.co.uk/GameSir-Lite-Controller-Joysticks-Remappable/dp/B0F3D25PD3/ref=sr_1_4" target="_blank" rel="nofollow" data-dimension112="f2d49e6e-cf90-11f1-b9d0-19e1cc343e86" data-action="Deal Block" data-label="Nova Lite 2" data-dimension48="Nova Lite 2" data-dimension25="£29.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49ec8-cf90-11f1-8050-6b2fcad339ab" data-action="Deal Block" data-label="Pro 3" data-dimension48="Pro 3" data-dimension25="£52.99" href="https://www.amazon.co.uk/8Bitdo-Pro-Bluetooth-Controller-Switch/dp/B0FFGQ6J35" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="PkKDcfAPjhcUAT2setQ2WW" name="8BitDo Pro 3 product image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PkKDcfAPjhcUAT2setQ2WW-1920-80.png" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/8Bitdo-Pro-Bluetooth-Controller-Switch/dp/B0FFGQ6J35" target="_blank" rel="nofollow" data-dimension112="f2d49ec8-cf90-11f1-8050-6b2fcad339ab" data-action="Deal Block" data-label="Pro 3" data-dimension48="Pro 3" data-dimension25="£52.99">Pro 3: was £59.99 now £52.99</a></strong><br>Though a little on the narrower side, this well-balanced controller remains comfortable to play through long sessions. A 20-hour battery life, plus the option to game while you charge (even without using the included dock), ensures this gamepad won't leave you high and dry when you need it most.</p><p><strong>Key specs: TMR sticks | Hall effect triggers | Swappable ABXY Buttons | Charging dock | 2.4 G wireless | 20h battery</strong><a class="view-deal button" href="https://www.amazon.co.uk/8Bitdo-Pro-Bluetooth-Controller-Switch/dp/B0FFGQ6J35" target="_blank" rel="nofollow" data-dimension112="f2d49ec8-cf90-11f1-8050-6b2fcad339ab" data-action="Deal Block" data-label="Pro 3" data-dimension48="Pro 3" data-dimension25="£52.99">View Deal</a></p></div><div class="product"><a data-dimension112="f2d49f2c-cf90-11f1-bd2c-a1397bc92fef" data-action="Deal Block" data-label="Wolverine V3 Pro" data-dimension48="Wolverine V3 Pro" data-dimension25="£149.99" href="https://www.amazon.co.uk/Razer-Wolverine-Pro-Controller-thumbsticks/dp/B0D7W5L9YY/ref=sr_1_1_sspa" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1508px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="bEho7QQ2jdCF6Vr3xoypw" name="1781520197.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/bEho7QQ2jdCF6Vr3xoypw-1920-80.jpg" mos="" align="middle" fullscreen="" width="1508" height="1498" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Razer-Wolverine-Pro-Controller-thumbsticks/dp/B0D7W5L9YY/ref=sr_1_1_sspa" target="_blank" rel="nofollow" data-dimension112="f2d49f2c-cf90-11f1-bd2c-a1397bc92fef" data-action="Deal Block" data-label="Wolverine V3 Pro" data-dimension48="Wolverine V3 Pro" data-dimension25="£149.99">Wolverine V3 Pro: was £199.99 now £149.99</a></strong><br>A superb controller that's sufficiently endgame for most players. Every button and trigger offers excellent feedback and it features Hall effect sticks for improved stick drift resistance.</p><p><strong>Key specs: Hall effect joysticks | 2.4G wireless | mecha-tactile buttons</strong><a class="view-deal button" href="https://www.amazon.co.uk/Razer-Wolverine-Pro-Controller-thumbsticks/dp/B0D7W5L9YY/ref=sr_1_1_sspa" target="_blank" rel="nofollow" data-dimension112="f2d49f2c-cf90-11f1-bd2c-a1397bc92fef" data-action="Deal Block" data-label="Wolverine V3 Pro" data-dimension48="Wolverine V3 Pro" data-dimension25="£149.99">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Black Friday gaming mouse deals ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Black Friday is on its way and, while I wouldn't expect to see graphics cards dropping below MSRP or memory suddenly becoming a sensibly priced, I am feeling rather more positive about the posibility of genuine Black Friday gaming mouse deals cropping up. We've had a slew of new mice over the past year, and that means last years still-excellent rodents may well be on sale for a song over the November period. Here's hoping.</p><p><strong>👉</strong><a href="https://www.pcgamer.com/black-friday-pc-gaming-deals/" target="_blank"><strong>All our favorite Black Friday PC gaming deals</strong></a><strong>👈</strong></p><p>We're PC gamers, so the <a href="https://www.pcgamer.com/the-best-gaming-mouse/" target="_blank">best gaming mice</a> are our bread and butter. We spend a lot of time through the year testing the latest mice and the latest tech, so check out our guide to get an idea of what might be the right one for you. In the meantime, though, there are lots of tempting options below.</p><h2 id="where-to-find-the-best-black-friday-gaming-mice-deals">Where to find the best Black Friday gaming mice deals</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.com/s?k=gaming+mice&crid=2J6G5VPFKFEZ6&sprefix=gaming+mice%2Caps%2C210&ref=nb_sb_noss_1" target="_blank"><strong>All the gaming mice you could ever want</strong></a></li><li><strong>Walmart:</strong> <a href="https://www.walmart.com/search?q=gaming+mice" target="_blank">Speedy gaming mice, superb savings</a></li><li><strong>Best Buy:</strong> <a href="https://www.bestbuy.com/site/searchpage.jsp?id=pcat17071&st=gaming%20mice" target="_blank">Big name meeces with big value discounts</a></li><li><strong>Newegg:</strong> <a href="https://www.newegg.com/Gaming-Mouse/SubCategory/ID-3527?cm_sp=Cat_Keyboard-Mice_3-_-VisNav-_-Gaming-Mice" target="_blank">Big savings on big brand gaming mice</a></li></ul><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-1bec2uw *:not(svg):not(path) { box-sizing: border-box; }    #widget-1bec2uw h1, #widget-1bec2uw p, #widget-1bec2uw h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-1bec2uw, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-1bec2uw); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-1bec2uw tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-1bec2uw tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-1bec2uw td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-1bec2uw: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-1bec2uw: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-1bec2uw td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-1bec2uw td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-1bec2uw td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-1bec2uw td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-1bec2uw td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-1bec2uw td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-1bec2uw: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-1bec2uw: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-1bec2uw"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 104 gaming mouse reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Gaming Mice";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%22WMXAonUQQtoWEioUkjrHQ9%22%2C%22title%22%3A%22AngryMiao%20AM%20Infinity.97%20mouse%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fangrymiao-am-infinity-97-mouse-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-19T12%3A20%3A28Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FJFKjNACJuiQRvtSxGHrSRo.jpg%22%2C%22strapline%22%3A%22Flagship%20speed%2C%20boutique%20flair.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22gaming%20mouse%22%2C%22Asus%22%5D%2C%22score%22%3A88%2C%22summary%22%3A%22Flagship%20speed%2C%20boutique%20flair.%22%7D%2C%7B%22id%22%3A%22VoC7Nefyvxfz8vx7DkQY6G%22%2C%22title%22%3A%22Razer%20Naga%20V3%20Pro%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Frazer-naga-v3-pro-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-18T09%3A18%3A44Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FbxiLAwj2yKPCob3YQrKmwP.jpg%22%2C%22strapline%22%3A%22An%20upgrade%20in%20pretty%20much%20every%20way%20(if%20you%20ignore%20the%20audible%20ping%20of%20the%20switches).%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22gaming%20mouse%22%2C%22Asus%22%5D%2C%22score%22%3A84%2C%22summary%22%3A%22An%20upgrade%20in%20pretty%20much%20every%20way%20(if%20you%20ignore%20the%20audible%20ping%20of%20the%20switches).%22%7D%2C%7B%22id%22%3A%229rH2aY9tFgUwQt6sayPTuA%22%2C%22title%22%3A%22Asus%20ROG%20Harpe%20II%20Extreme%20Edition%2020%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fasus-rog-harpe-ii-extreme-edition-20-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-14T12%3A04%3A08Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F5Z5HG6hDyVtLXotzVznxzd.jpg%22%2C%22strapline%22%3A%22The%20most%20luxurious%20gaming%20mouse%20I've%20managed%20to%20get%20grubby.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22gaming%20mouse%22%2C%22Asus%22%2C%22Asus%20ROG%20Harpe%20II%20Extreme%20Edition%2020%22%5D%2C%22score%22%3A72%2C%22summary%22%3A%22The%20most%20luxurious%20gaming%20mouse%20I've%20managed%20to%20get%20grubby.%22%7D%2C%7B%22id%22%3A%227Ck8uEtqvvSPUEMBEB3WBL%22%2C%22title%22%3A%22Pulsar%20Feinmann%20F01%20Noctua%20Edition%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fpulsar-feinmann-f01-noctua-edition-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-11T14%3A22%3A21Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FVwUWxAQNqmnvcuJzK3zznH.jpg%22%2C%22strapline%22%3A%22Breezy%20and%20comfortable%2C%20but%20I'm%20not%20a%20fan%20of%20its%20price%20and%20battery.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22budget%20gaming%20mice%22%2C%22gaming%20mouse%22%2C%22budget%20gaming%20mouse%22%2C%22Noctua%22%5D%2C%22score%22%3A73%2C%22summary%22%3A%22Breezy%20and%20comfortable%2C%20but%20I'm%20not%20a%20fan%20of%20its%20price%20and%20battery.%22%7D%2C%7B%22id%22%3A%22oFURMEnCZ5FiByvBsJjKtG%22%2C%22title%22%3A%22Mchose%20K7%20V2%20Ultra%2B%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fmchose-k7-v2-ultra-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-31T11%3A12%3A44Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FJPWDDosBpyPGimW3CEGTPg.jpg%22%2C%22strapline%22%3A%22Great%20specs%20with%20a%20Viper%20V3%2FV4%20Pro's%20shape%2C%20for%20less.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20mice%22%2C%22MCHOSE%22%2C%22Mchose%20K7%20V2%20Ultra%2B%22%2C%22Razer%20Viper%20V4%20Pro%22%5D%2C%22score%22%3A89%2C%22summary%22%3A%22Great%20specs%20with%20a%20Viper%20V3%2FV4%20Pro's%20shape%2C%20for%20less.%22%7D%2C%7B%22id%22%3A%2274wWM4f8JebSDZj7RERSUU%22%2C%22title%22%3A%22Asus%20ProArt%20Mouse%20MD301%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fasus-proart-mouse-md301%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-08T16%3A12%3A04Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FCDsLPYCyTeZscFLF2sjGHQ.jpg%22%2C%22strapline%22%3A%22A%20professional%20design%2C%20but%20with%20enough%20quirks%20to%20give%20me%20pause.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Asus%22%2C%22ergonomic%20mouse%22%2C%22Logitech%20MX%20Master%204%22%2C%22mouse%22%2C%22polling%20rate%22%2C%22mouse%20sensor%22%2C%22Asus%20ProArt%20Mouse%20MD301%22%5D%2C%22score%22%3A71%2C%22summary%22%3A%22A%20professional%20design%2C%20but%20with%20enough%20quirks%20to%20give%20me%20pause.%22%7D%2C%7B%22id%22%3A%22K53srydpKdGNFuLaqCTAra%22%2C%22title%22%3A%22Logitech%20Mobi%20Fold%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Flogitech-mobi-fold-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-07T11%3A41%3A33Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FFgQTQfXDfPekUFgZ9dwEZ7.jpg%22%2C%22strapline%22%3A%22Is%20that%20a%20mouse%20in%20your%20pocket%20or%20do%20you%20need%20to%20see%20a%20doctor%3F%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20mouse%22%2C%22travel%20mouse%22%2C%22Logitech%22%2C%22Mobi%20Fold%22%5D%2C%22score%22%3A65%2C%22summary%22%3A%22Is%20that%20a%20mouse%20in%20your%20pocket%20or%20do%20you%20need%20to%20see%20a%20doctor%3F%22%7D%2C%7B%22id%22%3A%22CpybdgtNoaxnCfqj8qUD36%22%2C%22title%22%3A%22Logitech%20G305%20X%20Superlight%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Flogitech-g305-x-superlight-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-19T15%3A37%3A08Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FpTZdszAGGB42CfodWGhPqb.jpg%22%2C%22strapline%22%3A%22A%20solid%20and%20fairly%20plain%20upgrade%20on%20the%20original%2C%20but%20not%20wholly%20better%20either.%20%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22budget%20gaming%20mice%22%2C%22gaming%20mouse%22%2C%22budget%20gaming%20mouse%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20solid%20and%20fairly%20plain%20upgrade%20on%20the%20original%2C%20but%20not%20wholly%20better%20either.%20%22%7D%2C%7B%22id%22%3A%229yFaBcP8M4acKy3vvNHd3S%22%2C%22title%22%3A%22MSI%20Versa%20300%20Wireless%208K%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fmsi-versa-300-wireless-8k-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-15T15%3A35%3A37Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FJBmtjZP3tFxWBytcBD26Jb.jpg%22%2C%22strapline%22%3A%22Surprisingly%20potent.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22MSI%22%2C%22gaming%20mouse%22%2C%228K%22%2C%22mouse%22%2C%22gaming%20mice%22%5D%2C%22score%22%3A72%2C%22summary%22%3A%22Surprisingly%20potent.%22%7D%2C%7B%22id%22%3A%22PnfkWCANTGjwi9CK2iZQBN%22%2C%22title%22%3A%22ProtoArc%20EM25%20ergonomic%20mouse%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fprotoarc-em25-ergonomic-mouse-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-12T16%3A31%3A51Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FZwZJejJtPeZcajbcwMNWfX.jpg%22%2C%22strapline%22%3A%22Rough%20around%20the%20edges.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22ergonomic%20mouse%22%2C%22ProtoArc%22%2C%22ProtoArc%20EM25%22%2C%22RF%202.4%20GHz%22%2C%22Bluetooth%22%2C%22wireless%20mouse%22%5D%2C%22score%22%3A40%2C%22summary%22%3A%22Rough%20around%20the%20edges.%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 76;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Gaming Mice Widget"></iframe></div><h2 class="article-body__section" id="section-black-friday-gaming-mouse-deals"><span>Black Friday gaming mouse deals</span></h2><div class="product"><a data-dimension112="5004d9ae-cf92-11f1-b1a1-6320552da474" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="$26.21" href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1401px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qgFqUinn2HCKHEThJ47QpC" name="1636734797.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1401" height="1401" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" target="_blank" rel="nofollow" data-dimension112="5004d9ae-cf92-11f1-b1a1-6320552da474" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="$26.21">G203 | Wired: was $34.99 now $26.21</a></strong><br>This rodent is perfect as a starter or low-budget option, with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software. This mouse proves that you don't need to go fancy to get a great gaming peripheral.</p><p><strong>Key specs: Wired | 8,000 DPI | Right-handed</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362" target="_blank">Best Buy $29.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" target="_blank" rel="nofollow" data-dimension112="5004d9ae-cf92-11f1-b1a1-6320552da474" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="$26.21">View Deal</a></p></div><div class="product"><a data-dimension112="5004da26-cf92-11f1-baa2-fb68d866f5fe" data-action="Deal Block" data-label="G305 Lightspeed | Wireless" data-dimension48="G305 Lightspeed | Wireless" data-dimension25="$29.49" href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:212px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="krHdzSvvW5EskC6Keg74P9" name="1700740513.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9-1920-80.jpg" mos="" align="middle" fullscreen="" width="212" height="212" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" target="_blank" rel="nofollow" data-dimension112="5004da26-cf92-11f1-baa2-fb68d866f5fe" data-action="Deal Block" data-label="G305 Lightspeed | Wireless" data-dimension48="G305 Lightspeed | Wireless" data-dimension25="$29.49">G305 Lightspeed | Wireless: was $49.99 now $29.49</a></strong><br>The Logitech G305 Lightspeed is our<a href="https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse" target="_blank"> favorite budget wireless mouse</a>—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily <em>that </em>out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.</p><p><strong>Key specs: Wireless | 12,000 DPI | Right-handed</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR" target="_blank">Best Buy $34.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" target="_blank" rel="nofollow" data-dimension112="5004da26-cf92-11f1-baa2-fb68d866f5fe" data-action="Deal Block" data-label="G305 Lightspeed | Wireless" data-dimension48="G305 Lightspeed | Wireless" data-dimension25="$29.49">View Deal</a></p></div><div class="product"><a data-dimension112="5004da94-cf92-11f1-911c-eb4397f77041" data-action="Deal Block" data-label="Model O Eternal | Wired" data-dimension48="Model O Eternal | Wired" data-dimension25="$29.99" href="https://www.bestbuy.com/product/glorious-model-o-eternal-lightweight-wired-optical-gaming-mouse-with-dual-zone-rgb-lighting-wired-matte-white/J39TGZ8SRL" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xuXRzZ72Wy2yQ9oAS9r3A4" name="Model O Eternal | Wired" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xuXRzZ72Wy2yQ9oAS9r3A4-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/glorious-model-o-eternal-lightweight-wired-optical-gaming-mouse-with-dual-zone-rgb-lighting-wired-matte-white/J39TGZ8SRL" target="_blank" rel="nofollow" data-dimension112="5004da94-cf92-11f1-911c-eb4397f77041" data-action="Deal Block" data-label="Model O Eternal | Wired" data-dimension48="Model O Eternal | Wired" data-dimension25="$29.99">Model O Eternal | Wired: was $39.99 now $29.99</a></strong><br>You aren't packing an incredibly high DPI or polling rate with this mouse, but you are getting strong performance for the price, as well as a lightweight, comfortable build, and solid software. Cheap and cheerful is the aim here.</p><p><strong>Key specs: 12,000 DPI | 300 IPS |  1,000 Hz | 55 g</strong></p><p><strong>Price check: </strong><a href="https://www.amazon.com/dp/B0F9B79WBR" target="_blank">Amazon $39.99</a><a class="view-deal button" href="https://www.bestbuy.com/product/glorious-model-o-eternal-lightweight-wired-optical-gaming-mouse-with-dual-zone-rgb-lighting-wired-matte-white/J39TGZ8SRL" target="_blank" rel="nofollow" data-dimension112="5004da94-cf92-11f1-911c-eb4397f77041" data-action="Deal Block" data-label="Model O Eternal | Wired" data-dimension48="Model O Eternal | Wired" data-dimension25="$29.99">View Deal</a></p></div><div class="product"><a data-dimension112="5004db02-cf92-11f1-941e-2158991a2f6e" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="$37.99" href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="SaXBHtPWoMGvzcyvsLNQQX" name="1698934268.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" target="_blank" rel="nofollow" data-dimension112="5004db02-cf92-11f1-941e-2158991a2f6e" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="$37.99">G502 Hero | Wired: was $69.99 now $37.99</a></strong><br>This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. </p><p><strong>Key specs: Wired | 25,600 DPI | Right-handed</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133" target="_blank">Best Buy $37.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" target="_blank" rel="nofollow" data-dimension112="5004db02-cf92-11f1-941e-2158991a2f6e" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="$37.99">View Deal</a></p></div><div class="product"><a data-dimension112="5004db70-cf92-11f1-b323-6794fe45003f" data-action="Deal Block" data-label="Retro R8 | Wireless" data-dimension48="Retro R8 | Wireless" data-dimension25="$44.97" href="https://www.amazon.com/Charging-Optical-Wireless-Programmable-Switches/dp/B0F37BTPPH" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="6ftyiD7DphdvJ2Z5PfoAKh" name="PCGamer Deal Block (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6ftyiD7DphdvJ2Z5PfoAKh-1920-80.jpg" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Charging-Optical-Wireless-Programmable-Switches/dp/B0F37BTPPH" target="_blank" rel="nofollow" data-dimension112="5004db70-cf92-11f1-b323-6794fe45003f" data-action="Deal Block" data-label="Retro R8 | Wireless" data-dimension48="Retro R8 | Wireless" data-dimension25="$44.97">Retro R8 | Wireless: was $49.99 now $44.97</a></strong><br>Our James <a href="https://www.pcgamer.com/hardware/gaming-mice/8bitdo-retro-r8-gaming-mouse-review/" target="_blank">reviewed the 8BitDo Retro R8</a>, giving it an 87%, and for good reason. It's a mouse with a super unique look, good specs for the price, and it even comes with a cute charging stand. The retro feel is definitely something to get used to, with buttons that are sunken into the mouse itself, but it's a joy to use regardless. <strong>The 10% discount comes in at checkout.</strong></p><p><strong>Key specs: up to 8,000 Hz polling | 26,000 DPI | 77 g | up to 100-hour battery life</strong></p><p><strong>Price check: </strong><a href="https://www.newegg.com/p/32K-00R0-00033" target="_blank">Newegg $49.99</a><a class="view-deal button" href="https://www.amazon.com/Charging-Optical-Wireless-Programmable-Switches/dp/B0F37BTPPH" target="_blank" rel="nofollow" data-dimension112="5004db70-cf92-11f1-b323-6794fe45003f" data-action="Deal Block" data-label="Retro R8 | Wireless" data-dimension48="Retro R8 | Wireless" data-dimension25="$44.97">View Deal</a></p></div><div class="product"><a data-dimension112="5004dc1a-cf92-11f1-89c7-81ffa9fe93eb" data-action="Deal Block" data-label="Burst II Air | Wireless" data-dimension48="Burst II Air | Wireless" data-dimension25="$54.99" href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1504px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="oHpVvSDqMgFC5rnRe2pUnQ" name="1790601251.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1504" height="1494" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" target="_blank" rel="nofollow" data-dimension112="5004dc1a-cf92-11f1-89c7-81ffa9fe93eb" data-action="Deal Block" data-label="Burst II Air | Wireless" data-dimension48="Burst II Air | Wireless" data-dimension25="$54.99">Burst II Air | Wireless: was $99.99 now $54.99</a></strong><br>We gave this mouse an 85% in <a href="https://www.pcgamer.com/hardware/gaming-mice/turtle-beach-burst-ii-air-review/" target="_blank">our review</a>, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price.</p><p><strong>Key specs: Wireless | 26,000 DPI | Symmetrical</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/site/turtle-beach-burst-ii-air-ultra-lightweight-wireless-symmetrical-gaming-mouse-with-bluetooth-120-hour-battery-black/6579301.p?skuId=6579301" target="_blank">Best Buy $69.99</a><a class="view-deal button" href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" target="_blank" rel="nofollow" data-dimension112="5004dc1a-cf92-11f1-89c7-81ffa9fe93eb" data-action="Deal Block" data-label="Burst II Air | Wireless" data-dimension48="Burst II Air | Wireless" data-dimension25="$54.99">View Deal</a></p></div><div class="product"><a data-dimension112="5004dd14-cf92-11f1-b58f-87e69c805de3" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$69.99" href="https://www.amazon.com/dp/B0FKJ2J2R8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4AaJcaYRutRHqs8C5qjfye" name="Sabre V2 Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4AaJcaYRutRHqs8C5qjfye-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FKJ2J2R8" target="_blank" rel="nofollow" data-dimension112="5004dd14-cf92-11f1-b58f-87e69c805de3" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$69.99">Sabre V2 Pro: was $99.99 now $69.99</a></strong><br>Earning a <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/" target="_blank">92% score from our Jacob Fox</a> last year, this ultra-light gaming mouse is a bit of a beast. It's light, sturdy and comes with a great sensor too. </p><p><strong>Key specs: 33K sensor | Wireless | 36 g weight | 8,000 Hz</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FKJ2J2R8" target="_blank" rel="nofollow" data-dimension112="5004dd14-cf92-11f1-b58f-87e69c805de3" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$69.99">View Deal</a></p></div><div class="product"><a data-dimension112="5004dd82-cf92-11f1-b14e-f95ccf97e540" data-action="Deal Block" data-label="Viper V3 Pro | Wireless" data-dimension48="Viper V3 Pro | Wireless" data-dimension25="$99.27" href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CVRGCGWJ/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xR8QJpjHGx27FS3pZnYBj7" name="1790601520.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xR8QJpjHGx27FS3pZnYBj7-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1509" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CVRGCGWJ/?th=1" target="_blank" rel="nofollow" data-dimension112="5004dd82-cf92-11f1-b14e-f95ccf97e540" data-action="Deal Block" data-label="Viper V3 Pro | Wireless" data-dimension48="Viper V3 Pro | Wireless" data-dimension25="$99.27">Viper V3 Pro | Wireless: was $159.99 now $99.27</a></strong><br>Razer doesn't play around with its compact Viper line-up. The V3 Pro is pretty light, feels great in hand, and tracks your movement like any other high-end mouse. It's top-tier and a little cheaper than the newer V4 Pro now.</p><p><strong>Key specs: 6 buttons | 35K DPI | 8,000 Hz | 70 g</strong><a class="view-deal button" href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CVRGCGWJ/?th=1" target="_blank" rel="nofollow" data-dimension112="5004dd82-cf92-11f1-b14e-f95ccf97e540" data-action="Deal Block" data-label="Viper V3 Pro | Wireless" data-dimension48="Viper V3 Pro | Wireless" data-dimension25="$99.27">View Deal</a></p></div><h2 id="check-out-all-our-latest-deals-in-any-category">Check out all our latest deals in any category:</h2><div class="vizualizer-embed"><fc-author-commerce-widget data-fcaw-version="1" data-fcaw-full-bleed="false">  <style data-fcaw-host-protection>fc-author-commerce-widget[data-fcaw-version="1"] {  display: block !important;  width: 100% !important;  min-width: 0 !important;  max-width: none !important;  isolation: isolate !important;  contain: style !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]{  width: min(    1200px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1200px !important;  margin-left: var(    --fcaw-full-bleed-offset,    calc(50% - min(600px, 50vw))  ) !important;  margin-right: 0 !important;  position: relative !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]  #tg-df-spreadsheet-filters {  width: min(    1500px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1500px !important;  margin-left: calc(    (      100% -      min(1500px, var(--fcaw-viewport-width, 100vw))    ) / 2  ) !important;  margin-right: 0 !important;}fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::before,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::after {  box-sizing: border-box;}</style>  <div data-fcaw-fallback class="fcaw-v1-fallback">    <style>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with 'tg-df-' to prevent CMS style leakage.    */    .tg-df-container { user-select: text; -webkit-user-select: text;      container-type: inline-size;      container-name: tg-df;                  --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]    {      width: min(        1200px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1200px !important;      margin-left: calc(        (          100% -          min(1200px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;      position: relative !important;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]      #tg-df-spreadsheet-filters {      width: min(        1500px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1500px !important;      margin-left: calc(        (          100% -          min(1500px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: var(--tg-df-blue);    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }        .tg-df-filters {      display: flex;      justify-content: center;      width: 100%;      gap: 12px;      margin: 0 auto;      max-width: 42rem;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;      max-width: 280px;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    .tg-df-scroll-btn {      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 4px;    }    .tg-df-scroll-btn.right {      right: 4px;    }    @container tg-df (max-width: 768px) {      .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;      margin: 0 auto;    }    .tg-df-filters {        justify-content: center;        width: 100%;        margin: 0 auto;        margin-bottom: -320px;        padding: 0 0 320px 0;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: calc(100% + 32px);      max-width: none;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;      margin: 0 -16px -16px -16px;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }    .tg-df-buying-guide-badge {      left: auto;      right: 12px;      max-width: calc(100% - 24px);      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges { position: absolute; bottom: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; z-index: 10; }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-card-listings {      margin: 0 0 12px;    }    .tg-df-card-listings-title {      display: block;      color: var(--tg-df-text-muted);      font-size: 11px;      font-weight: 700;      letter-spacing: 0.45px;      line-height: 1.2;      margin-bottom: 4px;      text-transform: uppercase;    }    .tg-df-card-listings-links {      border-top: 1px solid var(--tg-df-border);    }    .tg-df-container .tg-df-card-listing-link {      align-items: center;      border-bottom: 1px solid var(--tg-df-border);      box-sizing: border-box;      color: var(--tg-df-blue);      display: flex;      font-size: 13px;      font-weight: 700;      justify-content: space-between;      line-height: 1.2;      min-height: 34px;      padding: 5px 2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-listing-link::after {      content: '↗';      font-size: 14px;      font-weight: 600;      margin-left: 8px;    }    .tg-df-container .tg-df-card-listing-link:hover,    .tg-df-container .tg-df-card-listing-link:focus-visible {      background: #f8fafc;      color: var(--tg-df-blue);      outline: 2px solid var(--tg-df-blue);      outline-offset: -2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: calc(100% + 32px);      max-width: none;      box-sizing: border-box;      background-color: var(--tg-df-blue);      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;      margin: 0 -16px -16px -16px;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      filter: brightness(0.85);    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /* Optional mobile 2x2 filter grid */    .tg-df-mobile-2x2-container {      display: none;      width: 100%;      margin: 0 0 16px 0;      position: relative;      z-index: 30;    }    .tg-df-mobile-2x2-grid {      display: grid;      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);      width: 100%;      border: 1px solid var(--tg-df-border, #e2e8f0);      background: var(--tg-df-bg, #ffffff);    }    .tg-df-container .tg-df-mobile-grid-cell {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      min-width: 0;      padding: 12px 14px;      font-family: inherit;      font-size: 11px;      font-weight: 600;      line-height: 1.2;      text-transform: uppercase;      letter-spacing: 0.5px;      text-align: left;      color: var(--tg-df-text-muted, #64748b);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-mobile-grid-cell > span {      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }    .tg-df-mobile-grid-cell > svg {      flex: 0 0 auto;      margin-left: 8px;      transition: transform 0.15s ease;    }    .tg-df-mobile-grid-cell > svg.is-open {      transform: rotate(180deg);    }    .tg-df-mobile-grid-cell {      border-bottom: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-grid-cell:nth-child(odd) {      border-right: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-2x2-grid--even .tg-df-mobile-grid-cell:nth-last-child(-n + 2) {      border-bottom: 0;    }    .tg-df-mobile-2x2-grid--odd .tg-df-mobile-grid-cell:last-child {      grid-column: 1 / -1;      border-right: 0;      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-grid-cell.active,    .tg-df-container .tg-df-mobile-grid-cell:hover {      background: var(--tg-df-bg-secondary, #f8fafc);      color: var(--tg-df-text, #0f172a);    }    .tg-df-container .tg-df-mobile-grid-cell.has-active-filter {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;    }    .tg-df-mobile-menu-drawer {      width: 100%;      max-height: 260px;      overflow-y: auto;      overscroll-behavior: contain;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-top: 0;      background: var(--tg-df-bg, #ffffff);      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);    }    .tg-df-container .tg-df-mobile-menu-item {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      width: 100%;      min-height: 42px;      padding: 12px 16px;      font-family: inherit;      font-size: 12px;      font-weight: 500;      line-height: 1.3;      text-align: left;      color: var(--tg-df-text, #0f172a);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-bottom: 1px solid #f1f5f9;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-container .tg-df-mobile-menu-item:last-child {      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-menu-item.selected {      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.08);      font-weight: 600;    }    .tg-df-container .tg-df-mobile-menu-item:hover {      background: var(--tg-df-bg-secondary, #f8fafc);    }    .tg-df-mobile-cell-badge {      display: inline-flex;      align-items: center;      justify-content: center;      padding: 2px 6px;      margin-left: 4px;      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.1);      border-radius: 9999px;      font-size: 10px;      font-weight: 700;    }    @container tg-df (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    @media (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    /* A non-full-bleed desktop embed is constrained to the article column.       Reuse the compact filter grid there instead of squeezing the rails. */    @container tg-df (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    @media (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-mobile-authors { gap: 16px !important; }      .tg-df-mobile-authors .tg-df-author-row-item { width: 56px !important; }      .tg-df-mobile-authors .tg-df-author-img-wrapper { width: 48px !important; height: 48px !important; }      .tg-df-mobile-authors .tg-df-author-brand-logo { width: 18px !important; height: 18px !important; bottom: -2px !important; right: -2px !important; }      .tg-df-mobile-authors .tg-df-author-row-name { font-size: 11px !important; }      .tg-df-mobile-authors .tg-df-author-row-role { font-size: 10px !important; }            .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-controls {        padding: 16px 0 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 8px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    @media (max-width: 599px) {      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }        .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: var(--tg-df-blue);      position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }      .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }        .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;      scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-scroll-left {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: rgba(255, 255, 255, 0.4);      color: var(--tg-df-blue);      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);      border: none;      cursor: pointer;      transition: background-color 0.2s;      margin-top: -4px;      z-index: 10;    }    .tg-df-container .tg-df-carousel-scroll-right {      right: 0;    }    .tg-df-container .tg-df-carousel-scroll-left {      left: 0;    }    .tg-df-container .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-scroll-left:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left {       height: 30px;       width: 30px;       background-color: rgba(255, 255, 255, 0.8);       box-shadow: 0 2px 4px rgba(0,0,0,0.1);       margin-top: 0;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left:hover {       background-color: white;    }    .tg-df-container .tg-df-grid-wrapper {       position: relative;    }    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-left {       background-color: white;       box-shadow: 0 4px 12px rgba(0,0,0,0.15);       top: 40%;       width: 44px;       height: 44px;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }            .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover, .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      width: calc(100% + 24px);      border-radius: 0;      padding: 8px 10px;      margin: auto -12px -12px -12px;      background-color: var(--tg-df-blue);    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; padding-right: 12px; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @media (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }      .tg-df-container .hawk-deal-widget-title-product-title,      .tg-df-container .hawk-deal-widget-title-price,      .tg-df-container .hawk-deal-widget-title-retailer {        font-size: 14px !important;        line-height: 1.35 !important;        font-weight: 700 !important;      }      .tg-df-container .hawk-deal-widget-title-was-price {        font-size: 13px !important;        line-height: 1.35 !important;      }      .tg-df-container .hawk-deal-widget-text-body-main {        font-size: 14px !important;        line-height: 1.35 !important;        margin-bottom: 8px !important;      }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    /* BESPOKE AUTHOR HEADER STYLES - MAX ISOLATION PROTECTION */    .tg-df-author-embed {      width: 100% !important;      font-family: inherit !important;      background: transparent !important;      margin: 0 !important;      padding: 0 !important;      border: none !important;    }    .tg-df-author-section {      display: block !important;      width: 100% !important;      max-width: 100% !important;      opacity: 1 !important;      overflow: visible !important;      background: transparent !important;      border: none !important;      margin: 0 auto !important;      padding: 0 !important;      box-shadow: none !important;    }    .tg-df-author-card {      text-align: center !important;      padding: 1.75rem 1rem 1.25rem 1rem !important;      margin: 0 auto !important;      max-width: 48rem !important;      background: transparent !important;      border: none !important;      border-radius: 0 !important;      box-sizing: border-box !important;      box-shadow: none !important;    }    .tg-df-author-image {      width: 180px !important;      height: 180px !important;      border-radius: 50% !important;      object-fit: cover !important;      margin: 0 auto 0.75rem auto !important;      display: block !important;      border: none !important;      box-shadow: none !important;      max-width: 100% !important;    }    .tg-df-author-media-slot {      width: 100% !important;      height: 180px !important;      min-height: 180px !important;      margin: 0 auto 0.75rem auto !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;    }    .tg-df-author-media-slot .tg-df-author-image {      margin: 0 auto !important;    }    .tg-df-author-profile-image-wrapper {      position: relative !important;      width: 180px !important;      height: 180px !important;      margin: 0 auto 0.75rem auto !important;      flex: 0 0 auto !important;    }    .tg-df-author-profile-brand-logo {      position: absolute !important;      right: 12px !important;      bottom: 12px !important;      width: 42px !important;      height: 42px !important;      padding: 0 !important;      border: 3px solid var(--tg-df-bg, #fff) !important;      border-radius: 50% !important;      background: #000 !important;      object-fit: contain !important;      box-sizing: border-box !important;    }    .tg-df-author-curated-by {      font-size: 0.875rem !important;      color: #6B7280 !important;      font-style: normal !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      line-height: 1.4 !important;    }    .tg-df-author-name {      font-size: 2rem !important;      font-weight: 300 !important;      color: #111827 !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      line-height: 1.1 !important;      letter-spacing: -0.02em !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-role {      font-size: 0.9375rem !important;      font-weight: 500 !important;      color: var(--tg-df-blue, #1F69FF) !important;      margin: 0 0 1.25rem 0 !important;      padding: 0 !important;      line-height: 1.3 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-meta-slot {      width: 100% !important;      min-height: 88px !important;      display: flex !important;      flex-direction: column !important;      align-items: center !important;      justify-content: flex-start !important;    }    .tg-df-author-meta-slot--site {      padding-top: 1rem !important;    }    .tg-df-author-meta-slot--no-social {      min-height: 0 !important;    }    .tg-df-author-meta-slot--no-social .tg-df-author-role {      margin-bottom: 0.5rem !important;    }    .tg-df-author-social-links {      display: flex !important;      flex-wrap: wrap !important;      align-items: center !important;      justify-content: center !important;      gap: 1rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 !important;      max-width: 42rem !important;      width: 100% !important;      list-style: none !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-social-btn {      display: inline-flex !important;      align-items: center !important;      justify-content: center !important;      padding: 0 !important;      border-radius: 50% !important;      background-color: #f2f2f2 !important;      color: #111111 !important;      font-size: 0.8125rem !important;      font-weight: 500 !important;      text-decoration: none !important;      transition: all 0.2s ease !important;      border: 0 !important;      line-height: 1 !important;      box-shadow: none !important;      cursor: pointer !important;      outline: none !important;      margin: 0 !important;      height: 34px !important;      width: 34px !important;      min-width: 34px !important;      box-sizing: border-box !important;    }    .tg-df-author-social-btn:hover {      background-color: #dedede !important;      color: #111111 !important;      transform: translateY(-1px) !important;    }    .tg-df-author-social-btn > svg {      width: 19px !important;      height: 19px !important;      flex-shrink: 0 !important;      display: block !important;      margin: 0 !important;    }    .tg-df-author-social-btn[data-social-key="facebook"] > svg {      transform: scale(1.25) !important;    }    .tg-df-author-social-btn[data-social-key="pinterest"] > svg,    .tg-df-author-social-btn[data-social-key="tiktok"] > svg {      transform: scale(1.2) !important;    }    .tg-df-author-bio {      max-width: 42rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 0.5rem !important;      color: #4b5563 !important;      line-height: 1.6 !important;      font-weight: 300 !important;      font-size: 0.9375rem !important;      text-align: center !important;      background: none !important;      border: none !important;      border-radius: 0 !important;      box-shadow: none !important;      display: block !important;      height: auto !important;      overflow: visible !important;    }    .tg-df-author-bio-shell--stable {      width: 100% !important;      box-sizing: border-box !important;    }    .tg-df-author-bio--clamped {      min-height: 4.8em !important;      height: 4.8em !important;      max-height: 4.8em !important;      display: -webkit-box !important;      -webkit-box-orient: vertical !important;      -webkit-line-clamp: 3 !important;      overflow: hidden !important;    }    .tg-df-author-bio--expanded {      min-height: 4.8em !important;      height: auto !important;      max-height: none !important;      display: block !important;      overflow: visible !important;    }    .tg-df-author-bio--static,    .tg-df-author-bio--static:hover,    .tg-df-author-bio--static:focus,    .tg-df-author-bio--static:focus-visible {      outline: none !important;      box-shadow: none !important;      cursor: default !important;    }    .tg-df-author-bio-toggle-slot {      height: 28px !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;      margin: 0.125rem 0 0 !important;    }    .tg-df-author-bio-toggle {      appearance: none !important;      border: 0 !important;      border-bottom: 1px solid currentColor !important;      border-radius: 0 !important;      padding: 0.125rem 0 !important;      margin: 0 !important;      background: transparent !important;      color: #4b5563 !important;      box-shadow: none !important;      font: inherit !important;      font-size: 0.75rem !important;      font-weight: 600 !important;      line-height: 1.2 !important;      text-decoration: none !important;      text-transform: none !important;      cursor: pointer !important;    }    .tg-df-author-bio a {      color: var(--tg-df-blue, #1F69FF) !important;      text-decoration: underline !important;      font-weight: 400 !important;      background: none !important;      border: none !important;      padding: 0 !important;      margin: 0 !important;      border-radius: 0 !important;      display: inline !important;      box-shadow: none !important;    }    .tg-df-author-bio p,    .tg-df-author-bio div,    .tg-df-author-bio span {      margin: 0 !important;      padding: 0 !important;      color: inherit !important;      font: inherit !important;      line-height: inherit !important;      text-align: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-bio strong,    .tg-df-author-bio b {      font-weight: 600 !important;    }    .tg-df-author-bio em,    .tg-df-author-bio i {      font-style: italic !important;    }    @container tg-df (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @media (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @container tg-df (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @media (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }    @media (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }        .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button {      align-items: center; background-color: var(--tg-df-blue); box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;    }    .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button:hover { filter: brightness(0.85); text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-active-badges-row {      display: flex;      flex-wrap: wrap;      gap: 8px;      align-items: center;      margin-top: 12px;      margin-bottom: 16px;      width: 100%;    }    .tg-df-active-badge {      display: inline-flex;      align-items: center;      gap: 6px;      padding: 8px 14px;      background-color: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border: 1px solid var(--tg-df-blue, #1f69ff);      border-radius: 0px;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;    }    .tg-df-badge-remove {      display: inline-flex;      align-items: center;      justify-content: center;      width: 16px;      height: 16px;      border-radius: 0px;      border: none;      background: rgba(255, 255, 255, 0.25);      color: #ffffff;      cursor: pointer;      padding: 0;      margin-left: 4px;      transition: background-color 0.15s, color 0.15s;    }    .tg-df-badge-remove:hover {      background: rgba(255, 255, 255, 0.45);      color: #ffffff;    }    .tg-df-badge-clear-all {      display: inline-flex;      align-items: center;      justify-content: center;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;      padding: 8px 14px;      color: var(--tg-df-text-muted, #64748b);      cursor: pointer;      background: #ffffff;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-radius: 0px;      transition: all 0.15s ease;    }    .tg-df-badge-clear-all:hover {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border-color: var(--tg-df-blue, #1f69ff);    }    .tg-df-savings-squad-header {      margin-bottom: 24px;      text-align: center;    }    .tg-df-banner-img-desktop {      display: block;      width: 100%;      height: auto;      margin-bottom: 32px;    }    .tg-df-banner-img-mobile {      display: none;      width: 100%;      height: auto;      margin-bottom: 32px;    }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop {        display: none;      }      .tg-df-banner-img-mobile {        display: block;      }    }    .tg-df-header-title {      font-size: 28px;      font-weight: 700;      color: var(--tg-df-text);      margin: 32px 0 12px 0;      line-height: 1.3;    }    .tg-df-header-subtitle {      font-size: 16px;      color: var(--tg-df-text-muted);      margin: 0 0 32px 0;      line-height: 1.5;    }    @container tg-df (max-width: 599px) {      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    @media (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    /* Article Intro Content Styling */    .tg-df-article-content {      font-size: 1rem;      line-height: 1.7;      color: #334155;    }    .tg-df-article-content p {      margin-bottom: 1.25rem;      line-height: 1.7;      font-size: 1rem;      color: #334155;    }    .tg-df-article-content > p:first-of-type::first-letter {      font-size: 3.25rem;      font-weight: 700;      float: left;      line-height: 0.85;      margin-right: 0.5rem;      margin-top: 0.15rem;      color: #0f172a;      font-family: inherit;    }    .tg-df-article-content a {      color: #0066cc;      text-decoration: underline;      font-weight: 500;    }    .tg-df-article-content a:hover {      color: #004499;    }    .tg-df-article-content strong, .tg-df-article-content b {      font-weight: 700;      color: #0f172a;    }    .tg-df-article-section-banner {      border-bottom: 2px solid #e6007e;      margin: 2.25rem 0 1.25rem 0;      position: relative;      clear: both;    }    .tg-df-article-section-banner span {      background-color: #e6007e;      color: #ffffff;      padding: 6px 16px;      font-weight: 700;      font-size: 0.875rem;      text-transform: uppercase;      letter-spacing: 0.05em;      display: inline-block;    }  </style><div class="tg-df-widget-host" data-vizualizer-embed="true" data-tg-df-full-bleed="false" data-tg-df-mobile-dropdowns="true" data-tg-df-sticky-mobile-filters="false" style="--tg-df-blue: #DC191B;"><div class="tg-df-container article-body" style="background-color: transparent;"><div id="tg-df-spreadsheet-filters" style="display: block; margin-bottom: 16px;"><div class="tg-df-categories-row-container" style="border-bottom: 1px solid var(--tg-df-border); position: relative;"><button aria-label="Scroll left" class="tg-df-scroll-btn left tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 18l-6-6 6-6"></path></svg></button><button aria-label="Scroll right" class="tg-df-scroll-btn right tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-categories-row" style="display: flex; overflow-x: auto; scrollbar-width: none;"><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Hardware <span style="color: var(--tg-df-blue); font-size: 10px;">66</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Monitors <span style="color: var(--tg-df-blue); font-size: 10px;">9</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming PCs <span style="color: var(--tg-df-blue); font-size: 10px;">7</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Mice <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Headsets <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Audio <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">SSDs <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Storage <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Laptops <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Controllers <span style="color: var(--tg-df-blue); font-size: 10px;">1</span></button></div></div></div><div class="tg-df-mobile-2x2-container"><div class="tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--odd"><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>CATEGORIES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>PRICES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell has-active-filter" aria-expanded="false"><span>DISCOUNTS (25%+)</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button></div></div><div class="tg-df-controls" id="tg-df-controls" style="display: flex; margin-top: 12px; margin-bottom: 16px; justify-content: center;"><div class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0px auto;"><button class="tg-df-scroll-btn left" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 18l-6-6 6-6"></path></svg></button><button class="tg-df-scroll-btn right" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-filters"><div class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices"><option value="all">All Prices</option><option value="under50">Under $50</option><option value="50_100">$50 - $100</option><option value="100_200">$100 - $200</option><option value="200_500">$200 - $500</option><option value="over500">Over $500</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount"><option value="all">Any discount</option><option value="5">Min 5%</option><option value="10">Min 10%</option><option value="15">Min 15%</option><option value="20">Min 20%</option><option value="25">Min 25%</option><option value="30">Min 30%</option><option value="40">Min 40%</option><option value="50">Min 50%</option><option value="60">Min 60%</option><option value="70">Min 70%</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-review-sort-wrapper" style="display: none;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 7h16M7 12h10m-7 5h4"></path></svg><select class="tg-df-filter-select" id="tg-df-review-sort" aria-label="Sort Reviews"><option value="date_desc">Most recent</option><option value="rating_desc">Highest rating</option><option value="scored_first">Scored products first</option></select></div></div></div></div><div class="tg-df-active-badges-row" style="display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 10px; margin-bottom: 16px;"><span class="tg-df-active-badge">Min 25% off<button type="button" class="tg-df-badge-remove" aria-label="Remove Min 25% off"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></span></div><div class="tg-df-grid-wrapper"><div class="tg-df-grid article-body tg-df-grid-auto" id="tg-df-grid"><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-0" data-merchant="Amazon" data-previous-price="34.99" data-price="25.99" data-product-name="G203 | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $9</span><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G203 | Wired" class="tg-df-card-image" loading="lazy" src="http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G203 | Wired"><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G203 | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>25.99</span></span><span class="tg-df-card-msrp">$34.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Glorious" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-0" data-merchant="Amazon" data-previous-price="59.99" data-price="26.31" data-product-name="GHS Eternal | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33.68</span><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="GHS Eternal | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="GHS Eternal | 40 mm drivers"><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Glorious GHS Eternal | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>26.31</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-1" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed | Wireless"><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-86" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed"><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-87" data-merchant="Bestbuy" data-previous-price="69.99" data-price="34.98" data-product-name="Basilisk V3"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35.01</span><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Basilisk V3" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Basilisk V3"><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Basilisk V3</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>34.98</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-3" data-merchant="Amazon" data-previous-price="69.99" data-price="37.99" data-product-name="G502 Hero | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $32</span><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G502 Hero | Wired" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G502 Hero | Wired"><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G502 Hero | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>37.99</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-80" data-merchant="Amazon" data-previous-price="59.99" data-price="39.79" data-product-name="BlackShark V2 X"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20.2</span><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="BlackShark V2 X" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="BlackShark V2 X"><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer BlackShark V2 X</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.79</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-1" data-merchant="Amazon" data-previous-price="79.99" data-price="39.99" data-product-name="G432 | 50 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $40</span><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G432 | 50 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G432 | 50 mm drivers"><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G432 | 50 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-2" data-merchant="Amazon" data-previous-price="79.99" data-price="44.99" data-product-name="Kraken V4 X | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35</span><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Kraken V4 X | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Kraken V4 X | 40 mm drivers"><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Kraken V4 X | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>44.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Turtle Beach" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-5" data-merchant="Amazon" data-previous-price="99.99" data-price="54.99" data-product-name="Burst II Air | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $45</span><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Burst II Air | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Burst II Air | Wireless"><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Turtle Beach Burst II Air | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>54.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="HyperX" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-5" data-merchant="Amazon" data-previous-price="99.99" data-price="57.99" data-product-name="Cloud III | 53 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $42</span><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Cloud III | 53 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Cloud III | 53 mm drivers"><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>HyperX Cloud III | 53 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>57.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Nothing" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-15" data-merchant="Amazon" data-previous-price="79" data-price="59" data-product-name="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Nothing Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>59</span></span><span class="tg-df-card-msrp">$79</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="KTC" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-40" data-merchant="Newegg" data-previous-price="99.99" data-price="62.49" data-product-name="H24V27"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $37.5</span><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="H24V27" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="H24V27"><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>KTC H24V27</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code &quot;LDSF246&quot; for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>62.49</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Scuf" data-currency="$" data-deal-id="airedale-A97h9Ug45WeF5xPLdcoJyf-0" data-merchant="Amazon" data-previous-price="109.99" data-price="76.99" data-product-name="Valor Pro"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33</span><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Valor Pro" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Valor Pro"><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Scuf Valor Pro</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>76.99</span></span><span class="tg-df-card-msrp">$109.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Jess Kinghorn" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/controllers/the-best-wired-pc-controller-has-been-knocked-down-to-usd77-so-long-as-you-dont-mind-it-in-white" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Jess Kinghorn</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 24 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Acer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-41" data-merchant="Newegg" data-previous-price="129.99" data-price="79.99" data-product-name="AOpen 24KG1Y X3bip"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="AOpen 24KG1Y X3bip" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="AOpen 24KG1Y X3bip"><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Acer AOpen 24KG1Y X3bip</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Asus" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-82" data-merchant="Amazon" data-previous-price="129.99" data-price="79.99" data-product-name="ROG Pelta"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="ROG Pelta" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="ROG Pelta"><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Asus ROG Pelta</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-43" data-merchant="Bestbuy" data-previous-price="149.99" data-price="97.49" data-product-name="MAG 244F"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $52.5</span><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 244F" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 244F"><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 244F</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>97.49</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-UBBZiFU9BXsLfvbZ8d4awf-1" data-merchant="Walmart" data-previous-price="149.99" data-price="99" data-product-name="MAG 255XFV"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50.99</span><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 255XFV" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 255XFV"><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 255XFV</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>99</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Walmart</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/amazon-prime-day-gaming-monitor-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-load-more-control" style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1; overflow-anchor: none;"><button type="button" class="tg-df-tag-outline" aria-busy="false" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More</button></div><script type="application/ld+json">{"@context":"https://schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Product","name":"G203 | Wired","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":25.99,"url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":2,"item":{"@type":"Product","name":"GHS Eternal | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","brand":{"@type":"Brand","name":"Glorious"},"offers":{"@type":"Offer","priceCurrency":"USD","price":26.31,"url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":3,"item":{"@type":"Product","name":"G305 Lightspeed | Wireless","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":4,"item":{"@type":"Product","name":"G305 Lightspeed","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/dp/B07CMS5Q6P","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":5,"item":{"@type":"Product","name":"Basilisk V3","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":34.98,"url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":6,"item":{"@type":"Product","name":"G502 Hero | Wired","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":37.99,"url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":7,"item":{"@type":"Product","name":"BlackShark V2 X","image":"https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg","description":"The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.79,"url":"https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":8,"item":{"@type":"Product","name":"G432 | 50 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg","description":"Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.99,"url":"https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":9,"item":{"@type":"Product","name":"Kraken V4 X | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg","description":"If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":44.99,"url":"https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":10,"item":{"@type":"Product","name":"Burst II Air | Wireless","image":"https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg","description":"We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99","brand":{"@type":"Brand","name":"Turtle Beach"},"offers":{"@type":"Offer","priceCurrency":"USD","price":54.99,"url":"https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":11,"item":{"@type":"Product","name":"Cloud III | 53 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg","description":"We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99","brand":{"@type":"Brand","name":"HyperX"},"offers":{"@type":"Offer","priceCurrency":"USD","price":57.99,"url":"https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":12,"item":{"@type":"Product","name":"Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)","image":"https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png","description":"These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response","brand":{"@type":"Brand","name":"Nothing"},"offers":{"@type":"Offer","priceCurrency":"USD","price":59,"url":"https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":13,"item":{"@type":"Product","name":"H24V27","image":"https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png","description":"This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code "LDSF246" for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA","brand":{"@type":"Brand","name":"KTC"},"offers":{"@type":"Offer","priceCurrency":"USD","price":62.49,"url":"https://www.newegg.com/p/3D4-007C-00016","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":14,"item":{"@type":"Product","name":"Valor Pro","image":"https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png","description":"This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks","brand":{"@type":"Brand","name":"Scuf"},"offers":{"@type":"Offer","priceCurrency":"USD","price":76.99,"url":"https://www.amazon.com/dp/B0DTB3QCS5","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":15,"item":{"@type":"Product","name":"AOpen 24KG1Y X3bip","image":"https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png","description":"With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"Acer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.newegg.com/p/N82E16824011533","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":16,"item":{"@type":"Product","name":"ROG Pelta","image":"https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg","description":"With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life","brand":{"@type":"Brand","name":"Asus"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":17,"item":{"@type":"Product","name":"MAG 244F","image":"https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png","description":"With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":97.49,"url":"https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":18,"item":{"@type":"Product","name":"MAG 255XFV","image":"https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg","description":"You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":99,"url":"https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174","seller":{"@type":"Organization","name":"Walmart"}}}}]}</script></div></div><div class="tg-df-modal-backdrop "><div class="tg-df-modal"><div class="tg-df-modal-header"><h3 class="tg-df-modal-title">Available Coupons & Deals</h3><button class="tg-df-modal-close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="tg-df-modal-body"><div class="tg-df-message">No active vouchers found for .</div></div></div></div></div></div>  </div>  <script type="application/json" data-fcaw-config>{"authorBioLength":"short","authorFullBleed":false,"authorHandle":"all-authors","authorName":"All authors","backgroundColor":"transparent","customBio":"","discountAmount":"25","editorMode":false,"editorialMaxAgeMonths":"0","includeBuyingGuideProducts":false,"includeCollections":false,"includeDeals":true,"includeReviewProducts":false,"mobileDropdowns":true,"stickyMobileFilters":false,"offerType":"","preloadReviewInventory":false,"lightweightReviewDelivery":false,"hideHawkPrices":false,"prioritiseCommercialProducts":true,"priceRange":"all","productSelection":"mix","query":"","region":"auto","resultCount":"6","retailer":"","selectedBrands":[],"showAuthorBio":false,"showAuthorCounters":true,"showAuthorIdentity":false,"showAuthorRail":false,"showBrandRail":false,"showCategoryRail":true,"showCollectionsDropdown":false,"showPriceDiscountFilters":true,"showReviewSort":false,"showSocialButtons":false,"showCountdown":false,"showHeaderDetails":true,"showFreeformTagRail":false,"sort":"price_asc","viewMode":"author","website":"pcgamer","widgetSubtitle":"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.","widgetTitle":"Top Deals Handpicked by Our Editors","brands":[],"shortenedHeadlines":{},"compactEmbed":true}</script>  <script type="application/json" data-fcaw-preload>{"authors":[{"bioLong":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","bioShort":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","name":"James","fullName":"James Bentley","handle":"james-bentley","role":"Hardware writer","image":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","brandKey":"pcgamer"},{"bioLong":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","bioShort":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","name":"Dave","fullName":"Dave James","handle":"dave-james","role":"Editor-in-Chief, Hardware","image":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/not_the_gk","label":"X (Twitter)"},{"key":"email","href":"mailto:dave.james@futurenet.com","label":"Email"}]},{"bioLong":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","bioShort":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","name":"Jacob","fullName":"Jacob Fox","handle":"jacob-fox","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","brandKey":"pcgamer"},{"bioLong":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","bioShort":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","name":"Andy","fullName":"Andy Edser","handle":"andy-edser","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","brandKey":"pcgamer"},{"bioLong":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","bioShort":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","name":"Jess","fullName":"Jess Kinghorn","handle":"jess-kinghorn","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/KoeniginKatze","label":"X (Twitter)"},{"key":"linkedin","href":"https://www.linkedin.com/in/jess-kinghorn","label":"LinkedIn"}]}],"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"activeDealTag":null,"activeFreeformTag":null,"activeFreeformTags":[],"couponMap":{"Amazon":"has","Bestbuy":"none","Newegg":"none","Walmart":"none"},"totalAuthorCount":5,"totalDealCount":56,"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"reviewInventoryBaked":false,"regionalDealManifests":{"US":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-0","url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":25.99,"rawMsrp":34.99,"price":"25.99","msrp":"34.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $9","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362\" target=\"_blank\"\u003eBest Buy $39.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-0","url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","title":"GHS Eternal | 40 mm drivers","brand":"Glorious","productName":"GHS Eternal | 40 mm drivers","merchant":"Amazon","rawPrice":26.31,"rawMsrp":59.99,"price":"26.31","msrp":"59.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $33.68","savingType":"amount","isPrime":false,"starRating":null,"description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","text":"\u003cp\u003eWith a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20 hz - 20 kHz | 255 g\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-1","url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite budget wireless mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR\" target=\"_blank\"\u003eBest Buy $49.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-86","url":"https://www.amazon.com/dp/B07CMS5Q6P","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","title":"G305 Lightspeed","brand":"Logitech","productName":"G305 Lightspeed","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","text":"\u003cp\u003eAlready reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-87","url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","title":"Basilisk V3","brand":"Razer","productName":"Basilisk V3","merchant":"Bestbuy","rawPrice":34.98,"rawMsrp":69.99,"price":"34.98","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $35.01","savingType":"amount","isPrime":false,"starRating":null,"description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","text":"\u003cp\u003eThis mouse might be a few years old, but we scored it highly in \u003ca href=\"https://www.pcgamer.com/razer-basilisk-v3-gaming-mouse-review/\" target=\"_blank\"\u003eour review\u003c/a\u003e in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to \u003ca href=\"https://www.pcgamer.com/hardware/im-ashamed-to-say-that-this-razer-mouse-has-made-me-actually-take-a-shine-to-rgb-and-now-you-can-be-persuaded-too-for-almost-50-percent-off/\" target=\"_blank\"\u003etempt even those who usually hate RGB lighting\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-3","url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":37.99,"rawMsrp":69.99,"price":"37.99","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $32","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","text":"\u003cp\u003eThis is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133\" target=\"_blank\"\u003eBest Buy $69.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true}],"GB":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-10","url":"https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":19.99,"rawMsrp":30.99,"price":"19.99","msrp":"30.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £11","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-11","url":"https://www.amazon.co.uk/Logitech-Wireless-Lightweight-Programmable-compatible/dp/B07CGPZ3ZQ","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":19.99,"rawMsrp":27.99,"price":"19.99","msrp":"27.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £8","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite wireless budget mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays. Key specs: Wireless | 12,000 DPI | Right-handed","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite wireless budget mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-19","url":"https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/","image":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","title":"Quantum 100 | 40 mm drivers","brand":"JBL","productName":"Quantum 100 | 40 mm drivers","merchant":"Amazon","rawPrice":19.99,"rawMsrp":29.99,"price":"19.99","msrp":"29.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £10","savingType":"amount","isPrime":false,"starRating":null,"description":"JBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired","text":"\u003cp\u003eJBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-12","url":"https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":22.01,"rawMsrp":37.79,"price":"22.01","msrp":"37.79","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £15.78","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness. Key specs: Wired | 25,600 DPI | Right-handed","text":"\u003cp\u003eThis is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-23","url":"https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1","image":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","title":"G321 Lightspeed | 40 mm drivers","brand":"Logitech","productName":"G321 Lightspeed | 40 mm drivers","merchant":"Amazon","rawPrice":32.99,"rawMsrp":59.99,"price":"32.99","msrp":"59.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £27","savingType":"amount","isPrime":false,"starRating":null,"description":"This very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in his review. It won't blow you away with bass or features, but at this price it's still worth considering. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless Price check: Currys £42.99","text":"\u003cp\u003eThis very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in \u003ca href=\"https://www.pcgamer.com/hardware/gaming-headsets/logitech-g321-lightspeed-review/\" target=\"_blank\"\u003ehis review\u003c/a\u003e. It won't blow you away with bass or features, but at this price it's still worth considering.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless \u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g321-lightspeed-wireless-bluetooth-gaming-headset-black-10289632.html\" target=\"_blank\"\u003eCurrys £42.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-20","url":"https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/","image":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","title":"G335 | 40 mm drivers","brand":"Logitech","productName":"G335 | 40 mm drivers","merchant":"Amazon","rawPrice":34.99,"rawMsrp":64.99,"price":"34.99","msrp":"64.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £30","savingType":"amount","isPrime":false,"starRating":null,"description":"This Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired Price check: Currys £34.99","text":"\u003cp\u003eThis Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g335-gaming-headset-black-10227173.html\" target=\"_blank\"\u003eCurrys £34.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true}],"AU":[{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-5","url":"https://www.amazon.com.au/JBL-QuantumSOUND-Signature-Comfortable-Breathable/dp/B0D6NLHV8N","image":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","title":"Quantum 100M2","brand":"JBL","productName":"Quantum 100M2","merchant":"Amazon","rawPrice":29,"rawMsrp":59.95,"price":"29","msrp":"59.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$30.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.","text":"\u003cp\u003eIf you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-1","url":"https://www.amazon.com.au/dp/B0CMCPY4VG","image":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","title":"Nova Lite","brand":"GameSir","productName":"Nova Lite","merchant":"Amazon","rawPrice":32,"rawMsrp":45,"price":"32","msrp":"45","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$13","savingType":"amount","isPrime":false,"starRating":null,"description":"Our favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.","text":"\u003cp\u003eOur favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-15","url":"https://www.amazon.com.au/dp/B07MG5547J","image":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","title":"G502 Hero","brand":"Logitech","productName":"G502 Hero","merchant":"Amazon","rawPrice":55.99,"rawMsrp":149.95,"price":"55.99","msrp":"149.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$93.96","savingType":"amount","isPrime":false,"starRating":null,"description":"Logitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;","text":"\u003cp\u003eLogitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-8","url":"https://www.amazon.com.au/CORSAIR-Membrane-Wired-Gaming-Keyboard/dp/B0CP6BR96G","image":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","title":"K55 Core Membrane","brand":"Corsair","productName":"K55 Core Membrane","merchant":"Amazon","rawPrice":59,"rawMsrp":79.95,"price":"59","msrp":"79.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$20.95","savingType":"amount","isPrime":false,"starRating":null,"description":"This discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.","text":"\u003cp\u003eThis discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-11","url":"https://www.amazon.com.au/dp/B01K48R5V4","image":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","fallbackImage":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","title":"G G213 Prodigy","brand":"Logitech","productName":"G G213 Prodigy","merchant":"Amazon","rawPrice":72,"rawMsrp":129.95,"price":"72","msrp":"129.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$57.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.","text":"\u003cp\u003eIf you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-13","url":"https://www.amazon.com.au/CORSAIR-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8/","image":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","title":"Sabre v2 Pro","brand":"Corsair","productName":"Sabre v2 Pro","merchant":"Amazon","rawPrice":79,"rawMsrp":169,"price":"79","msrp":"169","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$90","savingType":"amount","isPrime":false,"starRating":null,"description":"The Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox loved its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life.","text":"\u003cp\u003eThe Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox \u003ca href=\"https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/\"\u003eloved\u003c/a\u003e its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life. \u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true}]},"regionalDealRailData":{"US":{"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"totalAuthorCount":5,"totalDealCount":56},"GB":{"brands":[{"formatted_value":"Logitech","count":6},{"formatted_value":"Steelseries","count":2},{"formatted_value":"EarFun","count":2},{"formatted_value":"Lexar","count":2},{"formatted_value":"AOC","count":2},{"formatted_value":"MSI","count":2},{"formatted_value":"JBL","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Turtle Beach","count":1}],"freeformTagCounts":{"hardware":17,"mouse":5,"gaming-mouse":5,"prime-day":5,"amazon-prime-day-2026":14,"amazon-prime-day":17,"prime-day-deals":8,"deals":17,"deal":17,"big-deal-days":17,"gaming-headset":9,"amazon-prime":3,"ssd":1,"pc-deals":3,"gaming-monitor":2,"monitors":2,"solid-state-drive":1,"solid-state":1,"hdd":1,"hard-drive":1,"storage":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"}],"tagCounts":{"Gaming Mice":5,"Hardware":17,"Gaming Headsets":9,"Gaming Audio":9,"SSDs":1,"Storage":1,"Gaming Monitors":2},"tags":["Hardware","Gaming Headsets","Gaming Audio","Gaming Mice","Gaming Monitors","SSDs","Storage"],"totalAuthorCount":4,"totalDealCount":17},"AU":{"brands":[{"formatted_value":"Logitech","count":7},{"formatted_value":"Corsair","count":4},{"formatted_value":"JBL","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"GameSir","count":1},{"formatted_value":"8BitDo","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Asus","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"SteelSeries","count":1}],"freeformTagCounts":{"hardware":20,"amazon-prime":20,"pc-deals":20,"deals":20,"prime-day-deals":20},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"}],"tagCounts":{"Hardware":20},"tags":["Hardware"],"totalAuthorCount":1,"totalDealCount":20}}}</script></fc-author-commerce-widget><script>(()=>{var Z1=Object.create;var cg=Object.defineProperty;var W1=Object.getOwnPropertyDescriptor;var I1=Object.getOwnPropertyNames;var J1=Object.getPrototypeOf,$1=Object.prototype.hasOwnProperty;var un=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var eb=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of I1(t))!$1.call(e,l)&&l!==n&&cg(e,l,{get:()=>t[l],enumerable:!(a=W1(t,l))||a.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Z1(J1(e)):{},eb(t||!e||!e.__esModule?cg(n,"default",{value:e,enumerable:!0}):n,e));var Ag=un(z=>{"use strict";var Tc=Symbol.for("react.transitional.element"),tb=Symbol.for("react.portal"),nb=Symbol.for("react.fragment"),ab=Symbol.for("react.strict_mode"),lb=Symbol.for("react.profiler"),ib=Symbol.for("react.consumer"),rb=Symbol.for("react.context"),ob=Symbol.for("react.forward_ref"),ub=Symbol.for("react.suspense"),cb=Symbol.for("react.memo"),mg=Symbol.for("react.lazy"),sb=Symbol.for("react.activity"),sg=Symbol.iterator;function db(e){return e===null||typeof e!="object"?null:(e=sg&&e[sg]||e["@@iterator"],typeof e=="function"?e:null)}var hg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pg=Object.assign,yg={};function ml(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}ml.prototype.isReactComponent={};ml.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ml.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function vg(){}vg.prototype=ml.prototype;function Ec(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}var Dc=Ec.prototype=new vg;Dc.constructor=Ec;pg(Dc,ml.prototype);Dc.isPureReactComponent=!0;var dg=Array.isArray;function Rc(){}var he={H:null,A:null,T:null,S:null},bg=Object.prototype.hasOwnProperty;function xc(e,t,n){var a=n.ref;return{$$typeof:Tc,type:e,key:t,ref:a!==void 0?a:null,props:n}}function fb(e,t){return xc(e.type,t,e.props)}function Mc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function gb(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var fg=/\/+/g;function Cc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?gb(""+e.key):t.toString(36)}function mb(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Rc,Rc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function gl(e,t,n,a,l){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var r=!1;if(e===null)r=!0;else switch(i){case"bigint":case"string":case"number":r=!0;break;case"object":switch(e.$$typeof){case Tc:case tb:r=!0;break;case mg:return r=e._init,gl(r(e._payload),t,n,a,l)}}if(r)return l=l(e),r=a===""?"."+Cc(e,0):a,dg(l)?(n="",r!=null&&(n=r.replace(fg,"$&/")+"/"),gl(l,t,n,"",function(c){return c})):l!=null&&(Mc(l)&&(l=fb(l,n+(l.key==null||e&&e.key===l.key?"":(""+l.key).replace(fg,"$&/")+"/")+r)),t.push(l)),1;r=0;var o=a===""?".":a+":";if(dg(e))for(var u=0;u<e.length;u++)a=e[u],i=o+Cc(a,u),r+=gl(a,t,n,i,l);else if(u=db(e),typeof u=="function")for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,i=o+Cc(a,u++),r+=gl(a,t,n,i,l);else if(i==="object"){if(typeof e.then=="function")return gl(mb(e),t,n,a,l);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return r}function ro(e,t,n){if(e==null)return e;var a=[],l=0;return gl(e,a,"","",function(i){return t.call(n,i,l++)}),a}function hb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var gg=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},pb={map:ro,forEach:function(e,t,n){ro(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ro(e,function(){t++}),t},toArray:function(e){return ro(e,function(t){return t})||[]},only:function(e){if(!Mc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};z.Activity=sb;z.Children=pb;z.Component=ml;z.Fragment=nb;z.Profiler=lb;z.PureComponent=Ec;z.StrictMode=ab;z.Suspense=ub;z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=he;z.__COMPILER_RUNTIME={__proto__:null,c:function(e){return he.H.useMemoCache(e)}};z.cache=function(e){return function(){return e.apply(null,arguments)}};z.cacheSignal=function(){return null};z.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=pg({},e.props),l=e.key;if(t!=null)for(i in t.key!==void 0&&(l=""+t.key),t)!bg.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(a[i]=t[i]);var i=arguments.length-2;if(i===1)a.children=n;else if(1<i){for(var r=Array(i),o=0;o<i;o++)r[o]=arguments[o+2];a.children=r}return xc(e.type,l,a)};z.createContext=function(e){return e={$$typeof:rb,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:ib,_context:e},e};z.createElement=function(e,t,n){var a,l={},i=null;if(t!=null)for(a in t.key!==void 0&&(i=""+t.key),t)bg.call(t,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(l[a]=t[a]);var r=arguments.length-2;if(r===1)l.children=n;else if(1<r){for(var o=Array(r),u=0;u<r;u++)o[u]=arguments[u+2];l.children=o}if(e&&e.defaultProps)for(a in r=e.defaultProps,r)l[a]===void 0&&(l[a]=r[a]);return xc(e,i,l)};z.createRef=function(){return{current:null}};z.forwardRef=function(e){return{$$typeof:ob,render:e}};z.isValidElement=Mc;z.lazy=function(e){return{$$typeof:mg,_payload:{_status:-1,_result:e},_init:hb}};z.memo=function(e,t){return{$$typeof:cb,type:e,compare:t===void 0?null:t}};z.startTransition=function(e){var t=he.T,n={};he.T=n;try{var a=e(),l=he.S;l!==null&&l(n,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Rc,gg)}catch(i){gg(i)}finally{t!==null&&n.types!==null&&(t.types=n.types),he.T=t}};z.unstable_useCacheRefresh=function(){return he.H.useCacheRefresh()};z.use=function(e){return he.H.use(e)};z.useActionState=function(e,t,n){return he.H.useActionState(e,t,n)};z.useCallback=function(e,t){return he.H.useCallback(e,t)};z.useContext=function(e){return he.H.useContext(e)};z.useDebugValue=function(){};z.useDeferredValue=function(e,t){return he.H.useDeferredValue(e,t)};z.useEffect=function(e,t){return he.H.useEffect(e,t)};z.useEffectEvent=function(e){return he.H.useEffectEvent(e)};z.useId=function(){return he.H.useId()};z.useImperativeHandle=function(e,t,n){return he.H.useImperativeHandle(e,t,n)};z.useInsertionEffect=function(e,t){return he.H.useInsertionEffect(e,t)};z.useLayoutEffect=function(e,t){return he.H.useLayoutEffect(e,t)};z.useMemo=function(e,t){return he.H.useMemo(e,t)};z.useOptimistic=function(e,t){return he.H.useOptimistic(e,t)};z.useReducer=function(e,t,n){return he.H.useReducer(e,t,n)};z.useRef=function(e){return he.H.useRef(e)};z.useState=function(e){return he.H.useState(e)};z.useSyncExternalStore=function(e,t,n){return he.H.useSyncExternalStore(e,t,n)};z.useTransition=function(){return he.H.useTransition()};z.version="19.2.8"});var ft=un((zS,wg)=>{"use strict";wg.exports=Ag()});var Bg=un(Se=>{"use strict";function Oc(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,l=e[a];if(0<oo(l,t))e[a]=t,e[n]=l,n=a;else break e}}function cn(e){return e.length===0?null:e[0]}function co(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,l=e.length,i=l>>>1;a<i;){var r=2*(a+1)-1,o=e[r],u=r+1,c=e[u];if(0>oo(o,n))u<l&&0>oo(c,o)?(e[a]=c,e[u]=n,a=u):(e[a]=o,e[r]=n,a=r);else if(u<l&&0>oo(c,n))e[a]=c,e[u]=n,a=u;else break e}}return t}function oo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Se.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Sg=performance,Se.unstable_now=function(){return Sg.now()}):(_c=Date,Cg=_c.now(),Se.unstable_now=function(){return _c.now()-Cg});var Sg,_c,Cg,wn=[],Qn=[],yb=1,Ut=null,et=3,kc=!1,Mi=!1,_i=!1,Lc=!1,Eg=typeof setTimeout=="function"?setTimeout:null,Dg=typeof clearTimeout=="function"?clearTimeout:null,Rg=typeof setImmediate<"u"?setImmediate:null;function uo(e){for(var t=cn(Qn);t!==null;){if(t.callback===null)co(Qn);else if(t.startTime<=e)co(Qn),t.sortIndex=t.expirationTime,Oc(wn,t);else break;t=cn(Qn)}}function Hc(e){if(_i=!1,uo(e),!Mi)if(cn(wn)!==null)Mi=!0,pl||(pl=!0,hl());else{var t=cn(Qn);t!==null&&zc(Hc,t.startTime-e)}}var pl=!1,Bi=-1,xg=5,Mg=-1;function _g(){return Lc?!0:!(Se.unstable_now()-Mg<xg)}function Bc(){if(Lc=!1,pl){var e=Se.unstable_now();Mg=e;var t=!0;try{e:{Mi=!1,_i&&(_i=!1,Dg(Bi),Bi=-1),kc=!0;var n=et;try{t:{for(uo(e),Ut=cn(wn);Ut!==null&&!(Ut.expirationTime>e&&_g());){var a=Ut.callback;if(typeof a=="function"){Ut.callback=null,et=Ut.priorityLevel;var l=a(Ut.expirationTime<=e);if(e=Se.unstable_now(),typeof l=="function"){Ut.callback=l,uo(e),t=!0;break t}Ut===cn(wn)&&co(wn),uo(e)}else co(wn);Ut=cn(wn)}if(Ut!==null)t=!0;else{var i=cn(Qn);i!==null&&zc(Hc,i.startTime-e),t=!1}}break e}finally{Ut=null,et=n,kc=!1}t=void 0}}finally{t?hl():pl=!1}}}var hl;typeof Rg=="function"?hl=function(){Rg(Bc)}:typeof MessageChannel<"u"?(Nc=new MessageChannel,Tg=Nc.port2,Nc.port1.onmessage=Bc,hl=function(){Tg.postMessage(null)}):hl=function(){Eg(Bc,0)};var Nc,Tg;function zc(e,t){Bi=Eg(function(){e(Se.unstable_now())},t)}Se.unstable_IdlePriority=5;Se.unstable_ImmediatePriority=1;Se.unstable_LowPriority=4;Se.unstable_NormalPriority=3;Se.unstable_Profiling=null;Se.unstable_UserBlockingPriority=2;Se.unstable_cancelCallback=function(e){e.callback=null};Se.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):xg=0<e?Math.floor(1e3/e):5};Se.unstable_getCurrentPriorityLevel=function(){return et};Se.unstable_next=function(e){switch(et){case 1:case 2:case 3:var t=3;break;default:t=et}var n=et;et=t;try{return e()}finally{et=n}};Se.unstable_requestPaint=function(){Lc=!0};Se.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=et;et=e;try{return t()}finally{et=n}};Se.unstable_scheduleCallback=function(e,t,n){var a=Se.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?a+n:a):n=a,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return l=n+l,e={id:yb++,callback:t,priorityLevel:e,startTime:n,expirationTime:l,sortIndex:-1},n>a?(e.sortIndex=n,Oc(Qn,e),cn(wn)===null&&e===cn(Qn)&&(_i?(Dg(Bi),Bi=-1):_i=!0,zc(Hc,n-a))):(e.sortIndex=l,Oc(wn,e),Mi||kc||(Mi=!0,pl||(pl=!0,hl()))),e};Se.unstable_shouldYield=_g;Se.unstable_wrapCallback=function(e){var t=et;return function(){var n=et;et=t;try{return e.apply(this,arguments)}finally{et=n}}}});var Og=un((GS,Ng)=>{"use strict";Ng.exports=Bg()});var Lg=un(ot=>{"use strict";var vb=ft();function kg(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Kn(){}var rt={d:{f:Kn,r:function(){throw Error(kg(522))},D:Kn,C:Kn,L:Kn,m:Kn,X:Kn,S:Kn,M:Kn},p:0,findDOMNode:null},bb=Symbol.for("react.portal");function Ab(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:bb,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}var Ni=vb.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function so(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ot.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=rt;ot.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(kg(299));return Ab(e,t,null,n)};ot.flushSync=function(e){var t=Ni.T,n=rt.p;try{if(Ni.T=null,rt.p=2,e)return e()}finally{Ni.T=t,rt.p=n,rt.d.f()}};ot.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,rt.d.C(e,t))};ot.prefetchDNS=function(e){typeof e=="string"&&rt.d.D(e)};ot.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin),l=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?rt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:l,fetchPriority:i}):n==="script"&&rt.d.X(e,{crossOrigin:a,integrity:l,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ot.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=so(t.as,t.crossOrigin);rt.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&rt.d.M(e)};ot.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin);rt.d.L(e,n,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};ot.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=so(t.as,t.crossOrigin);rt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else rt.d.m(e)};ot.requestFormReset=function(e){rt.d.r(e)};ot.unstable_batchedUpdates=function(e,t){return e(t)};ot.useFormState=function(e,t,n){return Ni.H.useFormState(e,t,n)};ot.useFormStatus=function(){return Ni.H.useHostTransitionStatus()};ot.version="19.2.8"});var Ug=un((qS,zg)=>{"use strict";function Hg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Hg)}catch(e){console.error(e)}}Hg(),zg.exports=Lg()});var Wy=un(Hu=>{"use strict";var Ge=Og(),sh=ft(),wb=Ug();function S(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function dh(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function vr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function fh(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function gh(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Gg(e){if(vr(e)!==e)throw Error(S(188))}function Sb(e){var t=e.alternate;if(!t){if(t=vr(e),t===null)throw Error(S(188));return t!==e?null:e}for(var n=e,a=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(a=l.return,a!==null){n=a;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return Gg(l),e;if(i===a)return Gg(l),t;i=i.sibling}throw Error(S(188))}if(n.return!==a.return)n=l,a=i;else{for(var r=!1,o=l.child;o;){if(o===n){r=!0,n=l,a=i;break}if(o===a){r=!0,a=l,n=i;break}o=o.sibling}if(!r){for(o=i.child;o;){if(o===n){r=!0,n=i,a=l;break}if(o===a){r=!0,a=i,n=l;break}o=o.sibling}if(!r)throw Error(S(189))}}if(n.alternate!==a)throw Error(S(190))}if(n.tag!==3)throw Error(S(188));return n.stateNode.current===n?e:t}function mh(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=mh(e),t!==null)return t;e=e.sibling}return null}var ve=Object.assign,Cb=Symbol.for("react.element"),fo=Symbol.for("react.transitional.element"),Pi=Symbol.for("react.portal"),Sl=Symbol.for("react.fragment"),hh=Symbol.for("react.strict_mode"),ys=Symbol.for("react.profiler"),ph=Symbol.for("react.consumer"),Mn=Symbol.for("react.context"),fd=Symbol.for("react.forward_ref"),vs=Symbol.for("react.suspense"),bs=Symbol.for("react.suspense_list"),gd=Symbol.for("react.memo"),Zn=Symbol.for("react.lazy");Symbol.for("react.scope");var As=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var Rb=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var Pg=Symbol.iterator;function Oi(e){return e===null||typeof e!="object"?null:(e=Pg&&e[Pg]||e["@@iterator"],typeof e=="function"?e:null)}var Tb=Symbol.for("react.client.reference");function ws(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Tb?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Sl:return"Fragment";case ys:return"Profiler";case hh:return"StrictMode";case vs:return"Suspense";case bs:return"SuspenseList";case As:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Pi:return"Portal";case Mn:return e.displayName||"Context";case ph:return(e._context.displayName||"Context")+".Consumer";case fd:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gd:return t=e.displayName||null,t!==null?t:ws(e.type)||"Memo";case Zn:t=e._payload,e=e._init;try{return ws(e(t))}catch{}}return null}var qi=Array.isArray,L=sh.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=wb.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,za={pending:!1,data:null,method:null,action:null},Ss=[],Cl=-1;function mn(e){return{current:e}}function Fe(e){0>Cl||(e.current=Ss[Cl],Ss[Cl]=null,Cl--)}function ge(e,t){Cl++,Ss[Cl]=e.current,e.current=t}var gn=mn(null),lr=mn(null),ra=mn(null),Vo=mn(null);function Xo(e,t){switch(ge(ra,t),ge(lr,e),ge(gn,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qm(t),e=Hy(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Fe(gn),ge(gn,e)}function ql(){Fe(gn),Fe(lr),Fe(ra)}function Cs(e){e.memoizedState!==null&&ge(Vo,e);var t=gn.current,n=Hy(t,e.type);t!==n&&(ge(lr,e),ge(gn,n))}function Qo(e){lr.current===e&&(Fe(gn),Fe(lr)),Vo.current===e&&(Fe(Vo),hr._currentValue=za)}var Uc,qg;function Oa(e){if(Uc===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Uc=t&&t[1]||"",qg=-1<n.stack.indexOf(`    at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return``+Uc+e+qg}var Gc=!1;function Pc(e,t){if(!e||Gc)return"";Gc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(m){var d=m}Reflect.construct(e,[],f)}else{try{f.call()}catch(m){d=m}e.call(f.prototype)}}else{try{throw Error()}catch(m){d=m}(f=e())&&typeof f.catch=="function"&&f.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),r=i[0],o=i[1];if(r&&o){var u=r.split(``),c=o.split(``);for(l=a=0;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;for(;l<c.length&&!c[l].includes("DetermineComponentFrameRoot");)l++;if(a===u.length||l===c.length)for(a=u.length-1,l=c.length-1;1<=a&&0<=l&&u[a]!==c[l];)l--;for(;1<=a&&0<=l;a--,l--)if(u[a]!==c[l]){if(a!==1||l!==1)do if(a--,l--,0>l||u[a]!==c[l]){var s=``+u[a].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=a&&0<=l);break}}}finally{Gc=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Oa(n):""}function Eb(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return Pc(e.type,!1);case 11:return Pc(e.type.render,!1);case 1:return Pc(e.type,!0);case 31:return Oa("Activity");default:return""}}function Fg(e){try{var t="",n=null;do t+=Eb(e,n),n=e,e=e.return;while(e);return t}catch(a){return`Error generating stack: `+a.message+``+a.stack}}var Rs=Object.prototype.hasOwnProperty,md=Ge.unstable_scheduleCallback,qc=Ge.unstable_cancelCallback,Db=Ge.unstable_shouldYield,xb=Ge.unstable_requestPaint,Dt=Ge.unstable_now,Mb=Ge.unstable_getCurrentPriorityLevel,yh=Ge.unstable_ImmediatePriority,vh=Ge.unstable_UserBlockingPriority,Ko=Ge.unstable_NormalPriority,_b=Ge.unstable_LowPriority,bh=Ge.unstable_IdlePriority,Bb=Ge.log,Nb=Ge.unstable_setDisableYieldValue,br=null,xt=null;function ta(e){if(typeof Bb=="function"&&Nb(e),xt&&typeof xt.setStrictMode=="function")try{xt.setStrictMode(br,e)}catch{}}var Mt=Math.clz32?Math.clz32:Lb,Ob=Math.log,kb=Math.LN2;function Lb(e){return e>>>=0,e===0?32:31-(Ob(e)/kb|0)|0}var go=256,mo=262144,ho=4194304;function ka(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Au(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var o=a&134217727;return o!==0?(a=o&~i,a!==0?l=ka(a):(r&=o,r!==0?l=ka(r):n||(n=o&~e,n!==0&&(l=ka(n))))):(o=a&~i,o!==0?l=ka(o):r!==0?l=ka(r):n||(n=a&~e,n!==0&&(l=ka(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function Ar(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Hb(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ah(){var e=ho;return ho<<=1,(ho&62914560)===0&&(ho=4194304),e}function Fc(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wr(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function zb(e,t,n,a,l,i){var r=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,u=e.expirationTimes,c=e.hiddenUpdates;for(n=r&~n;0<n;){var s=31-Mt(n),f=1<<s;o[s]=0,u[s]=-1;var d=c[s];if(d!==null)for(c[s]=null,s=0;s<d.length;s++){var m=d[s];m!==null&&(m.lane&=-536870913)}n&=~f}a!==0&&wh(e,a,0),i!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=i&~(r&~t))}function wh(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Mt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function Sh(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Mt(n),l=1<<a;l&t|e[a]&t&&(e[a]|=t),n&=~l}}function Ch(e,t){var n=t&-t;return n=(n&42)!==0?1:hd(n),(n&(e.suspendedLanes|t))!==0?0:n}function hd(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function pd(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Rh(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:Qy(e.type))}function jg(e,t){var n=$.p;try{return $.p=e,t()}finally{$.p=n}}var ba=Math.random().toString(36).slice(2),Ve="__reactFiber$"+ba,vt="__reactProps$"+ba,Jl="__reactContainer$"+ba,Ts="__reactEvents$"+ba,Ub="__reactListeners$"+ba,Gb="__reactHandles$"+ba,Yg="__reactResources$"+ba,Sr="__reactMarker$"+ba;function yd(e){delete e[Ve],delete e[vt],delete e[Ts],delete e[Ub],delete e[Gb]}function Rl(e){var t=e[Ve];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jl]||n[Ve]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Jm(e);e!==null;){if(n=e[Ve])return n;e=Jm(e)}return t}e=n,n=e.parentNode}return null}function $l(e){if(e=e[Ve]||e[Jl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Fi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(S(33))}function kl(e){var t=e[Yg];return t||(t=e[Yg]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function qe(e){e[Sr]=!0}var Th=new Set,Eh={};function Qa(e,t){Fl(e,t),Fl(e+"Capture",t)}function Fl(e,t){for(Eh[e]=t,e=0;e<t.length;e++)Th.add(t[e])}var Pb=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Vg={},Xg={};function qb(e){return Rs.call(Xg,e)?!0:Rs.call(Vg,e)?!1:Pb.test(e)?Xg[e]=!0:(Vg[e]=!0,!1)}function _o(e,t,n){if(qb(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function po(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function Sn(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+a)}}function Pt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fb(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,i=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(r){n=""+r,i.call(this,r)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){if(!e._valueTracker){var t=Dh(e)?"checked":"value";e._valueTracker=Fb(e,t,""+e[t])}}function xh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=Dh(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Zo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var jb=/[\n"\\]/g;function jt(e){return e.replace(jb,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ds(e,t,n,a,l,i,r,o){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pt(t)):e.value!==""+Pt(t)&&(e.value=""+Pt(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?xs(e,r,Pt(t)):n!=null?xs(e,r,Pt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+Pt(o):e.removeAttribute("name")}function Mh(e,t,n,a,l,i,r,o){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Es(e);return}n=n!=null?""+Pt(n):"",t=t!=null?""+Pt(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=o?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),Es(e)}function xs(e,t,n){t==="number"&&Zo(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ll(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&a&&(e[n].defaultSelected=!0)}else{for(n=""+Pt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,a&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function _h(e,t,n){if(t!=null&&(t=""+Pt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Pt(n):""}function Bh(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(S(92));if(qi(a)){if(1<a.length)throw Error(S(93));a=a[0]}n=a}n==null&&(n=""),t=n}n=Pt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==""&&a!==null&&(e.value=a),Es(e)}function jl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Qg(e,t,n){var a=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,n):typeof n!="number"||n===0||Yb.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Nh(e,t,n){if(t!=null&&typeof t!="object")throw Error(S(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var l in t)a=t[l],t.hasOwnProperty(l)&&n[l]!==a&&Qg(e,l,a)}else for(var i in t)t.hasOwnProperty(i)&&Qg(e,i,t[i])}function vd(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Xb=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Bo(e){return Xb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function _n(){}var Ms=null;function bd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tl=null,Hl=null;function Kg(e){var t=$l(e);if(t&&(e=t.stateNode)){var n=e[vt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Ds(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+jt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var l=a[vt]||null;if(!l)throw Error(S(90));Ds(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&xh(a)}break e;case"textarea":_h(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ll(e,!!n.multiple,t,!1)}}}var jc=!1;function Oh(e,t,n){if(jc)return e(t,n);jc=!0;try{var a=e(t);return a}finally{if(jc=!1,(Tl!==null||Hl!==null)&&(Nu(),Tl&&(t=Tl,e=Hl,Hl=Tl=null,Kg(t),e)))for(t=0;t<e.length;t++)Kg(e[t])}}function ir(e,t){var n=e.stateNode;if(n===null)return null;var a=n[vt]||null;if(a===null)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(S(231,t,typeof n));return n}var Ln=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_s=!1;if(Ln)try{yl={},Object.defineProperty(yl,"passive",{get:function(){_s=!0}}),window.addEventListener("test",yl,yl),window.removeEventListener("test",yl,yl)}catch{_s=!1}var yl,na=null,Ad=null,No=null;function kh(){if(No)return No;var e,t=Ad,n=t.length,a,l="value"in na?na.value:na.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var r=n-e;for(a=1;a<=r&&t[n-a]===l[i-a];a++);return No=l.slice(e,1<a?1-a:void 0)}function Oo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yo(){return!0}function Zg(){return!1}function bt(e){function t(n,a,l,i,r){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=i,this.target=r,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?yo:Zg,this.isPropagationStopped=Zg,this}return ve(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=yo)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var Ka={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},wu=bt(Ka),Cr=ve({},Ka,{view:0,detail:0}),Qb=bt(Cr),Yc,Vc,ki,Su=ve({},Cr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wd,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ki&&(ki&&e.type==="mousemove"?(Yc=e.screenX-ki.screenX,Vc=e.screenY-ki.screenY):Vc=Yc=0,ki=e),Yc)},movementY:function(e){return"movementY"in e?e.movementY:Vc}}),Wg=bt(Su),Kb=ve({},Su,{dataTransfer:0}),Zb=bt(Kb),Wb=ve({},Cr,{relatedTarget:0}),Xc=bt(Wb),Ib=ve({},Ka,{animationName:0,elapsedTime:0,pseudoElement:0}),Jb=bt(Ib),$b=ve({},Ka,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),eA=bt($b),tA=ve({},Ka,{data:0}),Ig=bt(tA),nA={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},aA={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},lA={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function iA(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=lA[e])?!!t[e]:!1}function wd(){return iA}var rA=ve({},Cr,{key:function(e){if(e.key){var t=nA[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Oo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?aA[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wd,charCode:function(e){return e.type==="keypress"?Oo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Oo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),oA=bt(rA),uA=ve({},Su,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jg=bt(uA),cA=ve({},Cr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wd}),sA=bt(cA),dA=ve({},Ka,{propertyName:0,elapsedTime:0,pseudoElement:0}),fA=bt(dA),gA=ve({},Su,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mA=bt(gA),hA=ve({},Ka,{newState:0,oldState:0}),pA=bt(hA),yA=[9,13,27,32],Sd=Ln&&"CompositionEvent"in window,Vi=null;Ln&&"documentMode"in document&&(Vi=document.documentMode);var vA=Ln&&"TextEvent"in window&&!Vi,Lh=Ln&&(!Sd||Vi&&8<Vi&&11>=Vi),$g=" ",em=!1;function Hh(e,t){switch(e){case"keyup":return yA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var El=!1;function bA(e,t){switch(e){case"compositionend":return zh(t);case"keypress":return t.which!==32?null:(em=!0,$g);case"textInput":return e=t.data,e===$g&&em?null:e;default:return null}}function AA(e,t){if(El)return e==="compositionend"||!Sd&&Hh(e,t)?(e=kh(),No=Ad=na=null,El=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Lh&&t.locale!=="ko"?null:t.data;default:return null}}var wA={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tm(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!wA[e.type]:t==="textarea"}function Uh(e,t,n,a){Tl?Hl?Hl.push(a):Hl=[a]:Tl=a,t=gu(t,"onChange"),0<t.length&&(n=new wu("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Xi=null,rr=null;function SA(e){Oy(e,0)}function Cu(e){var t=Fi(e);if(xh(t))return e}function nm(e,t){if(e==="change")return t}var Gh=!1;Ln&&(Ln?(bo="oninput"in document,bo||(Qc=document.createElement("div"),Qc.setAttribute("oninput","return;"),bo=typeof Qc.oninput=="function"),vo=bo):vo=!1,Gh=vo&&(!document.documentMode||9<document.documentMode));var vo,bo,Qc;function am(){Xi&&(Xi.detachEvent("onpropertychange",Ph),rr=Xi=null)}function Ph(e){if(e.propertyName==="value"&&Cu(rr)){var t=[];Uh(t,rr,e,bd(e)),Oh(SA,t)}}function CA(e,t,n){e==="focusin"?(am(),Xi=t,rr=n,Xi.attachEvent("onpropertychange",Ph)):e==="focusout"&&am()}function RA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Cu(rr)}function TA(e,t){if(e==="click")return Cu(t)}function EA(e,t){if(e==="input"||e==="change")return Cu(t)}function DA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bt=typeof Object.is=="function"?Object.is:DA;function or(e,t){if(Bt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!Rs.call(t,l)||!Bt(e[l],t[l]))return!1}return!0}function lm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function im(e,t){var n=lm(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lm(n)}}function qh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Zo(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Zo(e.document)}return t}function Cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var xA=Ln&&"documentMode"in document&&11>=document.documentMode,Dl=null,Bs=null,Qi=null,Ns=!1;function rm(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ns||Dl==null||Dl!==Zo(a)||(a=Dl,"selectionStart"in a&&Cd(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Qi&&or(Qi,a)||(Qi=a,a=gu(Bs,"onSelect"),0<a.length&&(t=new wu("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=Dl)))}function Na(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xl={animationend:Na("Animation","AnimationEnd"),animationiteration:Na("Animation","AnimationIteration"),animationstart:Na("Animation","AnimationStart"),transitionrun:Na("Transition","TransitionRun"),transitionstart:Na("Transition","TransitionStart"),transitioncancel:Na("Transition","TransitionCancel"),transitionend:Na("Transition","TransitionEnd")},Kc={},jh={};Ln&&(jh=document.createElement("div").style,"AnimationEvent"in window||(delete xl.animationend.animation,delete xl.animationiteration.animation,delete xl.animationstart.animation),"TransitionEvent"in window||delete xl.transitionend.transition);function Za(e){if(Kc[e])return Kc[e];if(!xl[e])return e;var t=xl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in jh)return Kc[e]=t[n];return e}var Yh=Za("animationend"),Vh=Za("animationiteration"),Xh=Za("animationstart"),MA=Za("transitionrun"),_A=Za("transitionstart"),BA=Za("transitioncancel"),Qh=Za("transitionend"),Kh=new Map,Os="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Os.push("scrollEnd");function tn(e,t){Kh.set(e,t),Qa(t,[e])}var Wo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Gt=[],Ml=0,Rd=0;function Ru(){for(var e=Ml,t=Rd=Ml=0;t<e;){var n=Gt[t];Gt[t++]=null;var a=Gt[t];Gt[t++]=null;var l=Gt[t];Gt[t++]=null;var i=Gt[t];if(Gt[t++]=null,a!==null&&l!==null){var r=a.pending;r===null?l.next=l:(l.next=r.next,r.next=l),a.pending=l}i!==0&&Zh(n,l,i)}}function Tu(e,t,n,a){Gt[Ml++]=e,Gt[Ml++]=t,Gt[Ml++]=n,Gt[Ml++]=a,Rd|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function Td(e,t,n,a){return Tu(e,t,n,a),Io(e)}function Wa(e,t){return Tu(e,null,null,t),Io(e)}function Zh(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var l=!1,i=e.return;i!==null;)i.childLanes|=n,a=i.alternate,a!==null&&(a.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(l=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,l&&t!==null&&(l=31-Mt(n),e=i.hiddenUpdates,a=e[l],a===null?e[l]=[t]:a.push(t),t.lane=n|536870912),i):null}function Io(e){if(50<nr)throw nr=0,ed=null,Error(S(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var _l={};function NA(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(e,t,n,a){return new NA(e,t,n,a)}function Ed(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nn(e,t){var n=e.alternate;return n===null?(n=Tt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Wh(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ko(e,t,n,a,l,i){var r=0;if(a=e,typeof e=="function")Ed(e)&&(r=1);else if(typeof e=="string")r=Lw(e,n,gn.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case As:return e=Tt(31,n,t,l),e.elementType=As,e.lanes=i,e;case Sl:return Ua(n.children,l,i,t);case hh:r=8,l|=24;break;case ys:return e=Tt(12,n,t,l|2),e.elementType=ys,e.lanes=i,e;case vs:return e=Tt(13,n,t,l),e.elementType=vs,e.lanes=i,e;case bs:return e=Tt(19,n,t,l),e.elementType=bs,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Mn:r=10;break e;case ph:r=9;break e;case fd:r=11;break e;case gd:r=14;break e;case Zn:r=16,a=null;break e}r=29,n=Error(S(130,e===null?"null":typeof e,"")),a=null}return t=Tt(r,n,t,l),t.elementType=e,t.type=a,t.lanes=i,t}function Ua(e,t,n,a){return e=Tt(7,e,a,t),e.lanes=n,e}function Zc(e,t,n){return e=Tt(6,e,null,t),e.lanes=n,e}function Ih(e){var t=Tt(18,null,null,0);return t.stateNode=e,t}function Wc(e,t,n){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var om=new WeakMap;function Yt(e,t){if(typeof e=="object"&&e!==null){var n=om.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Fg(t)},om.set(e,t),t)}return{value:e,source:t,stack:Fg(t)}}var Bl=[],Nl=0,Jo=null,ur=0,qt=[],Ft=0,ha=null,sn=1,dn="";function Dn(e,t){Bl[Nl++]=ur,Bl[Nl++]=Jo,Jo=e,ur=t}function Jh(e,t,n){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,ha=e;var a=sn;e=dn;var l=32-Mt(a)-1;a&=~(1<<l),n+=1;var i=32-Mt(t)+l;if(30<i){var r=l-l%5;i=(a&(1<<r)-1).toString(32),a>>=r,l-=r,sn=1<<32-Mt(t)+l|n<<l|a,dn=i+e}else sn=1<<i|n<<l|a,dn=e}function Dd(e){e.return!==null&&(Dn(e,1),Jh(e,1,0))}function xd(e){for(;e===Jo;)Jo=Bl[--Nl],Bl[Nl]=null,ur=Bl[--Nl],Bl[Nl]=null;for(;e===ha;)ha=qt[--Ft],qt[Ft]=null,dn=qt[--Ft],qt[Ft]=null,sn=qt[--Ft],qt[Ft]=null}function $h(e,t){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,sn=t.id,dn=t.overflow,ha=e}var Xe=null,ye=null,V=!1,oa=null,Vt=!1,ks=Error(S(519));function pa(e){var t=Error(S(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw cr(Yt(t,e)),ks}function um(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[Ve]=e,t[vt]=a,n){case"dialog":q("cancel",t),q("close",t);break;case"iframe":case"object":case"embed":q("load",t);break;case"video":case"audio":for(n=0;n<gr.length;n++)q(gr[n],t);break;case"source":q("error",t);break;case"img":case"image":case"link":q("error",t),q("load",t);break;case"details":q("toggle",t);break;case"input":q("invalid",t),Mh(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":q("invalid",t);break;case"textarea":q("invalid",t),Bh(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||a.suppressHydrationWarning===!0||Ly(t.textContent,n)?(a.popover!=null&&(q("beforetoggle",t),q("toggle",t)),a.onScroll!=null&&q("scroll",t),a.onScrollEnd!=null&&q("scrollend",t),a.onClick!=null&&(t.onclick=_n),t=!0):t=!1,t||pa(e,!0)}function cm(e){for(Xe=e.return;Xe;)switch(Xe.tag){case 5:case 31:case 13:Vt=!1;return;case 27:case 3:Vt=!0;return;default:Xe=Xe.return}}function vl(e){if(e!==Xe)return!1;if(!V)return cm(e),V=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||id(e.type,e.memoizedProps)),n=!n),n&&ye&&pa(e),cm(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else t===27?(t=ye,Aa(e.type)?(e=cd,cd=null,ye=e):ye=t):ye=Xe?Qt(e.stateNode.nextSibling):null;return!0}function Fa(){ye=Xe=null,V=!1}function Ic(){var e=oa;return e!==null&&(pt===null?pt=e:pt.push.apply(pt,e),oa=null),e}function cr(e){oa===null?oa=[e]:oa.push(e)}var Ls=mn(null),Ia=null,Bn=null;function In(e,t,n){ge(Ls,t._currentValue),t._currentValue=n}function On(e){e._currentValue=Ls.current,Fe(Ls)}function Hs(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function zs(e,t,n,a){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var i=l.dependencies;if(i!==null){var r=l.child;i=i.firstContext;e:for(;i!==null;){var o=i;i=l;for(var u=0;u<t.length;u++)if(o.context===t[u]){i.lanes|=n,o=i.alternate,o!==null&&(o.lanes|=n),Hs(i.return,n,e),a||(r=null);break e}i=o.next}}else if(l.tag===18){if(r=l.return,r===null)throw Error(S(341));r.lanes|=n,i=r.alternate,i!==null&&(i.lanes|=n),Hs(r,n,e),r=null}else r=l.child;if(r!==null)r.return=l;else for(r=l;r!==null;){if(r===e){r=null;break}if(l=r.sibling,l!==null){l.return=r.return,r=l;break}r=r.return}l=r}}function ei(e,t,n,a){e=null;for(var l=t,i=!1;l!==null;){if(!i){if((l.flags&524288)!==0)i=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var r=l.alternate;if(r===null)throw Error(S(387));if(r=r.memoizedProps,r!==null){var o=l.type;Bt(l.pendingProps.value,r.value)||(e!==null?e.push(o):e=[o])}}else if(l===Vo.current){if(r=l.alternate,r===null)throw Error(S(387));r.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(hr):e=[hr])}l=l.return}e!==null&&zs(t,e,n,a),t.flags|=262144}function $o(e){for(e=e.firstContext;e!==null;){if(!Bt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ja(e){Ia=e,Bn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Qe(e){return ep(Ia,e)}function Ao(e,t){return Ia===null&&ja(e),ep(e,t)}function ep(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Bn===null){if(e===null)throw Error(S(308));Bn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Bn=Bn.next=t;return n}var OA=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},kA=Ge.unstable_scheduleCallback,LA=Ge.unstable_NormalPriority,ke={$$typeof:Mn,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Md(){return{controller:new OA,data:new Map,refCount:0}}function Rr(e){e.refCount--,e.refCount===0&&kA(LA,function(){e.controller.abort()})}var Ki=null,Us=0,Yl=0,zl=null;function HA(e,t){if(Ki===null){var n=Ki=[];Us=0,Yl=ef(),zl={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Us++,t.then(sm,sm),t}function sm(){if(--Us===0&&Ki!==null){zl!==null&&(zl.status="fulfilled");var e=Ki;Ki=null,Yl=0,zl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function zA(e,t){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var l=0;l<n.length;l++)(0,n[l])(t)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var dm=L.S;L.S=function(e,t){my=Dt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&HA(e,t),dm!==null&&dm(e,t)};var Ga=mn(null);function _d(){var e=Ga.current;return e!==null?e:ue.pooledCache}function Lo(e,t){t===null?ge(Ga,Ga.current):ge(Ga,t.pool)}function tp(){var e=_d();return e===null?null:{parent:ke._currentValue,pool:e}}var ti=Error(S(460)),Bd=Error(S(474)),Eu=Error(S(542)),eu={then:function(){}};function fm(e){return e=e.status,e==="fulfilled"||e==="rejected"}function np(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(_n,_n),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e;default:if(typeof t.status=="string")t.then(_n,_n);else{if(e=ue,e!==null&&100<e.shellSuspendCounter)throw Error(S(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=a}},function(a){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e}throw Pa=t,ti}}function La(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Pa=n,ti):n}}var Pa=null;function gm(){if(Pa===null)throw Error(S(459));var e=Pa;return Pa=null,e}function mm(e){if(e===ti||e===Eu)throw Error(S(483))}var Ul=null,sr=0;function wo(e){var t=sr;return sr+=1,Ul===null&&(Ul=[]),np(Ul,e,t)}function Li(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function So(e,t){throw t.$$typeof===Cb?Error(S(525)):(e=Object.prototype.toString.call(t),Error(S(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ap(e){function t(h,g){if(e){var p=h.deletions;p===null?(h.deletions=[g],h.flags|=16):p.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function a(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function l(h,g){return h=Nn(h,g),h.index=0,h.sibling=null,h}function i(h,g,p){return h.index=p,e?(p=h.alternate,p!==null?(p=p.index,p<g?(h.flags|=67108866,g):p):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function r(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function o(h,g,p,y){return g===null||g.tag!==6?(g=Zc(p,h.mode,y),g.return=h,g):(g=l(g,p),g.return=h,g)}function u(h,g,p,y){var C=p.type;return C===Sl?s(h,g,p.props.children,y,p.key):g!==null&&(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type)?(g=l(g,p.props),Li(g,p),g.return=h,g):(g=ko(p.type,p.key,p.props,null,h.mode,y),Li(g,p),g.return=h,g)}function c(h,g,p,y){return g===null||g.tag!==4||g.stateNode.containerInfo!==p.containerInfo||g.stateNode.implementation!==p.implementation?(g=Wc(p,h.mode,y),g.return=h,g):(g=l(g,p.children||[]),g.return=h,g)}function s(h,g,p,y,C){return g===null||g.tag!==7?(g=Ua(p,h.mode,y,C),g.return=h,g):(g=l(g,p),g.return=h,g)}function f(h,g,p){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Zc(""+g,h.mode,p),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case fo:return p=ko(g.type,g.key,g.props,null,h.mode,p),Li(p,g),p.return=h,p;case Pi:return g=Wc(g,h.mode,p),g.return=h,g;case Zn:return g=La(g),f(h,g,p)}if(qi(g)||Oi(g))return g=Ua(g,h.mode,p,null),g.return=h,g;if(typeof g.then=="function")return f(h,wo(g),p);if(g.$$typeof===Mn)return f(h,Ao(h,g),p);So(h,g)}return null}function d(h,g,p,y){var C=g!==null?g.key:null;if(typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint")return C!==null?null:o(h,g,""+p,y);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:return p.key===C?u(h,g,p,y):null;case Pi:return p.key===C?c(h,g,p,y):null;case Zn:return p=La(p),d(h,g,p,y)}if(qi(p)||Oi(p))return C!==null?null:s(h,g,p,y,null);if(typeof p.then=="function")return d(h,g,wo(p),y);if(p.$$typeof===Mn)return d(h,g,Ao(h,p),y);So(h,p)}return null}function m(h,g,p,y,C){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return h=h.get(p)||null,o(g,h,""+y,C);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case fo:return h=h.get(y.key===null?p:y.key)||null,u(g,h,y,C);case Pi:return h=h.get(y.key===null?p:y.key)||null,c(g,h,y,C);case Zn:return y=La(y),m(h,g,p,y,C)}if(qi(y)||Oi(y))return h=h.get(p)||null,s(g,h,y,C,null);if(typeof y.then=="function")return m(h,g,p,wo(y),C);if(y.$$typeof===Mn)return m(h,g,p,Ao(g,y),C);So(g,y)}return null}function v(h,g,p,y){for(var C=null,R=null,T=g,M=g=0,w=null;T!==null&&M<p.length;M++){T.index>M?(w=T,T=null):w=T.sibling;var D=d(h,T,p[M],y);if(D===null){T===null&&(T=w);break}e&&T&&D.alternate===null&&t(h,T),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D,T=w}if(M===p.length)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;M<p.length;M++)T=f(h,p[M],y),T!==null&&(g=i(T,g,M),R===null?C=T:R.sibling=T,R=T);return V&&Dn(h,M),C}for(T=a(T);M<p.length;M++)w=m(T,h,M,p[M],y),w!==null&&(e&&w.alternate!==null&&T.delete(w.key===null?M:w.key),g=i(w,g,M),R===null?C=w:R.sibling=w,R=w);return e&&T.forEach(function(k){return t(h,k)}),V&&Dn(h,M),C}function A(h,g,p,y){if(p==null)throw Error(S(151));for(var C=null,R=null,T=g,M=g=0,w=null,D=p.next();T!==null&&!D.done;M++,D=p.next()){T.index>M?(w=T,T=null):w=T.sibling;var k=d(h,T,D.value,y);if(k===null){T===null&&(T=w);break}e&&T&&k.alternate===null&&t(h,T),g=i(k,g,M),R===null?C=k:R.sibling=k,R=k,T=w}if(D.done)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;!D.done;M++,D=p.next())D=f(h,D.value,y),D!==null&&(g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return V&&Dn(h,M),C}for(T=a(T);!D.done;M++,D=p.next())D=m(T,h,M,D.value,y),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?M:D.key),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return e&&T.forEach(function(se){return t(h,se)}),V&&Dn(h,M),C}function b(h,g,p,y){if(typeof p=="object"&&p!==null&&p.type===Sl&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:e:{for(var C=p.key;g!==null;){if(g.key===C){if(C=p.type,C===Sl){if(g.tag===7){n(h,g.sibling),y=l(g,p.props.children),y.return=h,h=y;break e}}else if(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type){n(h,g.sibling),y=l(g,p.props),Li(y,p),y.return=h,h=y;break e}n(h,g);break}else t(h,g);g=g.sibling}p.type===Sl?(y=Ua(p.props.children,h.mode,y,p.key),y.return=h,h=y):(y=ko(p.type,p.key,p.props,null,h.mode,y),Li(y,p),y.return=h,h=y)}return r(h);case Pi:e:{for(C=p.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===p.containerInfo&&g.stateNode.implementation===p.implementation){n(h,g.sibling),y=l(g,p.children||[]),y.return=h,h=y;break e}else{n(h,g);break}else t(h,g);g=g.sibling}y=Wc(p,h.mode,y),y.return=h,h=y}return r(h);case Zn:return p=La(p),b(h,g,p,y)}if(qi(p))return v(h,g,p,y);if(Oi(p)){if(C=Oi(p),typeof C!="function")throw Error(S(150));return p=C.call(p),A(h,g,p,y)}if(typeof p.then=="function")return b(h,g,wo(p),y);if(p.$$typeof===Mn)return b(h,g,Ao(h,p),y);So(h,p)}return typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint"?(p=""+p,g!==null&&g.tag===6?(n(h,g.sibling),y=l(g,p),y.return=h,h=y):(n(h,g),y=Zc(p,h.mode,y),y.return=h,h=y),r(h)):n(h,g)}return function(h,g,p,y){try{sr=0;var C=b(h,g,p,y);return Ul=null,C}catch(T){if(T===ti||T===Eu)throw T;var R=Tt(29,T,null,h.mode);return R.lanes=y,R.return=h,R}finally{}}}var Ya=ap(!0),lp=ap(!1),Wn=!1;function Nd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gs(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ca(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(J&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=Io(e),Zh(e,null,n),t}return Tu(e,a,t,n),Io(e)}function Zi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}function Jc(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var r={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=r:i=i.next=r,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ps=!1;function Wi(){if(Ps){var e=zl;if(e!==null)throw e}}function Ii(e,t,n,a){Ps=!1;var l=e.updateQueue;Wn=!1;var i=l.firstBaseUpdate,r=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var u=o,c=u.next;u.next=null,r===null?i=c:r.next=c,r=u;var s=e.alternate;s!==null&&(s=s.updateQueue,o=s.lastBaseUpdate,o!==r&&(o===null?s.firstBaseUpdate=c:o.next=c,s.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;r=0,s=c=u=null,o=i;do{var d=o.lane&-536870913,m=d!==o.lane;if(m?(Y&d)===d:(a&d)===d){d!==0&&d===Yl&&(Ps=!0),s!==null&&(s=s.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var v=e,A=o;d=t;var b=n;switch(A.tag){case 1:if(v=A.payload,typeof v=="function"){f=v.call(b,f,d);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=A.payload,d=typeof v=="function"?v.call(b,f,d):v,d==null)break e;f=ve({},f,d);break e;case 2:Wn=!0}}d=o.callback,d!==null&&(e.flags|=64,m&&(e.flags|=8192),m=l.callbacks,m===null?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:o.tag,payload:o.payload,callback:o.callback,next:null},s===null?(c=s=m,u=f):s=s.next=m,r|=d;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;m=o,o=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);s===null&&(u=f),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=s,i===null&&(l.shared.lanes=0),va|=r,e.lanes=r,e.memoizedState=f}}function ip(e,t){if(typeof e!="function")throw Error(S(191,e));e.call(t)}function rp(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ip(n[e],t)}var Vl=mn(null),tu=mn(0);function hm(e,t){e=Gn,ge(tu,e),ge(Vl,t),Gn=e|t.baseLanes}function qs(){ge(tu,Gn),ge(Vl,Vl.current)}function Od(){Gn=tu.current,Fe(Vl),Fe(tu)}var Nt=mn(null),Xt=null;function Jn(e){var t=e.alternate;ge(xe,xe.current&1),ge(Nt,e),Xt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Xt=e)}function Fs(e){ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)}function op(e){e.tag===22?(ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)):$n(e)}function $n(){ge(xe,xe.current),ge(Nt,Nt.current)}function Rt(e){Fe(Nt),Xt===e&&(Xt=null),Fe(xe)}var xe=mn(0);function nu(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||od(n)||ud(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hn=0,G=null,re=null,Ne=null,au=!1,Gl=!1,Va=!1,lu=0,dr=0,Pl=null,UA=0;function Re(){throw Error(S(321))}function kd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Bt(e[n],t[n]))return!1;return!0}function Ld(e,t,n,a,l,i){return Hn=i,G=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=e===null||e.memoizedState===null?Up:Xd,Va=!1,i=n(a,l),Va=!1,Gl&&(i=cp(t,n,a,l)),up(e),i}function up(e){L.H=fr;var t=re!==null&&re.next!==null;if(Hn=0,Ne=re=G=null,au=!1,dr=0,Pl=null,t)throw Error(S(300));e===null||Le||(e=e.dependencies,e!==null&&$o(e)&&(Le=!0))}function cp(e,t,n,a){G=e;var l=0;do{if(Gl&&(Pl=null),dr=0,Gl=!1,25<=l)throw Error(S(301));if(l+=1,Ne=re=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}L.H=Gp,i=t(n,a)}while(Gl);return i}function GA(){var e=L.H,t=e.useState()[0];return t=typeof t.then=="function"?Tr(t):t,e=e.useState()[0],(re!==null?re.memoizedState:null)!==e&&(G.flags|=1024),t}function Hd(){var e=lu!==0;return lu=0,e}function zd(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ud(e){if(au){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}au=!1}Hn=0,Ne=re=G=null,Gl=!1,dr=lu=0,Pl=null}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e,Ne}function Me(){if(re===null){var e=G.alternate;e=e!==null?e.memoizedState:null}else e=re.next;var t=Ne===null?G.memoizedState:Ne.next;if(t!==null)Ne=t,re=e;else{if(e===null)throw G.alternate===null?Error(S(467)):Error(S(310));re=e,e={memoizedState:re.memoizedState,baseState:re.baseState,baseQueue:re.baseQueue,queue:re.queue,next:null},Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e}return Ne}function Du(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Tr(e){var t=dr;return dr+=1,Pl===null&&(Pl=[]),e=np(Pl,e,t),t=G,(Ne===null?t.memoizedState:Ne.next)===null&&(t=t.alternate,L.H=t===null||t.memoizedState===null?Up:Xd),e}function xu(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Tr(e);if(e.$$typeof===Mn)return Qe(e)}throw Error(S(438,String(e)))}function Gd(e){var t=null,n=G.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=G.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Du(),G.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=Rb;return t.index++,n}function zn(e,t){return typeof t=="function"?t(e):t}function Ho(e){var t=Me();return Pd(t,re,e)}function Pd(e,t,n){var a=e.queue;if(a===null)throw Error(S(311));a.lastRenderedReducer=n;var l=e.baseQueue,i=a.pending;if(i!==null){if(l!==null){var r=l.next;l.next=i.next,i.next=r}t.baseQueue=l=i,a.pending=null}if(i=e.baseState,l===null)e.memoizedState=i;else{t=l.next;var o=r=null,u=null,c=t,s=!1;do{var f=c.lane&-536870913;if(f!==c.lane?(Y&f)===f:(Hn&f)===f){var d=c.revertLane;if(d===0)u!==null&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===Yl&&(s=!0);else if((Hn&d)===d){c=c.next,d===Yl&&(s=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=f,r=i):u=u.next=f,G.lanes|=d,va|=d;f=c.action,Va&&n(i,f),i=c.hasEagerState?c.eagerState:n(i,f)}else d={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=d,r=i):u=u.next=d,G.lanes|=f,va|=f;c=c.next}while(c!==null&&c!==t);if(u===null?r=i:u.next=o,!Bt(i,e.memoizedState)&&(Le=!0,s&&(n=zl,n!==null)))throw n;e.memoizedState=i,e.baseState=r,e.baseQueue=u,a.lastRenderedState=i}return l===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function $c(e){var t=Me(),n=t.queue;if(n===null)throw Error(S(311));n.lastRenderedReducer=e;var a=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var r=l=l.next;do i=e(i,r.action),r=r.next;while(r!==l);Bt(i,t.memoizedState)||(Le=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function sp(e,t,n){var a=G,l=Me(),i=V;if(i){if(n===void 0)throw Error(S(407));n=n()}else n=t();var r=!Bt((re||l).memoizedState,n);if(r&&(l.memoizedState=n,Le=!0),l=l.queue,qd(gp.bind(null,a,l,e),[e]),l.getSnapshot!==t||r||Ne!==null&&Ne.memoizedState.tag&1){if(a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,l,n,t),null),ue===null)throw Error(S(349));i||(Hn&127)!==0||dp(a,t,n)}return n}function dp(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=G.updateQueue,t===null?(t=Du(),G.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function fp(e,t,n,a){t.value=n,t.getSnapshot=a,mp(t)&&hp(e)}function gp(e,t,n){return n(function(){mp(t)&&hp(e)})}function mp(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Bt(e,n)}catch{return!0}}function hp(e){var t=Wa(e,2);t!==null&&yt(t,e,2)}function js(e){var t=ut();if(typeof e=="function"){var n=e;if(e=n(),Va){ta(!0);try{n()}finally{ta(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:e},t}function pp(e,t,n,a){return e.baseState=n,Pd(e,re,typeof a=="function"?a:zn)}function PA(e,t,n,a,l){if(_u(e))throw Error(S(485));if(e=t.action,e!==null){var i={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){i.listeners.push(r)}};L.T!==null?n(!0):i.isTransition=!1,a(i),n=t.pending,n===null?(i.next=t.pending=i,yp(t,i)):(i.next=n.next,t.pending=n.next=i)}}function yp(e,t){var n=t.action,a=t.payload,l=e.state;if(t.isTransition){var i=L.T,r={};L.T=r;try{var o=n(l,a),u=L.S;u!==null&&u(r,o),pm(e,t,o)}catch(c){Ys(e,t,c)}finally{i!==null&&r.types!==null&&(i.types=r.types),L.T=i}}else try{i=n(l,a),pm(e,t,i)}catch(c){Ys(e,t,c)}}function pm(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){ym(e,t,a)},function(a){return Ys(e,t,a)}):ym(e,t,n)}function ym(e,t,n){t.status="fulfilled",t.value=n,vp(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,yp(e,n)))}function Ys(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=n,vp(t),t=t.next;while(t!==a)}e.action=null}function vp(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function bp(e,t){return t}function vm(e,t){if(V){var n=ue.formState;if(n!==null){e:{var a=G;if(V){if(ye){t:{for(var l=ye,i=Vt;l.nodeType!==8;){if(!i){l=null;break t}if(l=Qt(l.nextSibling),l===null){l=null;break t}}i=l.data,l=i==="F!"||i==="F"?l:null}if(l){ye=Qt(l.nextSibling),a=l.data==="F!";break e}}pa(a)}a=!1}a&&(t=n[0])}}return n=ut(),n.memoizedState=n.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bp,lastRenderedState:t},n.queue=a,n=Lp.bind(null,G,a),a.dispatch=n,a=js(!1),i=Vd.bind(null,G,!1,a.queue),a=ut(),l={state:t,dispatch:null,action:e,pending:null},a.queue=l,n=PA.bind(null,G,l,i,n),l.dispatch=n,a.memoizedState=e,[t,n,!1]}function bm(e){var t=Me();return Ap(t,re,e)}function Ap(e,t,n){if(t=Pd(e,t,bp)[0],e=Ho(zn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=Tr(t)}catch(r){throw r===ti?Eu:r}else a=t;t=Me();var l=t.queue,i=l.dispatch;return n!==t.memoizedState&&(G.flags|=2048,Xl(9,{destroy:void 0},qA.bind(null,l,n),null)),[a,i,e]}function qA(e,t){e.action=t}function Am(e){var t=Me(),n=re;if(n!==null)return Ap(t,n,e);Me(),t=t.memoizedState,n=Me();var a=n.queue.dispatch;return n.memoizedState=e,[t,a,!1]}function Xl(e,t,n,a){return e={tag:e,create:n,deps:a,inst:t,next:null},t=G.updateQueue,t===null&&(t=Du(),G.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function wp(){return Me().memoizedState}function zo(e,t,n,a){var l=ut();G.flags|=e,l.memoizedState=Xl(1|t,{destroy:void 0},n,a===void 0?null:a)}function Mu(e,t,n,a){var l=Me();a=a===void 0?null:a;var i=l.memoizedState.inst;re!==null&&a!==null&&kd(a,re.memoizedState.deps)?l.memoizedState=Xl(t,i,n,a):(G.flags|=e,l.memoizedState=Xl(1|t,i,n,a))}function wm(e,t){zo(8390656,8,e,t)}function qd(e,t){Mu(2048,8,e,t)}function FA(e){G.flags|=4;var t=G.updateQueue;if(t===null)t=Du(),G.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Sp(e){var t=Me().memoizedState;return FA({ref:t,nextImpl:e}),function(){if((J&2)!==0)throw Error(S(440));return t.impl.apply(void 0,arguments)}}function Cp(e,t){return Mu(4,2,e,t)}function Rp(e,t){return Mu(4,4,e,t)}function Tp(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ep(e,t,n){n=n!=null?n.concat([e]):null,Mu(4,4,Tp.bind(null,t,e),n)}function Fd(){}function Dp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;return t!==null&&kd(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function xp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;if(t!==null&&kd(t,a[1]))return a[0];if(a=e(),Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a}function jd(e,t,n){return n===void 0||(Hn&1073741824)!==0&&(Y&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=py(),G.lanes|=e,va|=e,n)}function Mp(e,t,n,a){return Bt(n,t)?n:Vl.current!==null?(e=jd(e,n,a),Bt(e,t)||(Le=!0),e):(Hn&42)===0||(Hn&1073741824)!==0&&(Y&261930)===0?(Le=!0,e.memoizedState=n):(e=py(),G.lanes|=e,va|=e,t)}function _p(e,t,n,a,l){var i=$.p;$.p=i!==0&&8>i?i:8;var r=L.T,o={};L.T=o,Vd(e,!1,t,n);try{var u=l(),c=L.S;if(c!==null&&c(o,u),u!==null&&typeof u=="object"&&typeof u.then=="function"){var s=zA(u,a);Ji(e,t,s,_t(e))}else Ji(e,t,a,_t(e))}catch(f){Ji(e,t,{then:function(){},status:"rejected",reason:f},_t())}finally{$.p=i,r!==null&&o.types!==null&&(r.types=o.types),L.T=r}}function jA(){}function Vs(e,t,n,a){if(e.tag!==5)throw Error(S(476));var l=Bp(e).queue;_p(e,l,t,za,n===null?jA:function(){return Np(e),n(a)})}function Bp(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:za,baseState:za,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:za},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Np(e){var t=Bp(e);t.next===null&&(t=e.alternate.memoizedState),Ji(e,t.next.queue,{},_t())}function Yd(){return Qe(hr)}function Op(){return Me().memoizedState}function kp(){return Me().memoizedState}function YA(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_t();e=ua(n);var a=ca(t,e,n);a!==null&&(yt(a,t,n),Zi(a,t,n)),t={cache:Md()},e.payload=t;return}t=t.return}}function VA(e,t,n){var a=_t();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},_u(e)?Hp(t,n):(n=Td(e,t,n,a),n!==null&&(yt(n,e,a),zp(n,t,a)))}function Lp(e,t,n){var a=_t();Ji(e,t,n,a)}function Ji(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(_u(e))Hp(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,o=i(r,n);if(l.hasEagerState=!0,l.eagerState=o,Bt(o,r))return Tu(e,t,l,0),ue===null&&Ru(),!1}catch{}finally{}if(n=Td(e,t,l,a),n!==null)return yt(n,e,a),zp(n,t,a),!0}return!1}function Vd(e,t,n,a){if(a={lane:2,revertLane:ef(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},_u(e)){if(t)throw Error(S(479))}else t=Td(e,n,a,2),t!==null&&yt(t,e,2)}function _u(e){var t=e.alternate;return e===G||t!==null&&t===G}function Hp(e,t){Gl=au=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zp(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}var fr={readContext:Qe,use:xu,useCallback:Re,useContext:Re,useEffect:Re,useImperativeHandle:Re,useLayoutEffect:Re,useInsertionEffect:Re,useMemo:Re,useReducer:Re,useRef:Re,useState:Re,useDebugValue:Re,useDeferredValue:Re,useTransition:Re,useSyncExternalStore:Re,useId:Re,useHostTransitionStatus:Re,useFormState:Re,useActionState:Re,useOptimistic:Re,useMemoCache:Re,useCacheRefresh:Re};fr.useEffectEvent=Re;var Up={readContext:Qe,use:xu,useCallback:function(e,t){return ut().memoizedState=[e,t===void 0?null:t],e},useContext:Qe,useEffect:wm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,zo(4194308,4,Tp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zo(4194308,4,e,t)},useInsertionEffect:function(e,t){zo(4,2,e,t)},useMemo:function(e,t){var n=ut();t=t===void 0?null:t;var a=e();if(Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=ut();if(n!==void 0){var l=n(t);if(Va){ta(!0);try{n(t)}finally{ta(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=VA.bind(null,G,e),[a.memoizedState,e]},useRef:function(e){var t=ut();return e={current:e},t.memoizedState=e},useState:function(e){e=js(e);var t=e.queue,n=Lp.bind(null,G,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Fd,useDeferredValue:function(e,t){var n=ut();return jd(n,e,t)},useTransition:function(){var e=js(!1);return e=_p.bind(null,G,e.queue,!0,!1),ut().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=G,l=ut();if(V){if(n===void 0)throw Error(S(407));n=n()}else{if(n=t(),ue===null)throw Error(S(349));(Y&127)!==0||dp(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,wm(gp.bind(null,a,i,e),[e]),a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,i,n,t),null),n},useId:function(){var e=ut(),t=ue.identifierPrefix;if(V){var n=dn,a=sn;n=(a&~(1<<32-Mt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=lu++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=UA++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Yd,useFormState:vm,useActionState:vm,useOptimistic:function(e){var t=ut();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Vd.bind(null,G,!0,n),n.dispatch=t,[e,t]},useMemoCache:Gd,useCacheRefresh:function(){return ut().memoizedState=YA.bind(null,G)},useEffectEvent:function(e){var t=ut(),n={impl:e};return t.memoizedState=n,function(){if((J&2)!==0)throw Error(S(440));return n.impl.apply(void 0,arguments)}}},Xd={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:Ho,useRef:wp,useState:function(){return Ho(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=Ho(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:bm,useActionState:bm,useOptimistic:function(e,t){var n=Me();return pp(n,re,e,t)},useMemoCache:Gd,useCacheRefresh:kp};Xd.useEffectEvent=Sp;var Gp={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:$c,useRef:wp,useState:function(){return $c(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return re===null?jd(n,e,t):Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=$c(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:Am,useActionState:Am,useOptimistic:function(e,t){var n=Me();return re!==null?pp(n,re,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Gd,useCacheRefresh:kp};Gp.useEffectEvent=Sp;function es(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:ve({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xs={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=_t(),a=ua(n);a.tag=2,t!=null&&(a.callback=t),t=ca(e,a,n),t!==null&&(yt(t,e,n),Zi(t,e,n))}};function Sm(e,t,n,a,l,i,r){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,r):t.prototype&&t.prototype.isPureReactComponent?!or(n,a)||!or(l,i):!0}function Cm(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Xs.enqueueReplaceState(t,t.state,null)}function Xa(e,t){var n=t;if("ref"in t){n={};for(var a in t)a!=="ref"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=ve({},n));for(var l in e)n[l]===void 0&&(n[l]=e[l])}return n}function Pp(e){Wo(e)}function qp(e){console.error(e)}function Fp(e){Wo(e)}function iu(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function Rm(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Qs(e,t,n){return n=ua(n),n.tag=3,n.payload={element:null},n.callback=function(){iu(e,t)},n}function jp(e){return e=ua(e),e.tag=3,e}function Yp(e,t,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var i=a.value;e.payload=function(){return l(i)},e.callback=function(){Rm(t,n,a)}}var r=n.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){Rm(t,n,a),typeof l!="function"&&(sa===null?sa=new Set([this]):sa.add(this));var o=a.stack;this.componentDidCatch(a.value,{componentStack:o!==null?o:""})})}function XA(e,t,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=n.alternate,t!==null&&ei(t,n,l,!0),n=Nt.current,n!==null){switch(n.tag){case 31:case 13:return Xt===null?su():n.alternate===null&&Te===0&&(Te=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),ds(e,a,l)),!1;case 22:return n.flags|=65536,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),ds(e,a,l)),!1}throw Error(S(435,n.tag))}return ds(e,a,l),su(),!1}if(V)return t=Nt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,a!==ks&&(e=Error(S(422),{cause:a}),cr(Yt(e,n)))):(a!==ks&&(t=Error(S(423),{cause:a}),cr(Yt(t,n))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,a=Yt(a,n),l=Qs(e.stateNode,a,l),Jc(e,l),Te!==4&&(Te=2)),!1;var i=Error(S(520),{cause:a});if(i=Yt(i,n),tr===null?tr=[i]:tr.push(i),Te!==4&&(Te=2),t===null)return!0;a=Yt(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=l&-l,n.lanes|=e,e=Qs(n.stateNode,a,e),Jc(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(sa===null||!sa.has(i))))return n.flags|=65536,l&=-l,n.lanes|=l,l=jp(l),Yp(l,e,n,a),Jc(n,l),!1}n=n.return}while(n!==null);return!1}var Qd=Error(S(461)),Le=!1;function Ye(e,t,n,a){t.child=e===null?lp(t,null,n,a):Ya(t,e.child,n,a)}function Tm(e,t,n,a,l){n=n.render;var i=t.ref;if("ref"in a){var r={};for(var o in a)o!=="ref"&&(r[o]=a[o])}else r=a;return ja(t),a=Ld(e,t,n,r,i,l),o=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&o&&Dd(t),t.flags|=1,Ye(e,t,a,l),t.child)}function Em(e,t,n,a,l){if(e===null){var i=n.type;return typeof i=="function"&&!Ed(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,Vp(e,t,i,a,l)):(e=ko(n.type,null,a,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Kd(e,l)){var r=i.memoizedProps;if(n=n.compare,n=n!==null?n:or,n(r,a)&&e.ref===t.ref)return Un(e,t,l)}return t.flags|=1,e=Nn(i,a),e.ref=t.ref,e.return=t,t.child=e}function Vp(e,t,n,a,l){if(e!==null){var i=e.memoizedProps;if(or(i,a)&&e.ref===t.ref)if(Le=!1,t.pendingProps=a=i,Kd(e,l))(e.flags&131072)!==0&&(Le=!0);else return t.lanes=e.lanes,Un(e,t,l)}return Ks(e,t,n,a,l)}function Xp(e,t,n,a){var l=a.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(a=t.child=e.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~i}else a=0,t.child=null;return Dm(e,t,i,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Lo(t,i!==null?i.cachePool:null),i!==null?hm(t,i):qs(),op(t);else return a=t.lanes=536870912,Dm(e,t,i!==null?i.baseLanes|n:n,n,a)}else i!==null?(Lo(t,i.cachePool),hm(t,i),$n(t),t.memoizedState=null):(e!==null&&Lo(t,null),qs(),$n(t));return Ye(e,t,l,n),t.child}function ji(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Dm(e,t,n,a,l){var i=_d();return i=i===null?null:{parent:ke._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Lo(t,null),qs(),op(t),e!==null&&ei(e,t,a,!0),t.childLanes=l,null}function Uo(e,t){return t=ru({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function xm(e,t,n){return Ya(t,e.child,null,n),e=Uo(t,t.pendingProps),e.flags|=2,Rt(t),t.memoizedState=null,e}function QA(e,t,n){var a=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(V){if(a.mode==="hidden")return e=Uo(t,a),t.lanes=536870912,ji(null,e);if(Fs(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return t.lanes=536870912,null}return Uo(t,a)}var i=e.memoizedState;if(i!==null){var r=i.dehydrated;if(Fs(t),l)if(t.flags&256)t.flags&=-257,t=xm(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(S(558));else if(Le||ei(e,t,n,!1),l=(n&e.childLanes)!==0,Le||l){if(a=ue,a!==null&&(r=Ch(a,n),r!==0&&r!==i.retryLane))throw i.retryLane=r,Wa(e,r),yt(a,e,r),Qd;su(),t=xm(e,t,n)}else e=i.treeContext,ye=Qt(r.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Uo(t,a),t.flags|=4096;return t}return e=Nn(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Go(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(S(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Ks(e,t,n,a,l){return ja(t),n=Ld(e,t,n,a,void 0,l),a=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,l),t.child)}function Mm(e,t,n,a,l,i){return ja(t),t.updateQueue=null,n=cp(t,a,n,l),up(e),a=Hd(),e!==null&&!Le?(zd(e,t,i),Un(e,t,i)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,i),t.child)}function _m(e,t,n,a,l){if(ja(t),t.stateNode===null){var i=_l,r=n.contextType;typeof r=="object"&&r!==null&&(i=Qe(r)),i=new n(a,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Xs,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=a,i.state=t.memoizedState,i.refs={},Nd(t),r=n.contextType,i.context=typeof r=="object"&&r!==null?Qe(r):_l,i.state=t.memoizedState,r=n.getDerivedStateFromProps,typeof r=="function"&&(es(t,n,r,a),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&Xs.enqueueReplaceState(i,i.state,null),Ii(t,a,i,l),Wi(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){i=t.stateNode;var o=t.memoizedProps,u=Xa(n,o);i.props=u;var c=i.context,s=n.contextType;r=_l,typeof s=="object"&&s!==null&&(r=Qe(s));var f=n.getDerivedStateFromProps;s=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function",o=t.pendingProps!==o,s||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o||c!==r)&&Cm(t,i,a,r),Wn=!1;var d=t.memoizedState;i.state=d,Ii(t,a,i,l),Wi(),c=t.memoizedState,o||d!==c||Wn?(typeof f=="function"&&(es(t,n,f,a),c=t.memoizedState),(u=Wn||Sm(t,n,u,a,d,c,r))?(s||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=r,a=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Gs(e,t),r=t.memoizedProps,s=Xa(n,r),i.props=s,f=t.pendingProps,d=i.context,c=n.contextType,u=_l,typeof c=="object"&&c!==null&&(u=Qe(c)),o=n.getDerivedStateFromProps,(c=typeof o=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r!==f||d!==u)&&Cm(t,i,a,u),Wn=!1,d=t.memoizedState,i.state=d,Ii(t,a,i,l),Wi();var m=t.memoizedState;r!==f||d!==m||Wn||e!==null&&e.dependencies!==null&&$o(e.dependencies)?(typeof o=="function"&&(es(t,n,o,a),m=t.memoizedState),(s=Wn||Sm(t,n,s,a,d,m,u)||e!==null&&e.dependencies!==null&&$o(e.dependencies))?(c||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(a,m,u),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(a,m,u)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=u,a=s):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return i=a,Go(e,t),a=(t.flags&128)!==0,i||a?(i=t.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&a?(t.child=Ya(t,e.child,null,l),t.child=Ya(t,null,n,l)):Ye(e,t,n,l),t.memoizedState=i.state,e=t.child):e=Un(e,t,l),e}function Bm(e,t,n,a){return Fa(),t.flags|=256,Ye(e,t,n,a),t.child}var ts={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ns(e){return{baseLanes:e,cachePool:tp()}}function as(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Et),e}function Qp(e,t,n){var a=t.pendingProps,l=!1,i=(t.flags&128)!==0,r;if((r=i)||(r=e!==null&&e.memoizedState===null?!1:(xe.current&2)!==0),r&&(l=!0,t.flags&=-129),r=(t.flags&32)!==0,t.flags&=-33,e===null){if(V){if(l?Jn(t):$n(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return ud(e)?t.lanes=32:t.lanes=536870912,null}var o=a.children;return a=a.fallback,l?($n(t),l=t.mode,o=ru({mode:"hidden",children:o},l),a=Ua(a,l,n,null),o.return=t,a.return=t,o.sibling=a,t.child=o,a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,ji(null,a)):(Jn(t),Zs(t,o))}var u=e.memoizedState;if(u!==null&&(o=u.dehydrated,o!==null)){if(i)t.flags&256?(Jn(t),t.flags&=-257,t=ls(e,t,n)):t.memoizedState!==null?($n(t),t.child=e.child,t.flags|=128,t=null):($n(t),o=a.fallback,l=t.mode,a=ru({mode:"visible",children:a.children},l),o=Ua(o,l,n,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,Ya(t,e.child,null,n),a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,t=ji(null,a));else if(Jn(t),ud(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var c=r.dgst;r=c,a=Error(S(419)),a.stack="",a.digest=r,cr({value:a,source:null,stack:null}),t=ls(e,t,n)}else if(Le||ei(e,t,n,!1),r=(n&e.childLanes)!==0,Le||r){if(r=ue,r!==null&&(a=Ch(r,n),a!==0&&a!==u.retryLane))throw u.retryLane=a,Wa(e,a),yt(r,e,a),Qd;od(o)||su(),t=ls(e,t,n)}else od(o)?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,ye=Qt(o.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Zs(t,a.children),t.flags|=4096);return t}return l?($n(t),o=a.fallback,l=t.mode,u=e.child,c=u.sibling,a=Nn(u,{mode:"hidden",children:a.children}),a.subtreeFlags=u.subtreeFlags&65011712,c!==null?o=Nn(c,o):(o=Ua(o,l,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,ji(null,a),a=t.child,o=e.child.memoizedState,o===null?o=ns(n):(l=o.cachePool,l!==null?(u=ke._currentValue,l=l.parent!==u?{parent:u,pool:u}:l):l=tp(),o={baseLanes:o.baseLanes|n,cachePool:l}),a.memoizedState=o,a.childLanes=as(e,r,n),t.memoizedState=ts,ji(e.child,a)):(Jn(t),n=e.child,e=n.sibling,n=Nn(n,{mode:"visible",children:a.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Zs(e,t){return t=ru({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ru(e,t){return e=Tt(22,e,null,t),e.lanes=0,e}function ls(e,t,n){return Ya(t,e.child,null,n),e=Zs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nm(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Hs(e.return,t,n)}function is(e,t,n,a,l,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=l,r.treeForkCount=i)}function Kp(e,t,n){var a=t.pendingProps,l=a.revealOrder,i=a.tail;a=a.children;var r=xe.current,o=(r&2)!==0;if(o?(r=r&1|2,t.flags|=128):r&=1,ge(xe,r),Ye(e,t,a,n),a=V?ur:0,!o&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nm(e,n,t);else if(e.tag===19)Nm(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&nu(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),is(t,!1,l,n,i,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&nu(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}is(t,!0,n,null,i,a);break;case"together":is(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function Un(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),va|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ei(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(S(153));if(t.child!==null){for(e=t.child,n=Nn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Nn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Kd(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&$o(e)))}function KA(e,t,n){switch(t.tag){case 3:Xo(t,t.stateNode.containerInfo),In(t,ke,e.memoizedState.cache),Fa();break;case 27:case 5:Cs(t);break;case 4:Xo(t,t.stateNode.containerInfo);break;case 10:In(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Fs(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(Jn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Qp(e,t,n):(Jn(t),e=Un(e,t,n),e!==null?e.sibling:null);Jn(t);break;case 19:var l=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||(ei(e,t,n,!1),a=(n&t.childLanes)!==0),l){if(a)return Kp(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ge(xe,xe.current),a)break;return null;case 22:return t.lanes=0,Xp(e,t,n,t.pendingProps);case 24:In(t,ke,e.memoizedState.cache)}return Un(e,t,n)}function Zp(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Le=!0;else{if(!Kd(e,n)&&(t.flags&128)===0)return Le=!1,KA(e,t,n);Le=(e.flags&131072)!==0}else Le=!1,V&&(t.flags&1048576)!==0&&Jh(t,ur,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=La(t.elementType),t.type=e,typeof e=="function")Ed(e)?(a=Xa(e,a),t.tag=1,t=_m(null,t,e,a,n)):(t.tag=0,t=Ks(null,t,e,a,n));else{if(e!=null){var l=e.$$typeof;if(l===fd){t.tag=11,t=Tm(null,t,e,a,n);break e}else if(l===gd){t.tag=14,t=Em(null,t,e,a,n);break e}}throw t=ws(e)||e,Error(S(306,t,""))}}return t;case 0:return Ks(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,l=Xa(a,t.pendingProps),_m(e,t,a,l,n);case 3:e:{if(Xo(t,t.stateNode.containerInfo),e===null)throw Error(S(387));a=t.pendingProps;var i=t.memoizedState;l=i.element,Gs(e,t),Ii(t,a,null,n);var r=t.memoizedState;if(a=r.cache,In(t,ke,a),a!==i.cache&&zs(t,[ke],n,!0),Wi(),a=r.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:r.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Bm(e,t,a,n);break e}else if(a!==l){l=Yt(Error(S(424)),t),cr(l),t=Bm(e,t,a,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(ye=Qt(e.firstChild),Xe=t,V=!0,oa=null,Vt=!0,n=lp(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Fa(),a===l){t=Un(e,t,n);break e}Ye(e,t,a,n)}t=t.child}return t;case 26:return Go(e,t),e===null?(n=eh(t.type,null,t.pendingProps,null))?t.memoizedState=n:V||(n=t.type,e=t.pendingProps,a=mu(ra.current).createElement(n),a[Ve]=t,a[vt]=e,Ke(a,n,e),qe(a),t.stateNode=a):t.memoizedState=eh(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Cs(t),e===null&&V&&(a=t.stateNode=Gy(t.type,t.pendingProps,ra.current),Xe=t,Vt=!0,l=ye,Aa(t.type)?(cd=l,ye=Qt(a.firstChild)):ye=l),Ye(e,t,t.pendingProps.children,n),Go(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&V&&((l=a=ye)&&(a=Sw(a,t.type,t.pendingProps,Vt),a!==null?(t.stateNode=a,Xe=t,ye=Qt(a.firstChild),Vt=!1,l=!0):l=!1),l||pa(t)),Cs(t),l=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,a=i.children,id(l,i)?a=null:r!==null&&id(l,r)&&(t.flags|=32),t.memoizedState!==null&&(l=Ld(e,t,GA,null,null,n),hr._currentValue=l),Go(e,t),Ye(e,t,a,n),t.child;case 6:return e===null&&V&&((e=n=ye)&&(n=Cw(n,t.pendingProps,Vt),n!==null?(t.stateNode=n,Xe=t,ye=null,e=!0):e=!1),e||pa(t)),null;case 13:return Qp(e,t,n);case 4:return Xo(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ya(t,null,a,n):Ye(e,t,a,n),t.child;case 11:return Tm(e,t,t.type,t.pendingProps,n);case 7:return Ye(e,t,t.pendingProps,n),t.child;case 8:return Ye(e,t,t.pendingProps.children,n),t.child;case 12:return Ye(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,In(t,t.type,a.value),Ye(e,t,a.children,n),t.child;case 9:return l=t.type._context,a=t.pendingProps.children,ja(t),l=Qe(l),a=a(l),t.flags|=1,Ye(e,t,a,n),t.child;case 14:return Em(e,t,t.type,t.pendingProps,n);case 15:return Vp(e,t,t.type,t.pendingProps,n);case 19:return Kp(e,t,n);case 31:return QA(e,t,n);case 22:return Xp(e,t,n,t.pendingProps);case 24:return ja(t),a=Qe(ke),e===null?(l=_d(),l===null&&(l=ue,i=Md(),l.pooledCache=i,i.refCount++,i!==null&&(l.pooledCacheLanes|=n),l=i),t.memoizedState={parent:a,cache:l},Nd(t),In(t,ke,l)):((e.lanes&n)!==0&&(Gs(e,t),Ii(t,null,null,n),Wi()),l=e.memoizedState,i=t.memoizedState,l.parent!==a?(l={parent:a,cache:a},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),In(t,ke,a)):(a=i.cache,In(t,ke,a),a!==l.cache&&zs(t,[ke],n,!0))),Ye(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(S(156,t.tag))}function Cn(e){e.flags|=4}function rs(e,t,n,a,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(by())e.flags|=8192;else throw Pa=eu,Bd}else e.flags&=-16777217}function Om(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Fy(t))if(by())e.flags|=8192;else throw Pa=eu,Bd}function Co(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ah():536870912,e.lanes|=t,Ql|=t)}function Hi(e,t){if(!V)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function ZA(e,t,n){var a=t.pendingProps;switch(xd(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pe(t),null;case 1:return pe(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),On(ke),ql(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(vl(t)?Cn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ic())),pe(t),null;case 26:var l=t.type,i=t.memoizedState;return e===null?(Cn(t),i!==null?(pe(t),Om(t,i)):(pe(t),rs(t,l,null,a,n))):i?i!==e.memoizedState?(Cn(t),pe(t),Om(t,i)):(pe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&Cn(t),pe(t),rs(t,l,e,a,n)),null;case 27:if(Qo(t),n=ra.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}e=gn.current,vl(t)?um(t,e):(e=Gy(l,a,n),t.stateNode=e,Cn(t))}return pe(t),null;case 5:if(Qo(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}if(i=gn.current,vl(t))um(t,i);else{var r=mu(ra.current);switch(i){case 1:i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":i=r.createElement("div"),i.innerHTML="<script><\/scr"+"ipt>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?r.createElement(l,{is:a.is}):r.createElement(l)}}i[Ve]=t,i[vt]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(Ke(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Cn(t)}}return pe(t),rs(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(S(166));if(e=ra.current,vl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=Xe,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[Ve]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Ly(e.nodeValue,n)),e||pa(t,!0)}else e=mu(e).createTextNode(a),e[Ve]=t,t.stateNode=e}return pe(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=vl(t),n!==null){if(e===null){if(!a)throw Error(S(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(557));e[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),e=!1}else n=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Rt(t),t):(Rt(t),null);if((t.flags&128)!==0)throw Error(S(558))}return pe(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=vl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(S(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(317));l[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),l=!1}else l=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Rt(t),t):(Rt(t),null)}return Rt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Co(t,t.updateQueue),pe(t),null);case 4:return ql(),e===null&&tf(t.stateNode.containerInfo),pe(t),null;case 10:return On(t.type),pe(t),null;case 19:if(Fe(xe),a=t.memoizedState,a===null)return pe(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)Hi(a,!1);else{if(Te!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=nu(e),i!==null){for(t.flags|=128,Hi(a,!1),e=i.updateQueue,t.updateQueue=e,Co(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Wh(n,e),n=n.sibling;return ge(xe,xe.current&1|2),V&&Dn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Dt()>uu&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304)}else{if(!l)if(e=nu(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Co(t,e),Hi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!V)return pe(t),null}else 2*Dt()-a.renderingStartTime>uu&&n!==536870912&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Dt(),e.sibling=null,n=xe.current,ge(xe,l?n&1|2:n&1),V&&Dn(t,a.treeForkCount),e):(pe(t),null);case 22:case 23:return Rt(t),Od(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(pe(t),t.subtreeFlags&6&&(t.flags|=8192)):pe(t),n=t.updateQueue,n!==null&&Co(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&Fe(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),On(ke),pe(t),null;case 25:return null;case 30:return null}throw Error(S(156,t.tag))}function WA(e,t){switch(xd(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return On(ke),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Qo(t),null;case 31:if(t.memoizedState!==null){if(Rt(t),t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Rt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fe(xe),null;case 4:return ql(),null;case 10:return On(t.type),null;case 22:case 23:return Rt(t),Od(),e!==null&&Fe(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return On(ke),null;case 25:return null;default:return null}}function Wp(e,t){switch(xd(t),t.tag){case 3:On(ke),ql();break;case 26:case 27:case 5:Qo(t);break;case 4:ql();break;case 31:t.memoizedState!==null&&Rt(t);break;case 13:Rt(t);break;case 19:Fe(xe);break;case 10:On(t.type);break;case 22:case 23:Rt(t),Od(),e!==null&&Fe(Ga);break;case 24:On(ke)}}function Er(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,r=n.inst;a=i(),r.destroy=a}n=n.next}while(n!==l)}}catch(o){le(t,t.return,o)}}function ya(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var r=a.inst,o=r.destroy;if(o!==void 0){r.destroy=void 0,l=t;var u=n,c=o;try{c()}catch(s){le(l,u,s)}}}a=a.next}while(a!==i)}}catch(s){le(t,t.return,s)}}function Ip(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{rp(t,n)}catch(a){le(e,e.return,a)}}}function Jp(e,t,n){n.props=Xa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){le(e,t,a)}}function $i(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){le(e,t,l)}}function fn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){le(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){le(e,t,l)}else n.current=null}function $p(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){le(e,e.return,l)}}function os(e,t,n){try{var a=e.stateNode;pw(a,e.type,n,t),a[vt]=t}catch(l){le(e,e.return,l)}}function ey(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Aa(e.type)||e.tag===4}function us(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ey(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Aa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ws(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=_n));else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Ws(e,t,n),e=e.sibling;e!==null;)Ws(e,t,n),e=e.sibling}function ou(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ou(e,t,n),e=e.sibling;e!==null;)ou(e,t,n),e=e.sibling}function ty(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);Ke(t,a,n),t[Ve]=e,t[vt]=n}catch(i){le(e,e.return,i)}}var xn=!1,Oe=!1,cs=!1,km=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function IA(e,t){if(e=e.containerInfo,ad=vu,e=Fh(e),Cd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var r=0,o=-1,u=-1,c=0,s=0,f=e,d=null;t:for(;;){for(var m;f!==n||l!==0&&f.nodeType!==3||(o=r+l),f!==i||a!==0&&f.nodeType!==3||(u=r+a),f.nodeType===3&&(r+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===n&&++c===l&&(o=r),d===i&&++s===a&&(u=r),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}n=o===-1||u===-1?null:{start:o,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ld={focusedElem:e,selectionRange:n},vu=!1,Pe=t;Pe!==null;)if(t=Pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Pe=e;else for(;Pe!==null;){switch(t=Pe,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)l=e[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,l=i.memoizedProps,i=i.memoizedState,a=n.stateNode;try{var v=Xa(n.type,l);e=a.getSnapshotBeforeUpdate(v,i),a.__reactInternalSnapshotBeforeUpdate=e}catch(A){le(n,n.return,A)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)rd(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":rd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(S(163))}if(e=t.sibling,e!==null){e.return=t.return,Pe=e;break}Pe=t.return}}function ny(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Tn(e,n),a&4&&Er(5,n);break;case 1:if(Tn(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(r){le(n,n.return,r)}else{var l=Xa(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(r){le(n,n.return,r)}}a&64&&Ip(n),a&512&&$i(n,n.return);break;case 3:if(Tn(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{rp(e,t)}catch(r){le(n,n.return,r)}}break;case 27:t===null&&a&4&&ty(n);case 26:case 5:Tn(e,n),t===null&&a&4&&$p(n),a&512&&$i(n,n.return);break;case 12:Tn(e,n);break;case 31:Tn(e,n),a&4&&iy(e,n);break;case 13:Tn(e,n),a&4&&ry(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=rw.bind(null,n),Rw(e,n))));break;case 22:if(a=n.memoizedState!==null||xn,!a){t=t!==null&&t.memoizedState!==null||Oe,l=xn;var i=Oe;xn=a,(Oe=t)&&!i?En(e,n,(n.subtreeFlags&8772)!==0):Tn(e,n),xn=l,Oe=i}break;case 30:break;default:Tn(e,n)}}function ay(e){var t=e.alternate;t!==null&&(e.alternate=null,ay(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&yd(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ce=null,ht=!1;function Rn(e,t,n){for(n=n.child;n!==null;)ly(e,t,n),n=n.sibling}function ly(e,t,n){if(xt&&typeof xt.onCommitFiberUnmount=="function")try{xt.onCommitFiberUnmount(br,n)}catch{}switch(n.tag){case 26:Oe||fn(n,t),Rn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Oe||fn(n,t);var a=Ce,l=ht;Aa(n.type)&&(Ce=n.stateNode,ht=!1),Rn(e,t,n),ar(n.stateNode),Ce=a,ht=l;break;case 5:Oe||fn(n,t);case 6:if(a=Ce,l=ht,Ce=null,Rn(e,t,n),Ce=a,ht=l,Ce!==null)if(ht)try{(Ce.nodeType===9?Ce.body:Ce.nodeName==="HTML"?Ce.ownerDocument.body:Ce).removeChild(n.stateNode)}catch(i){le(n,t,i)}else try{Ce.removeChild(n.stateNode)}catch(i){le(n,t,i)}break;case 18:Ce!==null&&(ht?(e=Ce,Zm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),Il(e)):Zm(Ce,n.stateNode));break;case 4:a=Ce,l=ht,Ce=n.stateNode.containerInfo,ht=!0,Rn(e,t,n),Ce=a,ht=l;break;case 0:case 11:case 14:case 15:ya(2,n,t),Oe||ya(4,n,t),Rn(e,t,n);break;case 1:Oe||(fn(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"&&Jp(n,t,a)),Rn(e,t,n);break;case 21:Rn(e,t,n);break;case 22:Oe=(a=Oe)||n.memoizedState!==null,Rn(e,t,n),Oe=a;break;default:Rn(e,t,n)}}function iy(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Il(e)}catch(n){le(t,t.return,n)}}}function ry(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Il(e)}catch(n){le(t,t.return,n)}}function JA(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new km),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new km),t;default:throw Error(S(435,e.tag))}}function Ro(e,t){var n=JA(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var l=ow.bind(null,e,a);a.then(l,l)}})}function gt(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var l=n[a],i=e,r=t,o=r;e:for(;o!==null;){switch(o.tag){case 27:if(Aa(o.type)){Ce=o.stateNode,ht=!1;break e}break;case 5:Ce=o.stateNode,ht=!1;break e;case 3:case 4:Ce=o.stateNode.containerInfo,ht=!0;break e}o=o.return}if(Ce===null)throw Error(S(160));ly(i,r,l),Ce=null,ht=!1,i=l.alternate,i!==null&&(i.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)oy(t,e),t=t.sibling}var en=null;function oy(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),mt(e),a&4&&(ya(3,e,e.return),Er(3,e),ya(5,e,e.return));break;case 1:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&64&&xn&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var l=en;if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&4){var i=n!==null?n.memoizedState:null;if(a=e.memoizedState,n===null)if(a===null)if(e.stateNode===null){e:{a=e.type,n=e.memoizedProps,l=l.ownerDocument||l;t:switch(a){case"title":i=l.getElementsByTagName("title")[0],(!i||i[Sr]||i[Ve]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=l.createElement(a),l.head.insertBefore(i,l.querySelector("head > title"))),Ke(i,a,n),i[Ve]=e,qe(i),a=i;break e;case"link":var r=nh("link","href",l).get(a+(n.href||""));if(r){for(var o=0;o<r.length;o++)if(i=r[o],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;case"meta":if(r=nh("meta","content",l).get(a+(n.content||""))){for(o=0;o<r.length;o++)if(i=r[o],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;default:throw Error(S(468,a))}i[Ve]=e,qe(i),a=i}e.stateNode=a}else ah(l,e.type,e.stateNode);else e.stateNode=th(l,a,e.memoizedProps);else i!==a?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count--,a===null?ah(l,e.type,e.stateNode):th(l,a,e.memoizedProps)):a===null&&e.stateNode!==null&&os(e,e.memoizedProps,n.memoizedProps)}break;case 27:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),n!==null&&a&4&&os(e,e.memoizedProps,n.memoizedProps);break;case 5:if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),e.flags&32){l=e.stateNode;try{jl(l,"")}catch(v){le(e,e.return,v)}}a&4&&e.stateNode!=null&&(l=e.memoizedProps,os(e,l,n!==null?n.memoizedProps:l)),a&1024&&(cs=!0);break;case 6:if(gt(t,e),mt(e),a&4){if(e.stateNode===null)throw Error(S(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(v){le(e,e.return,v)}}break;case 3:if(Fo=null,l=en,en=hu(t.containerInfo),gt(t,e),en=l,mt(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Il(t.containerInfo)}catch(v){le(e,e.return,v)}cs&&(cs=!1,uy(e));break;case 4:a=en,en=hu(e.stateNode.containerInfo),gt(t,e),mt(e),en=a;break;case 12:gt(t,e),mt(e);break;case 31:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 13:gt(t,e),mt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Bu=Dt()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 22:l=e.memoizedState!==null;var u=n!==null&&n.memoizedState!==null,c=xn,s=Oe;if(xn=c||l,Oe=s||u,gt(t,e),Oe=s,xn=c,mt(e),a&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(n===null||u||xn||Oe||Ha(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){u=n=t;try{if(i=u.stateNode,l)r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{o=u.stateNode;var f=u.memoizedProps.style,d=f!=null&&f.hasOwnProperty("display")?f.display:null;o.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(v){le(u,u.return,v)}}}else if(t.tag===6){if(n===null){u=t;try{u.stateNode.nodeValue=l?"":u.memoizedProps}catch(v){le(u,u.return,v)}}}else if(t.tag===18){if(n===null){u=t;try{var m=u.stateNode;l?Wm(m,!0):Wm(u.stateNode,!1)}catch(v){le(u,u.return,v)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,Ro(e,n))));break;case 19:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 30:break;case 21:break;default:gt(t,e),mt(e)}}function mt(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(ey(a)){n=a;break}a=a.return}if(n==null)throw Error(S(160));switch(n.tag){case 27:var l=n.stateNode,i=us(e);ou(e,i,l);break;case 5:var r=n.stateNode;n.flags&32&&(jl(r,""),n.flags&=-33);var o=us(e);ou(e,o,r);break;case 3:case 4:var u=n.stateNode.containerInfo,c=us(e);Ws(e,c,u);break;default:throw Error(S(161))}}catch(s){le(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function uy(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;uy(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Tn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ny(e,t.alternate,t),t=t.sibling}function Ha(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ya(4,t,t.return),Ha(t);break;case 1:fn(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Jp(t,t.return,n),Ha(t);break;case 27:ar(t.stateNode);case 26:case 5:fn(t,t.return),Ha(t);break;case 22:t.memoizedState===null&&Ha(t);break;case 30:Ha(t);break;default:Ha(t)}e=e.sibling}}function En(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,l=e,i=t,r=i.flags;switch(i.tag){case 0:case 11:case 15:En(l,i,n),Er(4,i);break;case 1:if(En(l,i,n),a=i,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(c){le(a,a.return,c)}if(a=i,l=a.updateQueue,l!==null){var o=a.stateNode;try{var u=l.shared.hiddenCallbacks;if(u!==null)for(l.shared.hiddenCallbacks=null,l=0;l<u.length;l++)ip(u[l],o)}catch(c){le(a,a.return,c)}}n&&r&64&&Ip(i),$i(i,i.return);break;case 27:ty(i);case 26:case 5:En(l,i,n),n&&a===null&&r&4&&$p(i),$i(i,i.return);break;case 12:En(l,i,n);break;case 31:En(l,i,n),n&&r&4&&iy(l,i);break;case 13:En(l,i,n),n&&r&4&&ry(l,i);break;case 22:i.memoizedState===null&&En(l,i,n),$i(i,i.return);break;case 30:break;default:En(l,i,n)}t=t.sibling}}function Zd(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Rr(n))}function Wd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e))}function $t(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)cy(e,t,n,a),t=t.sibling}function cy(e,t,n,a){var l=t.flags;switch(t.tag){case 0:case 11:case 15:$t(e,t,n,a),l&2048&&Er(9,t);break;case 1:$t(e,t,n,a);break;case 3:$t(e,t,n,a),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e)));break;case 12:if(l&2048){$t(e,t,n,a),e=t.stateNode;try{var i=t.memoizedProps,r=i.id,o=i.onPostCommit;typeof o=="function"&&o(r,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(u){le(t,t.return,u)}}else $t(e,t,n,a);break;case 31:$t(e,t,n,a);break;case 13:$t(e,t,n,a);break;case 23:break;case 22:i=t.stateNode,r=t.alternate,t.memoizedState!==null?i._visibility&2?$t(e,t,n,a):er(e,t):i._visibility&2?$t(e,t,n,a):(i._visibility|=2,Al(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Zd(r,t);break;case 24:$t(e,t,n,a),l&2048&&Wd(t.alternate,t);break;default:$t(e,t,n,a)}}function Al(e,t,n,a,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,r=t,o=n,u=a,c=r.flags;switch(r.tag){case 0:case 11:case 15:Al(i,r,o,u,l),Er(8,r);break;case 23:break;case 22:var s=r.stateNode;r.memoizedState!==null?s._visibility&2?Al(i,r,o,u,l):er(i,r):(s._visibility|=2,Al(i,r,o,u,l)),l&&c&2048&&Zd(r.alternate,r);break;case 24:Al(i,r,o,u,l),l&&c&2048&&Wd(r.alternate,r);break;default:Al(i,r,o,u,l)}t=t.sibling}}function er(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,l=a.flags;switch(a.tag){case 22:er(n,a),l&2048&&Zd(a.alternate,a);break;case 24:er(n,a),l&2048&&Wd(a.alternate,a);break;default:er(n,a)}t=t.sibling}}var Yi=8192;function bl(e,t,n){if(e.subtreeFlags&Yi)for(e=e.child;e!==null;)sy(e,t,n),e=e.sibling}function sy(e,t,n){switch(e.tag){case 26:bl(e,t,n),e.flags&Yi&&e.memoizedState!==null&&Hw(n,en,e.memoizedState,e.memoizedProps);break;case 5:bl(e,t,n);break;case 3:case 4:var a=en;en=hu(e.stateNode.containerInfo),bl(e,t,n),en=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=Yi,Yi=16777216,bl(e,t,n),Yi=a):bl(e,t,n));break;default:bl(e,t,n)}}function dy(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function zi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)fy(e),e=e.sibling}function fy(e){switch(e.tag){case 0:case 11:case 15:zi(e),e.flags&2048&&ya(9,e,e.return);break;case 3:zi(e);break;case 12:zi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Po(e)):zi(e);break;default:zi(e)}}function Po(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ya(8,t,t.return),Po(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Po(t));break;default:Po(t)}e=e.sibling}}function gy(e,t){for(;Pe!==null;){var n=Pe;switch(n.tag){case 0:case 11:case 15:ya(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Rr(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,Pe=a;else e:for(n=e;Pe!==null;){a=Pe;var l=a.sibling,i=a.return;if(ay(a),a===n){Pe=null;break e}if(l!==null){l.return=i,Pe=l;break e}Pe=i}}}var $A={getCacheForType:function(e){var t=Qe(ke),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Qe(ke).controller.signal}},ew=typeof WeakMap=="function"?WeakMap:Map,J=0,ue=null,F=null,Y=0,ae=0,Ct=null,aa=!1,ni=!1,Id=!1,Gn=0,Te=0,va=0,qa=0,Jd=0,Et=0,Ql=0,tr=null,pt=null,Is=!1,Bu=0,my=0,uu=1/0,cu=null,sa=null,Ue=0,da=null,Kl=null,kn=0,Js=0,$s=null,hy=null,nr=0,ed=null;function _t(){return(J&2)!==0&&Y!==0?Y&-Y:L.T!==null?ef():Rh()}function py(){if(Et===0)if((Y&536870912)===0||V){var e=mo;mo<<=1,(mo&3932160)===0&&(mo=262144),Et=e}else Et=536870912;return e=Nt.current,e!==null&&(e.flags|=32),Et}function yt(e,t,n){(e===ue&&(ae===2||ae===9)||e.cancelPendingCommit!==null)&&(Zl(e,0),la(e,Y,Et,!1)),wr(e,n),((J&2)===0||e!==ue)&&(e===ue&&((J&2)===0&&(qa|=n),Te===4&&la(e,Y,Et,!1)),hn(e))}function yy(e,t,n){if((J&6)!==0)throw Error(S(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Ar(e,t),l=a?aw(e,t):ss(e,t,!0),i=a;do{if(l===0){ni&&!a&&la(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!tw(n)){l=ss(e,t,!1),i=!1;continue}if(l===2){if(i=t,e.errorRecoveryDisabledLanes&i)var r=0;else r=e.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){t=r;e:{var o=e;l=tr;var u=o.current.memoizedState.isDehydrated;if(u&&(Zl(o,r).flags|=256),r=ss(o,r,!1),r!==2){if(Id&&!u){o.errorRecoveryDisabledLanes|=i,qa|=i,l=4;break e}i=pt,pt=l,i!==null&&(pt===null?pt=i:pt.push.apply(pt,i))}l=r}if(i=!1,l!==2)continue}}if(l===1){Zl(e,0),la(e,t,0,!0);break}e:{switch(a=e,i=l,i){case 0:case 1:throw Error(S(345));case 4:if((t&4194048)!==t)break;case 6:la(a,t,Et,!aa);break e;case 2:pt=null;break;case 3:case 5:break;default:throw Error(S(329))}if((t&62914560)===t&&(l=Bu+300-Dt(),10<l)){if(la(a,t,Et,!aa),Au(a,0,!0)!==0)break e;kn=t,a.timeoutHandle=zy(Lm.bind(null,a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,"Throttled",-0,0),l);break e}Lm(a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,null,-0,0)}}break}while(!0);hn(e)}function Lm(e,t,n,a,l,i,r,o,u,c,s,f,d,m){if(e.timeoutHandle=-1,f=t.subtreeFlags,f&8192||(f&16785408)===16785408){f={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:_n},sy(t,i,f);var v=(i&62914560)===i?Bu-Dt():(i&4194048)===i?my-Dt():0;if(v=zw(f,v),v!==null){kn=i,e.cancelPendingCommit=v(zm.bind(null,e,t,i,n,a,l,r,o,u,s,f,null,d,m)),la(e,i,r,!c);return}}zm(e,t,i,n,a,l,r,o,u)}function tw(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],i=l.getSnapshot;l=l.value;try{if(!Bt(i(),l))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function la(e,t,n,a){t&=~Jd,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var l=t;0<l;){var i=31-Mt(l),r=1<<i;a[i]=-1,l&=~r}n!==0&&wh(e,n,t)}function Nu(){return(J&6)===0?(Dr(0,!1),!1):!0}function $d(){if(F!==null){if(ae===0)var e=F.return;else e=F,Bn=Ia=null,Ud(e),Ul=null,sr=0,e=F;for(;e!==null;)Wp(e.alternate,e),e=e.return;F=null}}function Zl(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,bw(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),kn=0,$d(),ue=e,F=n=Nn(e.current,null),Y=t,ae=0,Ct=null,aa=!1,ni=Ar(e,t),Id=!1,Ql=Et=Jd=qa=va=Te=0,pt=tr=null,Is=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var l=31-Mt(a),i=1<<l;t|=e[l],a&=~i}return Gn=t,Ru(),n}function vy(e,t){G=null,L.H=fr,t===ti||t===Eu?(t=gm(),ae=3):t===Bd?(t=gm(),ae=4):ae=t===Qd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ct=t,F===null&&(Te=1,iu(e,Yt(t,e.current)))}function by(){var e=Nt.current;return e===null?!0:(Y&4194048)===Y?Xt===null:(Y&62914560)===Y||(Y&536870912)!==0?e===Xt:!1}function Ay(){var e=L.H;return L.H=fr,e===null?fr:e}function wy(){var e=L.A;return L.A=$A,e}function su(){Te=4,aa||(Y&4194048)!==Y&&Nt.current!==null||(ni=!0),(va&134217727)===0&&(qa&134217727)===0||ue===null||la(ue,Y,Et,!1)}function ss(e,t,n){var a=J;J|=2;var l=Ay(),i=wy();(ue!==e||Y!==t)&&(cu=null,Zl(e,t)),t=!1;var r=Te;e:do try{if(ae!==0&&F!==null){var o=F,u=Ct;switch(ae){case 8:$d(),r=6;break e;case 3:case 2:case 9:case 6:Nt.current===null&&(t=!0);var c=ae;if(ae=0,Ct=null,Ol(e,o,u,c),n&&ni){r=0;break e}break;default:c=ae,ae=0,Ct=null,Ol(e,o,u,c)}}nw(),r=Te;break}catch(s){vy(e,s)}while(!0);return t&&e.shellSuspendCounter++,Bn=Ia=null,J=a,L.H=l,L.A=i,F===null&&(ue=null,Y=0,Ru()),r}function nw(){for(;F!==null;)Sy(F)}function aw(e,t){var n=J;J|=2;var a=Ay(),l=wy();ue!==e||Y!==t?(cu=null,uu=Dt()+500,Zl(e,t)):ni=Ar(e,t);e:do try{if(ae!==0&&F!==null){t=F;var i=Ct;t:switch(ae){case 1:ae=0,Ct=null,Ol(e,t,i,1);break;case 2:case 9:if(fm(i)){ae=0,Ct=null,Hm(t);break}t=function(){ae!==2&&ae!==9||ue!==e||(ae=7),hn(e)},i.then(t,t);break e;case 3:ae=7;break e;case 4:ae=5;break e;case 7:fm(i)?(ae=0,Ct=null,Hm(t)):(ae=0,Ct=null,Ol(e,t,i,7));break;case 5:var r=null;switch(F.tag){case 26:r=F.memoizedState;case 5:case 27:var o=F;if(r?Fy(r):o.stateNode.complete){ae=0,Ct=null;var u=o.sibling;if(u!==null)F=u;else{var c=o.return;c!==null?(F=c,Ou(c)):F=null}break t}}ae=0,Ct=null,Ol(e,t,i,5);break;case 6:ae=0,Ct=null,Ol(e,t,i,6);break;case 8:$d(),Te=6;break e;default:throw Error(S(462))}}lw();break}catch(s){vy(e,s)}while(!0);return Bn=Ia=null,L.H=a,L.A=l,J=n,F!==null?0:(ue=null,Y=0,Ru(),Te)}function lw(){for(;F!==null&&!Db();)Sy(F)}function Sy(e){var t=Zp(e.alternate,e,Gn);e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Hm(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Mm(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=Mm(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:Ud(t);default:Wp(n,t),t=F=Wh(t,Gn),t=Zp(n,t,Gn)}e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Ol(e,t,n,a){Bn=Ia=null,Ud(t),Ul=null,sr=0;var l=t.return;try{if(XA(e,l,t,n,Y)){Te=1,iu(e,Yt(n,e.current)),F=null;return}}catch(i){if(l!==null)throw F=l,i;Te=1,iu(e,Yt(n,e.current)),F=null;return}t.flags&32768?(V||a===1?e=!0:ni||(Y&536870912)!==0?e=!1:(aa=e=!0,(a===2||a===9||a===3||a===6)&&(a=Nt.current,a!==null&&a.tag===13&&(a.flags|=16384))),Cy(t,e)):Ou(t)}function Ou(e){var t=e;do{if((t.flags&32768)!==0){Cy(t,aa);return}e=t.return;var n=ZA(t.alternate,t,Gn);if(n!==null){F=n;return}if(t=t.sibling,t!==null){F=t;return}F=t=e}while(t!==null);Te===0&&(Te=5)}function Cy(e,t){do{var n=WA(e.alternate,e);if(n!==null){n.flags&=32767,F=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){F=e;return}F=e=n}while(e!==null);Te=6,F=null}function zm(e,t,n,a,l,i,r,o,u){e.cancelPendingCommit=null;do ku();while(Ue!==0);if((J&6)!==0)throw Error(S(327));if(t!==null){if(t===e.current)throw Error(S(177));if(i=t.lanes|t.childLanes,i|=Rd,zb(e,n,i,r,o,u),e===ue&&(F=ue=null,Y=0),Kl=t,da=e,kn=n,Js=i,$s=l,hy=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,uw(Ko,function(){return xy(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=L.T,L.T=null,l=$.p,$.p=2,r=J,J|=4;try{IA(e,t,n)}finally{J=r,$.p=l,L.T=a}}Ue=1,Ry(),Ty(),Ey()}}function Ry(){if(Ue===1){Ue=0;var e=da,t=Kl,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{oy(t,e);var i=ld,r=Fh(e.containerInfo),o=i.focusedElem,u=i.selectionRange;if(r!==o&&o&&o.ownerDocument&&qh(o.ownerDocument.documentElement,o)){if(u!==null&&Cd(o)){var c=u.start,s=u.end;if(s===void 0&&(s=c),"selectionStart"in o)o.selectionStart=c,o.selectionEnd=Math.min(s,o.value.length);else{var f=o.ownerDocument||document,d=f&&f.defaultView||window;if(d.getSelection){var m=d.getSelection(),v=o.textContent.length,A=Math.min(u.start,v),b=u.end===void 0?A:Math.min(u.end,v);!m.extend&&A>b&&(r=b,b=A,A=r);var h=im(o,A),g=im(o,b);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var p=f.createRange();p.setStart(h.node,h.offset),m.removeAllRanges(),A>b?(m.addRange(p),m.extend(g.node,g.offset)):(p.setEnd(g.node,g.offset),m.addRange(p))}}}}for(f=[],m=o;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<f.length;o++){var y=f[o];y.element.scrollLeft=y.left,y.element.scrollTop=y.top}}vu=!!ad,ld=ad=null}finally{J=l,$.p=a,L.T=n}}e.current=t,Ue=2}}function Ty(){if(Ue===2){Ue=0;var e=da,t=Kl,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{ny(e,t.alternate,t)}finally{J=l,$.p=a,L.T=n}}Ue=3}}function Ey(){if(Ue===4||Ue===3){Ue=0,xb();var e=da,t=Kl,n=kn,a=hy;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ue=5:(Ue=0,Kl=da=null,Dy(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(sa=null),pd(n),t=t.stateNode,xt&&typeof xt.onCommitFiberRoot=="function")try{xt.onCommitFiberRoot(br,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=L.T,l=$.p,$.p=2,L.T=null;try{for(var i=e.onRecoverableError,r=0;r<a.length;r++){var o=a[r];i(o.value,{componentStack:o.stack})}}finally{L.T=t,$.p=l}}(kn&3)!==0&&ku(),hn(e),l=e.pendingLanes,(n&261930)!==0&&(l&42)!==0?e===ed?nr++:(nr=0,ed=e):nr=0,Dr(0,!1)}}function Dy(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Rr(t)))}function ku(){return Ry(),Ty(),Ey(),xy()}function xy(){if(Ue!==5)return!1;var e=da,t=Js;Js=0;var n=pd(kn),a=L.T,l=$.p;try{$.p=32>n?32:n,L.T=null,n=$s,$s=null;var i=da,r=kn;if(Ue=0,Kl=da=null,kn=0,(J&6)!==0)throw Error(S(331));var o=J;if(J|=4,fy(i.current),cy(i,i.current,r,n),J=o,Dr(0,!1),xt&&typeof xt.onPostCommitFiberRoot=="function")try{xt.onPostCommitFiberRoot(br,i)}catch{}return!0}finally{$.p=l,L.T=a,Dy(e,t)}}function Um(e,t,n){t=Yt(n,t),t=Qs(e.stateNode,t,2),e=ca(e,t,2),e!==null&&(wr(e,2),hn(e))}function le(e,t,n){if(e.tag===3)Um(e,e,n);else for(;t!==null;){if(t.tag===3){Um(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(sa===null||!sa.has(a))){e=Yt(n,e),n=jp(2),a=ca(t,n,2),a!==null&&(Yp(n,a,t,e),wr(a,2),hn(a));break}}t=t.return}}function ds(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new ew;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Id=!0,l.add(n),e=iw.bind(null,e,t,n),t.then(e,e))}function iw(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ue===e&&(Y&n)===n&&(Te===4||Te===3&&(Y&62914560)===Y&&300>Dt()-Bu?(J&2)===0&&Zl(e,0):Jd|=n,Ql===Y&&(Ql=0)),hn(e)}function My(e,t){t===0&&(t=Ah()),e=Wa(e,t),e!==null&&(wr(e,t),hn(e))}function rw(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),My(e,n)}function ow(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(S(314))}a!==null&&a.delete(t),My(e,n)}function uw(e,t){return md(e,t)}var du=null,wl=null,td=!1,fu=!1,fs=!1,ia=0;function hn(e){e!==wl&&e.next===null&&(wl===null?du=wl=e:wl=wl.next=e),fu=!0,td||(td=!0,sw())}function Dr(e,t){if(!fs&&fu){fs=!0;do for(var n=!1,a=du;a!==null;){if(!t)if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var r=a.suspendedLanes,o=a.pingedLanes;i=(1<<31-Mt(42|e)+1)-1,i&=l&~(r&~o),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,Gm(a,i))}else i=Y,i=Au(a,a===ue?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||Ar(a,i)||(n=!0,Gm(a,i));a=a.next}while(n);fs=!1}}function cw(){_y()}function _y(){fu=td=!1;var e=0;ia!==0&&vw()&&(e=ia);for(var t=Dt(),n=null,a=du;a!==null;){var l=a.next,i=By(a,t);i===0?(a.next=null,n===null?du=l:n.next=l,l===null&&(wl=n)):(n=a,(e!==0||(i&3)!==0)&&(fu=!0)),a=l}Ue!==0&&Ue!==5||Dr(e,!1),ia!==0&&(ia=0)}function By(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var r=31-Mt(i),o=1<<r,u=l[r];u===-1?((o&n)===0||(o&a)!==0)&&(l[r]=Hb(o,t)):u<=t&&(e.expiredLanes|=o),i&=~o}if(t=ue,n=Y,n=Au(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(ae===2||ae===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&qc(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Ar(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&qc(a),pd(n)){case 2:case 8:n=vh;break;case 32:n=Ko;break;case 268435456:n=bh;break;default:n=Ko}return a=Ny.bind(null,e),n=md(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&qc(a),e.callbackPriority=2,e.callbackNode=null,2}function Ny(e,t){if(Ue!==0&&Ue!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(ku()&&e.callbackNode!==n)return null;var a=Y;return a=Au(e,e===ue?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(yy(e,a,t),By(e,Dt()),e.callbackNode!=null&&e.callbackNode===n?Ny.bind(null,e):null)}function Gm(e,t){if(ku())return null;yy(e,t,!0)}function sw(){Aw(function(){(J&6)!==0?md(yh,cw):_y()})}function ef(){if(ia===0){var e=Yl;e===0&&(e=go,go<<=1,(go&261888)===0&&(go=256)),ia=e}return ia}function Pm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Bo(""+e)}function qm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function dw(e,t,n,a,l){if(t==="submit"&&n&&n.stateNode===l){var i=Pm((l[vt]||null).action),r=a.submitter;r&&(t=(t=r[vt]||null)?Pm(t.formAction):r.getAttribute("formAction"),t!==null&&(i=t,r=null));var o=new wu("action","action",null,a,l);e.push({event:o,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(ia!==0){var u=r?qm(l,r):new FormData(l);Vs(n,{pending:!0,data:u,method:l.method,action:i},null,u)}}else typeof i=="function"&&(o.preventDefault(),u=r?qm(l,r):new FormData(l),Vs(n,{pending:!0,data:u,method:l.method,action:i},i,u))},currentTarget:l}]})}}for(To=0;To<Os.length;To++)Eo=Os[To],Fm=Eo.toLowerCase(),jm=Eo[0].toUpperCase()+Eo.slice(1),tn(Fm,"on"+jm);var Eo,Fm,jm,To;tn(Yh,"onAnimationEnd");tn(Vh,"onAnimationIteration");tn(Xh,"onAnimationStart");tn("dblclick","onDoubleClick");tn("focusin","onFocus");tn("focusout","onBlur");tn(MA,"onTransitionRun");tn(_A,"onTransitionStart");tn(BA,"onTransitionCancel");tn(Qh,"onTransitionEnd");Fl("onMouseEnter",["mouseout","mouseover"]);Fl("onMouseLeave",["mouseout","mouseover"]);Fl("onPointerEnter",["pointerout","pointerover"]);Fl("onPointerLeave",["pointerout","pointerover"]);Qa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Qa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Qa("onBeforeInput",["compositionend","keypress","textInput","paste"]);Qa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),fw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(gr));function Oy(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],l=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var r=a.length-1;0<=r;r--){var o=a[r],u=o.instance,c=o.currentTarget;if(o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}else for(r=0;r<a.length;r++){if(o=a[r],u=o.instance,c=o.currentTarget,o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}}}}function q(e,t){var n=t[Ts];n===void 0&&(n=t[Ts]=new Set);var a=e+"__bubble";n.has(a)||(ky(t,e,2,!1),n.add(a))}function gs(e,t,n){var a=0;t&&(a|=4),ky(n,e,a,t)}var Do="_reactListening"+Math.random().toString(36).slice(2);function tf(e){if(!e[Do]){e[Do]=!0,Th.forEach(function(n){n!=="selectionchange"&&(fw.has(n)||gs(n,!1,e),gs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Do]||(t[Do]=!0,gs("selectionchange",!1,t))}}function ky(e,t,n,a){switch(Qy(t)){case 2:var l=Pw;break;case 8:l=qw;break;default:l=rf}n=l.bind(null,t,n,e),l=void 0,!_s||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),a?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function ms(e,t,n,a,l){var i=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var r=a.tag;if(r===3||r===4){var o=a.stateNode.containerInfo;if(o===l)break;if(r===4)for(r=a.return;r!==null;){var u=r.tag;if((u===3||u===4)&&r.stateNode.containerInfo===l)return;r=r.return}for(;o!==null;){if(r=Rl(o),r===null)return;if(u=r.tag,u===5||u===6||u===26||u===27){a=i=r;continue e}o=o.parentNode}}a=a.return}Oh(function(){var c=i,s=bd(n),f=[];e:{var d=Kh.get(e);if(d!==void 0){var m=wu,v=e;switch(e){case"keypress":if(Oo(n)===0)break e;case"keydown":case"keyup":m=oA;break;case"focusin":v="focus",m=Xc;break;case"focusout":v="blur",m=Xc;break;case"beforeblur":case"afterblur":m=Xc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Wg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Zb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=sA;break;case Yh:case Vh:case Xh:m=Jb;break;case Qh:m=fA;break;case"scroll":case"scrollend":m=Qb;break;case"wheel":m=mA;break;case"copy":case"cut":case"paste":m=eA;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Jg;break;case"toggle":case"beforetoggle":m=pA}var A=(t&4)!==0,b=!A&&(e==="scroll"||e==="scrollend"),h=A?d!==null?d+"Capture":null:d;A=[];for(var g=c,p;g!==null;){var y=g;if(p=y.stateNode,y=y.tag,y!==5&&y!==26&&y!==27||p===null||h===null||(y=ir(g,h),y!=null&&A.push(mr(g,y,p))),b)break;g=g.return}0<A.length&&(d=new m(d,v,null,n,s),f.push({event:d,listeners:A}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",d&&n!==Ms&&(v=n.relatedTarget||n.fromElement)&&(Rl(v)||v[Jl]))break e;if((m||d)&&(d=s.window===s?s:(d=s.ownerDocument)?d.defaultView||d.parentWindow:window,m?(v=n.relatedTarget||n.toElement,m=c,v=v?Rl(v):null,v!==null&&(b=vr(v),A=v.tag,v!==b||A!==5&&A!==27&&A!==6)&&(v=null)):(m=null,v=c),m!==v)){if(A=Wg,y="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(A=Jg,y="onPointerLeave",h="onPointerEnter",g="pointer"),b=m==null?d:Fi(m),p=v==null?d:Fi(v),d=new A(y,g+"leave",m,n,s),d.target=b,d.relatedTarget=p,y=null,Rl(s)===c&&(A=new A(h,g+"enter",v,n,s),A.target=p,A.relatedTarget=b,y=A),b=y,m&&v)t:{for(A=gw,h=m,g=v,p=0,y=h;y;y=A(y))p++;y=0;for(var C=g;C;C=A(C))y++;for(;0<p-y;)h=A(h),p--;for(;0<y-p;)g=A(g),y--;for(;p--;){if(h===g||g!==null&&h===g.alternate){A=h;break t}h=A(h),g=A(g)}A=null}else A=null;m!==null&&Ym(f,d,m,A,!1),v!==null&&b!==null&&Ym(f,b,v,A,!0)}}e:{if(d=c?Fi(c):window,m=d.nodeName&&d.nodeName.toLowerCase(),m==="select"||m==="input"&&d.type==="file")var R=nm;else if(tm(d))if(Gh)R=EA;else{R=RA;var T=CA}else m=d.nodeName,!m||m.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?c&&vd(c.elementType)&&(R=nm):R=TA;if(R&&(R=R(e,c))){Uh(f,R,n,s);break e}T&&T(e,d,c),e==="focusout"&&c&&d.type==="number"&&c.memoizedProps.value!=null&&xs(d,"number",d.value)}switch(T=c?Fi(c):window,e){case"focusin":(tm(T)||T.contentEditable==="true")&&(Dl=T,Bs=c,Qi=null);break;case"focusout":Qi=Bs=Dl=null;break;case"mousedown":Ns=!0;break;case"contextmenu":case"mouseup":case"dragend":Ns=!1,rm(f,n,s);break;case"selectionchange":if(xA)break;case"keydown":case"keyup":rm(f,n,s)}var M;if(Sd)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else El?Hh(e,n)&&(w="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(w="onCompositionStart");w&&(Lh&&n.locale!=="ko"&&(El||w!=="onCompositionStart"?w==="onCompositionEnd"&&El&&(M=kh()):(na=s,Ad="value"in na?na.value:na.textContent,El=!0)),T=gu(c,w),0<T.length&&(w=new Ig(w,e,null,n,s),f.push({event:w,listeners:T}),M?w.data=M:(M=zh(n),M!==null&&(w.data=M)))),(M=vA?bA(e,n):AA(e,n))&&(w=gu(c,"onBeforeInput"),0<w.length&&(T=new Ig("onBeforeInput","beforeinput",null,n,s),f.push({event:T,listeners:w}),T.data=M)),dw(f,e,c,n,s)}Oy(f,t)})}function mr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function gu(e,t){for(var n=t+"Capture",a=[];e!==null;){var l=e,i=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||i===null||(l=ir(e,n),l!=null&&a.unshift(mr(e,l,i)),l=ir(e,t),l!=null&&a.push(mr(e,l,i))),e.tag===3)return a;e=e.return}return[]}function gw(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ym(e,t,n,a,l){for(var i=t._reactName,r=[];n!==null&&n!==a;){var o=n,u=o.alternate,c=o.stateNode;if(o=o.tag,u!==null&&u===a)break;o!==5&&o!==26&&o!==27||c===null||(u=c,l?(c=ir(n,i),c!=null&&r.unshift(mr(n,c,u))):l||(c=ir(n,i),c!=null&&r.push(mr(n,c,u)))),n=n.return}r.length!==0&&e.push({event:t,listeners:r})}var mw=/\r\n?/g,hw=/\u0000|\uFFFD/g;function Vm(e){return(typeof e=="string"?e:""+e).replace(mw,``).replace(hw,"")}function Ly(e,t){return t=Vm(t),Vm(e)===t}function ie(e,t,n,a,l,i){switch(n){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||jl(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&jl(e,""+a);break;case"className":po(e,"class",a);break;case"tabIndex":po(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":po(e,n,a);break;case"style":Nh(e,a,i);break;case"data":if(t!=="object"){po(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(n==="formAction"?(t!=="input"&&ie(e,t,"name",l.name,l,null),ie(e,t,"formEncType",l.formEncType,l,null),ie(e,t,"formMethod",l.formMethod,l,null),ie(e,t,"formTarget",l.formTarget,l,null)):(ie(e,t,"encType",l.encType,l,null),ie(e,t,"method",l.method,l,null),ie(e,t,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"onClick":a!=null&&(e.onclick=_n);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}n=Bo(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""+a):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":a===!0?e.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,a):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case"popover":q("beforetoggle",e),q("toggle",e),_o(e,"popover",a);break;case"xlinkActuate":Sn(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Sn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Sn(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Sn(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Sn(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Sn(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":_o(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Vb.get(n)||n,_o(e,n,a))}}function nd(e,t,n,a,l,i){switch(n){case"style":Nh(e,a,i);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"children":typeof a=="string"?jl(e,a):(typeof a=="number"||typeof a=="bigint")&&jl(e,""+a);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"onClick":a!=null&&(e.onclick=_n);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eh.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),t=n.slice(2,l?n.length-7:void 0),i=e[vt]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,l),typeof a=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,l);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,""):_o(e,n,a)}}}function Ke(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":q("error",e),q("load",e);var a=!1,l=!1,i;for(i in n)if(n.hasOwnProperty(i)){var r=n[i];if(r!=null)switch(i){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,i,r,n,null)}}l&&ie(e,t,"srcSet",n.srcSet,n,null),a&&ie(e,t,"src",n.src,n,null);return;case"input":q("invalid",e);var o=i=r=l=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case"name":l=s;break;case"type":r=s;break;case"checked":u=s;break;case"defaultChecked":c=s;break;case"value":i=s;break;case"defaultValue":o=s;break;case"children":case"dangerouslySetInnerHTML":if(s!=null)throw Error(S(137,t));break;default:ie(e,t,a,s,n,null)}}Mh(e,i,o,u,c,r,l,!1);return;case"select":q("invalid",e),a=r=i=null;for(l in n)if(n.hasOwnProperty(l)&&(o=n[l],o!=null))switch(l){case"value":i=o;break;case"defaultValue":r=o;break;case"multiple":a=o;default:ie(e,t,l,o,n,null)}t=i,n=r,e.multiple=!!a,t!=null?Ll(e,!!a,t,!1):n!=null&&Ll(e,!!a,n,!0);return;case"textarea":q("invalid",e),i=l=a=null;for(r in n)if(n.hasOwnProperty(r)&&(o=n[r],o!=null))switch(r){case"value":a=o;break;case"defaultValue":l=o;break;case"children":i=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(S(91));break;default:ie(e,t,r,o,n,null)}Bh(e,a,l,i);return;case"option":for(u in n)if(n.hasOwnProperty(u)&&(a=n[u],a!=null))switch(u){case"selected":e.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:ie(e,t,u,a,n,null)}return;case"dialog":q("beforetoggle",e),q("toggle",e),q("cancel",e),q("close",e);break;case"iframe":case"object":q("load",e);break;case"video":case"audio":for(a=0;a<gr.length;a++)q(gr[a],e);break;case"image":q("error",e),q("load",e);break;case"details":q("toggle",e);break;case"embed":case"source":case"link":q("error",e),q("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(a=n[c],a!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,c,a,n,null)}return;default:if(vd(t)){for(s in n)n.hasOwnProperty(s)&&(a=n[s],a!==void 0&&nd(e,t,s,a,n,void 0));return}}for(o in n)n.hasOwnProperty(o)&&(a=n[o],a!=null&&ie(e,t,o,a,n,null))}function pw(e,t,n,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,i=null,r=null,o=null,u=null,c=null,s=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":u=f;default:a.hasOwnProperty(m)||ie(e,t,m,null,a,f)}}for(var d in a){var m=a[d];if(f=n[d],a.hasOwnProperty(d)&&(m!=null||f!=null))switch(d){case"type":i=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":s=m;break;case"value":r=m;break;case"defaultValue":o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(S(137,t));break;default:m!==f&&ie(e,t,d,m,a,f)}}Ds(e,r,o,u,c,s,i,l);return;case"select":m=r=o=d=null;for(i in n)if(u=n[i],n.hasOwnProperty(i)&&u!=null)switch(i){case"value":break;case"multiple":m=u;default:a.hasOwnProperty(i)||ie(e,t,i,null,a,u)}for(l in a)if(i=a[l],u=n[l],a.hasOwnProperty(l)&&(i!=null||u!=null))switch(l){case"value":d=i;break;case"defaultValue":o=i;break;case"multiple":r=i;default:i!==u&&ie(e,t,l,i,a,u)}t=o,n=r,a=m,d!=null?Ll(e,!!n,d,!1):!!a!=!!n&&(t!=null?Ll(e,!!n,t,!0):Ll(e,!!n,n?[]:"",!1));return;case"textarea":m=d=null;for(o in n)if(l=n[o],n.hasOwnProperty(o)&&l!=null&&!a.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:ie(e,t,o,null,a,l)}for(r in a)if(l=a[r],i=n[r],a.hasOwnProperty(r)&&(l!=null||i!=null))switch(r){case"value":d=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(S(91));break;default:l!==i&&ie(e,t,r,l,a,i)}_h(e,d,m);return;case"option":for(var v in n)if(d=n[v],n.hasOwnProperty(v)&&d!=null&&!a.hasOwnProperty(v))switch(v){case"selected":e.selected=!1;break;default:ie(e,t,v,null,a,d)}for(u in a)if(d=a[u],m=n[u],a.hasOwnProperty(u)&&d!==m&&(d!=null||m!=null))switch(u){case"selected":e.selected=d&&typeof d!="function"&&typeof d!="symbol";break;default:ie(e,t,u,d,a,m)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var A in n)d=n[A],n.hasOwnProperty(A)&&d!=null&&!a.hasOwnProperty(A)&&ie(e,t,A,null,a,d);for(c in a)if(d=a[c],m=n[c],a.hasOwnProperty(c)&&d!==m&&(d!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(S(137,t));break;default:ie(e,t,c,d,a,m)}return;default:if(vd(t)){for(var b in n)d=n[b],n.hasOwnProperty(b)&&d!==void 0&&!a.hasOwnProperty(b)&&nd(e,t,b,void 0,a,d);for(s in a)d=a[s],m=n[s],!a.hasOwnProperty(s)||d===m||d===void 0&&m===void 0||nd(e,t,s,d,a,m);return}}for(var h in n)d=n[h],n.hasOwnProperty(h)&&d!=null&&!a.hasOwnProperty(h)&&ie(e,t,h,null,a,d);for(f in a)d=a[f],m=n[f],!a.hasOwnProperty(f)||d===m||d==null&&m==null||ie(e,t,f,d,a,m)}function Xm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function yw(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],i=l.transferSize,r=l.initiatorType,o=l.duration;if(i&&o&&Xm(r)){for(r=0,o=l.responseEnd,a+=1;a<n.length;a++){var u=n[a],c=u.startTime;if(c>o)break;var s=u.transferSize,f=u.initiatorType;s&&Xm(f)&&(u=u.responseEnd,r+=s*(u<o?1:(o-c)/(u-c)))}if(--a,t+=8*(i+r)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var ad=null,ld=null;function mu(e){return e.nodeType===9?e:e.ownerDocument}function Qm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Hy(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function id(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var hs=null;function vw(){var e=window.event;return e&&e.type==="popstate"?e===hs?!1:(hs=e,!0):(hs=null,!1)}var zy=typeof setTimeout=="function"?setTimeout:void 0,bw=typeof clearTimeout=="function"?clearTimeout:void 0,Km=typeof Promise=="function"?Promise:void 0,Aw=typeof queueMicrotask=="function"?queueMicrotask:typeof Km<"u"?function(e){return Km.resolve(null).then(e).catch(ww)}:zy;function ww(e){setTimeout(function(){throw e})}function Aa(e){return e==="head"}function Zm(e,t){var n=t,a=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"||n==="/&"){if(a===0){e.removeChild(l),Il(t);return}a--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")a++;else if(n==="html")ar(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,ar(n);for(var i=n.firstChild;i;){var r=i.nextSibling,o=i.nodeName;i[Sr]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&i.rel.toLowerCase()==="stylesheet"||n.removeChild(i),i=r}}else n==="body"&&ar(e.ownerDocument.body);n=l}while(n);Il(t)}function Wm(e,t){var n=e;e=0;do{var a=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=a}while(n)}function rd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":rd(n),yd(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Sw(e,t,n,a){for(;e.nodeType===1;){var l=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(a){if(!e[Sr])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Qt(e.nextSibling),e===null)break}return null}function Cw(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qt(e.nextSibling),e===null))return null;return e}function Uy(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qt(e.nextSibling),e===null))return null;return e}function od(e){return e.data==="$?"||e.data==="$~"}function ud(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Rw(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var a=function(){t(),n.removeEventListener("DOMContentLoaded",a)};n.addEventListener("DOMContentLoaded",a),e._reactRetry=a}}function Qt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var cd=null;function Im(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qt(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Jm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Gy(e,t,n){switch(t=mu(n),e){case"html":if(e=t.documentElement,!e)throw Error(S(452));return e;case"head":if(e=t.head,!e)throw Error(S(453));return e;case"body":if(e=t.body,!e)throw Error(S(454));return e;default:throw Error(S(451))}}function ar(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);yd(e)}var Kt=new Map,$m=new Set;function hu(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Pn=$.d;$.d={f:Tw,r:Ew,D:Dw,C:xw,L:Mw,m:_w,X:Nw,S:Bw,M:Ow};function Tw(){var e=Pn.f(),t=Nu();return e||t}function Ew(e){var t=$l(e);t!==null&&t.tag===5&&t.type==="form"?Np(t):Pn.r(e)}var ai=typeof document>"u"?null:document;function Py(e,t,n){var a=ai;if(a&&typeof t=="string"&&t){var l=jt(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),$m.has(l)||($m.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function Dw(e){Pn.D(e),Py("dns-prefetch",e,null)}function xw(e,t){Pn.C(e,t),Py("preconnect",e,t)}function Mw(e,t,n){Pn.L(e,t,n);var a=ai;if(a&&e&&t){var l='link[rel="preload"][as="'+jt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+jt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+jt(n.imageSizes)+'"]')):l+='[href="'+jt(e)+'"]';var i=l;switch(t){case"style":i=Wl(e);break;case"script":i=li(e)}Kt.has(i)||(e=ve({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Kt.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(xr(i))||t==="script"&&a.querySelector(Mr(i))||(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function _w(e,t){Pn.m(e,t);var n=ai;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+jt(a)+'"][href="'+jt(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=li(e)}if(!Kt.has(i)&&(e=ve({rel:"modulepreload",href:e},t),Kt.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Mr(i)))return}a=n.createElement("link"),Ke(a,"link",e),qe(a),n.head.appendChild(a)}}}function Bw(e,t,n){Pn.S(e,t,n);var a=ai;if(a&&e){var l=kl(a).hoistableStyles,i=Wl(e);t=t||"default";var r=l.get(i);if(!r){var o={loading:0,preload:null};if(r=a.querySelector(xr(i)))o.loading=5;else{e=ve({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Kt.get(i))&&nf(e,n);var u=r=a.createElement("link");qe(u),Ke(u,"link",e),u._p=new Promise(function(c,s){u.onload=c,u.onerror=s}),u.addEventListener("load",function(){o.loading|=1}),u.addEventListener("error",function(){o.loading|=2}),o.loading|=4,qo(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:o},l.set(i,r)}}}function Nw(e,t){Pn.X(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ow(e,t){Pn.M(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0,type:"module"},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function eh(e,t,n,a){var l=(l=ra.current)?hu(l):null;if(!l)throw Error(S(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Wl(n.href),n=kl(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Wl(n.href);var i=kl(l).hoistableStyles,r=i.get(e);if(r||(l=l.ownerDocument||l,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=l.querySelector(xr(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Kt.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Kt.set(e,n),i||kw(l,e,n,r.state))),t&&a===null)throw Error(S(528,""));return r}if(t&&a!==null)throw Error(S(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=li(n),n=kl(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(S(444,e))}}function Wl(e){return'href="'+jt(e)+'"'}function xr(e){return'link[rel="stylesheet"]['+e+"]"}function qy(e){return ve({},e,{"data-precedence":e.precedence,precedence:null})}function kw(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Ke(t,"link",n),qe(t),e.head.appendChild(t))}function li(e){return'[src="'+jt(e)+'"]'}function Mr(e){return"script[async]"+e}function th(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+jt(n.href)+'"]');if(a)return t.instance=a,qe(a),a;var l=ve({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),qe(a),Ke(a,"style",l),qo(a,n.precedence,e),t.instance=a;case"stylesheet":l=Wl(n.href);var i=e.querySelector(xr(l));if(i)return t.state.loading|=4,t.instance=i,qe(i),i;a=qy(n),(l=Kt.get(l))&&nf(a,l),i=(e.ownerDocument||e).createElement("link"),qe(i);var r=i;return r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),t.state.loading|=4,qo(i,n.precedence,e),t.instance=i;case"script":return i=li(n.src),(l=e.querySelector(Mr(i)))?(t.instance=l,qe(l),l):(a=n,(l=Kt.get(i))&&(a=ve({},n),af(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),qe(l),Ke(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(S(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,qo(a,n.precedence,e));return t.instance}function qo(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,r=0;r<a.length;r++){var o=a[r];if(o.dataset.precedence===t)i=o;else if(i!==l)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function nf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function af(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Fo=null;function nh(e,t,n){if(Fo===null){var a=new Map,l=Fo=new Map;l.set(n,a)}else l=Fo,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),l=0;l<n.length;l++){var i=n[l];if(!(i[Sr]||i[Ve]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var r=i.getAttribute(t)||"";r=e+r;var o=a.get(r);o?o.push(i):a.set(r,[i])}}return a}function ah(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function Lw(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Fy(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Hw(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Wl(a.href),i=t.querySelector(xr(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=pu.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,qe(i);return}i=t.ownerDocument||t,a=qy(a),(l=Kt.get(l))&&nf(a,l),i=i.createElement("link"),qe(i);var r=i;r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=pu.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ps=0;function zw(e,t){return e.stylesheets&&e.count===0&&jo(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&ps===0&&(ps=62500*yw());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>ps?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function pu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jo(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var yu=null;function jo(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,yu=new Map,t.forEach(Uw,e),yu=null,pu.call(e))}function Uw(e,t){if(!(t.state.loading&4)){var n=yu.get(e);if(n)var a=n.get(null);else{n=new Map,yu.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<l.length;i++){var r=l[i];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(n.set(r.dataset.precedence,r),a=r)}a&&n.set(null,a)}l=t.instance,r=l.getAttribute("data-precedence"),i=n.get(r)||a,i===a&&n.set(null,l),n.set(r,l),this.count++,a=pu.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),i?i.parentNode.insertBefore(l,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var hr={$$typeof:Mn,Provider:null,Consumer:null,_currentValue:za,_currentValue2:za,_threadCount:0};function Gw(e,t,n,a,l,i,r,o,u){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Fc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fc(0),this.hiddenUpdates=Fc(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=i,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=u,this.incompleteTransitions=new Map}function jy(e,t,n,a,l,i,r,o,u,c,s,f){return e=new Gw(e,t,n,r,u,c,s,f,o),t=1,i===!0&&(t|=24),i=Tt(3,null,null,t),e.current=i,i.stateNode=e,t=Md(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:a,isDehydrated:n,cache:t},Nd(i),e}function Yy(e){return e?(e=_l,e):_l}function Vy(e,t,n,a,l,i){l=Yy(l),a.context===null?a.context=l:a.pendingContext=l,a=ua(t),a.payload={element:n},i=i===void 0?null:i,i!==null&&(a.callback=i),n=ca(e,a,t),n!==null&&(yt(n,e,t),Zi(n,e,t))}function lh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lf(e,t){lh(e,t),(e=e.alternate)&&lh(e,t)}function Xy(e){if(e.tag===13||e.tag===31){var t=Wa(e,67108864);t!==null&&yt(t,e,67108864),lf(e,67108864)}}function ih(e){if(e.tag===13||e.tag===31){var t=_t();t=hd(t);var n=Wa(e,t);n!==null&&yt(n,e,t),lf(e,t)}}var vu=!0;function Pw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=2,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function qw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=8,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function rf(e,t,n,a){if(vu){var l=sd(a);if(l===null)ms(e,t,a,bu,n),rh(e,a);else if(jw(l,e,t,n,a))a.stopPropagation();else if(rh(e,a),t&4&&-1<Fw.indexOf(e)){for(;l!==null;){var i=$l(l);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var r=ka(i.pendingLanes);if(r!==0){var o=i;for(o.pendingLanes|=2,o.entangledLanes|=2;r;){var u=1<<31-Mt(r);o.entanglements[1]|=u,r&=~u}hn(i),(J&6)===0&&(uu=Dt()+500,Dr(0,!1))}}break;case 31:case 13:o=Wa(i,2),o!==null&&yt(o,i,2),Nu(),lf(i,2)}if(i=sd(a),i===null&&ms(e,t,a,bu,n),i===l)break;l=i}l!==null&&a.stopPropagation()}else ms(e,t,a,null,n)}}function sd(e){return e=bd(e),of(e)}var bu=null;function of(e){if(bu=null,e=Rl(e),e!==null){var t=vr(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=fh(t),e!==null)return e;e=null}else if(n===31){if(e=gh(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return bu=e,null}function Qy(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Mb()){case yh:return 2;case vh:return 8;case Ko:case _b:return 32;case bh:return 268435456;default:return 32}default:return 32}}var dd=!1,fa=null,ga=null,ma=null,pr=new Map,yr=new Map,ea=[],Fw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function rh(e,t){switch(e){case"focusin":case"focusout":fa=null;break;case"dragenter":case"dragleave":ga=null;break;case"mouseover":case"mouseout":ma=null;break;case"pointerover":case"pointerout":pr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yr.delete(t.pointerId)}}function Ui(e,t,n,a,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[l]},t!==null&&(t=$l(t),t!==null&&Xy(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function jw(e,t,n,a,l){switch(t){case"focusin":return fa=Ui(fa,e,t,n,a,l),!0;case"dragenter":return ga=Ui(ga,e,t,n,a,l),!0;case"mouseover":return ma=Ui(ma,e,t,n,a,l),!0;case"pointerover":var i=l.pointerId;return pr.set(i,Ui(pr.get(i)||null,e,t,n,a,l)),!0;case"gotpointercapture":return i=l.pointerId,yr.set(i,Ui(yr.get(i)||null,e,t,n,a,l)),!0}return!1}function Ky(e){var t=Rl(e.target);if(t!==null){var n=vr(t);if(n!==null){if(t=n.tag,t===13){if(t=fh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===31){if(t=gh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Yo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=sd(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Ms=a,n.target.dispatchEvent(a),Ms=null}else return t=$l(n),t!==null&&Xy(t),e.blockedOn=n,!1;t.shift()}return!0}function oh(e,t,n){Yo(e)&&n.delete(t)}function Yw(){dd=!1,fa!==null&&Yo(fa)&&(fa=null),ga!==null&&Yo(ga)&&(ga=null),ma!==null&&Yo(ma)&&(ma=null),pr.forEach(oh),yr.forEach(oh)}function xo(e,t){e.blockedOn===t&&(e.blockedOn=null,dd||(dd=!0,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,Yw)))}var Mo=null;function uh(e){Mo!==e&&(Mo=e,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,function(){Mo===e&&(Mo=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],l=e[t+2];if(typeof a!="function"){if(of(a||n)===null)continue;break}var i=$l(n);i!==null&&(e.splice(t,3),t-=3,Vs(i,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function Il(e){function t(u){return xo(u,e)}fa!==null&&xo(fa,e),ga!==null&&xo(ga,e),ma!==null&&xo(ma,e),pr.forEach(t),yr.forEach(t);for(var n=0;n<ea.length;n++){var a=ea[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<ea.length&&(n=ea[0],n.blockedOn===null);)Ky(n),n.blockedOn===null&&ea.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],i=n[a+1],r=l[vt]||null;if(typeof i=="function")r||uh(n);else if(r){var o=null;if(i&&i.hasAttribute("formAction")){if(l=i,r=i[vt]||null)o=r.formAction;else if(of(l)!==null)continue}else o=r.action;typeof o=="function"?n[a+1]=o:(n.splice(a,3),a-=3),uh(n)}}}function Zy(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(r){return l=r})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function uf(e){this._internalRoot=e}Lu.prototype.render=uf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(S(409));var n=t.current,a=_t();Vy(n,a,e,t,null,null)};Lu.prototype.unmount=uf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Vy(e.current,2,null,e,null,null),Nu(),t[Jl]=null}};function Lu(e){this._internalRoot=e}Lu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rh();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ea.length&&t!==0&&t<ea[n].priority;n++);ea.splice(n,0,e),n===0&&Ky(e)}};var ch=sh.version;if(ch!=="19.2.8")throw Error(S(527,ch,"19.2.8"));$.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(S(188)):(e=Object.keys(e).join(","),Error(S(268,e)));return e=Sb(t),e=e!==null?mh(e):null,e=e===null?null:e.stateNode,e};var Vw={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Gi=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Gi.isDisabled&&Gi.supportsFiber))try{br=Gi.inject(Vw),xt=Gi}catch{}var Gi;Hu.createRoot=function(e,t){if(!dh(e))throw Error(S(299));var n=!1,a="",l=Pp,i=qp,r=Fp;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=jy(e,1,!1,null,null,n,a,null,l,i,r,Zy),e[Jl]=t.current,tf(e),new uf(t)};Hu.hydrateRoot=function(e,t,n){if(!dh(e))throw Error(S(299));var a=!1,l="",i=Pp,r=qp,o=Fp,u=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(i=n.onUncaughtError),n.onCaughtError!==void 0&&(r=n.onCaughtError),n.onRecoverableError!==void 0&&(o=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=jy(e,1,!0,t,n??null,a,l,u,i,r,o,Zy),t.context=Yy(null),n=t.current,a=_t(),a=hd(a),l=ua(a),l.callback=null,ca(n,l,a),n=a,t.current.lanes=n,wr(t,n),hn(t),e[Jl]=t.current,tf(e),new Lu(t)};Hu.version="19.2.8"});var $y=un((jS,Jy)=>{"use strict";function Iy(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Iy)}catch(e){console.error(e)}}Iy(),Jy.exports=Wy()});var t0=un(zu=>{"use strict";var Xw=Symbol.for("react.transitional.element"),Qw=Symbol.for("react.fragment");function e0(e,t,n){var a=null;if(n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),"key"in t){n={};for(var l in t)l!=="key"&&(n[l]=t[l])}else n=t;return t=n.ref,{$$typeof:Xw,type:e,key:a,ref:t!==void 0?t:null,props:n}}zu.Fragment=Qw;zu.jsx=e0;zu.jsxs=e0});var O=un((VS,n0)=>{"use strict";n0.exports=t0()});var Lt=B(ft(),1),s1=B($y(),1);var Wv=B(ft(),1);var qn=B(O(),1);function Kw(e){return{under50:"Under $50",over50:"Over $50",over30:"Over $30",over500:"Over $500","50_100":"$50 - $100","100_200":"$100 - $200","200_500":"$200 - $500"}[e]||e}function a0({activeDealTag:e,activeFreeformTags:t,airedaleTags:n,freeformTags:a,discountAmount:l,onBrandSelect:i,onBrandToggle:r,onDiscountAmountChange:o,onPriceRangeChange:u,onTagClear:c,onFreeformTagClear:s,onFreeformTagToggle:f,priceRange:d,selectedBrands:m}){let v=m.map(b=>({type:"brand",value:b,label:b}));if(e){let b=n.find(h=>h.startsWith(e+":::")||h===e);v.push({type:"category",value:e,label:b?b.split(":::")[1]||b.split(":::")[0]:e})}if(t.forEach(b=>{let h=a.find(g=>g.handle===b);v.push({type:"freeform-tag",value:b,label:h?.label||b})}),d&&d!=="all"&&v.push({type:"price",value:d,label:Kw(d)}),l&&l!=="0"&&l!=="all"&&v.push({type:"discount",value:l,label:`Min ${l}% off`}),v.length===0)return null;let A=b=>{b.type==="brand"&&r?.(b.value),b.type==="category"&&c(),b.type==="freeform-tag"&&f(b.value),b.type==="discount"&&o?.("0"),b.type==="price"&&u?.("all")};return(0,qn.jsxs)("div",{className:"tg-df-active-badges-row",style:{display:"flex",flexWrap:"wrap",gap:"4px",alignItems:"center",marginTop:"10px",marginBottom:"16px"},children:[v.map(b=>(0,qn.jsxs)("span",{className:"tg-df-active-badge",children:[b.label,(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-remove","aria-label":`Remove ${b.label}`,onClick:()=>A(b),children:(0,qn.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,qn.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,qn.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},b.type+"-"+b.value)),v.length>1&&(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-clear-all",onClick:()=>{i?.([]),c(),s(),o?.("0"),u?.("all")},children:"Clear all"})]})}function l0(e){if(!e)return null;let t=e.documentname||e.title||"";!t&&e.documentnametext&&(t=Array.isArray(e.documentnametext)?e.documentnametext[0]:e.documentnametext),!t&&e.articlename&&(t=Array.isArray(e.articlename)?e.articlename[0]:e.articlename),!t&&e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&(t=e.articlesocialtitle[0]);let n=e.strapline||e.articlestrapline||e.subtitle||e.dek||"";!n&&e.image_thumbnail&&e.image_thumbnail.dek&&(n=e.image_thumbnail.dek),Array.isArray(n)&&(n=n[0]||"");let a="";if(e.articlepage)try{let l=e.articlepage;if(typeof l=="string")try{l=JSON.parse(l)}catch{}if(Array.isArray(l)&&l.length>0){let i=l[0];if(typeof i=="string")try{i=JSON.parse(i)}catch{}if(Array.isArray(i)){let r=[];for(let o of i){if(o.type==="featured-product")break;if(o.type==="text"&&o.data)Array.isArray(o.data.paragraphs)?o.data.paragraphs.forEach(u=>{u&&r.push(u.startsWith("<")?u:`<p>${u}<\/p>`)}):typeof o.data.text=="string"&&o.data.text&&r.push(o.data.text.startsWith("<")?o.data.text:`<p>${o.data.text}<\/p>`);else if(o.type==="section"&&o.data){let u=o.data.text||o.data.heading||o.data.title||"";u&&r.push(`<div class="tg-df-article-section-banner"><span>${u}<\/span><\/div>`)}}r.length>0&&(a=r.join(""))}}}catch(l){console.error("Error parsing articlepage",l)}return!a&&e.content?a=typeof e.content=="string"?e.content:"":!a&&e.intro?a=typeof e.intro=="string"?e.intro:"":!a&&e.paragraphs&&(a=(Array.isArray(e.paragraphs)?e.paragraphs:[e.paragraphs]).map(i=>`<p>${i}<\/p>`).join("")),{headline:t,strapline:n,contentHtml:a}}var ii=B(O(),1);function i0({articles:e,selectedArticleId:t}){if(!t)return null;let n=e.find(l=>l.id===t);if(!n)return null;let a=l0(n);return!a||!a.headline&&!a.strapline&&!a.contentHtml?null:(0,ii.jsxs)("div",{className:"tg-df-article-intro-container",id:"tg-df-article-intro",style:{margin:"0 auto 32px",width:"100%",maxWidth:"800px",textAlign:"left",padding:"0 16px"},children:[a.headline&&(0,ii.jsx)("h2",{className:"tg-df-article-headline",id:"tg-df-article-headline",style:{fontSize:"1.75rem",fontWeight:800,color:"#0f172a",marginBottom:"1rem",lineHeight:1.25},children:a.headline}),a.strapline&&(0,ii.jsx)("p",{className:"tg-df-article-strapline",id:"tg-df-article-strapline",style:{fontSize:"1.125rem",fontWeight:600,color:"#334155",marginBottom:"1.25rem",lineHeight:1.4},children:a.strapline}),a.contentHtml&&(0,ii.jsx)("div",{className:"tg-df-article-content",id:"tg-df-article-content",dangerouslySetInnerHTML:{__html:a.contentHtml}})]})}var Fn=B(O(),1);function Zw({articles:e,authorHandle:t,authorName:n}){let a=n||e.length>0&&(e[0].articleauthortext?.[0]||e[0].articleauthor?.[0])||"Author";(t==="all-authors"||n==="all-authors"||n==="All authors")&&(a="All authors");let l=a.trim().split(" ")[0]||"Author";return a==="All authors"&&(l="All authors"),`Shop all ${l==="All authors"?"authors'":l.endsWith("'s")||l.endsWith("\u2019s")?l:`${l}'s`} collections`}function Ww(e){let t=[];return e.documentnametext&&t.push(e.documentnametext),e.documentname&&t.push(e.documentname),e.articlename&&t.push(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&t.push(...e.articlesocialtitle),t.length>0?t.reduce((n,a)=>a&&a.length<n.length?a:n,t[0]):"Article"}function r0({articles:e,authorHandle:t,authorName:n,onChange:a,selectedArticleId:l,shortenedHeadlines:i}){return(0,Fn.jsx)("div",{className:"tg-df-top-bar",id:"tg-df-top-bar",style:{position:"relative",zIndex:100,margin:"0 auto 20px",width:"100%",display:"flex",justifyContent:"center"},children:(0,Fn.jsxs)("div",{className:"tg-df-sort-wrapper",style:{width:"auto",maxWidth:"320px",display:"inline-flex",position:"relative"},children:[(0,Fn.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",width:"14px",height:"14px",color:"var(--tg-df-text-muted)",pointerEvents:"none",zIndex:2},children:(0,Fn.jsx)("path",{d:"M12 2l-10 4.5 10 4.5 10-4.5-10-4.5zm0 6.5l-8-3.6 8-3.6 8 3.6-8 3.6zm-10 6l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5zm0 5l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5z"})}),(0,Fn.jsxs)("select",{className:"tg-df-filter-select tg-df-article-select",style:{width:"100%",maxWidth:"320px",padding:"10px 36px 10px 38px",fontSize:"14px",fontWeight:500,borderRadius:"100px",border:"1px solid var(--tg-df-border)",color:"var(--tg-df-text)",backgroundColor:"var(--tg-df-bg-secondary)",appearance:"none",backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E")`,backgroundRepeat:"no-repeat",backgroundPosition:"right 14px center",textAlign:"left",textAlignLast:"left",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",cursor:"pointer"},value:l||"",onChange:r=>a(r.target.value),children:[(0,Fn.jsx)("option",{value:"",style:{textAlign:"left"},children:Zw({articles:e,authorHandle:t,authorName:n})}),e.map(r=>{let o=i?.[r.id]||Ww(r);return o&&o.length>38&&(o=o.substring(0,36)+"\u2026"),(0,Fn.jsx)("option",{value:r.id,style:{textAlign:"left"},children:o},r.id)})]})]})})}var A0=B(ft(),1);function o0(e,t=new Date){if(!e)return"";let n=new Date(e),a=Math.floor((t.getTime()-n.getTime())/1e3);if(a<60)return"Just now";let l=Math.floor(a/60);if(l<60)return`${l} min${l>1?"s":""} ago`;let i=Math.floor(l/60);if(i<24)return`${i} hr${i>1?"s":""} ago`;let r=Math.floor(i/24);if(r<30)return`${r} day${r>1?"s":""} ago`;let o=Math.floor(r/30);if(o<12)return`${o} mo${o>1?"s":""} ago`;let u=Math.floor(r/365);return`${u} yr${u>1?"s":""} ago`}function Iw(e){return e.replace(/<\/p\s*>/gi," ").replace(/<p[^>]*>/gi," ").replace(/<br\s*\/?>/gi," ").replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim()}function _r(e,t,n){let a="";return n==="short"?a=e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"":a=e.articleauthorlongbio&&e.articleauthorlongbio[t]&&e.articleauthorlongbio[t]!=="null"?e.articleauthorlongbio[t]:e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"",a?Iw(a):""}function u0(e,t){return e.articleauthorrole&&e.articleauthorrole[t]&&e.articleauthorrole[t]!=="null"?e.articleauthorrole[t]:""}function c0(e,t){return e.articleauthormedia&&e.articleauthormedia[t]?e.articleauthormedia[t]:""}function ri(e){if(typeof e!="string"||!e.trim())return"";try{let t=new URL(e);if(t.hostname.toLowerCase()!=="cdn.mos.cms.futurecdn.net")return e;let n=/\.(?:jpe?g|png|webp)$/i;return!n.test(t.pathname)||/-\d+-\d+\.(?:jpe?g|png|webp)$/i.test(t.pathname)?e:(t.pathname=t.pathname.replace(n,"-480-80$&"),t.toString())}catch{return e}}function Uu(e,t=0){if(!e||!e.articleauthorsocialnetworks)return[];let n=e.articleauthorsocialnetworks[t];if(n||(n=e.articleauthorsocialnetworks[0]),!n)return[];let a=null;if(typeof n=="string")try{a=JSON.parse(n)}catch{try{a=JSON.parse(n.replace(/\\"/g,'"'))}catch{}}else typeof n=="object"&&n!==null&&(a=n);if(!a||typeof a!="object")return[];let l=[];for(let[i,r]of Object.entries(a)){if(!r)continue;let o="",u="";if(typeof r=="string"?o=r:typeof r=="object"&&r!==null&&(o=r.url||r.address||r.link||"",u=r.address||""),!o&&!u)continue;let c=i.toLowerCase().trim(),s=o||u;c==="email"?s.startsWith("mailto:")||(s=s.includes("@")?`mailto:${s}`:`mailto:${s}`):!s.startsWith("http://")&&!s.startsWith("https://")&&!s.startsWith("//")&&(s=`https://${s}`);let f=c.charAt(0).toUpperCase()+c.slice(1);c==="linkedin"?f="LinkedIn":c==="youtube"?f="YouTube":c==="tiktok"?f="TikTok":c==="twitch"?f="Twitch":c==="steam"?f="Steam":c==="github"?f="GitHub":c==="rss"?f="RSS":(c==="x"||c==="twitter")&&(f="X (Twitter)"),l.push({key:c,href:s,label:f})}return l}function ee(e){if(!e)return"";let t=String(e);for(let n=0;n<3;n+=1){let a=t.replace(/&/gi,"&").replace(/£/g,"\xA3").replace(/£/gi,"\xA3").replace(/$/g,"$").replace(/&dollar;/gi,"$").replace(/€/g,"\u20AC").replace(/€/gi,"\u20AC").replace(/&#(\d+);/g,(l,i)=>String.fromCharCode(Number(i))).replace(/&#x([0-9a-f]+);/gi,(l,i)=>String.fromCharCode(parseInt(i,16)));if(a===t)break;t=a}return t}var Ee=B(O(),1);function cf({authorUrl:e,deal:t}){if(!t.authorName)return null;let n=ee(String(t.authorName)),a=t.authorRole&&!["null","nul","undefined"].includes(String(t.authorRole).toLowerCase())?` \u2022 ${ee(String(t.authorRole))}`:"";return(0,Ee.jsx)("div",{className:"tg-df-author-line-desktop",style:{padding:"0 0 12px 0"},children:(0,Ee.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[t.authorImage&&(0,Ee.jsx)("img",{src:ri(t.authorImage),alt:n,className:"tg-df-author-img",width:"36",height:"36",style:{borderRadius:"50%",objectFit:"cover",flexShrink:0,aspectRatio:"1 / 1",minWidth:"36px",minHeight:"36px"}}),(0,Ee.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,Ee.jsx)("div",{style:{fontSize:"10px",color:"var(--tg-df-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px",fontWeight:600},children:t.isReviewProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Product tested by:"}):t.isBuyingGuideProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Expert review by:"}):t.isFeatured?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:"Top product"})," ","recommended by:"]}):(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:t.merchant})," ","deal recommended by:"]})}),(0,Ee.jsxs)("div",{style:{fontSize:"11px",color:"var(--tg-df-text)",lineHeight:1.2},children:[(0,Ee.jsx)("strong",{children:(0,Ee.jsx)("a",{href:e,target:"_blank",rel:"noopener",style:{textDecoration:"none",color:"inherit",borderBottom:"1px dotted var(--tg-df-text-muted)"},children:n})}),a,t.modifiedDate?(0,Ee.jsxs)("span",{style:{color:"var(--tg-df-text-muted)"},children:[" ","\u2022 ",o0(t.modifiedDate)]}):""]})]})]})})}var K=B(O(),1);function s0({authorUrl:e,deal:t,hideHawkPrices:n,msrpFormatted:a,sourceArticleUrl:l}){let i=ee(String(t.merchant||"")),r=ee(String(t.currency||""));if(t.isBuyingGuideProduct||t.isReviewProduct){let o=!!t.hasCommerceOffer,u=o&&!t.isCheckPrice,c=!!t.hawkPricePending,s=!!t.isReviewProduct&&!c&&!o,f=n&&o&&Array.isArray(t.hawkListings)?t.hawkListings.filter(m=>m?.merchant&&m?.url).slice(0,4):[],d=f.length>0;return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[c?(0,K.jsx)("div",{className:"tg-df-card-price-group","aria-live":"polite",children:(0,K.jsx)("span",{className:"tg-df-card-price",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"Checking live price\u2026"})}):d?(0,K.jsxs)("div",{className:"tg-df-card-listings",children:[(0,K.jsx)("span",{className:"tg-df-card-listings-title",children:"Today's cheapest prices:"}),(0,K.jsx)("div",{className:"tg-df-card-listings-links",children:f.map((m,v)=>{let A=ee(String(m.merchant));return(0,K.jsx)("a",{"aria-label":`View product at ${A}`,className:"tg-df-card-listing-link hawk-affiliate-link-container","data-fcaw-affiliate-link":"","data-merchant":A,"data-merchant-id":m.merchantId||void 0,"data-model-id":m.modelId||void 0,"data-product-key":m.productKey||void 0,href:m.url,rel:"sponsored nofollow noopener",target:"_blank",children:A},`${m.merchant}-${m.url}-${v}`)})})]}):u?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsxs)("div",{className:"tg-df-card-price-group",children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})]}):s?(0,K.jsx)("div",{className:"tg-df-card-price-group",children:(0,K.jsx)("span",{className:"tg-df-card-price tg-df-card-price--unavailable",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"No retail listing found"})}):null,(0,K.jsx)(cf,{authorUrl:e,deal:t}),!d&&(0,K.jsx)("a",{href:o?t.url:l,"data-fcaw-affiliate-link":o?"":void 0,target:"_blank",rel:o?"sponsored nofollow noopener":"noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},children:o?u?"VIEW DEAL":"CHECK PRICE":"READ REVIEW"})]})}return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[!(t.authorName&&!t.isFeatured)&&(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsx)("div",{className:"tg-df-card-price-group",children:t.isCheckPrice?(0,K.jsx)("span",{className:"tg-df-card-price",style:{fontSize:"15px",fontWeight:500,fontStyle:"italic"},children:"See price at retailer"}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})}),(0,K.jsx)(cf,{authorUrl:e,deal:t}),(0,K.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":"",target:"_blank",rel:"sponsored nofollow noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},"data-model-id":t.modelId||void 0,"data-product-key":t.productKey||void 0,"data-merchant-id":t.merchantId||void 0,children:t.isCheckPrice?"CHECK PRICE":t.isFeatured?"SHOP NOW":"VIEW DEAL"})]})}var Ze=B(O(),1);function d0({couponStatus:e,deal:t,onOpenVouchers:n}){let a=!!t.hasCommerceOffer;return(0,Ze.jsxs)("div",{className:"tg-df-card-image-box",children:[t.buyingGuideBadge?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge tg-df-buying-guide-badge",children:t.buyingGuideBadge}):t.savingLabel&&!t.isCheckPrice?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge",children:ee(t.savingLabel)}):null,(0,Ze.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":a?"":void 0,className:a?"hawk-affiliate-link-deal-widget":void 0,target:"_blank",rel:a?"sponsored nofollow noopener":"noopener",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",height:"100%"},children:(0,Ze.jsx)("img",{src:t.image||void 0,alt:ee(String(t.title||"")),className:"tg-df-card-image",loading:"lazy",onError:l=>{t.fallbackImage&&!l.currentTarget.dataset.fb?(l.currentTarget.dataset.fb="1",l.currentTarget.src=t.fallbackImage):l.currentTarget.style.opacity="0"}})}),(0,Ze.jsxs)("div",{className:"tg-df-card-badges",children:[t.isPrime&&(0,Ze.jsxs)("span",{className:"tg-df-tag tg-df-tag-prime",children:[(0,Ze.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ze.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})," ","Prime"]}),!t.merchant?.toLowerCase().includes("amazon")&&(e==="loading"||e==="has")&&(0,Ze.jsx)("div",{className:"tg-df-coupon-wrapper",style:{display:"inline-flex",alignItems:"center"},children:e==="loading"?(0,Ze.jsx)("div",{className:"tg-df-coupon-spinner"}):(0,Ze.jsxs)("button",{type:"button",className:"tg-df-tag tg-df-tag-coupons",onClick:l=>{l.preventDefault(),n(t.merchant)},children:[(0,Ze.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,Ze.jsx)("path",{d:"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"}),(0,Ze.jsx)("line",{x1:"7",y1:"7",x2:"7.01",y2:"7"})]})," ","Coupons"]})})]})]})}var ct=B(O(),1);function f0({label:e="Tom's Guide:",starRating:t,color:n="#1f69ff"}){if(!t||t<=0)return null;let a=Math.floor(t),l=t-a>=.5?1:0,i=Math.max(0,5-a-l),r=[];for(let o=0;o<a;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:n,stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`f${o}`));l&&r.push((0,ct.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"url(#halfGrad)",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,ct.jsx)("defs",{children:(0,ct.jsxs)("linearGradient",{id:"halfGrad",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,ct.jsx)("stop",{offset:"50%",stopColor:n}),(0,ct.jsx)("stop",{offset:"50%",stopColor:"transparent"})]})}),(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})]},"h"));for(let o=0;o<i;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:n,opacity:"0.35",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`e${o}`));return(0,ct.jsxs)("div",{className:"tg-df-card-stars",style:{display:"flex",alignItems:"center",marginBottom:"8px",fontSize:"13px",fontWeight:600,color:"var(--tg-df-text-muted)"},children:[e&&(0,ct.jsx)("span",{style:{marginRight:"6px"},children:e}),(0,ct.jsx)("div",{style:{display:"flex",gap:"2px"},children:r})]})}var At=B(O(),1);function g0({heading:e,items:t}){return t.length===0?null:(0,At.jsxs)("div",{style:{marginBottom:"10px"},children:[(0,At.jsx)("strong",{style:{display:"block",fontSize:"12px",marginBottom:"3px"},children:e}),(0,At.jsx)("ul",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:0,paddingLeft:"18px"},children:t.map(n=>{let a=ee(String(n));return(0,At.jsx)("li",{children:a},n)})})]})}function m0({cons:e=[],expanded:t,fullReviewUrl:n,onToggle:a,pros:l=[],subtitle:i="",truncateSubtitle:r=!1}){let o=l.length>0||e.length>0,u=ee(i);return!u&&!o?null:(0,At.jsxs)("div",{style:{marginBottom:"12px"},children:[u&&(0,At.jsx)("p",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:"0 0 8px",display:!t&&r?"-webkit-box":"block",WebkitLineClamp:!t&&r?3:void 0,WebkitBoxOrient:!t&&r?"vertical":void 0,overflow:!t&&r?"hidden":void 0},children:u}),t&&o&&(0,At.jsxs)("div",{children:[(0,At.jsx)(g0,{heading:"Pros",items:l}),(0,At.jsx)(g0,{heading:"Cons",items:e})]}),(o||r)&&(0,At.jsxs)("div",{className:"tg-df-review-summary-actions",style:{alignItems:"flex-start",display:"flex",flexDirection:"column",gap:t&&n?"4px":0},children:[t&&n&&(0,At.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"tg-df-review-full-link",style:{alignItems:"center",color:"var(--tg-df-blue)",display:"flex",fontSize:"12px",fontWeight:700,minHeight:"40px",paddingRight:"12px",textDecoration:"underline"},children:"Read our full review"}),(0,At.jsx)("button",{type:"button",onClick:c=>{c.preventDefault(),c.stopPropagation(),a()},className:"tg-df-review-summary-toggle",style:{appearance:"none",background:"transparent",border:"none",color:"#000000",cursor:"pointer",fontFamily:"inherit",fontSize:"11px",fontWeight:700,minHeight:"40px",padding:"0 12px 0 0",textTransform:"uppercase"},children:t?"LESS":"READ MORE"})]})]})}var oi=B(ft(),1);var Br=B(O(),1);function h0({text:e,expanded:t,onToggle:n}){let[a,l]=(0,oi.useState)(!1),i=(0,oi.useRef)(null),r=ee(e);return(0,oi.useEffect)(()=>{i.current&&l(i.current.scrollHeight>i.current.clientHeight||i.current.scrollHeight>60)},[r]),r?(0,Br.jsxs)("div",{style:{marginBottom:"12px",position:"relative"},children:[(0,Br.jsx)("p",{ref:i,style:{fontSize:"13px",color:"var(--tg-df-text-muted)",marginBottom:"0",lineHeight:"1.4",display:t?"inline":"-webkit-box",WebkitLineClamp:t?"unset":3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r}),a&&(0,Br.jsx)("button",{type:"button",onClick:o=>{o.preventDefault(),o.stopPropagation(),n()},style:{display:"block",appearance:"none",border:"none",color:"#000000",fontSize:"11px",fontWeight:700,textTransform:"uppercase",cursor:"pointer",fontFamily:"inherit",position:t?"static":"absolute",bottom:"2px",right:0,background:t?"transparent":"linear-gradient(to right, transparent, #fff 20%, #fff)",padding:t?"0":"0 0 0 16px"},children:t?"LESS":"READ MORE"})]}):null}var p0={pcgamer:"#DC191B",space:"#2E4A7F",tomsguide:"#1F69FF",techradar:"#E40784",golfmonthly:"#FFFFFF",androidcentral:"#1CCC3E",cinemablend:"#FFC033",creativebloq:"#DC361A",cyclingnews:"#371B51",cyclingweekly:"#AE1305",decanter:"#1B1B1B",digitalcameraworld:"#CAEBF2",fitandwell:"#BED100",fourfourtwo:"#AE1006",gamesradar:"#DC361A",guitarplayer:"#FFFFFF",guitarworld:"#DC1F26",homesandgardens:"#185A7D",idealhome:"#CAEBF2",imore:"#FFD600",livescience:"#023953",livingetc:"#FFFFFF",loudersound:"#DC0F17",marieclaireus:"#FFFFFF",marieclaireuk:"#FFFFFF",musicradar:"#006EA9",shortlist:"#2853E0",t3:"#DF0A14",theweek:"#DF0A14",theweekjuniorus:"#10A0B0",tomshardware:"#D8373B",wallpaper:"#FFFFFF",whathifi:"#E02928",whowhatwear:"#FFFFFF",windowscentral:"#CE0E5F",womanandhome:"#2F746E"},Nr={tomsguide:"https://proof.vanilla.tools/media/images/brandLogos/tomsguide.png",techradar:"https://proof.vanilla.tools/media/images/brandLogos/techradar.png",tomshardware:"https://proof.vanilla.tools/media/images/brandLogos/tomshardware.png",pcgamer:"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png",gamesradar:"https://proof.vanilla.tools/media/images/brandLogos/gamesradar.png",creativebloq:"https://proof.vanilla.tools/media/images/brandLogos/creativebloq.png",space:"https://proof.vanilla.tools/media/images/brandLogos/space.png",livescience:"https://proof.vanilla.tools/media/images/brandLogos/livescience.png",cinemablend:"https://proof.vanilla.tools/media/images/brandLogos/cinemablend.png",marieclaireus:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireus.png",marieclaireuk:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireuk.png",homesandgardens:"https://proof.vanilla.tools/media/images/brandLogos/homesandgardens.png",whowhatwear:"https://proof.vanilla.tools/media/images/brandLogos/whowhatwear.png",idealhome:"https://proof.vanilla.tools/media/images/brandLogos/idealhome.png",womanandhome:"https://proof.vanilla.tools/media/images/brandLogos/womanandhome.png",livingetc:"https://proof.vanilla.tools/media/images/brandLogos/livingetc.png",t3:"https://proof.vanilla.tools/media/images/brandLogos/t3.png",whathifi:"https://proof.vanilla.tools/media/images/brandLogos/whathifi.png",digitalcameraworld:"https://proof.vanilla.tools/media/images/brandLogos/digitalcameraworld.png",fitandwell:"https://proof.vanilla.tools/media/images/brandLogos/fitandwell.png",golfmonthly:"https://proof.vanilla.tools/media/images/brandLogos/golfmonthly.png",musicradar:"https://proof.vanilla.tools/media/images/brandLogos/musicradar.png",windowscentral:"https://proof.vanilla.tools/media/images/brandLogos/windowscentral.png",cyclingnews:"https://proof.vanilla.tools/media/images/brandLogos/cyclingnews.png",cyclingweekly:"https://proof.vanilla.tools/media/images/brandLogos/cyclingweekly.png",loudersound:"https://proof.vanilla.tools/media/images/brandLogos/loudersound.png",guitarworld:"https://proof.vanilla.tools/media/images/brandLogos/guitarworld.png",guitarplayer:"https://proof.vanilla.tools/media/images/brandLogos/guitarplayer.png",wallpaper:"https://proof.vanilla.tools/media/images/brandLogos/wallpaper.png",fourfourtwo:"https://proof.vanilla.tools/media/images/brandLogos/fourfourtwo.png",shortlist:"https://proof.vanilla.tools/media/images/brandLogos/shortlist.png",advnture:"https://proof.vanilla.tools/media/images/brandLogos/advnture.png",countrylife:"https://proof.vanilla.tools/media/images/brandLogos/countrylife.png",gardeningknowhow:"https://proof.vanilla.tools/media/images/brandLogos/gardeningknowhow.png",gnomesingardens:"https://proof.vanilla.tools/media/images/brandLogos/gnomesingardens.png",kiplinger:"https://proof.vanilla.tools/media/images/brandLogos/kiplinger.png",moneyweek:"https://proof.vanilla.tools/media/images/brandLogos/moneyweek.png",toptenreviews:"https://proof.vanilla.tools/media/images/brandLogos/toptenreviews.png"},Gu={tomsguide:"Tom's Guide",techradar:"TechRadar",tomshardware:"Tom's Hardware",pcgamer:"PC Gamer",gamesradar:"GamesRadar+",creativebloq:"Creative Bloq",space:"Space",livescience:"Live Science",cinemablend:"CinemaBlend",marieclaireus:"Marie Claire US",marieclaireuk:"Marie Claire UK",homesandgardens:"Homes & Gardens",whowhatwear:"Who What Wear",idealhome:"Ideal Home",womanandhome:"Woman & Home",livingetc:"Living Etc",t3:"T3",whathifi:"What Hi-Fi?",digitalcameraworld:"Digital Camera World",fitandwell:"Fit & Well",golfmonthly:"Golf Monthly",musicradar:"MusicRadar",androidcentral:"Android Central",imore:"iMore",windowscentral:"Windows Central",cyclingnews:"Cycling News",cyclingweekly:"Cycling Weekly",loudersound:"Louder Sound",guitarworld:"Guitar World",guitarplayer:"Guitar Player",theweek:"The Week",theweekjuniorus:"The Week Junior US",wallpaper:"Wallpaper",decanter:"Decanter",fourfourtwo:"FourFourTwo",shortlist:"ShortList",advnture:"Advnture",countrylife:"Country Life",gardeningknowhow:"Gardening Know How",gnomesingardens:"Gnomes in Gardens",kiplinger:"Kiplinger",moneyweek:"Money Week",toptenreviews:"Top 10 Reviews"},y0={pcgamer:[{key:"steam",href:"https://steamcommunity.com/groups/pcgamer",label:"PC Gamer on Steam"},{key:"x",href:"https://twitter.com/pcgamer",label:"PC Gamer on X"},{key:"facebook",href:"https://www.facebook.com/pcgamermagazine",label:"PC Gamer on Facebook"},{key:"instagram",href:"https://www.instagram.com/pcgamer_mag/?hl=en",label:"PC Gamer on Instagram"},{key:"youtube",href:"https://www.youtube.com/user/pcgamer",label:"PC Gamer on YouTube"},{key:"twitch",href:"https://www.twitch.tv/pcgamer",label:"PC Gamer on Twitch"},{key:"tiktok",href:"https://www.tiktok.com/@pcgamer_mag?lang=en",label:"PC Gamer on TikTok"}],homesandgardens:[{key:"instagram",href:"https://www.instagram.com/homesandgardensofficial",label:"Homes & Gardens on Instagram"},{key:"facebook",href:"https://www.facebook.com/homesandgardens/",label:"Homes & Gardens on Facebook"},{key:"x",href:"https://x.com/homesandgardens",label:"Homes & Gardens on X"},{key:"tiktok",href:"https://www.tiktok.com/@homesandgardensofficial",label:"Homes & Gardens on TikTok"},{key:"pinterest",href:"https://pinterest.com/homesgardensofficial/",label:"Homes & Gardens on Pinterest"}],whowhatwear:[{key:"x",href:"https://twitter.com/WhoWhatWear",label:"Who What Wear on X"},{key:"instagram",href:"https://www.instagram.com/whowhatwear/",label:"Who What Wear on Instagram"},{key:"facebook",href:"https://www.facebook.com/WhoWhatWear/",label:"Who What Wear on Facebook"},{key:"pinterest",href:"https://www.pinterest.co.uk/whowhatwearuk/",label:"Who What Wear on Pinterest"},{key:"tiktok",href:"https://www.tiktok.com/@whowhatwear.uk",label:"Who What Wear on TikTok"}]};var Ot=B(O(),1);function v0(e){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").trim().toLowerCase()}function Jw(e){let t=ee(String(e.brand||"")).trim(),n=ee(String(e.productName||e.title||"")).trim(),a=v0(t),l=v0(n);return a.length>0&&l.startsWith(a)&&!/^[a-z0-9]/.test(l.slice(a.length))||!t?n:`${t} ${n}`.trim()}function b0({couponStatus:e,deal:t,editorMode:n,hideHawkPrices:a,isDescriptionExpanded:l,isSelected:i,onDescriptionToggle:r,onOpenVouchers:o,onSelectionChange:u,website:c}){let s=ee(String(t.currency||"")),f=t.rawMsrp?s+t.rawMsrp:null,d=Jw(t),m=ee(String(t.title||"")),v=Gu[c||"tomsguide"]||c||"Tom's Guide",A=(c||"tomsguide").includes(".")?(c||"").startsWith("http")?c:`https://${c}`:`https://www.${c||"tomsguide"}.com`,b=(t.documentUrl||"").replace(/^\/+/,""),h=b.startsWith("http://")||b.startsWith("https://")?b:`${A}/${b}`,g=String(t.sourceArticleUrl||t.documentUrl||t.url||"").replace(/^\/+/,""),p=g.startsWith("http://")||g.startsWith("https://")?g:`${A}/${g}`,y=!!t.hasCommerceOffer;return(0,Ot.jsxs)("div",{className:"tg-df-card","data-brand":t.modelBrand||t.brand||void 0,"data-currency":t.isoCurrencyCode||s||void 0,"data-deal-id":t.externalProductId||t.id||void 0,"data-merchant":t.merchant||void 0,"data-merchant-id":t.merchantId||void 0,"data-model-id":t.modelId||void 0,"data-previous-price":t.rawMsrp||void 0,"data-price":t.rawPrice||void 0,"data-product-key":t.productKey||void 0,"data-product-name":t.productName||t.title||void 0,"data-review-product":t.isReviewProduct?"true":void 0,"data-source-article-url":t.isReviewProduct?p:void 0,children:[n&&(0,Ot.jsx)("input",{type:"checkbox",className:"tg-df-deal-checkbox",checked:i,onChange:C=>u(C.target.checked)}),(0,Ot.jsx)(d0,{couponStatus:e,deal:t,onOpenVouchers:o}),(0,Ot.jsxs)("div",{className:"tg-df-card-body",children:[(0,Ot.jsx)("h3",{className:"tg-df-card-title",title:m,children:(0,Ot.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":y?"":void 0,className:y?"hawk-affiliate-link-container":void 0,target:"_blank",rel:y?"sponsored nofollow noopener":"noopener",style:{textDecoration:"none",color:"inherit"},children:(0,Ot.jsx)("strong",{children:d})})}),(0,Ot.jsx)(f0,{label:t.isBuyingGuideProduct?"":`${v} rating:`,starRating:t.starRating,color:t.isReviewProduct?"var(--tg-df-blue)":void 0}),t.isBuyingGuideProduct||t.isReviewProduct?(0,Ot.jsx)(m0,{cons:t.cons,expanded:l,fullReviewUrl:t.isReviewProduct&&g?p:void 0,onToggle:r,pros:t.pros,subtitle:t.isReviewProduct?t.description:t.subtitle,truncateSubtitle:t.isReviewProduct}):t.description?(0,Ot.jsx)(h0,{text:t.description,expanded:l,onToggle:r}):null,(0,Ot.jsx)(s0,{authorUrl:h,deal:t,hideHawkPrices:a,msrpFormatted:f,sourceArticleUrl:p})]})]})}var ce=B(O(),1);function $w({activeDealTag:e,activeFreeformTags:t=[],query:n,selectedBrands:a=[]}){let l=o=>{let u=String(o||"").trim();return u&&u.toLowerCase()!=="everything"?u:""},r=(t.length>0?t:e?[e]:a.length>0?a:[n]).map(l).filter(Boolean).map(o=>o.replace(/\s+deals?$/i,"").trim()).filter((o,u,c)=>c.findIndex(s=>s.toLowerCase()===o.toLowerCase())===u);return r.length<=1?r[0]||"":`${r.slice(0,-1).join(", ")} or ${r.at(-1)}`}function e2(){return(0,ce.jsx)(ce.Fragment,{children:Array.from({length:6}).map((e,t)=>(0,ce.jsxs)("div",{className:"tg-df-card",children:[(0,ce.jsx)("div",{className:"tg-df-card-image-box tg-df-skeleton"}),(0,ce.jsxs)("div",{className:"tg-df-card-body",children:[(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short",style:{marginBottom:"24px"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title",style:{width:"80%"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short"}),(0,ce.jsx)("div",{className:"tg-df-card-cta tg-df-skeleton",style:{width:"100%",height:"40px",marginTop:"auto",border:"none"}})]})]},t))})}function t2(e,t){return{"@context":"https://schema.org","@type":"ItemList",itemListElement:e.slice(0,t).map((n,a)=>{let l="USD";return n.currency==="\xA3"?l="GBP":n.currency==="\u20AC"?l="EUR":n.currency==="A$"?l="AUD":n.currency==="CA$"&&(l="CAD"),{"@type":"ListItem",position:a+1,item:{"@type":"Product",name:n.title,image:n.image||"",description:n.description||"",brand:{"@type":"Brand",name:n.brand||""},offers:{"@type":"Offer",priceCurrency:l,price:n.rawPrice||0,url:n.url||"",seller:{"@type":"Organization",name:n.merchant||""}}}}}).filter(n=>n.item.name)}}function w0({activeDealTag:e,activeFreeformTags:t,couponMap:n,deals:a,displayCount:l,editorMode:i,error:r,expandedDealIds:o,hasMore:u,hideHawkPrices:c,loading:s,loadingMore:f,loadMoreStartCount:d,onDescriptionToggle:m,onLoadMore:v,onOpenVouchers:A,query:b,recentDealsOnly:h,selectedBrands:g,selectedDeals:p,setSelectedDeals:y,website:C}){let R=$w({activeDealTag:e,activeFreeformTags:t,query:b,selectedBrands:g}),T=f&&d!=null?d:l,M=!f&&d!=null&&d<T?d:null,w=D=>D.map(k=>(0,ce.jsx)(A0.default.Fragment,{children:(0,ce.jsx)(b0,{couponStatus:n[k.merchant],deal:k,editorMode:i,hideHawkPrices:c,isDescriptionExpanded:o.has(k.id),isSelected:p.has(k.id),onDescriptionToggle:()=>m(k.id),onOpenVouchers:A,onSelectionChange:se=>{let I=new Map(p);se?I.set(k.id,k):I.delete(k.id),y(I)},website:C})},k.id));return(0,ce.jsx)("div",{className:"tg-df-grid-wrapper",children:(0,ce.jsx)("div",{className:"tg-df-grid article-body tg-df-grid-auto",id:"tg-df-grid",children:s?(0,ce.jsx)(e2,{}):r?(0,ce.jsx)("div",{className:"tg-df-message",children:"Failed to load deals. Please try again."}):a.length===0?(0,ce.jsx)("div",{className:"tg-df-message",children:h?`No ${R?`${R} `:""}deals found from the last 30 days.`:!b||b.length<=2||b.toLowerCase()==="everything"?"No deals found for this author.":`No savings squad match your search for "${b}".`}):(0,ce.jsxs)(ce.Fragment,{children:[w(a.slice(0,M??T)),M!=null&&(0,ce.jsx)("div",{"aria-live":"polite",className:"tg-df-load-more-boundary",style:{alignItems:"center",color:"var(--tg-df-text-muted)",display:"flex",fontSize:"13px",fontWeight:600,gridColumn:"1 / -1",justifyContent:"center",marginTop:"16px",minHeight:"40px",overflowAnchor:"none"},children:"More products"}),M!=null&&w(a.slice(M,T)),u&&(0,ce.jsx)("div",{className:"tg-df-load-more-control",style:{width:"100%",display:"flex",justifyContent:"center",marginTop:"16px",gridColumn:"1 / -1",overflowAnchor:"none"},children:(0,ce.jsx)("button",{type:"button",className:"tg-df-tag-outline",style:{padding:"8px 24px",borderRadius:"100px",fontWeight:600,fontSize:"14px",cursor:"pointer"},"aria-busy":f,disabled:f,onClick:D=>{D.preventDefault(),D.stopPropagation(),v()},children:f?"Loading more products\u2026":"Load More"})}),a.length>0&&(0,ce.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t2(a,T))}})]})})})}var S0=B(O(),1);var pn=B(ft(),1),nn=B(O(),1);function Pu({onScrollLeft:e,onScrollRight:t,showLeft:n,showRight:a}){return(0,nn.jsxs)(nn.Fragment,{children:[(0,nn.jsx)("button",{"aria-label":"Scroll left",className:"tg-df-scroll-btn left tg-df-desktop-only",onClick:e,style:{display:n?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,nn.jsx)("button",{"aria-label":"Scroll right",className:"tg-df-scroll-btn right tg-df-desktop-only",onClick:t,style:{display:a?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})}function qu(e){let t=(0,pn.useRef)(null),[n,a]=(0,pn.useState)(!1),[l,i]=(0,pn.useState)(!1),r=(0,pn.useCallback)(()=>{let u=t.current;u&&(a(u.scrollLeft>1),i(Math.ceil(u.scrollLeft+u.clientWidth)<u.scrollWidth-1))},[]);(0,pn.useLayoutEffect)(()=>{let u=t.current;if(!u)return;r();let c=requestAnimationFrame(r),s=typeof ResizeObserver>"u"?null:new ResizeObserver(r);return s?.observe(u),()=>{cancelAnimationFrame(c),s?.disconnect()}},[e,r]);let o=(0,pn.useCallback)(u=>{t.current?.scrollBy({left:u,behavior:"smooth"})},[]);return{onScroll:r,railRef:t,scrollLeft:()=>o(-240),scrollRight:()=>o(240),showLeft:n,showRight:l}}var jn=B(O(),1);function ui({containerClassName:e,itemClassName:t,items:n,loading:a,loadingKey:l,onItemClick:i,rowClassName:r,showCounters:o}){let u=qu(n.length);return n.length===0&&!a?null:(0,jn.jsxs)("div",{className:e,style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[n.length>0&&(0,jn.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,jn.jsx)("div",{className:r,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none"},onScroll:u.onScroll,children:n.length>0?n.map(c=>(0,jn.jsxs)("button",{className:t,onClick:()=>i(c.key),style:{border:"none",borderRight:"1px solid var(--tg-df-border)",padding:"12px 20px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"1px",cursor:"pointer",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:"6px",...t==="tg-df-brand-row-item"?{transition:"all 0.2s ease"}:{},background:c.selected?"var(--tg-df-bg-secondary)":"var(--tg-df-bg)",color:c.selected?"var(--tg-df-text-primary)":"var(--tg-df-text-muted)",fontWeight:c.selected?600:500},children:[c.label," ",l===c.key&&(0,jn.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading",style:{borderWidth:"2px",height:"12px",width:"12px"}}),o!==!1&&(0,jn.jsx)("span",{style:{color:"var(--tg-df-blue)",fontSize:"10px",...t==="tg-df-brand-row-item"?{fontWeight:400}:{}},children:c.count})]},c.key)):[1,2,3,4,5].map(c=>(0,jn.jsx)("div",{className:"tg-df-skeleton",style:{height:"36px",width:"80px",borderRadius:"18px",flexShrink:0,margin:"8px 12px"}},`${r}-skeleton-${c}`))})]})}var R0=B(O(),1);function C0({airedaleBrands:e,brands:t,loading:n,refreshing:a,onBrandToggle:l,selectedBrands:i,showAuthorCounters:r}){let o=e.length>0?e:t||[],u=o.slice(0,15).map(c=>({count:c.count||0,key:c.formatted_value,label:c.formatted_value,selected:i?.includes(c.formatted_value)||!1}));return(0,R0.jsx)(ui,{containerClassName:"tg-df-brands-row-container",itemClassName:"tg-df-brand-row-item",items:u,loading:n&&o.length===0,loadingKey:a?i?.[0]:null,onItemClick:c=>l?.(c),rowClassName:"tg-df-brands-row",showCounters:r})}var E0=B(O(),1);function T0({activeDealTag:e,airedaleTagCounts:t,airedaleTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>{let c=u.split(":::"),s=c[0];return{count:t[u]||0,key:s,label:c[1]||u,selected:e===s}});return(0,E0.jsx)(ui,{containerClassName:"tg-df-categories-row-container",itemClassName:"tg-df-category-row-item",items:o,loading:a&&n.length===0,loadingKey:l?e:null,onItemClick:i,rowClassName:"tg-df-categories-row",showCounters:r})}var x0=B(O(),1);function D0({activeFreeformTags:e,freeformTagCounts:t,freeformTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>({count:t[u.handle]||0,key:u.handle,label:u.label,selected:e.includes(u.handle)}));return(0,x0.jsx)(ui,{containerClassName:"tg-df-freeform-tags-row-container",itemClassName:"tg-df-freeform-tag-row-item",items:o,loading:a&&n.length===0,loadingKey:l&&e.at(-1)||null,onItemClick:i,rowClassName:"tg-df-freeform-tags-row",showCounters:r})}var _e=B(O(),1),n2=4;function M0({authors:e,clickedAuthorOverride:t,loading:n,refreshing:a,onAuthorClick:l,overriddenAuthorHandle:i,overriddenAuthorName:r,website:o}){let u=qu(e.length);return e.length===0&&!n?null:(0,_e.jsxs)("div",{className:"tg-df-authors-row-container",style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[e.length>0&&(0,_e.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,_e.jsx)("div",{className:"tg-df-authors-row tg-df-mobile-authors",onScroll:u.onScroll,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",gap:"24px",padding:"4px 16px 2px 16px",alignItems:"flex-start"},children:e.length>0?e.map((c,s)=>{let f=Nr[c.brandKey]||Nr[o||"tomsguide"],d=t&&(i===c.handle||r===c.fullName);return(0,_e.jsxs)("div",{className:"tg-df-author-row-item",onClick:()=>l(c),style:{cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px",opacity:t?d?1:.4:1},children:[(0,_e.jsxs)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px",borderRadius:"50%",boxShadow:d?"0 0 0 3px var(--tg-df-blue, #1F69FF)":"none"},children:[(0,_e.jsx)("img",{src:ri(c.image),alt:c.fullName,decoding:"async",loading:s<n2?"eager":"lazy",style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover",filter:t&&!d?"grayscale(100%)":"none"}}),d&&(0,_e.jsx)("span",{"aria-label":`Clear ${c.fullName} selection`,className:"tg-df-author-clear-badge",title:"Click again to clear selection",style:{alignItems:"center",backgroundColor:"#dc2626",border:"2px solid var(--tg-df-bg, #fff)",borderRadius:"50%",boxShadow:"0 1px 3px rgb(0 0 0 / 25%)",color:"#fff",display:"flex",fontSize:"15px",fontWeight:700,height:"20px",justifyContent:"center",lineHeight:1,position:"absolute",right:"-5px",top:"-5px",width:"20px",zIndex:1},children:(0,_e.jsx)("span",{"aria-hidden":"true",style:{display:"block",transform:"translateY(-1px)"},children:"\xD7"})}),f&&(0,_e.jsx)("img",{src:f,alt:"",className:"tg-df-author-brand-logo",decoding:"async",loading:"lazy",style:{position:"absolute",bottom:"-4px",right:"-4px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid var(--tg-df-bg, #fff)",backgroundColor:"#000",objectFit:"contain",filter:t&&!d?"grayscale(100%)":"none"}})]}),(0,_e.jsxs)("div",{style:{textAlign:"center"},children:[(0,_e.jsxs)("div",{className:"tg-df-author-row-name",style:{fontSize:"13px",fontWeight:700,color:"var(--tg-df-text)",lineHeight:"1.2"},children:[c.name,a&&d&&(0,_e.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading author products",style:{borderWidth:"2px",display:"inline-block",height:"11px",marginLeft:"4px",width:"11px"}})]}),c.role&&(0,_e.jsx)("div",{className:"tg-df-author-row-role",style:{fontSize:"11px",color:"var(--tg-df-text-muted)",lineHeight:"1.2",marginTop:"2px",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word"},children:c.role})]})]},c.handle)}):[1,2,3,4].map(c=>(0,_e.jsxs)("div",{className:"tg-df-author-row-item",style:{display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px"},children:[(0,_e.jsx)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px"},children:(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),(0,_e.jsxs)("div",{style:{textAlign:"center",width:"100%"},children:[(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"12px",width:"80%",margin:"0 auto 4px auto",borderRadius:"2px"}}),(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"10px",width:"60%",margin:"0 auto",borderRadius:"2px"}})]})]},`author-skeleton-${c}`))})]})}var Ja=B(O(),1);function _0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,freeformTagCounts:i,freeformTags:r,allAuthorsList:o,brands:u,clickedAuthorOverride:c,loading:s,refreshing:f,onAuthorClick:d,onBrandToggle:m,onTagClick:v,onFreeformTagClick:A,overriddenAuthorHandle:b,overriddenAuthorName:h,selectedBrands:g,showAuthorRail:p,showAuthorCounters:y,showBrandRail:C,showCategoryRail:R,showFreeformTagRail:T,website:M}){let w=R!==!1&&l.length>0||T!==!1&&r.length>0||C!==!1&&(n.length>0||!!u?.length)||p&&o.length>0;return!(p||R!==!1||T!==!1||C!==!1)||!w&&!s?null:(0,Ja.jsxs)("div",{id:"tg-df-spreadsheet-filters",style:{display:"block",marginBottom:"16px"},children:[p&&(0,Ja.jsx)(M0,{authors:o,clickedAuthorOverride:c,loading:s&&o.length===0,refreshing:f,onAuthorClick:d,overriddenAuthorHandle:b,overriddenAuthorName:h,website:M}),R!==!1&&(0,Ja.jsx)(T0,{activeDealTag:e,airedaleTagCounts:a,airedaleTags:l,loading:s,refreshing:f,onTagClick:v,showAuthorCounters:y}),T!==!1&&(0,Ja.jsx)(D0,{activeFreeformTags:t,freeformTagCounts:i,freeformTags:r,loading:s,refreshing:f,onTagClick:A,showAuthorCounters:y}),C!==!1&&(0,Ja.jsx)(C0,{airedaleBrands:n,brands:u,loading:s,refreshing:f,onBrandToggle:m,selectedBrands:g,showAuthorCounters:y})]})}var O0=B(ft(),1);var B0=[{value:"date_desc",label:"Most recent"},{value:"rating_desc",label:"Highest rating"},{value:"scored_first",label:"Scored products first"}];function Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}){return!!(a&&e!==!0&&t===!1&&n===!1)}function Fu({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a,lightweightReviewDelivery:l,showPriceDiscountFilters:i,showReviewSort:r}){return!!(l&&i===!1&&r===!1&&Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}))}function ju(e=!0){return e?B0:B0.filter(t=>t.value!=="scored_first")}function wa(e,t=!0){return!t&&e==="scored_first"?"date_desc":e||"date_desc"}var H=B(O(),1),N0=[{value:"all",label:"All Prices",shortLabel:""},{value:"under50",label:"Under $50",shortLabel:"< $50"},{value:"50_100",label:"$50 - $100",shortLabel:"$50-$100"},{value:"100_200",label:"$100 - $200",shortLabel:"$100-$200"},{value:"200_500",label:"$200 - $500",shortLabel:"$200-$500"},{value:"over500",label:"Over $500",shortLabel:"> $500"}],a2=[{value:"0",label:"Any discount"},...[5,10,15,20,25,30,40,50,60,70].map(e=>({value:String(e),label:`Min ${e}% off`}))];function l2({open:e}){return(0,H.jsx)("svg",{"aria-hidden":"true",className:e?"is-open":void 0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("path",{d:"m6 9 6 6 6-6"})})}function Yn(){return(0,H.jsx)("svg",{"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function k0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,brands:i,discountAmount:r,enabled:o,freeformTagCounts:u,freeformTags:c,includeScoredFirst:s,onBrandSelect:f,onBrandToggle:d,onDiscountAmountChange:m,onFreeformTagClear:v,onFreeformTagToggle:A,onPriceRangeChange:b,onReviewSortChange:h,onTagClear:g,onTagClick:p,priceRange:y,reviewSort:C,selectedBrands:R,showCounters:T,showBrandRail:M,showCategoryRail:w,showFreeformTagRail:D,showPriceDiscountFilters:k,showReviewSort:se}){let[I,j]=(0,O0.useState)(null);if(!o)return null;let He=l.map(x=>{let P=x.split(":::");return{count:a[x]||0,handle:P[0],label:P[1]||x}}),ze=n.length>0?n:i||[],St=He.find(x=>x.handle===e),Ie=y||"all",rn=!r||r==="all"?"0":r,Be=N0.find(x=>x.value===Ie),Je=k!==!1,nt=wa(C,s),X=ju(s),de=nt==="rating_desc"?"Highest rating":nt==="scored_first"?"Scored first":"Most recent",$e=x=>{j(P=>P===x?null:x)},Z=[];return w!==!1&&Z.push({active:!!e,label:`CATEGORIES${St?` (${St.label})`:""}`,menu:"categories"}),D!==!1&&Z.push({active:t.length>0,label:`KEYWORDS${t.length>0?` (${t.length})`:""}`,menu:"keywords"}),M!==!1&&Z.push({active:R.length>0,label:`BRANDS${R.length>0?` (${R.length})`:""}`,menu:"brands"}),Je&&Z.push({active:Ie!=="all",label:`PRICES${Be?.shortLabel?` (${Be.shortLabel})`:""}`,menu:"prices"}),(Je||se)&&Z.push({active:se?nt!=="date_desc":rn!=="0",label:se?`SORT REVIEWS (${de})`:`DISCOUNTS${rn!=="0"?` (${rn}%+)`:""}`,menu:se?"review-sort":"discounts"}),(0,H.jsxs)("div",{className:"tg-df-mobile-2x2-container",children:[(0,H.jsx)("div",{className:`tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--${Z.length%2===0?"even":"odd"}`,children:Z.map(x=>(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-grid-cell${x.active?" has-active-filter":""}${I===x.menu?" active":""}`,"aria-expanded":I===x.menu,onClick:()=>$e(x.menu),children:[(0,H.jsx)("span",{children:x.label}),(0,H.jsx)(l2,{open:I===x.menu})]},x.menu))}),w!==!1&&I==="categories"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${e?"":" selected"}`,onClick:()=>{g(),j(null)},children:[(0,H.jsx)("span",{children:"All Categories"}),!e&&(0,H.jsx)(Yn,{})]}),He.map(x=>{let P=e===x.handle;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{p(x.handle),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},x.handle)})]}),M!==!1&&I==="brands"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${R.length===0?" selected":""}`,onClick:()=>f?.([]),children:[(0,H.jsx)("span",{children:"All Brands"}),R.length===0&&(0,H.jsx)(Yn,{})]}),ze.map(x=>{let P=x.formatted_value,Q=R.includes(P);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${Q?" selected":""}`,onClick:()=>d?.(P),children:[(0,H.jsx)("span",{children:P}),Q?(0,H.jsx)(Yn,{}):T!==!1&&x.count?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},P)})]}),D!==!1&&I==="keywords"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${t.length===0?" selected":""}`,onClick:()=>{v(),j(null)},children:[(0,H.jsx)("span",{children:"All Keywords"}),t.length===0&&(0,H.jsx)(Yn,{})]}),c.map(x=>{let P=t.includes(x.handle);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>A(x.handle),children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1&&u[x.handle]?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:u[x.handle]}):null]},x.handle)})]}),I==="prices"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:N0.map(x=>{let P=Ie===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{b?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="discounts"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:a2.map(x=>{let P=rn===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{m?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="review-sort"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:X.map(x=>{let P=nt===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{h?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})})]})}var $a=B(ft(),1);var W=B(O(),1);function L0({airedaleBrands:e,airedaleTags:t,discountAmount:n,hidden:a,includeScoredFirst:l,onDiscountAmountChange:i,onPriceRangeChange:r,onReviewSortChange:o,priceRange:u,reviewSort:c,showReviewSort:s,showPriceDiscountFilters:f}){let d=(0,$a.useRef)(null),[m,v]=(0,$a.useState)(!1),[A,b]=(0,$a.useState)(!1),h=ju(l),g=wa(c,l),p=()=>{if(!d.current)return;let{scrollLeft:y,scrollWidth:C,clientWidth:R}=d.current;v(y>0),b(Math.ceil(y+R)<C-5)};return(0,$a.useEffect)(()=>(p(),window.addEventListener("resize",p),setTimeout(p,100),setTimeout(()=>{document.querySelector(".tg-df-categories-row")?.dispatchEvent(new Event("scroll")),document.querySelector(".tg-df-brands-row")?.dispatchEvent(new Event("scroll"))},150),()=>window.removeEventListener("resize",p)),[t,e]),(0,W.jsx)("div",{className:"tg-df-controls",id:"tg-df-controls",style:{display:a?"none":"flex",marginTop:"12px",marginBottom:"16px",justifyContent:"center"},children:(0,W.jsxs)("div",{className:"tg-df-filters-container",style:{position:"relative",width:"100%",maxWidth:"800px",margin:"0 auto"},children:[(0,W.jsx)("button",{className:"tg-df-scroll-btn left",style:{display:m?"flex":"none"},onClick:()=>d.current?.scrollBy({left:-200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,W.jsx)("button",{className:"tg-df-scroll-btn right",style:{display:A?"flex":"none"},onClick:()=>d.current?.scrollBy({left:200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M9 18l6-6-6-6"})})}),(0,W.jsxs)("div",{className:"tg-df-filters",ref:d,onScroll:p,children:[(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-legacy-price-wrapper",style:{display:f!==!1?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-price-filter","aria-label":"Filter Prices",value:u||"all",onChange:y=>r?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"All Prices"}),(0,W.jsx)("option",{value:"under50",children:"Under $50"}),(0,W.jsx)("option",{value:"50_100",children:"$50 - $100"}),(0,W.jsx)("option",{value:"100_200",children:"$100 - $200"}),(0,W.jsx)("option",{value:"200_500",children:"$200 - $500"}),(0,W.jsx)("option",{value:"over500",children:"Over $500"})]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-discount-filter-wrapper",style:{display:f!==!1&&!s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-discount-filter","aria-label":"Discount Amount",value:n||"all",onChange:y=>i?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"Any discount"}),[5,10,15,20,25,30,40,50,60,70].map(y=>(0,W.jsxs)("option",{value:y,children:["Min ",y,"%"]},y))]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-review-sort-wrapper",style:{display:s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M4 7h16M7 12h10m-7 5h4"})}),(0,W.jsx)("select",{className:"tg-df-filter-select",id:"tg-df-review-sort","aria-label":"Sort Reviews",value:g,onChange:y=>o?.(y.target.value),children:h.map(y=>(0,W.jsx)("option",{value:y.value,children:y.label},y.value))})]})]})]})})}var be=B(ft(),1);function kr(e,t){return e.filter(n=>{let a=n.handle.toLowerCase(),l=n.fullName.toLowerCase(),i=n.name.toLowerCase();return t.some(r=>{let o=r.articleauthorhandle||[],u=r.articleauthor||[],c=r.articleauthortext||[];return[...o,...u,...c].some(s=>{let f=String(s||"").toLowerCase();return f===a||f===l||f===i})})})}function Yu(e,t){return e.map((n,a)=>({index:a,profile:n,productCount:t[n.handle]||0})).sort((n,a)=>a.productCount-n.productCount||n.index-a.index).map(({profile:n})=>n)}function Vu(e,t){return e==="all-authors"||t==="all-authors"||t==="All authors"||!e&&!t}function Xu(e,t,n){let a=e;if((t||n)&&t!=="all-authors"&&n!=="all-authors"&&n!=="All authors"){if(t){let l=t.toLowerCase(),i=e.filter(r=>r.articleauthorhandle&&r.articleauthorhandle.some(o=>o.toLowerCase()===l));if(i.length>0)a=i;else if(n){let r=n.toLowerCase(),o=e.filter(u=>u.articleauthor&&u.articleauthor.some(c=>c.toLowerCase()===r));o.length>0&&(a=o)}}else if(n){let l=n.toLowerCase();a=e.filter(i=>i.articleauthor&&i.articleauthor.some(r=>r.toLowerCase()===l))}}return a}function sf(e,t,n){let a=0;if(t&&e.articleauthorhandle){let l=e.articleauthorhandle.findIndex(i=>i.toLowerCase()===t.toLowerCase());l>=0&&(a=l)}else if(n&&e.articleauthor){let l=e.articleauthor.findIndex(i=>i.toLowerCase()===n.toLowerCase());l>=0&&(a=l)}return a}function Qu(e,t,n){let a=sf(e,t,n),l=i=>typeof i=="string"?ee(i):i||"";return{authorName:e.articleauthortext?l(e.articleauthortext[a]):e.articleauthor?l(e.articleauthor[a]):"",authorRole:e.articleauthorrole?l(e.articleauthorrole[a]):"",authorImage:e.articleauthormedia?e.articleauthormedia[a]:""}}function Lr(e,t){let n=new Map;return e.forEach(a=>{if(!a.articleauthor)return;let l=t;if(a.documenturl)try{let f=new URL(a.documenturl).hostname.replace("www.","").split(".");f.length>0&&(l=f[0].toLowerCase())}catch{}let i=a.articleauthorhandle||[],r=a.articleauthor||[],o=a.articleauthortext||[],u=a.articleauthorrole||[],c=a.articleauthormedia||[];r.forEach((s,f)=>{if(!s||s==="null"||s.toLowerCase()==="all authors")return;let d=i[f]&&i[f]!=="null"?i[f]:s.toLowerCase().replace(/\s+/g,"-");if(!d||d==="null")return;let m=o[f]&&o[f]!=="null"?o[f]:s,v=u[f]&&u[f]!=="null"?u[f]:"",A=ee(String(m)),b=ee(String(v)),h=c[f]&&c[f]!=="null"?c[f]:"",g=A.split(" ")[0],p=_r(a,f,"short"),y=_r(a,f,"long"),C=Uu(a,f),R=n.get(d);!R&&A&&h?n.set(d,{...y?{bioLong:y}:{},...p?{bioShort:p}:{},name:g,fullName:A,handle:d,role:b,image:h,brandKey:l,...C.length>0?{socialNetworks:C}:{}}):R&&(!R.bioShort&&p&&(R.bioShort=p),!R.bioLong&&y&&(R.bioLong=y),!R.socialNetworks?.length&&C.length>0&&(R.socialNetworks=C))})}),Array.from(n.values())}var E=B(O(),1);function z0(e){let t=(0,be.useRef)(""),n=(0,be.useRef)(null),a=(0,be.useCallback)(()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null)},[]),l=(0,be.useCallback)(r=>{a(),t.current=r},[a]),i=(0,be.useCallback)((r,o,u=!1)=>{if(!e)return;if(r===t.current){a();return}let c=()=>{n.current=null,t.current=r,e(o)};a(),u?c():n.current=window.setTimeout(c,350)},[a,e]);return(0,be.useEffect)(()=>a,[a]),{save:i,synchronise:l}}function H0({contentKey:e,defaultText:t,kind:n,onChange:a,value:l}){let i=(0,be.useRef)(null),r=(0,be.useRef)(e),[o,u]=(0,be.useState)(!1),c=l??t,s=!!a,{save:f,synchronise:d}=z0(a);(0,be.useLayoutEffect)(()=>{let g=r.current!==e;i.current&&(g||document.activeElement!==i.current)&&(i.current.innerHTML!==c&&(i.current.innerHTML=c),d(c)),r.current=e},[e,d,c]);let m=(g=!1)=>{if(!i.current)return;let p=i.current.innerHTML;f(p,p===t?void 0:p,g)},v=(g,p)=>{document.execCommand(g,!1,p),m(!0)},A=n==="kicker"?{fontSize:"0.875rem",color:"#6B7280",fontStyle:"normal",margin:"0 0 0.25rem 0"}:{fontSize:"2.25rem",fontWeight:300,color:"#111827",margin:"0 0 0.25rem 0",lineHeight:1.1,letterSpacing:"-0.02em"},b=n==="kicker"?"tg-df-author-curated-by tg-df-author-kicker":"tg-df-author-name",h=()=>n==="kicker"?(0,E.jsx)("p",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}}):(0,E.jsx)("h2",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}});return s?(0,E.jsxs)("div",{className:"tg-df-author-header-text-shell",style:{position:"relative"},children:[o&&(0,E.jsxs)("div",{className:"tg-df-author-header-text-toolbar",role:"toolbar","aria-label":`${n==="kicker"?"Shop by text":"Site or author name"} formatting`,style:{display:"flex",justifyContent:"center",alignItems:"center",gap:"0.25rem",margin:"0 auto 0.375rem",width:"fit-content",padding:"0.25rem 0.5rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",fontSize:"11px",zIndex:10},children:[(0,E.jsx)("span",{style:{color:"#64748b",padding:"2px 2px 2px 0"},children:"Editing"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("bold"),title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("italic"),title:"Italic",children:(0,E.jsx)("em",{children:"I"})}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{let g=prompt("Enter URL:");g&&v("createLink",g)},title:"Add link",children:"\u{1F517}"}),l!==void 0&&(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{i.current&&(i.current.innerHTML=t),d(t),a?.(void 0)},title:"Restore default",children:"Reset"})]}),h()]}):h()}function i2({contentKey:e,initialBio:t,defaultPlaceholder:n,onBioChange:a,stabilizeHeight:l=!1}){let r=(0,be.useRef)(null),o=(0,be.useRef)(e),u=(0,be.useRef)(n),c=(0,be.useRef)(!1),[s,f]=(0,be.useState)(!1),[d,m]=(0,be.useState)(!1),[v,A]=(0,be.useState)(!1),b=t||n,h=l&&b.replace(/<[^>]*>/g,"").trim().length>240,g=!!a,{save:p,synchronise:y}=z0(a);(0,be.useLayoutEffect)(()=>{let w=o.current!==e,D=u.current!==n;w&&(c.current=!1);let k=!t&&D&&!c.current;r.current&&(w||document.activeElement!==r.current||k)&&(r.current.innerHTML!==b&&(r.current.innerHTML=b),y(b)),o.current=e,u.current=n},[b,e,n,t,y]),(0,be.useLayoutEffect)(()=>{m(!1)},[e]),(0,be.useLayoutEffect)(()=>{if(!h||!r.current){A(!1);return}let w=r.current,D=()=>{A(w.scrollHeight>w.clientHeight+1)};if(D(),typeof ResizeObserver>"u")return;let k=new ResizeObserver(D);return k.observe(w),()=>k.disconnect()},[b,e,d,h]);let C=(w,D=null)=>{if(c.current=!0,document.execCommand(w,!1,D||void 0),r.current){let k=r.current.innerHTML;p(k,k===n?"":k,!0)}},R=(w=!1)=>{if(!r.current)return;let D=r.current.innerHTML;p(D,D===n?"":D,w)};return(0,E.jsxs)("div",{style:{position:"relative",maxWidth:"42rem",margin:"0 auto 0.5rem auto",padding:"0.25rem 0.5rem"},className:`tg-df-author-bio-shell${l?" tg-df-author-bio-shell--stable":""}`,children:[g&&s&&(0,E.jsxs)("div",{role:"toolbar","aria-label":"Introduction text formatting",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"0.375rem",marginBottom:"0.5rem",padding:"0.25rem 0.625rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",width:"fit-content",margin:"0 auto 0.5rem auto",fontSize:"12px",userSelect:"none",zIndex:10},children:[(0,E.jsx)("span",{style:{fontSize:"11px",color:"#64748b",fontWeight:500,marginRight:"2px"},children:"Editing \u2014 saves when you click away"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("bold"),style:{fontWeight:"bold",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("italic"),style:{fontStyle:"italic",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Italic",children:"I"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>{let w=prompt("Enter URL:");w&&C("createLink",w)},style:{padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Add Link",children:"\u{1F517}"}),t&&(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:w=>{w.preventDefault(),w.stopPropagation(),r.current&&(r.current.innerHTML=n),c.current=!1,y(n),a&&a("")},style:{fontSize:"10px",padding:"2px 8px",borderRadius:"4px",background:"#fee2e2",color:"#991b1b",cursor:"pointer",border:"1px solid #fca5a5"},title:"Reset Bio",children:"Reset"})]}),(0,E.jsx)("div",{ref:r,contentEditable:g?!0:void 0,suppressContentEditableWarning:g,onFocus:g?()=>{f(!0)}:void 0,onBlur:g?()=>{f(!1),R(!0),c.current=!1}:void 0,onInput:g?()=>{c.current=!0}:void 0,className:`tg-df-author-bio ${g?"wysiwyg-bio-editable":"tg-df-author-bio--static"}${h?d?" tg-df-author-bio--expanded":" tg-df-author-bio--clamped":""}`,style:{color:"#4b5563",lineHeight:1.6,fontWeight:300,fontSize:"0.9375rem",textAlign:"center",outline:g&&s?"2px solid #3b82f6":"none",borderRadius:"6px",padding:"0.375rem 0.5rem",cursor:g?"text":"default",transition:"all 0.15s ease-in-out"}}),h?(0,E.jsx)("div",{className:"tg-df-author-bio-toggle-slot",children:(0,E.jsx)("button",{type:"button",className:"tg-df-author-bio-toggle","aria-expanded":d,onClick:()=>m(w=>!w),style:{visibility:v||d?"visible":"hidden"},children:d?"Show less":"Read more"})}):null]})}function r2(e){let t=(e||"").toLowerCase();return t==="linkedin"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"})}):t==="twitter"||t==="x"?(0,E.jsx)("svg",{className:"icon-svg",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,E.jsx)("path",{fill:"currentColor",d:"M18 2h4l-8 9 9 11h-7l-5-7-6 7H2l7-9L1 2h7l5 6zm-1 18h2L7 4H5z"})}):t==="email"||t==="mail"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),(0,E.jsx)("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}):t==="instagram"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"5",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"12",cy:"12",r:"4.25",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"17.4",cy:"6.7",r:"1.25",fill:"currentColor"})]}):t==="steam"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("circle",{fill:"#0f1618",cx:"12",cy:"12",r:"12"}),(0,E.jsx)("path",{d:"m18.22 8.9a2.269 2.269 0 1 1 -2.27-2.265 2.267 2.267 0 0 1 2.27 2.265zm2.258.005a4.534 4.534 0 0 1 -4.533 4.526h-.1l-4.087 2.911v.161a3.4 3.4 0 0 1 -6.74.669l-4.549-1.879c-.032-.109-.057-.219-.085-.329a11.973 11.973 0 0 1 -.384-2.964c0-.214.02-.423.032-.635 0-.1.008-.206.016-.308l6.394 2.643a3.385 3.385 0 0 1 1.915-.591c.065 0 .127 0 .191.005l2.865-4.145v-.062a4.533 4.533 0 0 1 9.066 0zm-9.763 6.618a2.55 2.55 0 0 0 -3.262-1.411l1.525.63a1.877 1.877 0 1 1 -1.446 3.464l-1.475-.606a2.529 2.529 0 0 0 1.315 1.25 2.559 2.559 0 0 0 3.339-1.374 2.526 2.526 0 0 0 .004-1.951zm8.251-6.618a3.021 3.021 0 1 0 -3.021 3.015 3.022 3.022 0 0 0 3.021-3.013z",fill:"#fff"})]}):t==="youtube"?(0,E.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})}):t==="twitch"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"m24 12a12 12 0 1 1 -12-12 12 12 0 0 1 12 12z",fill:"#111"}),(0,E.jsx)("path",{d:"m12.308 17.167-1.833 1.833h-1.818v-1.833h-3.357v-9.733l.925-2.434h12.475v8.517l-3.648 3.65zm5.175-10.95h-10.043v8.824h2.743v1.833l1.817-1.833h3.342l2.14-2.126zm-5.483 6.083v-3.65h-1.218v3.65zm3.342 0v-3.65h-1.216v3.65z",fill:"#fff"})]}):t==="facebook"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m13.079 19h-2.9v-7h-1.441v-2.408h1.442v-1.456c0-1.96.813-3.136 3.136-3.136h1.933v2.408h-1.2c-.91 0-.965.35-.965.966v1.218h2.183l-.257 2.408h-1.931z",fill:"currentColor"})}):t==="pinterest"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.336 5c-3.822 0-5.754 2.744-5.754 5.025a3.065 3.065 0 0 0 1.652 3.066.279.279 0 0 0 .407-.2l.154-.644a.373.373 0 0 0-.113-.448 2.341 2.341 0 0 1-.532-1.582 3.812 3.812 0 0 1 3.961-3.849 3.009 3.009 0 0 1 3.346 3.08c0 2.323-1.022 4.283-2.547 4.283a1.253 1.253 0 0 1-1.273-1.554 17.616 17.616 0 0 0 .713-2.856 1.081 1.081 0 0 0-1.092-1.2c-.854 0-1.553.881-1.553 2.071a2.954 2.954 0 0 0 .266 1.274l-1.038 4.383a9.389 9.389 0 0 0-.027 3.065.109.109 0 0 0 .2.042 8.737 8.737 0 0 0 1.457-2.631l.561-2.212a2.3 2.3 0 0 0 1.959 1.008c2.59 0 4.34-2.366 4.34-5.516a4.8 4.8 0 0 0-5.087-4.605z",fill:"currentColor"})}):t==="substack"?(0,E.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z"})}):t==="threads"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12.186 24h-.007c-3.582-.024-6.332-1.22-8.173-3.555C2.26 18.212 1.5 15.228 1.5 11.83 1.5 8.16 2.673 5.097 4.902 2.935 7.026.877 10.02 0 13.565 0c3.784 0 6.81 1.028 8.995 3.056 2.008 1.862 3.013 4.417 2.91 7.391-.122 3.518-1.57 6.136-4.304 7.781-1.892 1.138-4.103 1.62-6.57 1.433-.122.392-.266.769-.434 1.127-.514 1.096-1.18 1.96-1.982 2.569-.884.67-1.933 1.01-3.118 1.01-1.34 0-2.42-.42-3.21-1.248-.78-.82-1.17-1.89-1.17-3.18 0-1.512.52-2.73 1.545-3.62 1.018-.883 2.45-1.33 4.258-1.33.56 0 1.11.04 1.63.12-.04-.53-.13-1.02-.27-1.46-.26-.81-.71-1.45-1.34-1.92-.62-.47-1.42-.71-2.38-.71-1.09 0-2.02.29-2.77.87-.29.22-.68.17-.9-.12l-.76-1.03c-.22-.3-.16-.71.13-.93C7.43 5.37 8.95 4.9 10.8 4.9c1.64 0 2.99.41 4.02 1.22 1.04.81 1.73 1.93 2.06 3.33.15.65.25 1.42.3 2.31 1.68-.31 3.05-1.05 4.08-2.2 1.01-1.13 1.52-2.58 1.52-4.31 0-2.43-.84-4.32-2.5-5.62C18.63 1.32 16.32.5 13.56.5c-3.03 0-5.54.73-7.27 2.21C4.48 4.27 3.5 6.78 3.5 10c0 3.1.66 5.62 1.96 7.49 1.34 1.93 3.38 2.92 6.07 2.95 1.76.02 3.32-.34 4.64-1.07.28-.15.63-.05.78.22l.55.98c.15.28.05.63-.22.78-1.63.9-3.55 1.35-5.7 1.35z"})}):t==="tiktok"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.308 5.012c.763-.012 1.522 0 2.281-.012a3.636 3.636 0 0 0 1.02 2.434 4.12 4.12 0 0 0 2.473 1.043v2.349a6.177 6.177 0 0 1-2.449-.564 7.207 7.207 0 0 1-.947-.543c0 1.705.008 3.406-.01 5.105a4.442 4.442 0 0 1-.789 2.3 4.343 4.343 0 0 1-3.448 1.872 4.254 4.254 0 0 1-2.379-.6 4.393 4.393 0 0 1-2.127-3.331c-.014-.292-.019-.584-.007-.868a4.395 4.395 0 0 1 5.091-3.9c.013.864-.021 1.727-.021 2.591a2.007 2.007 0 0 0-2.558 1.237 2.316 2.316 0 0 0-.079.939 1.992 1.992 0 0 0 3.658.736 1.39 1.39 0 0 0 .239-.62c.057-1.043.034-2.082.041-3.126.006-2.351-.007-4.7.011-7.041z",fill:"currentColor"})}):t==="bluesky"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.879.139 2.588-.02 3.868.002 5.03c.08 4.201 1.84 10.024 3.931 12.397 2.091 2.373 4.545 1.573 5.467.927.817-.573 1.564-1.611 2.6-2.92 1.036 1.309 1.783 2.347 2.6 2.92.922.646 3.376 1.446 5.467-.927 2.091-2.373 3.851-8.196 3.931-12.397.022-1.162-.137-2.442-.9-3.151-.659-.613-1.664-.935-4.3-1.074C16.046 4.747 13.087 8.686 12 10.8z"})}):t==="github"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})}):t==="rss"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M4 11a9 9 0 0 1 9 9"}),(0,E.jsx)("path",{d:"M4 4a16 16 0 0 1 16 16"}),(0,E.jsx)("circle",{cx:"5",cy:"19",r:"1"})]}):(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,E.jsx)("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),(0,E.jsx)("path",{d:"M2 12h20"})]})}function U0({authorCount:e=0,authorArticlesList:t,authorBioLength:n,customBio:a,customHeaderKicker:l,customHeaderTitle:i,effectiveAuthorHandle:r,effectiveAuthorName:o,isReviewWidget:u=!1,onBioChange:c,onHeaderKickerChange:s,onHeaderTitleChange:f,selectedProfile:d,showAuthorBio:m=!0,showAuthorIdentity:v=!0,showSocialButtons:A=!0,stabilizeBio:b=!1,totalDealCount:h=0,website:g}){let p=Vu(r,o),y=g||"tomsguide",C=Gu[y]||y,R=Nr[y],T=r?.toLowerCase(),M=o?.toLowerCase(),w=t.find(Be=>T&&Be.articleauthorhandle?.some(Je=>Je?.toLowerCase()===T)||M&&Be.articleauthor?.some(Je=>Je?.toLowerCase()===M))||null,D=w?sf(w,r,o):0,k=d?.image||(w?c0(w,D):""),se=d?n==="short"?d.bioShort||"":d.bioLong||d.bioShort||"":w?_r(w,D,n):"",I=p?`Our team is dedicated to researching, reviewing and recommending the latest and best products in all the categories that matter to you. Below you can shop the latest ${h} ${u?"review ":""}recommendations from ${e} ${C} ${u?"editor tests":"editors"}.`:se||`Handpicked deals and recommendations curated by ${o||"our expert editorial team"}.`,j=d?.role||"",He=p?y0[y]||[]:d?.socialNetworks||[];!p&&w&&(j||(j=u0(w,D)),He.length===0&&(He=Uu(w,D)));let ze=d?.fullName||o||"Author Name",St=p?`site:${y}`:`author:${d?.handle||r||ze}`,Ie=A&&He.length>0,rn=!p&&!!j||Ie;return(0,E.jsxs)("div",{className:"tg-df-author-card",style:{textAlign:"center",padding:"1.75rem 1rem 0.25rem 1rem",margin:"0 auto",maxWidth:"48rem"},children:[v&&(p?(0,E.jsx)("div",{className:"tg-df-author-media-slot tg-df-author-image-container",style:{margin:"0 auto 0.75rem auto",textAlign:"center",minHeight:"180px",display:"flex",alignItems:"center",justifyContent:"center"},children:R?(0,E.jsx)("img",{src:R,alt:C,className:"tg-df-site-logo",style:{maxHeight:"150px",maxWidth:"520px",objectFit:"contain",margin:"0 auto",display:"block"}}):(0,E.jsx)("div",{style:{fontSize:"1.75rem",fontWeight:700,color:"#111827"},children:C})}):(0,E.jsx)("div",{className:"tg-df-author-media-slot",children:(0,E.jsxs)("div",{className:"tg-df-author-profile-image-wrapper",children:[k?(0,E.jsx)("img",{src:ri(k),alt:ze,className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",objectFit:"cover",display:"block"}}):(0,E.jsx)("div",{className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",background:"#e2e8f0",display:"block"}}),R?(0,E.jsx)("img",{src:R,alt:"",className:"tg-df-author-profile-brand-logo"}):null]})})),v&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(H0,{contentKey:`${St}:kicker`,defaultText:u?"Reviews shop by":"Shop by",kind:"kicker",onChange:s,value:l}),(0,E.jsx)(H0,{contentKey:`${St}:title`,defaultText:p?C:ze,kind:"title",onChange:f,value:i}),rn&&(0,E.jsxs)("div",{className:`tg-df-author-meta-slot${p?" tg-df-author-meta-slot--site":""}${Ie?"":" tg-df-author-meta-slot--no-social"}`,children:[!p&&j?(0,E.jsx)("div",{className:"tg-df-author-role",id:"tg-df-author-role-display",style:{fontSize:"0.9375rem",fontWeight:500,color:"var(--tg-df-blue, #1F69FF)",margin:"0 0 0.5rem 0",lineHeight:1.3},children:j}):null,Ie?(0,E.jsx)("div",{className:"tg-df-author-social-links",children:He.map(Be=>(0,E.jsx)("a",{href:Be.href,target:"_blank",rel:"noopener noreferrer",title:Be.label,"aria-label":Be.label,className:"tg-df-author-social-btn","data-social-key":Be.key.toLowerCase(),children:r2(Be.key)},Be.key))}):null]})]}),m&&(0,E.jsx)(i2,{contentKey:St,initialBio:a,defaultPlaceholder:I,onBioChange:c,stabilizeHeight:b})]})}var te=B(O(),1);function df(e){if(!e||typeof e!="object")return"";if(e.type==="voucher_code"&&e.display_value)return e.display_value;let t=Array.isArray(e)?e:Object.keys(e).filter(n=>Object.prototype.hasOwnProperty.call(e,n)).map(n=>e[n]);for(let n of t){let a=df(n);if(a)return a}return""}function o2({endTime:e}){if(!e)return null;let t=e;!isNaN(Number(t))&&String(t).length===10&&(t=Number(t)*1e3);let n=new Date(t),a=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"});return(0,te.jsxs)("span",{className:"tg-df-voucher-expiry",children:[(0,te.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginRight:"4px"},children:[(0,te.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,te.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"Expires ",a.format(n)]})}function G0({error:e,loading:t,merchant:n,onClose:a,vouchers:l}){return(0,te.jsx)("div",{className:`tg-df-modal-backdrop ${n?"active":""}`,onClick:i=>{i.target===i.currentTarget&&a()},children:(0,te.jsxs)("div",{className:"tg-df-modal",children:[(0,te.jsxs)("div",{className:"tg-df-modal-header",children:[(0,te.jsx)("h3",{className:"tg-df-modal-title",children:n?`${n} Coupons & Deals`:"Available Coupons & Deals"}),(0,te.jsx)("button",{className:"tg-df-modal-close",onClick:a,children:(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,te.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,te.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),(0,te.jsx)("div",{className:"tg-df-modal-body",children:t?(0,te.jsx)("div",{className:"tg-df-message",children:(0,te.jsx)("div",{className:"tg-df-coupon-spinner",style:{width:"24px",height:"24px",borderColor:"#ccc",borderTopColor:"#3b82f6"}})}):e?(0,te.jsx)("div",{className:"tg-df-message",children:"Failed to load vouchers."}):l.length===0?(0,te.jsxs)("div",{className:"tg-df-message",children:["No active vouchers found for ",n,"."]}):l.map((i,r)=>{let o=i.offer?.name||i.offer?.title||i.name||i.title||i.model_name||"Voucher",u=i.offer?.link||i.offer?.url||i.link||i.url||"#",c=i.merchant,s=Array.isArray(c)?c[0]?.logo_url||"":c?.logo_url||"",f=df(i.offer)||df(i)||i.offer?.voucher_code||i.voucher_code||"",d=i.offer?.end_time||i.end_time||"";return(0,te.jsxs)("a",{href:u,target:"_blank",rel:"noopener nofollow",className:"tg-df-voucher-item",children:[s?(0,te.jsx)("img",{src:s,alt:"Logo",className:"tg-df-voucher-logo"}):(0,te.jsx)("div",{className:"tg-df-voucher-logo",style:{background:"#e2e8f0"}}),(0,te.jsxs)("div",{className:"tg-df-voucher-content",children:[(0,te.jsx)("h4",{className:"tg-df-voucher-title",children:o}),(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginTop:"8px"},children:[f&&(0,te.jsxs)("span",{className:"tg-df-voucher-code",title:"Copy to clipboard",onClick:m=>{m.preventDefault(),m.stopPropagation();let v=m.currentTarget;navigator.clipboard.writeText(f).then(()=>{v.classList.add("copied");let A=v.querySelector(".tg-df-voucher-code-text"),b=v.querySelector(".tg-df-voucher-copy-icon"),h=A.innerText,g=b.innerHTML;A.innerText="Copied!",b.innerHTML='<polyline points="20 6 9 17 4 12"><\/polyline>',setTimeout(()=>{v.classList.remove("copied"),A&&(A.innerText=h),b&&(b.innerHTML=g)},2e3)})},children:[(0,te.jsx)("span",{className:"tg-df-voucher-code-text",children:f}),(0,te.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:"6px",flexShrink:0},className:"tg-df-voucher-copy-icon",children:[(0,te.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,te.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})]}),d&&(0,te.jsx)(o2,{endTime:d})]})]})]},r)})})]})})}var N=B(ft(),1);function ci(e){if(!e||!e.articlepage)return[];try{let t=e.articlepage;if(!Array.isArray(t))return typeof t=="string"?JSON.parse(t):t;if(t.length===0)return[];let n=t[0];return typeof n=="string"?JSON.parse(n):Array.isArray(n)?n:n&&typeof n=="object"&&"type"in n?t:n}catch{return[]}}function si(e,t=!1,{includeCollections:n=!0,includeDeals:a=!0}={}){let l=t?e.filter(r=>r.type==="buying-guide"):[];if(l.length>0)return l;let i=e.filter(r=>r.type==="deal"||r.type==="featured-product");return a&&!n&&!t?i.filter(r=>r.type==="deal"):i}function di(e,t){if(!t||t.length===0)return!0;let n=e&&(e.brand||e.retailer)||"";if(!n)return!1;let a=n.replace(/^\d+\.\s*/,"").trim().toLowerCase();return t.some(l=>{let i=l.trim().toLowerCase();return a===i||a.startsWith(`${i} `)||a.includes(i)||i.includes(a)})}function wt(e){return!e||e==="auto"?"US":e}function an(e){return e==="GB"||e==="UK"?"GBP":e==="AU"?"AUD":e==="CA"?"CAD":["DE","FR","IT","ES","NL"].includes(e)?"EUR":"USD"}function P0(e,t){if(e.isBuyingGuideProduct||e.isReviewProduct)return!0;if(t==="unavailable")return!1;let n=String(e.isoCurrency||e.currency||"").trim().toUpperCase();return({$:"USD",A$:"AUD",CA$:"CAD","\xA3":"GBP","\u20AC":"EUR"}[n]||n)===an(t)}function fi(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=a?n.currency||(n.price&&typeof n.price=="object"?n.price.currency:""):l.currency||(typeof l=="string"?l:"")||n.currency||"";!i&&n.variants&&n.variants.length>0&&(i=n.variants[0].currency||"");let r="$",o="USD",u=(i||"").toString().toUpperCase().trim();return u==="GBP"||u==="\xA3"||u.includes("POUND")||u.includes("163")?(r="\xA3",o="GBP"):u==="EUR"||u==="\u20AC"||u.includes("EURO")||u.includes("8364")?(r="\u20AC",o="EUR"):u==="AUD"||u==="A$"?(r="A$",o="AUD"):u==="CAD"||u==="CA$"?(r="CA$",o="CAD"):u==="USD"||u==="$"||u.includes("DOLLAR")||u.includes("36")?(r="$",o="USD"):(o=an(t),o==="GBP"?r="\xA3":o==="AUD"?r="A$":o==="CAD"?r="CA$":o==="EUR"&&(r="\u20AC")),{isoCurr:o,currencyStr:r}}function Ku(e){let t=e.data||{},n=e.type==="featured-product",a=t.price||{},l=0,i=0;return n?(l=typeof a=="number"?a:a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):t.msrp?parseFloat(t.msrp):0):(l=a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):0),{rawPrice:l,rawMsrp:i}}function Sa(e,t){if(!t||t==="all"||e<=0)return!0;if(t==="under50"&&e>=50||t==="over50"&&e<=50||t==="over30"&&e<=30||t==="over500"&&e<=500)return!1;if(t.includes("_")){let[n,a]=t.split("_").map(Number);if(n&&e<n||a&&e>a)return!1}return!0}function Ca(e,t,n){if(!n||n==="0"||n==="all")return!0;let a=parseInt(n);return!(!isNaN(a)&&a>0&&(!t||t<=e||Math.round((1-e/t)*100)<a))}var Zu=[0,50,100,150,200,250,300,350,400,450],ff={parameter:"articleControlTag",value:"type_buying_guide"},u2={includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"}]},c2={pcgamer:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["deals","type_deal","channel_gaming_hardware"]}],buyingGuideScopes:[ff]},homesandgardens:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"sig-product-collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"van-hawk-collection-widget",inventoryKind:"collections"},{parameter:"articleControlTag",value:"shopping",requiredArticleType:"news",inventoryKind:"collections"},{parameter:"articleType",value:"deals",inventoryKind:"deals"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["shopping","type_deal"],inventoryKind:"deals"}],buyingGuideScopes:[{parameter:"articleType",value:"buying guide"},ff]},whowhatwear:{includeAllContent:!0,pageStarts:Zu,scopes:[{}]}};function Wu(e,{includeBuyingGuideProducts:t=!1,includeCollections:n=!0,includeDeals:a=!0}={}){let l=c2[e]||u2;if(l.includeAllContent)return l;let i=l.scopes.filter(r=>r.inventoryKind==="collections"?n:r.inventoryKind==="deals"?a:r.value==="sig-product-collection"?n:a);return t?{...l,scopes:[...i,...l.buyingGuideScopes||[ff]]}:{...l,scopes:i}}function gf(e){if(Array.isArray(e))return e;let t=e.data;return t&&Array.isArray(t)?t:[]}function q0(e){let t=new Set;return e.filter(n=>{let a=n.id||n.articleid||n.url;return!a||t.has(a)?!1:(t.add(a),!0)})}function Zt(e){return typeof e.articletype=="string"?e.articletype.toLowerCase():Array.isArray(e.articletype)&&e.articletype.length>0?e.articletype[0].toLowerCase():""}function Hr(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]/g,"")}function mf(e){return[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]].map(Hr)}function s2(e){return Zt(e)==="review"&&mf(e).some(t=>t.includes("channelgaminghardware"))}function F0(e,t,n){let a=Zt(e),l=mf(e),i=c=>l.some(s=>s.includes(c)),r=a==="news"&&i("shopping")&&i("deal")&&i("typedeal"),o=a==="deals"||r,u=a==="collection"||i("sigproductcollection")||i("vanhawkcollectionwidget")||a==="news"&&i("shopping")&&!r||a==="idea"&&i("shopping")&&(i("sigproductcollection")||i("vanhawkcollectionwidget"));return t&&o||n&&u}function el(e,t=!0,n=!0,a){if(a==="homesandgardens")return F0(e,t,n);let l=Zt(e),i=mf(e),r=l==="deals"||i.some(u=>u.includes("typedeal")),o=i.some(u=>u.includes("sigproductcollection"));return t&&r||n&&o}function j0(e,t,n=!1,a=!1,l=!0,i=!0){if(a&&Zt(e)==="review")return t!=="pcgamer"||s2(e);if(t==="homesandgardens")return Zt(e)==="buying guide"?n:F0(e,i,l);let r=Wu(t,{includeBuyingGuideProducts:n,includeCollections:l,includeDeals:i});if(r.includeAllContent)return i&&l?!0:n||el(e,i,l);let o=Zt(e),u=[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]],c=f=>!f.requiredArticleType||o===f.requiredArticleType.toLowerCase(),s=f=>!f.requiredControlTags||f.requiredControlTags.every(d=>u.some(m=>typeof m=="string"&&Hr(m).includes(Hr(d))));return r.scopes.some(f=>!c(f)||!s(f)?!1:f.parameter==="articleType"?o===f.value.toLowerCase():f.parameter==="articleControlTag"?u.some(d=>typeof d=="string"&&Hr(d).includes(Hr(f.value))):!1)}function hf(e,t){let n=e.map(a=>({...a}));return t.filter(a=>(a.isBuyingGuideProduct||a.isReviewProduct)&&a.brand).forEach(a=>{let l=String(a.brand).trim();if(!l)return;let i=n.find(r=>r.formatted_value.toLowerCase()===l.toLowerCase());i?i.count++:n.push({formatted_value:l,count:1})}),n.sort((a,l)=>l.count-a.count)}function Iu(e,t){let n={};return e.forEach(a=>{if(!a.articlepage)return;let l=ci(a),i=si(l,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});(t.includeDeals===!1||t.includeCollections===!1)&&!i.some(r=>r.type==="buying-guide")&&!el(a,t.includeDeals,t.includeCollections,t.website)||i.forEach(r=>{if(fi(r,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:o,rawMsrp:u}=Ku(r);if(!Sa(o,t.priceRange)||!Ca(o,u,t.discountAmount))return;let c=r.data||{},s=c.brand||c.retailer;if(!s)return;let f=s.replace(/^\d+\.\s*/,"").trim(),d=f.toLowerCase(),m=Object.keys(n).find(v=>v.toLowerCase()===d);m?n[m]++:(f===f.toLowerCase()&&(f=f.replace(/\b\w/g,v=>v.toUpperCase())),n[f]=1)})}),Object.keys(n).map(a=>({formatted_value:a,count:n[a]})).sort((a,l)=>l.count-a.count)}function d2(e){return String(e||"").trim().toLowerCase()}function Ju(e){return(Array.isArray(e)?e:[e]).map(d2).filter(Boolean)}function pf(e){let t=Ju(e.articletype),n=[...Ju(e.articlecontroltag),...Ju(e.articletagtypetaghandle)];return t.includes("deals")||n.some(a=>a.replace(/[\s-]+/g,"_")==="type_deal")}function V0(e){let t=Array.isArray(e)?e[0]:e,n=new Date(String(t||"")).getTime();return Number.isFinite(n)?n:null}function f2(e){for(let t of[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]){let n=V0(t);if(n!==null)return n}return null}function g2(e){for(let t of[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]){let n=V0(t);if(n!==null)return n}return null}function Y0(e){return Ju(e.articletype).includes("review")}function yf(e,t=new Date,n=0){let a=pf(e)?1:Y0(e)?36:n;if(a<=0)return!0;let l=Y0(e)?g2(e):f2(e);if(l===null)return!0;let i=new Date(t);return i.setMonth(i.getMonth()-a),l>=i.getTime()}function tl(e,t,n=0){return e.filter(a=>yf(a,t,n))}var m2=15;function Q0(e){return Array.isArray(e.articlemedia)?e.articlemedia[0]:""}function zr(e){return Array.isArray(e.documenturl)?e.documenturl[0]:e.documenturl||""}function h2(e){return kt(String(e||"").replace(/^\d+\.\s*/,"").trim())}function tt(e){return Array.isArray(e)?e.map(tt).find(Boolean)||"":typeof e=="string"||typeof e=="number"?String(e).trim():""}function vf(e,t=!1){return(t?[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]:[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]).map(tt).find(Boolean)||""}function p2(e,t,n){let a=tt(e).match(/^\s*(\d+)\s*[.)]\s*/)?.[1];return a||[t.rank,t.position,t.number,t.productNumber,t.product_number].map(tt).map(i=>i.match(/^\s*(\d+)\s*$/)?.[1]||"").find(Boolean)||String(n+1)}function y2(e){let t=tt(e);try{t=new URL(t).pathname}catch{}return t=t.split(/[?#]/)[0].split("/").filter(Boolean).at(-1)||"",t.split(/[-_]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function v2(e){return tt(e.documenthandle)||tt(e.document_handle)||zr(e)||tt(e.documentname)||tt(e.documentnametext)}function b2(e,t){if(!t)return"";let n=t.length>m2?"Ranked":t;return`#${e} ${n}`}function A2(e){if(typeof e=="object"&&e)return String(e["data-model-name"]||"");try{return String(JSON.parse(String(e||""))["data-model-name"]||"")}catch{return""}}function w2(e){let t=e.brand||e.productBrand||e.manufacturer||e.maker||"";return typeof t=="string"?kt(t.replace(/^\d+\.\s*/,"").trim()):""}function S2(e){let t=e.price&&typeof e.price=="object"?e.price:{},n=Number(t.salePrice||t.price||e.salePrice||e.current_price||(typeof e.price=="number"?e.price:0)),a=Number(t.wasPrice||t.msrp||e.was_price||e.msrp||0),l=e.url||e.link?.url||e.link?.href||"";return{currency:t.currency||e.currency||"",rawMsrp:Number.isFinite(a)?a:0,rawPrice:Number.isFinite(n)?n:0,url:l}}function bf(e){let t=e?.review||{},n=t.rating??t.starRating??t.score??e?.rating??e?.starRating??e?.score,a=Number(n);if(!Number.isFinite(a)||a<=0)return null;let l=a>5?a/20:a;return Math.min(l,5)}function K0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,imageUrl:i}){let r=t.data||{},o=r.review||{},u=h2(r.title),c=p2(r.title,r,a),s=y2(v2(e)),f=zr(e),d=S2(r),m=!!d.url,v=m?d.url:o.url||f,A=i||Q0(e);return{id:`airedale-buying-guide-${n}-${a}`,url:v,image:A,fallbackImage:A,title:u,brand:w2(r),productName:u,merchant:"",rawPrice:d.rawPrice,rawMsrp:d.rawMsrp,price:d.rawPrice>0?String(d.rawPrice):"",msrp:d.rawMsrp>0?String(d.rawMsrp):"",currency:d.currency,isoCurrency:"",isCheckPrice:d.rawPrice<=0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf(r),description:"",text:"",subtitle:kt(r.subtitle||""),pros:Array.isArray(r.pros)?r.pros:[],cons:Array.isArray(r.cons)?r.cons:[],...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:!1,isBuyingGuideProduct:!0,buyingGuideBadge:b2(c,s),hawkModelName:A2(r.hawk),hasCommerceOffer:m,sourceArticleUrl:f}}function C2(e){return gi(e)||tt(e.documentnametext)||tt(e.documentname)}function $u(e){if(Array.isArray(e))return e.map($u).find(Boolean)||"";if(e&&typeof e=="object"){let n=e,a=tt(n["data-widget-type"]||n.dataWidgetType||n.widgetType).toLowerCase(),l=tt(n["data-model-name"]||n.dataModelName||n.modelName);return a==="review"&&l?l:Object.values(n).map($u).find(Boolean)||""}if(typeof e!="string")return"";let t=[e,e.replace(/\\"/g,'"').replace(/\\u0022/gi,'"')];for(let n of t){try{let l=$u(JSON.parse(n));if(l)return l}catch{}let a=n.match(/["']data-widget-type["']\s*:\s*["']review["'][\s\S]{0,1500}?["']data-model-name["']\s*:\s*["']([^"']+)["']/i);if(a?.[1])return a[1].trim()}return""}function gi(e){let t=tt(e.articlehawkmodels);if(t)return t;for(let n of[e.articlepage,e.articlebodypageblock,e.articlepageblock,e.fepjson,e.articlebodyclean]){let a=$u(n);if(a)return a}return""}function X0(e){return(Array.isArray(e)?e:[e]).map(t=>kt(tt(t))).filter(Boolean)}function Z0({article:e,articleIdentity:t,authorProfile:n}){let a=kt(gi(e)),l=kt(C2(e)),i=zr(e),r=Q0(e),o=kt(tt(e.productverdict));return{id:`airedale-review-${t}`,url:i,image:r,fallbackImage:r,title:l,brand:"",productName:l,merchant:"",rawPrice:0,rawMsrp:0,price:"",msrp:"",currency:"",isoCurrency:"",isCheckPrice:!0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf({rating:e.productrating}),description:o,text:o,...n,documentUrl:i,modifiedDate:vf(e,!0),isFeatured:!1,isReviewProduct:!0,hawkModelName:a||l,hasCommerceOffer:!1,sourceArticleUrl:i,pros:X0(e.productpros),cons:X0(e.productcons)}}function kt(e){return typeof e=="string"?ee(e):e}function W0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,currencyString:i,isoCurrency:r,presentation:o,pricing:u}){let c=t.data||{},{isFeatured:s,externalUrl:f,summaryTitle:d,description:m,imageUrl:v,merchantName:A}=o,{rawPrice:b,rawMsrp:h,savingLabel:g}=u;return{id:`airedale-${n}-${a}`,url:f,image:v,fallbackImage:v,title:kt(d),brand:kt(c.brand||""),productName:kt(c.productName||""),merchant:kt(A),rawPrice:b,rawMsrp:h,price:b>0?b.toString():"",msrp:h>0?h.toString():"",currency:i,isoCurrency:r,isCheckPrice:!b,savingLabel:g,savingType:h>b?"amount":"none",isPrime:!1,starRating:bf(c),description:kt(m),text:kt(c.text||""),...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:s,hasCommerceOffer:!!f}}function I0(e,t){let n=t.data||{},a=t.type==="featured-product",l=n.link||{},i=n.image||{};n.brand&&(n.brand=n.brand.replace(/^\d+\.\s*/,"").trim());let r=a?n.url:l.href||null,o=a?n.name||n.brand:n.productName||l.label||(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),u=a?n.strapline||"":n.text||"";if(!a&&!n.productName&&n.text){let f=n.text.split(/<br\s*\/?>/i);if(f.length>1)o=f[0].replace(/<[^>]+>/g,"").trim(),u=f.slice(1).join(" ").replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();else{let d=n.text.match(/<strong>(.*?)<\/strong>/);d&&(o=d[1].replace(/<[^>]+>/g,"").trim(),o.endsWith(":")&&(o=o.slice(0,-1)))}}let c=a?i.mos:i.src||null;c?.startsWith("//")&&(c=`https:${c}`),u=u.replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").replace(/View Deal$/i,"").trim();let s=n.retailer||"";if(!s&&r)try{s=new URL(r).hostname.replace("www.","").split(".")[0],s=s.charAt(0).toUpperCase()+s.slice(1)}catch{}return s||(s="Retailer"),{isFeatured:a,externalUrl:r,summaryTitle:o,description:u,imageUrl:c,merchantName:s}}function J0(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=0,r=0;a?(i=typeof n.salePrice=="number"&&n.salePrice>0?n.salePrice:typeof n.price=="number"?n.price:0,r=typeof n.salePrice=="number"&&typeof n.price=="number"&&n.price>n.salePrice?n.price:0):(i=l.amount?parseFloat(l.amount):0,r=l.amountWas?parseFloat(l.amountWas):0);let o=0,u="";return i>0&&r>i&&(o=parseFloat((r-i).toFixed(2)),u=`Save ${t}${o}`),{rawPrice:i,rawMsrp:r,savingLabel:u}}function R2(e,t){let n=e.indexOf(t);if(n<1)return"";let a=e[n-1]?.data||{},i=a.slides?.[0]?.image||a.image||a;return i?.src||i?.mos||""}function Ur(e,{activeRegionCode:t,targetIso:n,selectedBrands:a,priceRange:l,discountAmount:i,authorHandle:r,authorName:o,createFallbackIdentity:u=Math.random,includeBuyingGuideProducts:c=!1,includeCollections:s=!0,includeDeals:f=!0,includeReviewProducts:d=!1,website:m}){let v=[],A=new Set;return e.forEach(b=>{if(d&&Zt(b)==="review"){v.push(Z0({article:b,articleIdentity:b.id||u(),authorProfile:Qu(b,r,o)}));return}if(!b.articlepage)return;let h=ci(b),g=si(h,c,{includeCollections:s,includeDeals:f});(f===!1||s===!1)&&!g.some(p=>p.type==="buying-guide")&&!el(b,f,s,m)||g.forEach((p,y)=>{if(p.type==="buying-guide"){v.push(K0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),imageUrl:R2(h,p)}));return}let{isoCurr:C,currencyStr:R}=fi(p,t);if(C!==n)return;let T=p.data||{},M=I0(b,p),{externalUrl:w}=M,D=J0(p,R),{rawPrice:k,rawMsrp:se}=D;if(!(a&&a.length>0&&!di(T,a))&&Sa(k,l)&&Ca(k,se,i)){if(w){if(A.has(w))return;A.add(w)}v.push(W0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),currencyString:R,isoCurrency:C,presentation:M,pricing:D}))}})}),v}function mi(e,t){return Ur(e,{...t,selectedBrands:[],priceRange:"all",discountAmount:"0"})}function $0(e,t){return Ur(e,t)}function Gr(e){return(Array.isArray(e)?e:[e]).filter(n=>typeof n=="string").map(n=>n.trim())}function ec(e){return e?.trim().toLowerCase()==="freeform"}function Af(e){return!!e&&!/[^\p{L}\p{N}\s]/u.test(e)}function wf(e){let t=Gr(e.articletag),n=Gr(e.articletaghandle),a=Gr(e.articletagtype),l=new Map;t.forEach((o,u)=>{let c=n[u];!ec(a[u])||!c||!Af(o)||l.set(c.toLowerCase(),{handle:c,label:o,requestValue:o})});let i=Gr(e.articletagtypetag),r=Gr(e.articletagtypetaghandle);return i.forEach((o,u)=>{let[c,...s]=o.split("|"),[f,...d]=(r[u]||"").split("|"),m=s.join("|").trim(),v=d.join("|").trim();!ec(c)||!ec(f)||!v||!Af(m)||l.has(v.toLowerCase())||l.set(v.toLowerCase(),{handle:v,label:m,requestValue:m})}),r.forEach(o=>{let[u,...c]=o.split("|"),s=c.join("|").trim();!ec(u)||!s||!Af(s)||l.has(s.toLowerCase())||l.set(s.toLowerCase(),{handle:s,label:s})}),[...l.values()]}function ev(e,t){if(t)return e.find(n=>n.handle.toLowerCase()===t.toLowerCase())?.requestValue}function hi(e,t){let n=(Array.isArray(t)?t:[t]).filter(a=>typeof a=="string").map(a=>a.trim().toLowerCase()).filter(Boolean);return n.length===0?e:e.filter(a=>wf(a).some(l=>n.includes(l.handle.toLowerCase())))}function T2(e){let t=new Map;return Array.isArray(e.articlecategory)?(e.articlecategory.forEach(n=>{if(typeof n!="string")return;let a=n.trim();a===a.toLowerCase()&&(a=a.replace(/\b\w/g,l=>l.toUpperCase())),a&&!t.has(a.toLowerCase())&&t.set(a.toLowerCase(),{handle:a,label:a})}),[...t.values()]):[]}function tv(e,t,n){let a={},l={},i={};e.forEach(u=>{let c=[];if(t.includeReviewProducts&&Zt(u)==="review"&&c.push(u.id||u.documenturl||u.documenthandle||""),u.articlepage)try{let s=ci(u),f=si(s,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});if((t.includeDeals===!1||t.includeCollections===!1)&&!f.some(d=>d.type==="buying-guide")&&!el(u,t.includeDeals,t.includeCollections,t.website))return;f.forEach(d=>{if(d.type==="buying-guide"){c.push(d.id||JSON.stringify(d.data||{}));return}if(fi(d,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:m,rawMsrp:v}=Ku(d);if(!Sa(m,t.priceRange)||!Ca(m,v,t.discountAmount))return;let A=d.data||{};if(t.selectedBrands&&t.selectedBrands.length>0&&!di(A,t.selectedBrands))return;let h=d.type==="featured-product"?A.primaryLink:A.link,g=A.url||A.link&&A.link.url||h&&h.url;c.push(g||JSON.stringify(A))})}catch{}c.length!==0&&n(u).forEach(s=>{let f=s.handle.toLowerCase(),d=Object.keys(a).find(m=>m.toLowerCase()===f);d||(d=s.handle,a[d]=new Set,l[d]=s.label,i[d]=s.requestValue),c.forEach(m=>a[d].add(m))})});let r={};return Object.keys(a).forEach(u=>{r[u]=a[u].size}),{tags:Object.keys(r).map(u=>({handle:u,label:l[u]||u,requestValue:i[u]})).sort((u,c)=>r[c.handle]-r[u.handle]),tagCounts:r}}function tc(e,t){let{tags:n,tagCounts:a}=tv(e,t,T2);return{tags:n.map(l=>l.label),tagCounts:a}}function nc(e,t){let{tags:n,tagCounts:a}=tv(e,t,wf);return{tags:n,tagCounts:a}}function E2(e,t){return e.documentUrl||e.sourceArticleUrl||e.articleId||`deal-${t}`}function yn(e,t,n){if(t!=="mix"||n!=="date_desc")return e;let a=new Map;e.forEach((o,u)=>{let c=E2(o,u),s=a.get(c)||[];s.push(o),a.set(c,s)});let l=[],i=0,r=!0;for(;r;)r=!1,a.forEach(o=>{let u=o[i];u&&(l.push(u),r=!0)}),i+=1;return l}var nv="compact-v1",D2={brand:"",currency:"",hasCommerceOffer:!1,isoCurrency:"",isCheckPrice:!0,isFeatured:!1,isPrime:!1,merchant:"",merchantId:"",msrp:"",price:"",rawMsrp:0,rawPrice:0,savingLabel:"",savingType:"none"},x2={hasCommerceOffer:!0,hawkPricePending:!1,rawMsrp:0,rawPrice:0};function av(e){return e.map(t=>{if(!t.isReviewProduct)return t;let n=String(t.sourceArticleUrl||t.documentUrl||t.url||""),a=t.fallbackImage??t.image??"",l={...D2,...t,fallbackImage:a,image:t.image??a,sourceArticleUrl:n,documentUrl:t.documentUrl??n,url:t.url??n,title:t.title??t.productName??"",text:t.text??t.description??"",hawkPricePending:t.hawkPricePending??!!t.hawkModelName,pros:t.pros??[],cons:t.cons??[]};return t.hawkRegionalCommerce&&(l.hawkRegionalCommerce=Object.fromEntries(Object.entries(t.hawkRegionalCommerce).map(([i,r])=>{let o=r,u=o.productName??l.productName,c=o.rawPrice??0,s=o.rawMsrp??0;return[i,{...x2,...o,fallbackImage:o.fallbackImage??a,image:o.image??a,productName:u,title:o.title??u??l.title,price:o.price??(c?String(c):""),msrp:o.msrp??(s?String(s):"")}]}))),l})}function ac(e,t,n=100){let a=new Set(e.slice(0,t).map((i,r)=>i.id||`visible-${r}`)),l=e.slice(0,t).filter(i=>i.isReviewProduct).length;return e.filter((i,r)=>{let o=i.id||`visible-${r}`;return a.has(o)?!0:i.isReviewProduct?(l+=1,l<=n):!1})}function lv(e,t){let n=new Map(t.map((a,l)=>[a.id||`enriched-${l}`,a]));return e.map((a,l)=>n.get(a.id||`enriched-${l}`)||a)}var M2=new Set(["deal","featured-product","gallery","buying-guide","text","section"]);function lc(e){return!!e&&typeof e=="object"}function iv(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function rv(e){try{let t=iv(e);if(!Array.isArray(t)||!t[0])return;let n=t[0],a=typeof n=="string"?iv(n):Array.isArray(n)?n:lc(n)&&"type"in n?t:n;if(!Array.isArray(a))return;let l=a.filter(i=>lc(i)&&M2.has(i.type)).map(i=>i.type==="text"&&i.data?{type:"text",data:{paragraphs:Array.isArray(i.data.paragraphs)?i.data.paragraphs.slice(0,3):void 0,text:typeof i.data.text=="string"?i.data.text.slice(0,500):void 0}}:i.type==="section"&&i.data?{type:"section",data:{text:i.data.text,heading:i.data.heading,title:i.data.title}}:i);return l.length>0?[JSON.stringify(l)]:void 0}catch{return}}function ov(e){if(!Array.isArray(e))return[];let t=!1;return e.map(n=>{if(!lc(n))return n;let a=n.articlepage?rv(n.articlepage):void 0,l=!!(n.articleauthormedia||n.articleauthorrole),i=!!(!t&&(n.articleauthorbio||n.articleauthorlongbio||n.articleauthorsocialnetworks));return i&&(t=!0),{id:n.id,articlename:n.articlename,documentname:n.documentname,documentnametext:n.documentnametext,documenthandle:n.documenthandle,articlecategory:n.articlecategory,articletag:n.articletag,articletaghandle:n.articletaghandle,articletagtype:n.articletagtype,articletagtypetag:n.articletagtypetag,articletagtypetaghandle:n.articletagtypetaghandle,articlecontroltag:n.articlecontroltag,articletype:n.articletype,articleauthor:n.articleauthor,articleauthorhandle:n.articleauthorhandle,articleauthortext:n.articleauthortext,...l?{articleauthorrole:n.articleauthorrole,articleauthormedia:n.articleauthormedia}:{},articlestrapline:n.articlestrapline,articlesocialtitle:n.articlesocialtitle,documenturl:n.documenturl,articlemedia:n.articlemedia,articlehawkmodels:n.articlehawkmodels,productrating:n.productrating,productpros:n.productpros,productcons:n.productcons,productverdict:n.productverdict,contentmodifieddate:n.contentmodifieddate,modifieddate:n.modifieddate,createddate:n.createddate,datepublished:n.datepublished,publisheddate:n.publisheddate,...i?{articleauthorbio:n.articleauthorbio,articleauthorlongbio:n.articleauthorlongbio,articleauthorsocialnetworks:n.articleauthorsocialnetworks}:{},...a?{articlepage:a}:{}}})}function uv(e){return Array.isArray(e)?e.map(t=>{if(!lc(t))return t;let n=t.articlepage?rv(t.articlepage):void 0;return{id:t.id,articleid:t.articleid,articlename:t.articlename,documentname:t.documentname,documentnametext:t.documentnametext,documenthandle:t.documenthandle,articleauthor:t.articleauthor,articleauthorhandle:t.articleauthorhandle,articleauthortext:t.articleauthortext,articleauthorrole:t.articleauthorrole,articleauthormedia:t.articleauthormedia,articleauthorbio:t.articleauthorbio,articleauthorlongbio:t.articleauthorlongbio,articleauthorsocialnetworks:t.articleauthorsocialnetworks,articlecategory:t.articlecategory,articletag:t.articletag,articletaghandle:t.articletaghandle,articletagtype:t.articletagtype,articletagtypetag:t.articletagtypetag,articletagtypetaghandle:t.articletagtypetaghandle,articletype:t.articletype,articlestrapline:t.articlestrapline,articlesocialtitle:t.articlesocialtitle,documenturl:t.documenturl,articlemedia:t.articlemedia,articlehawkmodels:t.articlehawkmodels,productrating:t.productrating,productpros:t.productpros,productcons:t.productcons,productverdict:t.productverdict,url:t.url,contentmodifieddate:t.contentmodifieddate,modifieddate:t.modifieddate,createddate:t.createddate,datepublished:t.datepublished,publisheddate:t.publisheddate,content:t.content,dek:t.dek,image_thumbnail:t.image_thumbnail,intro:t.intro,paragraphs:t.paragraphs,strapline:t.strapline,subtitle:t.subtitle,title:t.title,...n?{articlepage:n}:{}}}):[]}function pi(e){if(!e?.modifiedDate)return 0;let t=Array.isArray(e.modifiedDate)?e.modifiedDate[0]:e.modifiedDate,n=new Date(t).getTime();return Number.isNaN(n)?0:n}function nl(e){return e?.hasCommerceOffer===!0?!0:e?.hasCommerceOffer===!1?!1:!!(!e?.isBuyingGuideProduct&&!e?.isReviewProduct&&e?.url)}function ln(e,t,n=!0){let a=!0;t==="date_desc"?e.sort((l,i)=>pi(i)-pi(l)):t==="price_asc"?e.sort((l,i)=>l.rawPrice-i.rawPrice):t==="price_desc"?e.sort((l,i)=>i.rawPrice-l.rawPrice):t==="discount_desc"?e.sort((l,i)=>{let r=l.rawMsrp>l.rawPrice?l.rawMsrp-l.rawPrice:0;return(i.rawMsrp>i.rawPrice?i.rawMsrp-i.rawPrice:0)-r}):t==="rating_desc"?e.sort((l,i)=>{let r=Number(l.starRating)||0;return(Number(i.starRating)||0)-r||pi(i)-pi(l)}):t==="scored_first"?e.sort((l,i)=>{let r=Number(l.starRating)>0?1:0;return(Number(i.starRating)>0?1:0)-r||pi(i)-pi(l)}):a=!1,a&&n&&e.sort((l,i)=>Number(nl(i))-Number(nl(l)))}function cv(e,t,n){let a=e;if(!a&&t){let l=n.find(i=>i.toLowerCase()===t?.toLowerCase());l&&(a=l)}return a}function Pr(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(a=>a.articlecategory&&Array.isArray(a.articlecategory)&&a.articlecategory.some(l=>{if(!l||typeof l!="string")return!1;let i=l.toLowerCase(),r=i.split(":::");return i===n||r[0]===n||i.includes(n)}))}function sv(e){let t=wt(e.region);return{activeRegionCode:t,targetIso:an(t)}}function al(e,t,{discountAmount:n,priceRange:a}={}){let l=!!(a&&a!=="all"),i=!!(n&&n!=="0"&&n!=="all");return!t?.length&&!l&&!i?e:e.filter(r=>!r.isBuyingGuideProduct&&!r.isReviewProduct?!0:t?.length&&!di({brand:r.brand},t)||l&&(!Number(r.rawPrice)||!Sa(Number(r.rawPrice),a))?!1:Ca(Number(r.rawPrice)||0,Number(r.rawMsrp)||0,n))}function _2(e,t){let n=e.articleauthorhandle||[],a=e.articleauthor||[],l=e.articleauthortext||[],i=new Set([t.handle.toLowerCase(),t.fullName.toLowerCase(),t.name.toLowerCase()]);return[...n,...a,...l].some(r=>i.has(String(r||"").toLowerCase()))}function Sf(e,t,n){let a=Object.fromEntries(e.map(l=>[l.handle,0]));return t.forEach(l=>{let i=mi([l],n).length;i!==0&&e.forEach(r=>{_2(l,r)&&(a[r.handle]+=i)})}),a}function Cf(e,t){let n=Xu(e,t.authorHandle,t.authorName),a=t.selectedArticleId?n.filter(A=>A.id===t.selectedArticleId):n,{activeRegionCode:l,targetIso:i}=sv(t),{tags:r,tagCounts:o}=tc(a,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),u=cv(t.activeDealTag,t.query,r),c=Pr(a,u),{tags:s,tagCounts:f}=nc(c,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),d=t.activeFreeformTags?.length?t.activeFreeformTags:t.activeFreeformTag?[t.activeFreeformTag]:[],m=d.flatMap(A=>{let b=s.find(h=>h.handle.toLowerCase()===A.toLowerCase());return b?[b.handle]:[]}),v=t.preserveFreeformTagSelection?d:m;return{activeDealTag:u,activeFreeformTag:v[0]||null,activeFreeformTags:v,activeRegionCode:l,authorArticles:n,freeformTagCounts:f,freeformTags:s,tagCounts:o,tags:r,targetArticles:hi(c,v),targetIso:i}}function ic(e,t,n,a){let l=Iu(e,{activeRegionCode:n,targetIso:a,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),i=Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(i,t.sort,t.prioritiseCommercialProducts);let r=yn(al(i,t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange}),t.productSelection,t.sort).map(o=>(o.isBuyingGuideProduct||o.isReviewProduct)&&o.hawkModelName?{...o,hawkPricePending:!0}:o);return{brands:l,displayedDeals:r,extractedDeals:i}}function dv(e,t){let{activeRegionCode:n,targetIso:a}=sv(t),l=Lr(e,t.website||"tomsguide"),i=e.filter(o=>mi([o],{activeRegionCode:n,targetIso:a,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}).length>0),r=al(Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange});return{authorCount:kr(l,i).length,deals:r}}function fv({allArticles:e,authorArticles:t,inventoryArticles:n,bakeReviewInventory:a,brands:l,couponMap:i,currentDealTag:r,currentFreeformTags:o,displayedDeals:u,options:c,resultCount:s,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}){let h=Lr(e,c.website||"tomsguide"),g=Sf(h,n,{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),selectedBrands:c.selectedBrands,priceRange:c.priceRange,discountAmount:c.discountAmount,includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}),p=kr(h,e.filter(C=>mi([C],{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}).length>0)),y=Number(s)||12;return{activeDealTag:r,activeFreeformTag:o[0]||null,activeFreeformTags:o,allDeals:a?ac(u,y):u,authorArticles:ov(t),authors:Yu(p,g),brands:l,couponMap:i,deals:u.slice(0,y),reviewInventoryBaked:a,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}}function B2(e){return e&&e.widget&&e.widget.data&&Array.isArray(e.widget.data.offers)?e.widget.data.offers:e&&e.data&&Array.isArray(e.data.offers)?e.data.offers:Array.isArray(e)?e:e&&Array.isArray(e.offers)?e.offers:e&&e.offers&&Array.isArray(e.offers.offer)?e.offers.offer:e&&Array.isArray(e.data)?e.data:[]}function gv(e,t,n){let a={...n},l=new Set;return B2(e).forEach(r=>{let o="";r.merchant_name?o=r.merchant_name:r.merchant&&r.merchant[0]&&r.merchant[0].name?o=r.merchant[0].name:r.merchant&&r.merchant.name?o=r.merchant.name:r.retailer&&(o=r.retailer),o&&l.add(o.toLowerCase())}),t.forEach(r=>{a[r]=l.has(r.toLowerCase())?"has":"none"}),a}function mv(e){let t=[];return e?.widget?.data?.offers?t=e.widget.data.offers:e?.data?.offers?t=e.data.offers:Array.isArray(e)?t=e:e?.offers?.offer?t=Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers&&(t=Array.isArray(e.offers)?e.offers:[e.offers]),t}async function hv({couponMap:e,couponUrl:t,fetcher:n=fetch,merchants:a}){if(!t)return e;try{let l=await n(t.toString());return gv(await l.json(),a,e)}catch{let l={...e};return a.forEach(i=>{l[i]="none"}),l}}function pv({enrichingBuyingGuides:e,error:t,loading:n,loadingMore:a,refreshingFeed:l}){return t?"error":a?"loading_more":n?"loading_inventory":l?"refreshing_inventory":e?"enriching_visible_cards":"ready"}function yv(e,t){let n=Xu(tl(e),t.authorHandle,t.authorName),a=wt(t.region),l=an(a),{tags:i,tagCounts:r}=tc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),o=Iu(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),{tags:u,tagCounts:c}=nc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),s=$0(n,{activeRegionCode:a,targetIso:l,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(s,t.sort,t.prioritiseCommercialProducts);let f=yn(s,t.productSelection,t.sort);return{authorArticles:n,brands:o,deals:f,tagCounts:r,tags:i,freeformTagCounts:c,freeformTags:u}}var N2="fc-author-commerce-widget",vn="airedale-feeds";var rc=null;function vv(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Rf(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function Tf(){return rc||(typeof window>"u"||typeof window.indexedDB>"u"?Promise.resolve(null):(rc=new Promise(e=>{let t=window.indexedDB.open(N2,14);t.onupgradeneeded=()=>{let n=t.result;n.objectStoreNames.contains(vn)||n.createObjectStore(vn,{keyPath:"key"})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),rc))}function bv({authorHandle:e,authorName:t,includeBuyingGuideProducts:n,includeCollections:a,includeDeals:l,includeReviewProducts:i,articleCategory:r,articleTag:o,pageStarts:u,reviewPageStarts:c,loadAllReviewPages:s,website:f}){return["v14",f||"tomsguide",e||"",t||"",n?"buying-guides":"",a===!1?"no-collections":"collections",l===!1?"no-deals":"deals",i?"reviews":"",r||"",o||"",u?.join(",")||"",c?.join(",")||"",s===!1?"review-pages-partial":""].map(d=>encodeURIComponent(d)).join("|")}async function O2(e){let t=await Tf();if(!t)return;let n=t.transaction(vn,"readwrite"),a=Rf(n);n.objectStore(vn).delete(e),await a}async function Av(e,t=Date.now()){try{let n=await Tf();if(!n)return null;let a=n.transaction(vn,"readonly"),l=await vv(a.objectStore(vn).get(e));if(!l||l.schemaVersion!==14||!Array.isArray(l.articles)||l.articles.length===0)return null;let i=Math.max(0,t-l.cachedAt);return i>864e5?(O2(e),null):{articles:l.articles,cachedAt:l.cachedAt,isFresh:i<=6e5}}catch{return null}}async function k2(e){let t=e.transaction(vn,"readwrite"),n=Rf(t),a=t.objectStore(vn);(await vv(a.getAll())).sort((i,r)=>r.cachedAt-i.cachedAt).slice(10).forEach(i=>a.delete(i.key)),await n}async function wv(e,t,n=Date.now()){if(t.length!==0)try{let a=await Tf();if(!a)return;let l=a.transaction(vn,"readwrite"),i=Rf(l);l.objectStore(vn).put({articles:t,cachedAt:n,key:e,schemaVersion:14}),await i,await k2(a)}catch{}}var Ef=[];var Mf=[],Df=0;function Sv(){for(;Df<4&&Mf.length>0;){let e=Mf.shift();if(!e)return;Df+=1,e.run().then(e.resolve,e.reject).finally(()=>{Df-=1,Sv()})}}function L2(e){return new Promise((t,n)=>{Mf.push({reject:n,resolve:t,run:e}),Sv()})}function xf(e){Ef.push(e),Ef.length>100&&Ef.shift()}async function oc(e,t,n=4){let a=new Array(e.length),l=0,i=Math.min(Math.max(1,n),e.length);return await Promise.all(Array.from({length:i},async()=>{for(;l<e.length;){let r=l;l+=1,a[r]=await t(e[r],r)}})),a}async function yi(e,t){return L2(async()=>{let n=t.fetcher||fetch,a=Date.now(),l=new AbortController,i=!1,r=()=>l.abort();if(t.signal?.aborted)return xf({durationMs:0,outcome:"aborted",source:t.source,startedAt:a}),{data:null,response:null};t.signal?.addEventListener("abort",r,{once:!0});let o=setTimeout(()=>{i=!0,l.abort()},8e3);try{let u=await n(e,{signal:l.signal}),c=u.ok?await u.json():null;return xf({durationMs:Date.now()-a,outcome:u.ok?"succeeded":"failed",source:t.source,startedAt:a}),{data:c,response:u}}catch{return xf({durationMs:Date.now()-a,outcome:i?"timed_out":t.signal?.aborted?"aborted":"failed",source:t.source,startedAt:a}),{data:null,response:null}}finally{clearTimeout(o),t.signal?.removeEventListener("abort",r)}})}var Bf="https://airedale.futurecdn.net/feeds/feed_1786707986217.json",H2="https://airedale.futurecdn.net/feeds/feed_1786702796175.json",z2="https://airedale.futurecdn.net/feeds/feed_1787582137748.json",U2=2,_f=new Map,Cv=new Map;function Rv(e){let t=new URL(e),n=String(t.searchParams.get("articleType")||"").trim().toLowerCase(),a=String(t.searchParams.get("articleControlTag")||"").replace(/[\s-]+/g,"_").toLowerCase();return n!=="deals"&&a!=="type_deal"?null:(t.searchParams.delete("start"),t.toString())}function G2(e){return!e.response?.ok||e.articles.length<50?!1:!e.articles.some(t=>pf(t)&&!yf(t))}function P2(e){return!e.parameter||!e.value?"":`&${e.parameter}=${encodeURIComponent(e.value)}`}function q2(e,t="",n=!1,a,l,{includeCollections:i=!0,includeDeals:r=!0}={},o){let u=Wu(e,{includeBuyingGuideProducts:n,includeCollections:i,includeDeals:r}),c=a?`&articleCategory=${encodeURIComponent(a)}`:"",s=o?`&articleTag=${encodeURIComponent(o)}`:"";return u.scopes.flatMap(f=>(l||u.pageStarts).map(d=>`${Bf}?site=${e}&limit=${50}&start=${d}${P2(f)}${t}${c}${s}`))}function Tv(e,t="",n,a=0,l){let i=e==="pcgamer"?"&articleControlTag=channel_gaming_hardware":"",r=n?`&articleCategory=${encodeURIComponent(n)}`:"",o=l?`&articleTag=${encodeURIComponent(l)}`:"";return`${H2}?site=${encodeURIComponent(e)}&articleType=review&limit=${50}&start=${a}${i}${t}${r}${o}`}function F2(e,t){return t!=="pcgamer"?e:e.map(n=>{let a=Array.isArray(n.articlecontroltag)?n.articlecontroltag:[];return a.some(l=>String(l).replace(/[^a-z0-9]/gi,"").toLowerCase()==="channelgaminghardware")?n:{...n,articlecontroltag:[...a,"channel_gaming_hardware"]}})}function j2(e,t){return`${z2}?site=${encodeURIComponent(e)}&documentHandle=${encodeURIComponent(t)}&limit=1`}async function Y2(e,t){let n=`${e}|${t}`,a=Cv.get(n);if(a)return a;let l=yi(j2(e,t),{source:"review-model-resolver"}).then(({data:i})=>i?gf(i)[0]:null).then(i=>i?gi(i):"").catch(()=>"");return Cv.set(n,l),l}async function Nf(e,t,n,a="date_desc"){let l=o=>{let u=[o.datepublished,o.publisheddate,o.createddate,o.contentmodifieddate,o.modifieddate].find(s=>s!=null&&String(s).trim()),c=new Date(Array.isArray(u)?u[0]:u).getTime();return Number.isFinite(c)?c:0},i=o=>{let u=Array.isArray(o.productrating)?o.productrating[0]:o.productrating;return Number(u)||0},r=e.filter(o=>Zt(o)==="review"&&!gi(o)&&typeof o.documenthandle=="string"&&o.documenthandle.trim()).sort((o,u)=>{let c=i(o),s=i(u);return a==="rating_desc"?s-c||l(u)-l(o):a==="scored_first"&&+(s>0)-+(c>0)||l(u)-l(o)}).slice(0,n);return await Promise.all(r.map(async o=>{let u=await Y2(t,o.documenthandle);u&&(o.articlehawkmodels=[u])})),e}function xv(e,t){let n=()=>{wv(e,uv(t))};if(typeof window<"u"&&typeof window.requestIdleCallback=="function"){window.requestIdleCallback(n,{timeout:2e3});return}setTimeout(n,0)}function V2(e,t){return e&&e!=="all-authors"?`&articleAuthorHandle=${encodeURIComponent(e)}`:t&&t!=="All authors"&&t!=="all-authors"?`&articleAuthor=${encodeURIComponent(t)}`:""}function X2({articleCategory:e,articleTag:t,authorParameter:n}){return!!(n&&!e&&!t)}async function Mv({authorHandle:e,authorName:t,fallbackAuthorName:n,includeBuyingGuideProducts:a,includeCollections:l,includeDeals:i,includeReviewProducts:r,onProgress:o,articleCategory:u,articleTag:c,pageStarts:s,reviewPageStarts:f,loadAllReviewPages:d,signal:m,throwOnFailure:v,website:A}){let b=A||"tomsguide",h=V2(e,t),g=[],p=!1,y=!0,C=w=>j0(w,b,a,r,l,i),R=()=>q0(g).map(w=>{let D=gi(w);return D&&!String(w.articlehawkmodels||"").trim()?{...w,articlehawkmodels:[D]}:w}).filter(C),T=()=>{let w=R();w.length>0&&o?.(w)};try{let w=q2(b,h,a,u,s,{includeCollections:l,includeDeals:i},c),D=[];r&&(f||[0]).forEach(X=>{let de=Tv(b,h,u,X,c);D.push(de),w.push(de)});let k=async(X,de=D.includes(X)?"review-feed":"author-feed")=>{let $e=await yi(X,{signal:m,source:de});for(let jr=0;jr<U2&&!$e.response?.ok&&!m?.aborted;jr+=1)$e=await yi(X,{signal:m,source:de});let{data:Z,response:x}=$e,P=Z?gf(Z):[],Q=b==="pcgamer"&&de.startsWith("review-feed")?F2(P,b):P,Vn={articles:Q,data:Z,isPcGamerHardwareReviewFeed:b==="pcgamer"&&de.startsWith("review-feed"),response:x,reviewTotalCount:D.includes(X)&&Number(x?.headers.get("x-total-count"))||null};return Q.length>0&&g.push(...Q),Vn},se=w.filter(X=>Number(new URL(X).searchParams.get("start")||0)===0),I=w.filter(X=>!se.includes(X)),j=await oc(se,X=>k(X));T();let He=new Map(se.flatMap((X,de)=>{let $e=Rv(X);return $e?[[$e,j[de]]]:[]})),ze=new Map,St=[];I.forEach(X=>{let de=Rv(X);if(!de){St.push(X);return}ze.set(de,[...ze.get(de)||[],X])});let[Ie,rn]=await Promise.all([oc(St,X=>k(X)),Promise.all([...ze.entries()].map(async([X,de])=>{let $e=[],Z=He.get(X);for(let x of de){if(!Z||!G2(Z))break;let P=await k(x);$e.push(P),Z=P}return $e}))]),Be=[...Ie,...rn.flat()],Je=[...j,...Be];p=Je.length>0&&Je.every(X=>!X.response?.ok);let nt=Je.find(X=>X.reviewTotalCount!==null)?.reviewTotalCount;if(d!==!1&&f&&nt&&nt>f.length*50){let X=new Set(f),de=[];for(let Z=0;Z<nt;Z+=50)X.has(Z)||de.push(Z);let $e=await oc(de,async Z=>await k(Tv(b,h,u,Z,c),"review-feed-page"));Je.push(...$e)}y=Je.every(X=>X.response?.ok)}catch(w){y=!1}if(v&&p)throw new Error("The author feed could not be loaded");let M=R();if(M.length===0&&X2({authorParameter:h,articleCategory:u,articleTag:c}))try{let w=await yi(`${Bf}?site=${b}&limit=150${h}`,{signal:m,source:"author-feed-fallback"});if(!w.response?.ok&&n&&(w=await yi(`${Bf}?site=${b}&limit=150&articleAuthor=${encodeURIComponent(n)}`,{signal:m,source:"author-feed-fallback"})),w.data){let D=w.data,k=Array.isArray(D)?D:D.data||[];k.length>0&&(M=k.slice(0,150))}}catch(w){}return{articles:M.filter(C),complete:!m?.aborted&&y}}function Ev(e,t){let n=_f.get(e);if(n)return n;let a=Mv(t).then(l=>(l.complete&&l.articles.length>0&&xv(e,l.articles),l)).finally(()=>{_f.delete(e)});return _f.set(e,a),a}async function Dv(e,t){let n=await Mv(t);return n.complete&&n.articles.length>0&&xv(e,n.articles),n}async function _v({onBackgroundRefresh:e,onProgress:t,...n}){let a=bv(n),l=await Av(a);return l?(t?.(l.articles),l.isFresh||(n.signal?Dv(a,n):Ev(a,n)).then(({articles:o,complete:u})=>{u&&o.length>0&&e?.(o)}),l.articles):(await(n.signal?Dv(a,{...n,onProgress:t}):Ev(a,{...n,onProgress:t}))).articles}function Of(e,t){let n=e.shipping?.prime===!0,a=e.merchant?.name||e.merchant_name||e.retailer||"Retailer";typeof e.merchant=="string"&&(a=e.merchant);let l=null,i=0,r=String(e.model_id||e.id||"");if(r&&t)if(t[r]&&t[r].score!=null)l=parseFloat(t[r].score);else{let o=Object.values(t).find(u=>String(u.model_id)===r||String(u.id)===r);o&&o.score!=null&&(l=parseFloat(o.score))}return l!=null&&(i=Math.round((l>10?l/20:l/2)*2)/2),{isPrime:n,merchant:a,starRating:i>0?i:null}}function kf(e){let t=String(e.price||e.current_price||"0"),n=String(e.was_price||e.msrp||e.original_price||"0"),a=parseFloat(t.replace(/[^0-9.]/g,""))||0,l=parseFloat(n.replace(/[^0-9.]/g,""))||0,i=a===0||t==="0.00"||t==="0",r=e.currency&&typeof e.currency=="string"?e.currency:e.currency_symbol&&typeof e.currency_symbol=="string"?e.currency_symbol:"$",o=ee(e.percentage_saving_label||"");!o&&l>a&&a>0&&(o=Math.round((l-a)/l*100)+"% OFF");let u=r;return u.includes("&")&&(u.includes("36")?u="$":u.includes("163")||u.includes("pound")?u="\xA3":(u.includes("8364")||u.includes("euro"))&&(u="\u20AC")),{rawPrice:a,rawMsrp:l,currency:u,isCheckPrice:i,savingLabel:o}}function Bv({query:e,region:t,retailer:n,selectedBrands:a,offerType:l,priceRange:i,discountAmount:r,resultCount:o}){let u=new URL("https://search-api.fie.future.net.uk/widget.php");if(u.searchParams.append("model_name",e),t&&t!=="auto"&&u.searchParams.append("area",t),n&&u.searchParams.append("filter_merchant_name",n),a&&a.length>0&&u.searchParams.append("filter_label[text_brand]",a.join(",")),l&&u.searchParams.append("offer",l),i&&i!=="all"){if(i==="under50")u.searchParams.append("filter_max_price","50");else if(i==="over50")u.searchParams.append("filter_min_price","50");else if(i==="over30")u.searchParams.append("filter_min_price","30");else if(i==="over500")u.searchParams.append("filter_min_price","500");else if(i.includes("_")){let[c,s]=i.split("_");c&&u.searchParams.append("filter_min_price",c),s&&u.searchParams.append("filter_max_price",s)}}if(r&&r!=="0"){let c=(100-parseInt(r))/100;u.searchParams.append("min_discount_ratio",c.toString())}return u.searchParams.append("filter_product_types","deals"),u.searchParams.append("rows",String(o||"12")),u}function Nv(e){return e?.widget?.data?.offers?e.widget.data.offers:e?.data?.offers?e.data.offers:Array.isArray(e)?e:e?.offers?.offer?Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers?Array.isArray(e.offers)?e.offers:[e.offers]:[]}function Ov(e){let t=[];return e.forEach(n=>{let a=[];Array.isArray(n.offers)?a=n.offers:Array.isArray(n.offer)?a=n.offer:n.offers&&typeof n.offers=="object"?a=[n.offers]:n.offer&&typeof n.offer=="object"&&(a=[n.offer]),a.length>0?a.forEach(l=>{t.push({...n,...l})}):t.push(n)}),t}function kv(e){return e?.widget?.data?.model_info?e.widget.data.model_info:e?.data?.model_info?e.data.model_info:{}}var Lf=new Map,Q2=3e3,K2=["GB","US"],Lv=6,Z2=["brand","currency","fallbackImage","hasCommerceOffer","hawkPricePending","hawkListings","image","isCheckPrice","merchant","merchantId","modelId","msrp","price","productKey","productName","rawMsrp","rawPrice","savingLabel","title","url"];function Hf(e){return String(e||"").trim().toLowerCase()}function Gv(e){return e==="UK"?"GB":e}function Pv(e,t){let n=String(t||"").trim().toUpperCase(),l={AU:["A$","AUD"],CA:["CA$","CAD"],DE:["\u20AC","EUR"],ES:["\u20AC","EUR"],FR:["\u20AC","EUR"],GB:["\xA3","GBP","GB\xA3"],IT:["\u20AC","EUR"],NL:["\u20AC","EUR"],US:["$","USD","US$"]}[e];return!l||l.includes(n)}function Hv(e,t){return String(e.id||`hawk-deal-${t}`)}function W2(e){return e.map(t=>({...t,hasCommerceOffer:!1,hawkPricePending:!!t.hawkModelName,hawkListings:[],image:t.fallbackImage||t.image||"",isCheckPrice:!0,merchant:"",merchantId:"",msrp:"",price:"",productKey:"",rawMsrp:0,rawPrice:0,savingLabel:"",url:t.sourceArticleUrl||t.documentUrl||t.url}))}function I2(e){return Z2.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}function qv(e){return!!((e.isBuyingGuideProduct||e.isReviewProduct)&&e.hawkModelName)}function J2(e){return e.model_image_url||e.model_image||e.product_image||e.image_url||e.image||""}function Fv(e){return e.link||e.url||e.offer_link||""}function $2(e,t){let n=String(t.model_id||t.id||"");return n&&e[n]?e[n]:Object.values(e).find(a=>String(a?.model_id||a?.id||"")===n)||{}}function eS(e,t,n){let a=e.map(i=>{let r=kf(i),o=Of(i,t),u=Fv(i),c=ee(String(o.merchant||"")).trim();return!u||!c||r.rawPrice<=0||!Pv(n,r.currency)?null:{merchant:c,merchantId:typeof i.merchant=="object"?String(i.merchant?.id||""):"",modelId:String(i.model_id||""),offer:i,productKey:String(i.product_key||""),rawPrice:r.rawPrice,url:u}}).filter(i=>i!==null).sort((i,r)=>i.rawPrice-r.rawPrice||i.merchant.localeCompare(r.merchant)),l=new Set;return a.filter(i=>{let r=i.merchant.toLocaleLowerCase();return l.has(r)?!1:(l.add(r),!0)}).slice(0,4)}async function zv(e,t,n){let a=`${t}|${Hf(e)}`;return Lf.has(a)||Lf.set(a,(async()=>{let l;try{let i=new AbortController;l=setTimeout(()=>i.abort(),Q2);let r=await n(Bv({query:e,region:t,resultCount:12}).toString(),{signal:i.signal});if(!r.ok)return null;let o=await r.json(),u=Ov(Nv(o)),c=Hf(e),s=u.filter(A=>Hf(A.model_name||A.model)===c),f=s.length?s:u,d=f[0]||null;if(!d)return null;let m=kv(o),v=$2(m,d);return{brand:String(v?.brand||d.brand||"").trim(),modelInfo:m,offer:d,offers:f}}catch{return null}finally{l&&clearTimeout(l)}})()),Lf.get(a)}function Uv(e,t,n){return e.map(a=>{let l=String(a.hawkModelName);if(!qv(a)||!t.has(l))return a;let i=t.get(l);if(!i)return{...a,hawkPricePending:!1};let{offer:r}=i.lookup,o=kf(r),u=Of(r,i.lookup.modelInfo),c=J2(r),s=Fv(r),f=ee(String(r.model_name||r.model||a.hawkModelName||a.productName||a.title||"").trim()),d=!!(i.region===n&&s&&Pv(n,o.currency)),m=i.region===n?eS(i.lookup.offers,i.lookup.modelInfo,n).map(({offer:v,...A})=>A):[];return d?{...a,brand:i.lookup.brand||r.brand||a.brand,currency:o.currency||a.currency,fallbackImage:c?a.image:a.fallbackImage,hasCommerceOffer:!0,hawkPricePending:!1,hawkListings:m,image:c||a.image,isCheckPrice:o.isCheckPrice,merchant:u.merchant||a.merchant,merchantId:typeof r.merchant=="object"&&r.merchant?.id||"",modelId:r.model_id||"",msrp:o.rawMsrp>0?String(o.rawMsrp):"",price:o.rawPrice>0?String(o.rawPrice):"",productKey:r.product_key||"",productName:f||a.productName,rawMsrp:o.rawMsrp,rawPrice:o.rawPrice,savingLabel:o.savingLabel,title:f||a.title,url:s||a.url}:{...a,brand:i.lookup.brand||a.brand,fallbackImage:c?a.image:a.fallbackImage,hawkPricePending:!1,image:c||a.image,productName:f||a.productName,title:f||a.title}})}async function vi(e,t,n=fetch,a,l=[],i){let r=Gv(t),o=new Map,u=e.filter(qv).map(f=>String(f.hawkModelName)),c=new Set(u),s=Array.from(new Set([...l.filter(f=>c.has(f)),...u])).slice(0,a);for(let f=0;f<s.length;f+=Lv)await Promise.all(s.slice(f,f+Lv).map(async d=>{let m=await zv(d,r,n),v=m||r==="GB"?null:await zv(d,"GB",n);o.set(d,m?{lookup:m,region:r}:v?{lookup:v,region:"GB"}:null),i?.(Uv(e,o,r))}));return Uv(e,o,r)}async function jv(e,t=fetch){let n=W2(e),a=await Promise.all(K2.map(async i=>[i,await vi(n,i,t)])),l=new Map;return a.forEach(([i,r])=>{r.forEach((o,u)=>{if(!o.hasCommerceOffer)return;let c=Hv(o,u),s=l.get(c)||{};s[i]=I2(o),l.set(c,s)})}),e.map((i,r)=>{let o=l.get(Hv(i,r));return o?{...i,hawkRegionalCommerce:o}:i})}function zf(e,t){let n=Gv(t);return e.map(a=>{let l=a.hawkRegionalCommerce?.[n];return l?{...a,...l,hawkPricePending:!1}:a})}function Yv(e,t){let n=Array.from(new Set(e.map(i=>i.merchant).filter(Boolean))),a={};if(n.forEach(i=>{a[i]="loading"}),n.length===0)return{merchants:n,couponMap:a,couponUrl:null};let l=new URL("https://search-api.fie.future.net.uk/widget.php");return l.searchParams.append("model_name","Everything"),l.searchParams.append("filter_merchant_name",n.join(",")),l.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),l.searchParams.append("sort","voucher"),l.searchParams.append("rows","120"),l.searchParams.append("origin","widgets-clientside"),l.searchParams.append("combine_product_types","1"),l.searchParams.append("language","en-GB"),l.searchParams.append("all_filters","false"),l.searchParams.append("exclude_unlabelled","false"),l.searchParams.append("include_specs","false"),t&&t!=="auto"&&l.searchParams.append("area",t),{merchants:n,couponMap:a,couponUrl:l}}function Vv(e,t){let n=new URL("https://search-api.fie.future.net.uk/widget.php");return n.searchParams.append("model_name","Everything"),n.searchParams.append("language","en-GB"),t&&t!=="auto"&&n.searchParams.append("area",t),n.searchParams.append("combine_product_types","1"),n.searchParams.append("filter_merchant_name",e),n.searchParams.append("all_filters","false"),n.searchParams.append("exclude_unlabelled","false"),n.searchParams.append("include_specs","false"),n.searchParams.append("sort","voucher"),n.searchParams.append("distinct_merchants","natural"),n.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),n.searchParams.append("rows","50"),n.searchParams.append("origin","widgets-clientside"),n}function Uf(e,t,n=!0){if(!e?.length)return e||[];if(t==="date_desc"&&!n)return e;let a=[...e];return ln(a,t,n),a}function uc(e,t,n,a=!0){if(n!=="date_desc"||!e?.length)return t;let l=(c,s)=>String(c.id||s),i=new Map(t.map((c,s)=>[l(c,s),c])),r=new Set,o=e.flatMap((c,s)=>{let f=l(c,s);r.add(f);let d=i.get(f);return d?[d]:[]}),u=t.filter((c,s)=>!r.has(l(c,s)));return a?[...o.filter(nl),...u.filter(nl),...o.filter(c=>!nl(c)),...u.filter(c=>!nl(c))]:[...o,...u]}function Xv({activeDealTag:e,activeFreeformTag:t,clickedAuthorOverride:n,compactEmbed:a,compactInventoryExplored:l,compactLoadRequested:i,initialActiveDealTag:r,initialActiveFreeformTag:o,reviewInventoryBaked:u}){return!!(a&&u&&!n&&!i&&!l&&(!e||e===r)&&(!t||t===o))}var Qv=[0,50,100,150,200,250,300,350,400,450],Gf=4;function Kv(e){return(Array.isArray(e)?e:[e]).reduce((n,a)=>{if(typeof a!="string"||!a.trim())return n;let l=a.trim();return n.some(i=>i.toLowerCase()===l.toLowerCase())?n:[...n,l]},[])}function nS(e,t){return e.length===t.length&&e.every((n,a)=>n===t[a])}function Pf(e){return e.map(t=>t.trim().toLowerCase()).sort().join("|")}function qf(e){let t=e.initialData,n=Fu(e),a=!!(e.preloadReviewInventory&&!n),l=!!(e.preloadReviewInventory&&e.includeReviewProducts&&!e.compactEmbed),i=n?Number(e.resultCount)||12:100,r=n?!1:e.prioritiseCommercialProducts,o=wt(e.region),u=zf(t?.allDeals||t?.deals||[],o).filter(_=>P0(_,o)),c=wa(n?"date_desc":e.sort,!Or(e)),s=!!(e.priceRange&&e.priceRange!=="all")||!!(e.discountAmount&&e.discountAmount!=="0"&&e.discountAmount!=="all"),f=tl(t?.authorArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),d=tl(t?.authorInteractionArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),[m,v]=(0,N.useState)(()=>Uf(u,c,r)),[A,b]=(0,N.useState)(t?.totalDealCount??t?.allDeals?.length??t?.deals?.length??0),[h,g]=(0,N.useState)(t?.totalAuthorCount??t?.authors?.length??0),[p,y]=(0,N.useState)(!t),[C,R]=(0,N.useState)(!1),[T,M]=(0,N.useState)(!1),[w,D]=(0,N.useState)(!1),[k,se]=(0,N.useState)(t?.couponMap||{}),[I,j]=(0,N.useState)(f),[He,ze]=(0,N.useState)(f),[St,Ie]=(0,N.useState)(t?.tags||[]),[rn,Be]=(0,N.useState)(t?.tagCounts||{}),[Je,nt]=(0,N.useState)(t?.freeformTags||[]),[X,de]=(0,N.useState)(t?.freeformTagCounts||{}),[$e,Z]=(0,N.useState)(t?.brands||[]),[x,P]=(0,N.useState)(()=>{let _=t?.activeDealTag||e.query;return _&&_.toLowerCase()!=="everything"?_:null}),[Q,Vn]=(0,N.useState)(()=>Kv(t?.activeFreeformTags||t?.activeFreeformTag)),[jr,bi]=(0,N.useState)(f),[sc,ll]=(0,N.useState)(null),[at,Yr]=(0,N.useState)(!1),[il,Vr]=(0,N.useState)(""),[rl,Xr]=(0,N.useState)(""),[f1,g1]=(0,N.useState)(0),[Wt,dc]=(0,N.useState)(e.resultCount?parseInt(e.resultCount):12),[Xf,fc]=(0,N.useState)(!1),[m1,Qr]=(0,N.useState)(null),[gc,h1]=(0,N.useState)(!1),[mc,p1]=(0,N.useState)([0]),Kr=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`:""),hc=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}|age-${e.editorialMaxAgeMonths||"none"}`:""),y1=(0,N.useRef)(e.website||"tomsguide"),pc=(0,N.useRef)(e.website||"tomsguide"),Qf=(0,N.useRef)(u.length>0),Kf=(0,N.useRef)(null),ol=(0,N.useRef)(new Map),v1=(0,N.useRef)({activeDealTag:String(x||"").trim().toLowerCase(),freeformTags:Pf(Kv(t?.activeFreeformTags||t?.activeFreeformTag)),discountAmount:e.discountAmount,priceRange:e.priceRange}),Xn=(0,N.useRef)(!1),De=(0,N.useRef)(!1),Ai=(0,N.useRef)(!1),Zf=(_,oe,ne=at?il:e.authorHandle,we=at?rl:e.authorName)=>[e.website||"tomsguide",ne||"",we||"",wt(e.region),String(_||"").trim().toLowerCase(),Pf(oe),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),Wf=(_,oe)=>{let ne=v1.current;return!!(e.compactEmbed&&t?.brands?.length&&String(_||"").trim().toLowerCase()===ne.activeDealTag&&Pf(oe)===ne.freeformTags&&e.priceRange===ne.priceRange&&e.discountAmount===ne.discountAmount)},Zr=(_,oe)=>{let ne=ol.current.get(Zf(_,oe));if(ne){Z(ne);return}if(Wf(_,oe)){Z(t?.brands||[]);return}},ul=()=>Xn.current||n?void 0:e.productSelection;(0,N.useEffect)(()=>{ll(null)},[e.authorName,e.authorHandle]),(0,N.useLayoutEffect)(()=>{let _=e.website||"tomsguide";pc.current!==_&&(pc.current=_,v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),ol.current.clear(),se({}),Yr(!1),Vr(""),Xr(""),ll(null),P(null),Vn([]),g(0),b(0),M(!1),fc(!1),Qr(null),Ai.current=!1,R(!0),y(!0))},[e.website]),(0,N.useEffect)(()=>{e.compactEmbed||typeof document>"u"||setTimeout(()=>{document.dispatchEvent(new CustomEvent("processArticle"))},100)},[m,Wt,e.query,x,Q]),(0,N.useEffect)(()=>{e.resultCount&&(dc(parseInt(e.resultCount,10)||12),Qr(null))},[e.resultCount]),(0,N.useEffect)(()=>{Qr(null)},[x,Q,e.authorHandle,e.authorName,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands,e.sort]),(0,N.useEffect)(()=>{if(!t||!e.includeBuyingGuideProducts&&!e.includeReviewProducts||e.compactEmbed&&(De.current||e.refreshDealsOnViewport))return;let _=wt(e.region),oe=zf(t.allDeals||t.deals||[],_);if(_==="unavailable"){let It=oe.map(on=>(on.isBuyingGuideProduct||on.isReviewProduct)&&on.hawkModelName?{...on,hawkPricePending:!1}:on);ln(It,c,r),v(yn(It,ul(),c));return}let ne=al(oe,e.selectedBrands),we=Number(e.resultCount)||12,Ta=typeof navigator>"u"?void 0:navigator.connection,Ea=!Ta?.saveData&&!Ta?.effectiveType?.includes("2g")&&(!e.compactEmbed||!!e.warmInventory),Si=s?ne:t.reviewInventoryBaked?ne.slice(0,Wt+(Ea?we:0)):oe;if(!Si.some(It=>(It.isBuyingGuideProduct||It.isReviewProduct)&&It.hawkModelName))return;let sl=!0;return M(!0),vi(Si,_).then(It=>{if(!sl)return;let on=t.reviewInventoryBaked?lv(oe,It):It,Ir=al(on,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(lt=>(lt.isBuyingGuideProduct||lt.isReviewProduct)&&lt.hawkModelName?{...lt,hawkPricePending:!1}:lt);ln(Ir,c,r),v(yn(Ir,ul(),c)),Z(lt=>t?.brands?.length?lt:hf(lt,It))}).finally(()=>{sl&&M(!1)}),()=>{sl=!1}},[t,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,e.selectedBrands,e.discountAmount,e.priceRange,c,e.productSelection,Wt,e.resultCount,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,x,Q]),(0,N.useEffect)(()=>{let _=!0,oe=new AbortController,ne=Ai.current,we=!e.refreshDealsOnViewport&&Xv({activeDealTag:x,activeFreeformTag:Q[0]||null,clickedAuthorOverride:at,compactEmbed:e.compactEmbed,compactInventoryExplored:De.current,compactLoadRequested:gc,initialActiveDealTag:t?.activeDealTag,initialActiveFreeformTag:t?.activeFreeformTag,reviewInventoryBaked:t?.reviewInventoryBaked}),Ta=u.length>0,Ea=!!(n&&e.compactEmbed&&!De.current),Si=!!(Ea&&e.warmInventory&&I.length===0&&m.length>0),sl=!!(we||e.compactEmbed&&Ta&&I.length===0&&!at&&!gc&&!De.current&&!e.refreshDealsOnViewport&&(!n||!e.warmInventory));return!sl&&!ne&&!Si&&(R(!0),e.compactEmbed&&De.current&&v([])),(async()=>{D(!1),M(!1);let on=m.length>0||St.length>0||Je.length>0||$e.length>0,Ir=sl;try{if(!e.authorName&&!e.authorHandle){v([]),j([]),bi([]),Ie([]),nt([]),Z([]),ll(null),P(null),Vn([]),y(!0);return}let lt=at?il:e.authorHandle,Jr=at?rl:e.authorName,$r=`${e.website||"tomsguide"}|${lt||""}|${Jr||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`,yc=`${$r}|${e.compactEmbed&&x||""}|${e.compactEmbed?Q.join(","):""}|${e.compactEmbed&&De.current?"expanded":e.refreshDealsOnViewport?"viewport-refresh":"initial"}|lightweight-pages-${Ea?mc.join(","):"all"}|age-${e.editorialMaxAgeMonths||"none"}`,Jt=I,$f=St,U1=ev(Je,Q.length===1?Q[0]:null),eg=()=>({activeDealTag:x,activeFreeformTag:Q[0]||null,activeFreeformTags:Q,preserveFreeformTagSelection:!!(e.compactEmbed&&Q.length),authorHandle:lt,authorName:Jr,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,priceRange:e.priceRange,prioritiseCommercialProducts:r,productSelection:ul(),query:e.query,region:e.region,selectedArticleId:sc,selectedBrands:e.selectedBrands,sort:c,website:e.website}),tg=hc.current!==yc||Jt.length===0,Da=[],vc=!1,ng=(me,zt=!1)=>{if(!_||zt&&vc)return;let bn=al(me,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange});ln(bn,c,r);let Di=yn(bn,ul(),c);v(uc(Da,Di,c,r))};if(Ir){y(!1),R(!1);return}if(tg){let me=Kr.current.split("|")[0],zt=e.website||"tomsguide",bn=!!(Kr.current&&me!==zt);!ne&&!Si&&R(!!e.compactEmbed||!on),bn&&(Jt=[],$f=[],v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),se({}),Yr(!1),Vr(""),Xr(""),y(!0));let Di=Qf.current&&Kr.current===$r&&Jt.length===0&&!De.current;Qf.current=!1,!Di&&!on&&y(!0);let lo=Ba=>{if(!_||Ba.length===0)return;let fe=eg(),it=Cf(Ba,fe),{displayedDeals:io}=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);io.length!==0&&(Da=io,v(Da),y(!1),e.includeReviewProducts&&Nf(it.targetArticles,e.website||"tomsguide",Math.min(Wt,Gf),c).then(()=>{if(!_||vc)return;let An=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);Da=An.displayedDeals,v(Da);let xi=An.displayedDeals.filter(dt=>dt.isReviewProduct&&dt.hawkModelName).slice(0,Gf).map(dt=>String(dt.hawkModelName));vi(An.extractedDeals,it.activeRegionCode,void 0,Gf,xi,dt=>ng(dt,!0))}))};if(Jt=await _v({authorHandle:lt,authorName:Jr,fallbackAuthorName:e.authorName,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,articleCategory:e.compactEmbed&&x||void 0,articleTag:e.compactEmbed?U1:void 0,pageStarts:e.compactEmbed&&!e.warmInventory&&!De.current?[0]:void 0,reviewPageStarts:e.includeReviewProducts?Ea?mc:!e.compactEmbed||De.current?Qv:void 0:void 0,loadAllReviewPages:!Ea,throwOnFailure:!!(e.compactEmbed&&De.current),onBackgroundRefresh:Ba=>{if(!_||hc.current!==yc)return;let fe=tl(Ba,void 0,Number(e.editorialMaxAgeMonths)||0);j(fe),at||ze(fe),g1(it=>it+1)},onProgress:lo,signal:oe.signal,website:e.website}),!_)return;if(Jt=tl(Jt,void 0,Number(e.editorialMaxAgeMonths)||0),Kr.current=$r,hc.current=yc,Di&&Jt.length===0){y(!1);return}_&&(j(Jt),at||ze(Jt),R(!1))}let eo=eg(),G1=Cf(Jt,eo),{activeDealTag:xa,activeRegionCode:Ci,authorArticles:ag,activeFreeformTags:Ma,freeformTagCounts:lg,freeformTags:to,tagCounts:ig,tags:Ri,targetArticles:_a,targetIso:P1}=G1,Ti=e.compactEmbed&&x&&!xa?x:xa,Ei=e.compactEmbed&&Q.length>0&&Ma.length===0?Q:Ma,q1=Ri.length>0?Ri:Ti?[Ti]:Ri,F1=to.length>0?to:Ei.length>0?t?.freeformTags?.filter(me=>Ei.includes(me.handle))||[]:to,j1={...ig,...Ti&&!xa?{[Ti]:0}:{}},Y1={...lg,...Object.fromEntries(Ma.length===0?Ei.map(me=>[me,0]):[])},no=Zf(xa,Ma,lt,Jr),rg=[$r,Ci,xa||"",Ma.join(","),e.selectedBrands.join(","),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),dl=null,fl=null;if(!at){let me=Kf.current;if(me?.key===rg&&me.articleCount===_a.length)dl=me.deals.length,fl=me.authorCount;else{let zt=dv(_a,eo);dl=zt.deals.length,fl=zt.authorCount,Kf.current={articleCount:_a.length,authorCount:fl,deals:zt.deals,key:rg}}}$f=Ri;let Ht;_&&(Ie(q1),Be(j1),nt(F1),de(Y1)),e.includeReviewProducts&&await Nf(_a,e.website||"tomsguide",l?Math.min(_a.length,i):Wt,c);let{brands:bc,displayedDeals:Ac,extractedDeals:ao}=ic(_a,eo,Ci,P1),{merchants:V1,couponMap:wc,couponUrl:X1}=Yv(Ac,e.region);_&&se(wc);let Q1=me=>{!_||!Ht||(Ht={...Ht,couponMap:me},window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht))};if(hv({couponMap:wc,couponUrl:X1,merchants:V1}).then(me=>{_&&(se(me),Q1(me))}),_){tg&&P(Ti),nS(Q,Ei)||Vn(Ei),bi(ag);let me=uc(Da,Ac,c,r);if(vc=!0,v(me),dl!==null){let zt=t?.totalDealCount||0,bn=Ea&&zt>dl;b(bn?zt:dl),g(bn?Math.max(t?.totalAuthorCount||0,fl||0):fl||0)}!ol.current.has(no)&&Wf(xa,Ma)&&ol.current.set(no,t?.brands||[]),Z(ol.current.get(no)||bc),y(!1),Ht=fv({allArticles:Jt,authorArticles:ag,bakeReviewInventory:a&&!e.compactEmbed,brands:bc,couponMap:wc,currentDealTag:xa,currentFreeformTags:Ma,displayedDeals:me,inventoryArticles:_a,options:eo,resultCount:e.resultCount,tagCounts:ig,tags:Ri,freeformTagCounts:lg,freeformTags:to,totalAuthorCount:fl??h,totalDealCount:dl??A}),window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht)}if((e.includeBuyingGuideProducts||e.includeReviewProducts)&&Ci!=="unavailable"){let me=Wt,zt=l?ao.filter(fe=>fe.isReviewProduct&&fe.hawkModelName).slice(0,i).map(fe=>String(fe.hawkModelName)):[],bn=Ac.filter(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName).map(fe=>String(fe.hawkModelName));ao.some(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName)&&M(!0);let lo=vi(ao,Ci,void 0,s?void 0:e.includeReviewProducts?l?i:me:void 0,[...zt,...bn],ng).then(async fe=>{if(!_)return;let it=al(fe,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(dt=>(dt.isBuyingGuideProduct||dt.isReviewProduct)&&dt.hawkModelName?{...dt,hawkPricePending:!1}:dt);ln(it,c,r);let io=yn(it,ul(),c),An=uc(Da,io,c,r),xi=hf(bc,fe);if(ol.current.set(no,xi),v(An),Z(xi),s&&b(it.length),Ht){let dt=a&&!e.compactEmbed,og=l,ug=dt?ac(An,Number(e.resultCount)||12):og?An.slice(0,i):An,K1=og?await jv(ug):ug;if(!_)return;let Sc={...Ht,allDeals:K1,deals:An.slice(0,me),brands:xi,totalDealCount:s?it.length:Ht.totalDealCount};Ht=Sc,window.__AUTHOR_PRELOAD_DATA__=Sc,e.onDataLoaded&&e.onDataLoaded(Sc)}}).finally(()=>{_&&M(!1)}),Ba=ao.slice(me,me+(Number(e.resultCount)||12));e.includeReviewProducts&&e.warmInventory&&!s&&!ne&&Ba.some(fe=>fe.hawkModelName)&&lo.then(()=>{_&&vi(Ba,Ci)}),ne&&await lo}}catch(lt){_&&D(!0)}finally{_&&(y(!1),R(!1),fc(!1),Ai.current=!1)}})(),()=>{_=!1,oe.abort()}},[e.query,e.region,e.selectedBrands,e.website,e.resultCount,Wt,c,e.priceRange,e.discountAmount,x,Q,e.authorName,e.authorHandle,e.website,e.authorBioLength,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,s,a,l,i,r,n,mc,e.productSelection,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,e.editorialMaxAgeMonths,sc,at,il,rl,f1,gc]);let Wr=e.website||"tomsguide",st=pc.current!==Wr,Ra=(0,N.useMemo)(()=>st?[]:y1.current===Wr&&t?.authors?t.authors:Lr(He.length>0?He:I,Wr),[I,Wr,He,t?.authors,st]),b1=at?il:e.authorHandle,A1=at?rl:e.authorName,w1=Ra.find(_=>_.handle===b1||_.fullName===A1),cl=He.length>0?He:I,If=(0,N.useMemo)(()=>{if(cl.length===0)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q),we=Sf(Ra,ne,{activeRegionCode:_,targetIso:oe,selectedBrands:e.selectedBrands,priceRange:e.priceRange,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website});return Yu(Ra,we)},[x,Q,Ra,cl,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands]),S1=(0,N.useMemo)(()=>{if(st)return[];if(cl.length===0&&t?.authors?.length||e.compactEmbed&&!x&&Q.length===0&&t?.authors?.length)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q).filter(we=>mi([we],{activeRegionCode:_,targetIso:oe,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website}).length>0);return kr(If,ne)},[x,Q,cl,st,at,t?.authors?.length,e.compactEmbed,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,If,e.website]),Jf=(_,oe)=>{let ne=He.length>0?He:I.length>0?I:d;if(ne.length===0)return;let we=yv(ne,{authorHandle:_,authorName:oe,discountAmount:e.discountAmount,priceRange:e.priceRange,region:e.region,selectedBrands:e.selectedBrands,sort:c,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,prioritiseCommercialProducts:r,website:e.website,productSelection:void 0});ll(null),P(null),Vn([]),bi(we.authorArticles),Ie(we.tags),Be(we.tagCounts),nt(we.freeformTags),de(we.freeformTagCounts),Z(we.brands),v(we.deals),y(!1)},C1=()=>{!e.compactEmbed||!t||(v(yn(Uf(t.deals||t.allDeals||[],c,r),ul(),c)),Ie(t.tags||[]),Be(t.tagCounts||{}),nt(t.freeformTags||[]),de(t.freeformTagCounts||{}),Z(t.brands||[]),se(t.couponMap||{}),g(t.totalAuthorCount??t.authors?.length??0),b(t.totalDealCount??t.deals?.length??t.allDeals?.length??0))},R1=_=>{Xn.current=!0,De.current=!0,R(!0),at&&(il===_.handle||rl===_.fullName)?(e.compactEmbed&&t?C1():Jf(e.authorHandle,e.authorName),Yr(!1),Vr(""),Xr("")):(Jf(_.handle,_.fullName),Yr(!0),Vr(_.handle),Xr(_.fullName)),e.onQueryChange?.("")},T1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=x===_?null:_;Zr(oe,Q),P(oe),e.onQueryChange?.("")},E1=()=>{Xn.current=!0,De.current=!0,R(!0)},D1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(null,Q),P(null),e.onQueryChange?.("")},x1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=Q.some(ne=>ne.toLowerCase()===_.toLowerCase())?Q.filter(ne=>ne.toLowerCase()!==_.toLowerCase()):[...Q,_];Zr(x,oe),Vn(oe)},M1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(x,[]),Vn([])},_1=_=>{Xn.current=!0,De.current=!0,R(!0),ll(_)},B1=()=>{if(Ai.current)return;Ai.current=!0,fc(!0);let _=Wt+(e.resultCount?parseInt(e.resultCount,10):12);!!(n&&e.compactEmbed&&!De.current)&&I.length>0&&m.length<_&&p1(we=>{let Ta=Qv[we.length];return Ta===void 0?we:[...we,Ta]}),dc(we=>(Qr(we),we+(e.resultCount?parseInt(e.resultCount,10):12)));let ne=!!(t?.reviewInventoryBaked&&m.length>Wt);e.compactEmbed&&I.length===0&&!ne&&(R(!0),h1(!0))},wi=e.compactEmbed&&!e.refreshDealsOnViewport,N1=wi&&t?.tags?.length?t.tags:St,O1=wi&&t?.tags?.length?t.tagCounts||{}:rn,k1=wi&&!De.current&&t?.brands?.length?t.brands:$e,L1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTags:Je,H1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTagCounts||{}:X,z1=pv({enrichingBuyingGuides:T,error:w,loading:p,loadingMore:Xf,refreshingFeed:C});return{activeDealTag:x,activeFreeformTags:Q,airedaleBrands:st?[]:k1,airedaleTagCounts:st?{}:O1,airedaleTags:st?[]:N1,airedaleFreeformTagCounts:st?{}:H1,airedaleFreeformTags:st?[]:L1,allAuthorsList:S1,authorArticlesList:st?[]:jr,clickedAuthorOverride:at,couponMap:k,deals:st?[]:m,displayCount:Wt,error:w,enrichingBuyingGuides:T,effectiveAuthorProfile:st?void 0:w1,loading:p,loadingMore:Xf,loadMoreStartCount:m1,markProductSelectionInteracted:E1,hasMore:m.length>Wt||!!e.compactEmbed&&A>m.length,loadMore:B1,refreshingFeed:C,overriddenAuthorHandle:il,overriddenAuthorName:rl,selectedArticleId:sc,setActiveDealTag:P,clearDealTag:D1,clearFreeformTags:M1,selectArticle:_1,setDisplayCount:dc,setSelectedArticleId:ll,status:z1,toggleAuthorOverride:R1,toggleDealTag:T1,toggleFreeformTag:x1,totalAuthorCount:st?0:h,totalDealCount:st?0:A}}var aS=B(ft(),1);var Fr=B(ft(),1);function Zv(e){let[t,n]=(0,Fr.useState)(null),[a,l]=(0,Fr.useState)([]),[i,r]=(0,Fr.useState)(!1),[o,u]=(0,Fr.useState)(!1);return{close:()=>n(null),error:o,loading:i,merchant:t,open:async f=>{n(f),r(!0),u(!1),l([]);try{let d=Vv(f,e),m=await fetch(d.toString());if(!m.ok)throw new Error("API Error");l(mv(await m.json()))}catch(d){u(!0)}finally{r(!1)}},vouchers:a}}var je=B(O(),1);function lS(e){return new Set(e.map(t=>Array.isArray(t.authorName)?t.authorName[0]:t.authorName).map(t=>String(t||"").trim().toLowerCase()).filter(Boolean)).size}var iS=new Map,rS=()=>{};function Iv({data:e,editorBar:t,editorMode:n=!1,props:a,selectedDeals:l=iS,setSelectedDeals:i=rS}){let r=Zv(a.region),[o,u]=(0,Wv.useState)(new Set),c=p0[a.website||""]||"#1F69FF",s=a.backgroundColor?a.backgroundColor==="white"?"#ffffff":a.backgroundColor==="transparent"?"transparent":a.backgroundColor==="light_blue"?"#E7F0FF":void 0:void 0,f=Vu(a.authorHandle,a.authorName),d=Or(a),m=Fu(a),v=wa(m?"date_desc":a.sort,!d),A=!!(a.showReviewSort&&a.includeReviewProducts),b=a.showPriceDiscountFilters!==!1||A,h=!a.authorFullBleed,g=!e.clickedAuthorOverride,p=e.totalDealCount||e.deals.length,y=e.totalAuthorCount||lS(e.deals),C=e.status==="loading_inventory"||e.status==="refreshing_inventory"||e.status==="enriching_visible_cards",R=e.status==="loading_inventory"||(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards")&&e.deals.length===0,M=!!(a.showReviewSort&&a.includeReviewProducts&&(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards"))?"Loading and sorting available review products":e.status==="enriching_visible_cards"?"Adding live product images and prices":e.status==="refreshing_inventory"?"Updating products":`Loading ${a.website||"site"} authors and products`,w=j=>{e.markProductSelectionInteracted(),a.onBrandToggle?.(j)},D=j=>{e.markProductSelectionInteracted(),a.onBrandSelect?.(j)},k=j=>{e.markProductSelectionInteracted(),a.onPriceRangeChange?.(j)},se=j=>{e.markProductSelectionInteracted(),a.onDiscountAmountChange?.(j)},I=j=>{e.markProductSelectionInteracted(),a.onSortChange?.(j)};return(0,je.jsx)("div",{className:"tg-df-widget-host",style:{"--tg-df-blue":c.toUpperCase()==="#FFFFFF"?"#000000":c},"data-vizualizer-embed":"true","data-tg-df-full-bleed":a.authorFullBleed?"true":"false","data-tg-df-mobile-dropdowns":a.mobileDropdowns?"true":"false","data-tg-df-sticky-mobile-filters":a.stickyMobileFilters===!1?"false":"true",children:(0,je.jsxs)("div",{className:"tg-df-container article-body",style:a.backgroundColor?{backgroundColor:s}:void 0,children:[(a.showAuthorIdentity!==!1||a.showAuthorBio!==!1)&&(0,je.jsx)("div",{className:"tg-df-author-embed",style:{width:"100%",fontFamily:"inherit"},children:(0,je.jsx)("div",{className:"tg-df-author-section",style:{display:"block",opacity:1,overflow:"visible",background:"transparent",border:"none"},children:(0,je.jsx)(U0,{authorArticlesList:e.authorArticlesList,authorBioLength:a.authorBioLength,customBio:g?a.customBio:void 0,customHeaderKicker:a.customHeaderKicker,customHeaderTitle:a.customHeaderTitle,effectiveAuthorHandle:e.clickedAuthorOverride?e.overriddenAuthorHandle:a.authorHandle,effectiveAuthorName:e.clickedAuthorOverride?e.overriddenAuthorName:a.authorName,isReviewWidget:d,onBioChange:g?a.onBioChange:void 0,onHeaderKickerChange:a.onHeaderKickerChange,onHeaderTitleChange:a.onHeaderTitleChange,selectedProfile:e.effectiveAuthorProfile,showAuthorBio:a.showAuthorBio,showAuthorIdentity:a.showAuthorIdentity,showSocialButtons:a.showSocialButtons,stabilizeBio:f,authorCount:y,totalDealCount:p,website:a.website})})}),t,a.showCollectionsDropdown&&(0,je.jsx)(r0,{articles:e.authorArticlesList,authorHandle:a.authorHandle,authorName:a.authorName||a.author,onChange:e.selectArticle,selectedArticleId:e.selectedArticleId,shortenedHeadlines:a.shortenedHeadlines}),C&&(0,je.jsxs)("div",{role:"status","aria-live":"polite","aria-label":M,style:{alignItems:"center",display:"flex",justifyContent:"center",marginBottom:"16px",minHeight:"72px"},children:[(0,je.jsx)("span",{className:"tg-df-coupon-spinner","aria-hidden":"true",style:{borderWidth:"3px",height:"24px",width:"24px"}}),(0,je.jsxs)("span",{style:{color:"#4B5563",fontSize:"14px",marginLeft:"10px"},children:[M,"\u2026"]})]}),(0,je.jsx)(_0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,allAuthorsList:e.allAuthorsList,brands:a.brands,clickedAuthorOverride:e.clickedAuthorOverride,loading:e.loading,refreshing:e.refreshingFeed,onAuthorClick:e.toggleAuthorOverride,onBrandToggle:w,onFreeformTagClick:e.toggleFreeformTag,onTagClick:e.toggleDealTag,overriddenAuthorHandle:e.overriddenAuthorHandle,overriddenAuthorName:e.overriddenAuthorName,selectedBrands:a.selectedBrands,showAuthorRail:f&&a.showAuthorRail!==!1,showAuthorCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,website:a.website}),(0,je.jsx)(k0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,brands:a.brands,discountAmount:a.discountAmount,enabled:a.mobileDropdowns||h,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,onPriceRangeChange:k,onReviewSortChange:I,onTagClear:e.clearDealTag,onTagClick:e.toggleDealTag,priceRange:a.priceRange,reviewSort:v,selectedBrands:a.selectedBrands||[],showCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),b&&(0,je.jsx)(L0,{airedaleBrands:e.airedaleBrands,airedaleTags:e.airedaleTags,discountAmount:a.discountAmount,hidden:!!e.selectedArticleId,onDiscountAmountChange:se,onPriceRangeChange:k,onReviewSortChange:I,priceRange:a.priceRange,reviewSort:v,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),(0,je.jsx)(i0,{articles:e.authorArticlesList,selectedArticleId:e.selectedArticleId}),(a.showCategoryRail!==!1||a.showFreeformTagRail!==!1||a.showBrandRail!==!1)&&(0,je.jsx)(a0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleTags:e.airedaleTags,freeformTags:e.airedaleFreeformTags,discountAmount:a.discountAmount,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onPriceRangeChange:k,onTagClear:e.clearDealTag,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,priceRange:a.priceRange,selectedBrands:a.selectedBrands||[]}),(0,je.jsx)(w0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,couponMap:e.couponMap,deals:e.deals,displayCount:e.displayCount,editorMode:n,error:e.error,expandedDealIds:o,hasMore:e.hasMore,hideHawkPrices:a.hideHawkPrices,loading:R,loadingMore:e.loadingMore,loadMoreStartCount:e.loadMoreStartCount,onDescriptionToggle:j=>u(He=>{let ze=new Set(He);return ze.has(j)?ze.delete(j):ze.add(j),ze}),onLoadMore:e.loadMore,onOpenVouchers:r.open,query:a.query,recentDealsOnly:!!(a.includeDeals&&!a.includeCollections&&!a.includeBuyingGuideProducts&&!a.includeReviewProducts),selectedBrands:a.selectedBrands,selectedDeals:l,setSelectedDeals:i,website:a.website}),(0,je.jsx)(G0,{error:r.error,loading:r.loading,merchant:r.merchant,onClose:r.close,vouchers:r.vouchers})]})})}var $v=B(O(),1),Jv=e=>{let t={...e,editorMode:!1},n=qf(t);return(0,$v.jsx)(Iv,{data:n,props:t})};var U={authorBioLength:"short",authorFullBleed:!0,authorHandle:"all-authors",authorName:"All authors",backgroundColor:"transparent",customBio:"",customHeaderKicker:void 0,customHeaderTitle:void 0,discountAmount:"0",editorMode:!1,editorialMaxAgeMonths:"12",includeBuyingGuideProducts:!0,includeCollections:!0,includeDeals:!0,includeReviewProducts:!1,mobileDropdowns:!0,stickyMobileFilters:!0,offerType:"",preloadReviewInventory:!1,lightweightReviewDelivery:!1,hideHawkPrices:!1,prioritiseCommercialProducts:!0,priceRange:"all",productSelection:"latest",query:"Everything",region:"auto",resultCount:"12",retailer:"",selectedBrands:[],showAuthorBio:!0,showAuthorCounters:!0,showAuthorIdentity:!0,showAuthorRail:!0,showBrandRail:!0,showCategoryRail:!0,showCollectionsDropdown:!1,showPriceDiscountFilters:!0,showReviewSort:!1,showSocialButtons:!0,showCountdown:!1,showHeaderDetails:!0,showFreeformTagRail:!0,sort:"date_desc",viewMode:"author",website:"whowhatwear",widgetSubtitle:"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.",widgetTitle:"Top Deals Handpicked by Our Editors"};function We(e,t){return typeof e=="string"?e:t}function Ae(e,t){return typeof e=="boolean"?e:t}function e1(e){let t=e||{},n=t.authorBioLength==="long"?"long":"short",a=t.productSelection==="mix"?"mix":"latest";return{...U,...t,authorBioLength:n,authorFullBleed:Ae(t.authorFullBleed,U.authorFullBleed),authorHandle:We(t.authorHandle,U.authorHandle),authorName:We(t.authorName,U.authorName),backgroundColor:We(t.backgroundColor,U.backgroundColor),customBio:We(t.customBio,U.customBio),customHeaderKicker:typeof t.customHeaderKicker=="string"?t.customHeaderKicker:void 0,customHeaderTitle:typeof t.customHeaderTitle=="string"?t.customHeaderTitle:void 0,discountAmount:We(t.discountAmount,U.discountAmount),editorMode:Ae(t.editorMode,U.editorMode),editorialMaxAgeMonths:We(t.editorialMaxAgeMonths,U.editorialMaxAgeMonths),includeBuyingGuideProducts:Ae(t.includeBuyingGuideProducts,U.includeBuyingGuideProducts),includeCollections:Ae(t.includeCollections,U.includeCollections),includeDeals:Ae(t.includeDeals,U.includeDeals),includeReviewProducts:Ae(t.includeReviewProducts,U.includeReviewProducts),mobileDropdowns:Ae(t.mobileDropdowns,U.mobileDropdowns),stickyMobileFilters:Ae(t.stickyMobileFilters,U.stickyMobileFilters),offerType:We(t.offerType,U.offerType),preloadReviewInventory:Ae(t.preloadReviewInventory,U.preloadReviewInventory),lightweightReviewDelivery:Ae(t.lightweightReviewDelivery,U.lightweightReviewDelivery),hideHawkPrices:Ae(t.hideHawkPrices,U.hideHawkPrices),prioritiseCommercialProducts:Ae(t.prioritiseCommercialProducts,U.prioritiseCommercialProducts),priceRange:We(t.priceRange,U.priceRange),productSelection:a,query:We(t.query,U.query),region:We(t.region,U.region),resultCount:We(t.resultCount,U.resultCount),retailer:We(t.retailer,U.retailer),selectedBrands:Array.isArray(t.selectedBrands)?t.selectedBrands.filter(l=>typeof l=="string"):[],showAuthorBio:Ae(t.showAuthorBio,U.showAuthorBio),showAuthorCounters:Ae(t.showAuthorCounters,U.showAuthorCounters),showAuthorIdentity:Ae(t.showAuthorIdentity,U.showAuthorIdentity),showAuthorRail:Ae(t.showAuthorRail,U.showAuthorRail),showBrandRail:Ae(t.showBrandRail,U.showBrandRail),showCategoryRail:Ae(t.showCategoryRail,U.showCategoryRail),showCollectionsDropdown:Ae(t.showCollectionsDropdown,U.showCollectionsDropdown),showPriceDiscountFilters:Ae(t.showPriceDiscountFilters,U.showPriceDiscountFilters),showReviewSort:Ae(t.showReviewSort,U.showReviewSort),showSocialButtons:Ae(t.showSocialButtons,U.showSocialButtons),showCountdown:Ae(t.showCountdown,U.showCountdown),showHeaderDetails:Ae(t.showHeaderDetails,U.showHeaderDetails),showFreeformTagRail:Ae(t.showFreeformTagRail,U.showFreeformTagRail),sort:We(t.sort,U.sort),viewMode:We(t.viewMode,U.viewMode),website:We(t.website,U.website),widgetSubtitle:We(t.widgetSubtitle,U.widgetSubtitle),widgetTitle:We(t.widgetTitle,U.widgetTitle)}}function t1(e,t={}){return{...e,brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}}function n1(e,t){try{window.hawk?.analytics?.freyr?.push({name:e,data:t}),window.dispatchEvent(new CustomEvent("hawk-analytics-update")),window.freyr?.cmd.push(()=>{window.freyr?.pushAndUpdate?.(e,t)})}catch{}}function a1(){window.dataLayer=window.dataLayer||[],window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.hawk=window.hawk||{},window.hawk.analytics=window.hawk.analytics||{},window.hawk.analytics.freyr=window.hawk.analytics.freyr||[],window.freyr=window.freyr||{cmd:[]},window.freyr.cmd=window.freyr.cmd||[];let e="https://freyr.futurecdn.net/freyr.js",t=window.location.hostname;if(!(window.navigator.webdriver||window.navigator.userAgent.includes("Headless"))&&!!t&&t!=="localhost"&&t!=="127.0.0.1"&&!t.includes("run.app")&&!document.querySelector(`script[src="${e}"]`)){let l=document.createElement("script");l.src=e,l.async=!0,document.head.appendChild(l)}}function oS(e){let t=Number.parseFloat(e.rawPrice||e.price)||null,n=Number.parseFloat(e.rawMsrp||e.msrp)||null;return{product:{primary:{id:e.externalProductId||e.id||e.matchId||null,name:e.productName||e.title||"",type:"deal",price:t,previousPrice:n,currency:e.isoCurrencyCode||e.currency||"USD",preorder:!1,labels:e.modelBrand||e.brand?[{type:"brand",value:e.modelBrand||e.brand}]:[],link:e.url||null,originalLink:e.originalLink||e.url||null,revenueId:e.revenueId||null,startTime:null,endTime:null,voucherCode:null,voucherAudience:null,voucherPercentageSaving:n&&t&&n>t?Math.round((1-t/n)*100):null,voucherMoneySaving:null,voucherType:null,offerExclusive:!1,offerScope:null,globalId:e.productKey||null,inStock:e.inStock!==!1,contractProvider:null,contractMinutes:null,contractTexts:null,contractData:null,contractLength:null,contractMonthlyPrice:null,contractCurrency:e.isoCurrencyCode||e.currency||"USD"}},merchant:{id:e.merchantId||null,name:e.merchant||"Retailer",url:e.merchantUrl||null,network:e.merchantNetwork||null},model:{id:e.modelId||null,brand:e.modelBrand||e.brand||null,name:e.productName||e.title||"",parent:e.modelParent||null}}}var uS=new Set(["subid1","ascsubtag","clickref","u1"]);function cS(e){return e.match(/(?:^|[-_])(\d{10,})(?=$|[-_])/)?.[1]||null}function sS(e){let t=new Set,n=a=>{if(!a||t.has(a))return null;t.add(a);let l;try{l=new URL(a)}catch{return null}for(let[i,r]of l.searchParams)if(uS.has(i.toLowerCase())){let o=cS(r);if(o)return o}for(let i of l.searchParams.values())if(/^https?:\/\//i.test(i)){let r=n(i);if(r)return r}return null};return n(e)}function l1({areaClicked:e,clickType:t,deals:n,index:a,queryName:l}){let i={event:"hawkEvent",category:"Affiliates",affiliate:{action:{type:t,id:"author-widget",event:t==="appeared"?"viewed":"Click from",timestamp:Date.now()},component:{flag:"Editor",product:"deals",category:"Signal Deal Finder Author widget",type:t==="appeared"?"review":"signal product",label:l||n[0]?.productName||n[0]?.title||"",index:a??-1,linkCount:n.length,blockLayout:"",areaClicked:e}},products:n.slice(0,20).map(oS),reviews:[],_clear:!0,"gtm.uniqueEventId":Date.now()%1e4};n1("hawkEvent",i)}function i1(e,t){e.length&&l1({areaClicked:"",clickType:"appeared",deals:e,index:null,queryName:t})}function r1(e,t){if(e?.deals?.length)return e.deals;let n=Number(t)||12;return e?.allDeals?.slice(0,n)||[]}function o1(e){e.addEventListener("click",t=>{let n=t.target;if(!(n instanceof Element))return;let a=n.closest("a[data-fcaw-affiliate-link][href], a.hawk-affiliate-link-deal-widget[href], a.hawk-affiliate-link-container[href], a.hawk-affiliate-link-deal-button[href]"),l=n.closest(".tg-df-card"),i=!!(!a?.dataset.fcawRevenueId&&(a?.hasAttribute("data-hl-processed")||a?.hasAttribute("data-fcaw-hawklinks-requested")));a&&l&&!i&&l1({areaClicked:"Signal Product Card",clickType:"retailer",deals:[{brand:l.dataset.brand,currency:l.dataset.currency,id:l.dataset.dealId,merchant:a.dataset.merchant||l.dataset.merchant,merchantId:a.dataset.merchantId||l.dataset.merchantId,modelId:a.dataset.modelId||l.dataset.modelId,productKey:a.dataset.productKey||l.dataset.productKey,rawMsrp:l.dataset.previousPrice,rawPrice:l.dataset.price,originalLink:a.dataset.fcawOriginalLink||a.href,revenueId:a.dataset.fcawRevenueId||sS(a.href),title:l.dataset.productName,url:a.href}],index:Array.from(e.querySelectorAll(".tg-df-card")).indexOf(l)});let r=n.closest('button, select, [role="button"]');r&&n1("elementInteraction",{element:{action:"click",id:r.id||void 0,class:r.className||void 0,name:r.getAttribute("name")||r.getAttribute("aria-label")||void 0,text:r.textContent?.trim()||void 0,label:r.getAttribute("aria-label")||void 0}})})}var Vf=B(O(),1),dS='fc-author-commerce-widget[data-fcaw-version="1"]',fS="(max-width: 599px)",gS=600,mS='[class*="membership-expandable-banner"]',hS=/^jump\s+to\b/i,jf="data-fcaw-jump-navigation-suppressed",pS=50,yS=1e4,vS=["[data-sticky-header]","[data-header-sticky]",'[role="banner"]',".navigation__container",".site-header",".main-header",".header__container",'[class*="membership-expandable-banner"] [class*="skinny-banner"]','[class*="membership-expandable-banner"] [id="skinnyBanner"]',"nav","header"].join(","),bS=`  :host {    display: block !important;    width: 100% !important;    min-width: 0 !important;    max-width: none !important;    isolation: isolate !important;    contain: style !important;  }  :host([data-fcaw-full-bleed="true"]) {    width: min(      1200px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1200px !important;    margin-left: var(      --fcaw-full-bleed-offset,      calc(50% - min(600px, 50vw))    ) !important;    margin-right: 0 !important;    position: relative !important;  }  :host([data-fcaw-full-bleed="true"]) #tg-df-spreadsheet-filters {    width: min(      1500px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1500px !important;    margin-left: calc(      (        100% -        min(1500px, var(--fcaw-viewport-width, 100vw))      ) / 2    ) !important;    margin-right: 0 !important;  }  :host, :host *, :host *::before, :host *::after {    box-sizing: border-box;  }`,Ff=new WeakMap;function AS(){if(document.querySelector("style[data-fcaw-jump-navigation-protection]"))return;let e=document.createElement("style");e.setAttribute("data-fcaw-jump-navigation-protection",""),e.textContent=`    [${jf}="true"] {      opacity: 0 !important;      pointer-events: none !important;      visibility: hidden !important;    }  `,document.head.appendChild(e)}function wS(){let e=Array.from(document.querySelectorAll("span, p, div, strong, b")).filter(n=>n.childElementCount===0&&hS.test(n.textContent?.trim()||"")),t=new Set;for(let n of e)for(let a=n.parentElement;a&&a!==document.body;a=a.parentElement)if(getComputedStyle(a).position==="sticky"){t.add(a);break}return[...t]}function SS(e,t,n){let a=Ff.get(e)||new Set;n?a.add(t):a.delete(t),a.size>0?(Ff.set(e,a),e.setAttribute(jf,"true")):(Ff.delete(e),e.removeAttribute(jf))}function CS(e){if(e.dataset.fcawFullBleed!=="true"||typeof IntersectionObserver>"u")return;let t=wS().filter(a=>!a.contains(e));if(t.length===0)return;AS(),new IntersectionObserver(([a])=>{t.forEach(l=>SS(l,e,a.isIntersecting))},{threshold:0}).observe(e)}function RS({host:e,initialData:t,initialProps:n}){let[a]=(0,Lt.useState)(d1),l=DS(t,a),[i,r]=(0,Lt.useState)(n.query),[o,u]=(0,Lt.useState)(n.selectedBrands),[c,s]=(0,Lt.useState)(n.priceRange),[f,d]=(0,Lt.useState)(n.discountAmount),[m,v]=(0,Lt.useState)(n.sort),[A,b]=(0,Lt.useState)(!1),h=!!(A&&n.compactEmbed&&n.includeDeals!==!1),g=(0,Lt.useRef)(!1);return(0,Lt.useEffect)(()=>{let p=()=>{g.current||(g.current=!0,i1(r1(l,n.resultCount),n.query))};if(typeof IntersectionObserver>"u"){p();return}let y=new IntersectionObserver(([C])=>{C?.isIntersecting&&(p(),y.disconnect())},{threshold:.1});return y.observe(e),()=>y.disconnect()},[e,l,n.query]),(0,Lt.useEffect)(()=>{if(typeof IntersectionObserver>"u"){b(!0);return}let p=new IntersectionObserver(([y])=>{y?.isIntersecting&&(b(!0),p.disconnect())},{rootMargin:"800px 0px"});return p.observe(e),()=>p.disconnect()},[e]),(0,Vf.jsx)(Jv,{...n,region:a||"unavailable",initialData:l,warmInventory:A,refreshDealsOnViewport:h,query:i,selectedBrands:o,priceRange:c,discountAmount:f,sort:m,editorMode:!1,onQueryChange:r,onBrandSelect:u,onBrandToggle:p=>u(y=>y.includes(p)?y.filter(C=>C!==p):[...y,p]),onPriceRangeChange:s,onDiscountAmountChange:d,onSortChange:v})}function TS(e){try{let t=document.cookie.match(new RegExp(`(?:^|;\\s*)${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}catch{return}}function cc(e){let n=String(e||"").trim().toUpperCase().replace("_","-").split("-").at(-1);return n==="UK"?"GB":["US","GB","AU","CA","DE","FR","IT","ES","NL"].includes(n||"")?n:void 0}function d1(){let e=new URLSearchParams(window.location.search).get("area");return cc(e)||cc(TS("FTR_Country_Code"))||cc(document.documentElement.getAttribute("data-locale"))||cc(window.navigator.language)}function u1(e,t){let n=e.querySelector(t);if(n?.textContent)try{return JSON.parse(n.textContent)}catch(a){console.warn("Author widget configuration could not be parsed.",a);return}}function ES(e){return e?.reviewInventoryFormat!==nv||!e.allDeals?e:{...e,allDeals:av(e.allDeals)}}function DS(e,t){let n=t?e?.regionalDealManifests?.[t]:void 0;if(!n)return e;let a=e?.regionalDealRailData?.[t];return{...e,allDeals:void 0,deals:n,...a}}function c1(e){e.querySelectorAll("a[href]").forEach(t=>{(t.hasAttribute("data-fcaw-affiliate-link")||t.classList.contains("hawk-affiliate-link-deal-widget")||t.classList.contains("hawk-affiliate-link-container")||t.classList.contains("hawk-affiliate-link-deal-button"))&&(t.rel="sponsored nofollow noopener")})}function xS(e){let t=e.closest(".tg-df-card"),n=t?.dataset.fcawRevenueId||e.dataset.fcawRevenueId;if(n)return n;let a=[window.location.href,t?.dataset.productName||"",t?.dataset.merchant||"",t?.dataset.modelId||"",new Date().toDateString(),"tomsguide"].join("|"),l=0;for(let r=0;r<a.length;r+=1)l=(l<<5)-l+a.charCodeAt(r),l|=0;let i=String(Math.abs(l));for(;i.length<19;)l=(l<<5)-l+i.length,l|=0,i+=String(Math.abs(l));return i=i.slice(0,19),t&&(t.dataset.fcawRevenueId=i),i}function MS(e){let t=e.dataset.fcawOriginalLink||e.href;if(!t.includes("hawk-custom-tracking"))return!1;let n=d1();if(!n)return!1;let a=xS(e);return e.dataset.fcawOriginalLink=t,e.dataset.fcawRevenueId=a,e.href=t.replaceAll("hawk-custom-tracking",`tomsguide-${n.toLowerCase()}-${a}`),e.setAttribute("data-fcaw-hawklinks-requested","true"),!0}function _S(){return!!window.hawklinks?.version}function BS(e){let t=!1,n,a,l=()=>Array.from(e.querySelectorAll(".article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-widget[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-container[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-button[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested])")),i=()=>{t=!1;let u=l();if(u.length===0)return;let c=u.filter(s=>!MS(s));if(c.length!==0){if(!_S()){let s=Date.now();a??=s,!n&&s-a<yS&&(n=window.setTimeout(()=>{n=void 0,r()},pS));return}a=void 0,c.forEach(s=>s.setAttribute("data-fcaw-hawklinks-requested","true")),document.dispatchEvent(new CustomEvent("processArticle",{detail:{element:e}}))}},r=()=>{t||(t=!0,window.setTimeout(i,0))},o=new MutationObserver(r);return o.observe(e,{attributes:!0,attributeFilter:["href"],childList:!0,subtree:!0}),r(),()=>{o.disconnect(),n&&window.clearTimeout(n)}}function NS(e){if(e.dataset.fcawFullBleed!=="true")return;let t=()=>{let n=document.documentElement.clientWidth||window.innerWidth,a=Math.min(1200,n),l=Math.max(0,(n-a)/2),i=e.parentElement?.getBoundingClientRect().left||0;e.style.setProperty("--fcaw-full-bleed-offset",`${l-i}px`),e.style.setProperty("--fcaw-viewport-width",`${n}px`)};t(),window.addEventListener("resize",t,{passive:!0}),typeof ResizeObserver<"u"&&e.parentElement&&new ResizeObserver(t).observe(e.parentElement)}function OS(e){let t=window.matchMedia(fS),n=!1,a=new Set,l=new Map,i,r=()=>t.matches||e.getBoundingClientRect().width<gS,o=()=>{n||(n=!0,window.requestAnimationFrame(s))},u=()=>{if(typeof MutationObserver>"u")return;let f=new Set(Array.from(document.querySelectorAll(mS)));l.forEach((d,m)=>{f.has(m)&&m.isConnected||(d.disconnect(),l.delete(m))}),f.forEach(d=>{if(l.has(d))return;let m=new MutationObserver(o);m.observe(d,{attributes:!0,attributeFilter:["class","style"],childList:!0,subtree:!0}),l.set(d,m)})},c=f=>{let d=new Set(f);a.forEach(m=>{d.has(m)||(i?.unobserve(m),m.removeEventListener("transitionend",o),a.delete(m))}),f.forEach(m=>{a.has(m)||(i?.observe(m),m.addEventListener("transitionend",o),a.add(m))})},s=()=>{if(n=!1,u(),!r()){c([]),e.style.removeProperty("--fcaw-mobile-sticky-offset");return}let f=Number.parseFloat(getComputedStyle(e).getPropertyValue("--fcaw-publisher-sticky-offset"));if(Number.isFinite(f)&&f>=0){c([]),e.style.setProperty("--fcaw-mobile-sticky-offset",`${f}px`);return}let d=Array.from(document.querySelectorAll(vS)).filter(v=>{if(v.contains(e))return!1;let A=getComputedStyle(v).position;return A==="fixed"||A==="sticky"});c(d);let m=d.reduce((v,A)=>{let b=A.getBoundingClientRect();return b.top>2||b.bottom<=0||b.height<=0||b.height>window.innerHeight*.5?v:Math.max(v,b.bottom)},0);e.style.setProperty("--fcaw-mobile-sticky-offset",`${Math.ceil(m)}px`)};return typeof ResizeObserver<"u"&&(i=new ResizeObserver(o),i.observe(e)),s(),window.addEventListener("scroll",o,{capture:!0,passive:!0}),window.addEventListener("resize",o,{passive:!0}),t.addEventListener?.("change",o),()=>{window.removeEventListener("scroll",o,!0),window.removeEventListener("resize",o),t.removeEventListener?.("change",o),i?.disconnect(),a.forEach(f=>f.removeEventListener("transitionend",o)),a.clear(),l.forEach(f=>f.disconnect()),l.clear()}}function kS(e){if(e.dataset.fcawEnhanced==="true")return;let t=u1(e,"script[data-fcaw-config]");if(!t)return;let n={...t1(e1(t),{brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}),compactEmbed:t.compactEmbed,editorMode:!1,warmInventory:t.warmInventory},a=u1(e,"script[data-fcaw-preload]"),l=ES(a),i=e.querySelector("[data-fcaw-fallback]");if(!i)return;NS(e),CS(e),n.stickyMobileFilters!==!1&&OS(e),c1(i);let r=e.shadowRoot||e.attachShadow({mode:"open"}),o=e.querySelector(":scope > style[data-fcaw-host-protection]");if(o&&r.appendChild(o),!r.querySelector("style[data-fcaw-shadow-protection]")){let c=document.createElement("style");c.setAttribute("data-fcaw-shadow-protection",""),c.textContent=bS,r.appendChild(c)}i.querySelectorAll(":scope > style").forEach(c=>{r.appendChild(c)});let u=document.createElement("div");for(u.setAttribute("data-fcaw-mount","");i.firstChild;)u.appendChild(i.firstChild);i.remove(),r.appendChild(u),e.dataset.fcawEnhanced="true",a1(),e.dataset.fcawAnalyticsReady="true",o1(r),BS(r),(0,s1.createRoot)(u).render((0,Vf.jsx)(RS,{host:e,initialData:l,initialProps:n})),window.setTimeout(()=>c1(r),0)}function Yf(){document.querySelectorAll(dS).forEach(kS)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yf,{once:!0}):Yf();new MutationObserver(Yf).observe(document.documentElement,{childList:!0,subtree:!0});})();/*! Bundled license information:react/cjs/react.production.js:  (**   * @license React   * react.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)scheduler/cjs/scheduler.production.js:  (**   * @license React   * scheduler.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom.production.js:  (**   * @license React   * react-dom.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom-client.production.js:  (**   * @license React   * react-dom-client.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react/cjs/react-jsx-runtime.production.js:  (**   * @license React   * react-jsx-runtime.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)*/</script></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-black-friday-gaming-mouse-deals-in-the-uk"><span>Black Friday gaming mouse deals in the UK</span></h2><h2 id="where-are-the-best-black-friday-gaming-keyboard-mouse-and-controller-deals-in-the-uk">Where are the best Black Friday gaming keyboard, mouse, and controller deals in the UK?</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.co.uk/s?k=gaming+mice&crid=LB80KGTDLNUC&sprefix=gaming+mice%2Caps%2C142&ref=nb_sb_noss_1" target="_blank">Big discounts on top-brand gaming mice</a></li><li><strong>Overclockers:</strong> <a href="https://www.overclockers.co.uk/peripherals/mice/gaming-mice" target="_blank">Over 100 gaming mice to choose from</a></li><li><strong>Scan:</strong> <a href="https://www.scan.co.uk/search?q=gaming+mice" target="_blank">Gaming mice from just £18</a></li><li><strong>Box: </strong><a href="https://box.co.uk/gaming-mice" target="_blank">Gaming mice from Asus, Logitech, and Razer</a></li><li><strong>Currys:</strong> <a href="https://www.currys.co.uk/search?q=gaming%20mice" target="_blank">Mice from as little as £15</a></li><li><strong>Argos: </strong><a href="https://www.argos.co.uk/search/gaming-mice/?clickOrigin=searchbar:search:term:gaming+mice" target="_blank">Good prices on budget to high-end mice</a></li></ul><div class="product"><a data-dimension112="5004de9a-cf92-11f1-acab-5142bbf7f75b" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="£22.99" href="https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1401px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qgFqUinn2HCKHEThJ47QpC" name="1636734797.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1401" height="1401" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/" target="_blank" rel="nofollow" data-dimension112="5004de9a-cf92-11f1-acab-5142bbf7f75b" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="£22.99">G203 | Wired: was £30.99 now £22.99</a></strong><br>Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.</p><p><strong>Key specs: Wired | 8,000 DPI | Right-handed</strong><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/" target="_blank" rel="nofollow" data-dimension112="5004de9a-cf92-11f1-acab-5142bbf7f75b" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="£22.99">View Deal</a></p></div><div class="product"><a data-dimension112="5004df08-cf92-11f1-8586-93ae7592b3d7" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="£69.97" href="https://www.amazon.co.uk/Corsair-SABRE-Ultralight-Wireless-Gaming/dp/B0FPDBK2M6" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4AaJcaYRutRHqs8C5qjfye" name="Sabre V2 Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4AaJcaYRutRHqs8C5qjfye-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Corsair-SABRE-Ultralight-Wireless-Gaming/dp/B0FPDBK2M6" target="_blank" rel="nofollow" data-dimension112="5004df08-cf92-11f1-8586-93ae7592b3d7" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="£69.97">Sabre V2 Pro: was £89.99 now £69.97</a></strong><br>Getting a <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/" target="_blank">92% from our Jacob Fox</a> last year, this ultra-light gaming mouse is a bit of a beast. It's light, sturdy and comes with a great sensor too. </p><p><strong>Key specs: 33K sensor | Wireless | 36 g weight | 8,000 Hz</strong><a class="view-deal button" href="https://www.amazon.co.uk/Corsair-SABRE-Ultralight-Wireless-Gaming/dp/B0FPDBK2M6" target="_blank" rel="nofollow" data-dimension112="5004df08-cf92-11f1-8586-93ae7592b3d7" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="£69.97">View Deal</a></p></div><div class="product"><a data-dimension112="5004df76-cf92-11f1-b5d0-2b9f044089db" data-action="Deal Block" data-label="Viper V3 Pro SE | Wireless" data-dimension48="Viper V3 Pro SE | Wireless" data-dimension25="£69.97" href="https://www.amazon.co.uk/Razer-Viper-Pro-Ultra-lightweight-lightweight/dp/B0FT8DX8CD" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xR8QJpjHGx27FS3pZnYBj7" name="1790601520.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xR8QJpjHGx27FS3pZnYBj7-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1509" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Razer-Viper-Pro-Ultra-lightweight-lightweight/dp/B0FT8DX8CD" target="_blank" rel="nofollow" data-dimension112="5004df76-cf92-11f1-b5d0-2b9f044089db" data-action="Deal Block" data-label="Viper V3 Pro SE | Wireless" data-dimension48="Viper V3 Pro SE | Wireless" data-dimension25="£69.97">Viper V3 Pro SE | Wireless: was £99.99 now £69.97</a></strong><br>Razer doesn't play around with its compact Viper line-up. The V3 Pro SE is pretty light, feels great in hand, and tracks your movement like any other high-end mouse. This is identical to the standard Viper V3 Pro except that it only comes with a 1,000 Hz dongle out of the box, and you need to purchase a separate dongle if you want battery sapping 8K polling. It's still top-tier and a lot cheaper than the newer V4 Pro now.</p><p><strong>Key specs: 6 buttons | 35K DPI | 8,000 Hz | 70 g</strong><a class="view-deal button" href="https://www.amazon.co.uk/Razer-Viper-Pro-Ultra-lightweight-lightweight/dp/B0FT8DX8CD" target="_blank" rel="nofollow" data-dimension112="5004df76-cf92-11f1-b5d0-2b9f044089db" data-action="Deal Block" data-label="Viper V3 Pro SE | Wireless" data-dimension48="Viper V3 Pro SE | Wireless" data-dimension25="£69.97">View Deal</a></p></div><div class="product"><a data-dimension112="5004dfe4-cf92-11f1-8071-5b86bbb8b42f" data-action="Deal Block" data-label="Aerox 3 | Wireless" data-dimension48="Aerox 3 | Wireless" data-dimension25="£85.83" href="https://www.amazon.co.uk/SteelSeries-Aerox-Wireless-TrueMove-Optical/dp/B0GNMGXRF8/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1433px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="43md8LJJA69Nb4NXj4Aq6f" name="1790601815.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/43md8LJJA69Nb4NXj4Aq6f-1920-80.jpg" mos="" align="middle" fullscreen="" width="1433" height="1433" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/SteelSeries-Aerox-Wireless-TrueMove-Optical/dp/B0GNMGXRF8/?th=1" target="_blank" rel="nofollow" data-dimension112="5004dfe4-cf92-11f1-8071-5b86bbb8b42f" data-action="Deal Block" data-label="Aerox 3 | Wireless" data-dimension48="Aerox 3 | Wireless" data-dimension25="£85.83">Aerox 3 | Wireless: was £99.99 now £85.83</a></strong><br>The SteelSeries Aerox 3 might be lightweight with its honeycombed design, but it's certainly not light on features. With a 200-hour battery life, dual connectivity, and AquaBarrier protection to ensure water, dust and dirt resistance, this is a mouse designed to take some abuse and keep on trucking.</p><p><strong>Key specs: Wireless | 18,000 DPI | Right-handed</strong><a class="view-deal button" href="https://www.amazon.co.uk/SteelSeries-Aerox-Wireless-TrueMove-Optical/dp/B0GNMGXRF8/?th=1" target="_blank" rel="nofollow" data-dimension112="5004dfe4-cf92-11f1-8071-5b86bbb8b42f" data-action="Deal Block" data-label="Aerox 3 | Wireless" data-dimension48="Aerox 3 | Wireless" data-dimension25="£85.83">View Deal</a></p></div><div class="product"><a data-dimension112="5004e052-cf92-11f1-99f8-2377e4734c93" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="£98.45" href="https://www.amazon.co.uk/Logitech-Lightspeed-Left-Handed-Customisable-Switchable-Black/dp/B0DBZGCQHX/ref=sr_1_5" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1206px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="8LsAaks2QtDi5D9rVtv4Yc" name="1781520515.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/8LsAaks2QtDi5D9rVtv4Yc-1920-80.jpg" mos="" align="middle" fullscreen="" width="1206" height="1206" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-Lightspeed-Left-Handed-Customisable-Switchable-Black/dp/B0DBZGCQHX/ref=sr_1_5" target="_blank" rel="nofollow" data-dimension112="5004e052-cf92-11f1-99f8-2377e4734c93" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="£98.45">G Pro 2 Lightspeed | Wireless: was £109.99 now £98.45</a></strong><br>A great 44K DPI sensor with an ambidextrous shape, the G Pro was our first love before the Superlight showed up. It's still a wicked shape and plenty capable for gaming. This one may drop further as while it is a good price today, it has been a touch cheaper in recent months.</p><p><strong>Key specs: Ambidextrous | 44K DPI | Wireless</strong><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-Lightspeed-Left-Handed-Customisable-Switchable-Black/dp/B0DBZGCQHX/ref=sr_1_5" target="_blank" rel="nofollow" data-dimension112="5004e052-cf92-11f1-99f8-2377e4734c93" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="£98.45">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-mice/black-friday-gaming-mouse-deals/</link>
                                                                            <description>
                            <![CDATA[ Black Friday is a-coming and the deals wheels will are already rolling in earnest. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">VWyjvvEmrwELsR9QuS493Y</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/vDeC9HgEe7PTUZpcvkb8v9-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 21 Oct 2026 16:11:02 +0000</pubDate>                                                                                                                                <updated>Sat, 24 Oct 2026 10:04:34 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Mice]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                <author><![CDATA[ dave.james@futurenet.com (Dave James) ]]></author>                    <dc:creator><![CDATA[ Dave James ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-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/vDeC9HgEe7PTUZpcvkb8v9-1920-80.jpg">
                                                            <media:credit><![CDATA[Razer]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Razer Viper V4 Pro on an abstract background with the words Black Friday on either side of it]]></media:description>                                                            <media:text><![CDATA[Razer Viper V4 Pro on an abstract background with the words Black Friday on either side of it]]></media:text>
                                <media:title type="plain"><![CDATA[Razer Viper V4 Pro on an abstract background with the words Black Friday on either side of it]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/vDeC9HgEe7PTUZpcvkb8v9-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Black Friday is on its way and, while I wouldn't expect to see graphics cards dropping below MSRP or memory suddenly becoming a sensibly priced, I am feeling rather more positive about the posibility of genuine Black Friday gaming mouse deals cropping up. We've had a slew of new mice over the past year, and that means last years still-excellent rodents may well be on sale for a song over the November period. Here's hoping.</p><p><strong>👉</strong><a href="https://www.pcgamer.com/black-friday-pc-gaming-deals/" target="_blank"><strong>All our favorite Black Friday PC gaming deals</strong></a><strong>👈</strong></p><p>We're PC gamers, so the <a href="https://www.pcgamer.com/the-best-gaming-mouse/" target="_blank">best gaming mice</a> are our bread and butter. We spend a lot of time through the year testing the latest mice and the latest tech, so check out our guide to get an idea of what might be the right one for you. In the meantime, though, there are lots of tempting options below.</p><h2 id="where-to-find-the-best-black-friday-gaming-mice-deals">Where to find the best Black Friday gaming mice deals</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.com/s?k=gaming+mice&crid=2J6G5VPFKFEZ6&sprefix=gaming+mice%2Caps%2C210&ref=nb_sb_noss_1" target="_blank"><strong>All the gaming mice you could ever want</strong></a></li><li><strong>Walmart:</strong> <a href="https://www.walmart.com/search?q=gaming+mice" target="_blank">Speedy gaming mice, superb savings</a></li><li><strong>Best Buy:</strong> <a href="https://www.bestbuy.com/site/searchpage.jsp?id=pcat17071&st=gaming%20mice" target="_blank">Big name meeces with big value discounts</a></li><li><strong>Newegg:</strong> <a href="https://www.newegg.com/Gaming-Mouse/SubCategory/ID-3527?cm_sp=Cat_Keyboard-Mice_3-_-VisNav-_-Gaming-Mice" target="_blank">Big savings on big brand gaming mice</a></li></ul><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-1bec2uw *:not(svg):not(path) { box-sizing: border-box; }    #widget-1bec2uw h1, #widget-1bec2uw p, #widget-1bec2uw h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-1bec2uw, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-1bec2uw); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-1bec2uw tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-1bec2uw tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-1bec2uw td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-1bec2uw: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-1bec2uw: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-1bec2uw td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-1bec2uw td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-1bec2uw td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-1bec2uw td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-1bec2uw td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-1bec2uw td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-1bec2uw: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-1bec2uw: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-1bec2uw"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 104 gaming mouse reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Gaming Mice";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%22WMXAonUQQtoWEioUkjrHQ9%22%2C%22title%22%3A%22AngryMiao%20AM%20Infinity.97%20mouse%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fangrymiao-am-infinity-97-mouse-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-19T12%3A20%3A28Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FJFKjNACJuiQRvtSxGHrSRo.jpg%22%2C%22strapline%22%3A%22Flagship%20speed%2C%20boutique%20flair.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22gaming%20mouse%22%2C%22Asus%22%5D%2C%22score%22%3A88%2C%22summary%22%3A%22Flagship%20speed%2C%20boutique%20flair.%22%7D%2C%7B%22id%22%3A%22VoC7Nefyvxfz8vx7DkQY6G%22%2C%22title%22%3A%22Razer%20Naga%20V3%20Pro%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Frazer-naga-v3-pro-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-18T09%3A18%3A44Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FbxiLAwj2yKPCob3YQrKmwP.jpg%22%2C%22strapline%22%3A%22An%20upgrade%20in%20pretty%20much%20every%20way%20(if%20you%20ignore%20the%20audible%20ping%20of%20the%20switches).%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22gaming%20mouse%22%2C%22Asus%22%5D%2C%22score%22%3A84%2C%22summary%22%3A%22An%20upgrade%20in%20pretty%20much%20every%20way%20(if%20you%20ignore%20the%20audible%20ping%20of%20the%20switches).%22%7D%2C%7B%22id%22%3A%229rH2aY9tFgUwQt6sayPTuA%22%2C%22title%22%3A%22Asus%20ROG%20Harpe%20II%20Extreme%20Edition%2020%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fasus-rog-harpe-ii-extreme-edition-20-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-14T12%3A04%3A08Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F5Z5HG6hDyVtLXotzVznxzd.jpg%22%2C%22strapline%22%3A%22The%20most%20luxurious%20gaming%20mouse%20I've%20managed%20to%20get%20grubby.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22gaming%20mouse%22%2C%22Asus%22%2C%22Asus%20ROG%20Harpe%20II%20Extreme%20Edition%2020%22%5D%2C%22score%22%3A72%2C%22summary%22%3A%22The%20most%20luxurious%20gaming%20mouse%20I've%20managed%20to%20get%20grubby.%22%7D%2C%7B%22id%22%3A%227Ck8uEtqvvSPUEMBEB3WBL%22%2C%22title%22%3A%22Pulsar%20Feinmann%20F01%20Noctua%20Edition%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fpulsar-feinmann-f01-noctua-edition-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-11T14%3A22%3A21Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FVwUWxAQNqmnvcuJzK3zznH.jpg%22%2C%22strapline%22%3A%22Breezy%20and%20comfortable%2C%20but%20I'm%20not%20a%20fan%20of%20its%20price%20and%20battery.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22budget%20gaming%20mice%22%2C%22gaming%20mouse%22%2C%22budget%20gaming%20mouse%22%2C%22Noctua%22%5D%2C%22score%22%3A73%2C%22summary%22%3A%22Breezy%20and%20comfortable%2C%20but%20I'm%20not%20a%20fan%20of%20its%20price%20and%20battery.%22%7D%2C%7B%22id%22%3A%22oFURMEnCZ5FiByvBsJjKtG%22%2C%22title%22%3A%22Mchose%20K7%20V2%20Ultra%2B%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fmchose-k7-v2-ultra-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-31T11%3A12%3A44Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FJPWDDosBpyPGimW3CEGTPg.jpg%22%2C%22strapline%22%3A%22Great%20specs%20with%20a%20Viper%20V3%2FV4%20Pro's%20shape%2C%20for%20less.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20mice%22%2C%22MCHOSE%22%2C%22Mchose%20K7%20V2%20Ultra%2B%22%2C%22Razer%20Viper%20V4%20Pro%22%5D%2C%22score%22%3A89%2C%22summary%22%3A%22Great%20specs%20with%20a%20Viper%20V3%2FV4%20Pro's%20shape%2C%20for%20less.%22%7D%2C%7B%22id%22%3A%2274wWM4f8JebSDZj7RERSUU%22%2C%22title%22%3A%22Asus%20ProArt%20Mouse%20MD301%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fasus-proart-mouse-md301%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-08T16%3A12%3A04Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FCDsLPYCyTeZscFLF2sjGHQ.jpg%22%2C%22strapline%22%3A%22A%20professional%20design%2C%20but%20with%20enough%20quirks%20to%20give%20me%20pause.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Asus%22%2C%22ergonomic%20mouse%22%2C%22Logitech%20MX%20Master%204%22%2C%22mouse%22%2C%22polling%20rate%22%2C%22mouse%20sensor%22%2C%22Asus%20ProArt%20Mouse%20MD301%22%5D%2C%22score%22%3A71%2C%22summary%22%3A%22A%20professional%20design%2C%20but%20with%20enough%20quirks%20to%20give%20me%20pause.%22%7D%2C%7B%22id%22%3A%22K53srydpKdGNFuLaqCTAra%22%2C%22title%22%3A%22Logitech%20Mobi%20Fold%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Flogitech-mobi-fold-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-07T11%3A41%3A33Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FFgQTQfXDfPekUFgZ9dwEZ7.jpg%22%2C%22strapline%22%3A%22Is%20that%20a%20mouse%20in%20your%20pocket%20or%20do%20you%20need%20to%20see%20a%20doctor%3F%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20mouse%22%2C%22travel%20mouse%22%2C%22Logitech%22%2C%22Mobi%20Fold%22%5D%2C%22score%22%3A65%2C%22summary%22%3A%22Is%20that%20a%20mouse%20in%20your%20pocket%20or%20do%20you%20need%20to%20see%20a%20doctor%3F%22%7D%2C%7B%22id%22%3A%22CpybdgtNoaxnCfqj8qUD36%22%2C%22title%22%3A%22Logitech%20G305%20X%20Superlight%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Flogitech-g305-x-superlight-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-19T15%3A37%3A08Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FpTZdszAGGB42CfodWGhPqb.jpg%22%2C%22strapline%22%3A%22A%20solid%20and%20fairly%20plain%20upgrade%20on%20the%20original%2C%20but%20not%20wholly%20better%20either.%20%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22budget%20gaming%20mice%22%2C%22gaming%20mouse%22%2C%22budget%20gaming%20mouse%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20solid%20and%20fairly%20plain%20upgrade%20on%20the%20original%2C%20but%20not%20wholly%20better%20either.%20%22%7D%2C%7B%22id%22%3A%229yFaBcP8M4acKy3vvNHd3S%22%2C%22title%22%3A%22MSI%20Versa%20300%20Wireless%208K%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fmsi-versa-300-wireless-8k-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-15T15%3A35%3A37Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FJBmtjZP3tFxWBytcBD26Jb.jpg%22%2C%22strapline%22%3A%22Surprisingly%20potent.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22MSI%22%2C%22gaming%20mouse%22%2C%228K%22%2C%22mouse%22%2C%22gaming%20mice%22%5D%2C%22score%22%3A72%2C%22summary%22%3A%22Surprisingly%20potent.%22%7D%2C%7B%22id%22%3A%22PnfkWCANTGjwi9CK2iZQBN%22%2C%22title%22%3A%22ProtoArc%20EM25%20ergonomic%20mouse%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fprotoarc-em25-ergonomic-mouse-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-12T16%3A31%3A51Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FZwZJejJtPeZcajbcwMNWfX.jpg%22%2C%22strapline%22%3A%22Rough%20around%20the%20edges.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22ergonomic%20mouse%22%2C%22ProtoArc%22%2C%22ProtoArc%20EM25%22%2C%22RF%202.4%20GHz%22%2C%22Bluetooth%22%2C%22wireless%20mouse%22%5D%2C%22score%22%3A40%2C%22summary%22%3A%22Rough%20around%20the%20edges.%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 76;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Gaming Mice Widget"></iframe></div><h2 class="article-body__section" id="section-black-friday-gaming-mouse-deals"><span>Black Friday gaming mouse deals</span></h2><div class="product"><a data-dimension112="5004d9ae-cf92-11f1-b1a1-6320552da474" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="$26.21" href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1401px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qgFqUinn2HCKHEThJ47QpC" name="1636734797.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1401" height="1401" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" target="_blank" rel="nofollow" data-dimension112="5004d9ae-cf92-11f1-b1a1-6320552da474" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="$26.21">G203 | Wired: was $34.99 now $26.21</a></strong><br>This rodent is perfect as a starter or low-budget option, with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software. This mouse proves that you don't need to go fancy to get a great gaming peripheral.</p><p><strong>Key specs: Wired | 8,000 DPI | Right-handed</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362" target="_blank">Best Buy $29.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" target="_blank" rel="nofollow" data-dimension112="5004d9ae-cf92-11f1-b1a1-6320552da474" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="$26.21">View Deal</a></p></div><div class="product"><a data-dimension112="5004da26-cf92-11f1-baa2-fb68d866f5fe" data-action="Deal Block" data-label="G305 Lightspeed | Wireless" data-dimension48="G305 Lightspeed | Wireless" data-dimension25="$29.49" href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:212px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="krHdzSvvW5EskC6Keg74P9" name="1700740513.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9-1920-80.jpg" mos="" align="middle" fullscreen="" width="212" height="212" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" target="_blank" rel="nofollow" data-dimension112="5004da26-cf92-11f1-baa2-fb68d866f5fe" data-action="Deal Block" data-label="G305 Lightspeed | Wireless" data-dimension48="G305 Lightspeed | Wireless" data-dimension25="$29.49">G305 Lightspeed | Wireless: was $49.99 now $29.49</a></strong><br>The Logitech G305 Lightspeed is our<a href="https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse" target="_blank"> favorite budget wireless mouse</a>—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily <em>that </em>out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.</p><p><strong>Key specs: Wireless | 12,000 DPI | Right-handed</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR" target="_blank">Best Buy $34.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" target="_blank" rel="nofollow" data-dimension112="5004da26-cf92-11f1-baa2-fb68d866f5fe" data-action="Deal Block" data-label="G305 Lightspeed | Wireless" data-dimension48="G305 Lightspeed | Wireless" data-dimension25="$29.49">View Deal</a></p></div><div class="product"><a data-dimension112="5004da94-cf92-11f1-911c-eb4397f77041" data-action="Deal Block" data-label="Model O Eternal | Wired" data-dimension48="Model O Eternal | Wired" data-dimension25="$29.99" href="https://www.bestbuy.com/product/glorious-model-o-eternal-lightweight-wired-optical-gaming-mouse-with-dual-zone-rgb-lighting-wired-matte-white/J39TGZ8SRL" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xuXRzZ72Wy2yQ9oAS9r3A4" name="Model O Eternal | Wired" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xuXRzZ72Wy2yQ9oAS9r3A4-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/glorious-model-o-eternal-lightweight-wired-optical-gaming-mouse-with-dual-zone-rgb-lighting-wired-matte-white/J39TGZ8SRL" target="_blank" rel="nofollow" data-dimension112="5004da94-cf92-11f1-911c-eb4397f77041" data-action="Deal Block" data-label="Model O Eternal | Wired" data-dimension48="Model O Eternal | Wired" data-dimension25="$29.99">Model O Eternal | Wired: was $39.99 now $29.99</a></strong><br>You aren't packing an incredibly high DPI or polling rate with this mouse, but you are getting strong performance for the price, as well as a lightweight, comfortable build, and solid software. Cheap and cheerful is the aim here.</p><p><strong>Key specs: 12,000 DPI | 300 IPS |  1,000 Hz | 55 g</strong></p><p><strong>Price check: </strong><a href="https://www.amazon.com/dp/B0F9B79WBR" target="_blank">Amazon $39.99</a><a class="view-deal button" href="https://www.bestbuy.com/product/glorious-model-o-eternal-lightweight-wired-optical-gaming-mouse-with-dual-zone-rgb-lighting-wired-matte-white/J39TGZ8SRL" target="_blank" rel="nofollow" data-dimension112="5004da94-cf92-11f1-911c-eb4397f77041" data-action="Deal Block" data-label="Model O Eternal | Wired" data-dimension48="Model O Eternal | Wired" data-dimension25="$29.99">View Deal</a></p></div><div class="product"><a data-dimension112="5004db02-cf92-11f1-941e-2158991a2f6e" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="$37.99" href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="SaXBHtPWoMGvzcyvsLNQQX" name="1698934268.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" target="_blank" rel="nofollow" data-dimension112="5004db02-cf92-11f1-941e-2158991a2f6e" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="$37.99">G502 Hero | Wired: was $69.99 now $37.99</a></strong><br>This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. </p><p><strong>Key specs: Wired | 25,600 DPI | Right-handed</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133" target="_blank">Best Buy $37.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" target="_blank" rel="nofollow" data-dimension112="5004db02-cf92-11f1-941e-2158991a2f6e" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="$37.99">View Deal</a></p></div><div class="product"><a data-dimension112="5004db70-cf92-11f1-b323-6794fe45003f" data-action="Deal Block" data-label="Retro R8 | Wireless" data-dimension48="Retro R8 | Wireless" data-dimension25="$44.97" href="https://www.amazon.com/Charging-Optical-Wireless-Programmable-Switches/dp/B0F37BTPPH" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="6ftyiD7DphdvJ2Z5PfoAKh" name="PCGamer Deal Block (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6ftyiD7DphdvJ2Z5PfoAKh-1920-80.jpg" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Charging-Optical-Wireless-Programmable-Switches/dp/B0F37BTPPH" target="_blank" rel="nofollow" data-dimension112="5004db70-cf92-11f1-b323-6794fe45003f" data-action="Deal Block" data-label="Retro R8 | Wireless" data-dimension48="Retro R8 | Wireless" data-dimension25="$44.97">Retro R8 | Wireless: was $49.99 now $44.97</a></strong><br>Our James <a href="https://www.pcgamer.com/hardware/gaming-mice/8bitdo-retro-r8-gaming-mouse-review/" target="_blank">reviewed the 8BitDo Retro R8</a>, giving it an 87%, and for good reason. It's a mouse with a super unique look, good specs for the price, and it even comes with a cute charging stand. The retro feel is definitely something to get used to, with buttons that are sunken into the mouse itself, but it's a joy to use regardless. <strong>The 10% discount comes in at checkout.</strong></p><p><strong>Key specs: up to 8,000 Hz polling | 26,000 DPI | 77 g | up to 100-hour battery life</strong></p><p><strong>Price check: </strong><a href="https://www.newegg.com/p/32K-00R0-00033" target="_blank">Newegg $49.99</a><a class="view-deal button" href="https://www.amazon.com/Charging-Optical-Wireless-Programmable-Switches/dp/B0F37BTPPH" target="_blank" rel="nofollow" data-dimension112="5004db70-cf92-11f1-b323-6794fe45003f" data-action="Deal Block" data-label="Retro R8 | Wireless" data-dimension48="Retro R8 | Wireless" data-dimension25="$44.97">View Deal</a></p></div><div class="product"><a data-dimension112="5004dc1a-cf92-11f1-89c7-81ffa9fe93eb" data-action="Deal Block" data-label="Burst II Air | Wireless" data-dimension48="Burst II Air | Wireless" data-dimension25="$54.99" href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1504px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="oHpVvSDqMgFC5rnRe2pUnQ" name="1790601251.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1504" height="1494" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" target="_blank" rel="nofollow" data-dimension112="5004dc1a-cf92-11f1-89c7-81ffa9fe93eb" data-action="Deal Block" data-label="Burst II Air | Wireless" data-dimension48="Burst II Air | Wireless" data-dimension25="$54.99">Burst II Air | Wireless: was $99.99 now $54.99</a></strong><br>We gave this mouse an 85% in <a href="https://www.pcgamer.com/hardware/gaming-mice/turtle-beach-burst-ii-air-review/" target="_blank">our review</a>, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price.</p><p><strong>Key specs: Wireless | 26,000 DPI | Symmetrical</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/site/turtle-beach-burst-ii-air-ultra-lightweight-wireless-symmetrical-gaming-mouse-with-bluetooth-120-hour-battery-black/6579301.p?skuId=6579301" target="_blank">Best Buy $69.99</a><a class="view-deal button" href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" target="_blank" rel="nofollow" data-dimension112="5004dc1a-cf92-11f1-89c7-81ffa9fe93eb" data-action="Deal Block" data-label="Burst II Air | Wireless" data-dimension48="Burst II Air | Wireless" data-dimension25="$54.99">View Deal</a></p></div><div class="product"><a data-dimension112="5004dd14-cf92-11f1-b58f-87e69c805de3" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$69.99" href="https://www.amazon.com/dp/B0FKJ2J2R8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4AaJcaYRutRHqs8C5qjfye" name="Sabre V2 Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4AaJcaYRutRHqs8C5qjfye-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FKJ2J2R8" target="_blank" rel="nofollow" data-dimension112="5004dd14-cf92-11f1-b58f-87e69c805de3" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$69.99">Sabre V2 Pro: was $99.99 now $69.99</a></strong><br>Earning a <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/" target="_blank">92% score from our Jacob Fox</a> last year, this ultra-light gaming mouse is a bit of a beast. It's light, sturdy and comes with a great sensor too. </p><p><strong>Key specs: 33K sensor | Wireless | 36 g weight | 8,000 Hz</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FKJ2J2R8" target="_blank" rel="nofollow" data-dimension112="5004dd14-cf92-11f1-b58f-87e69c805de3" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$69.99">View Deal</a></p></div><div class="product"><a data-dimension112="5004dd82-cf92-11f1-b14e-f95ccf97e540" data-action="Deal Block" data-label="Viper V3 Pro | Wireless" data-dimension48="Viper V3 Pro | Wireless" data-dimension25="$99.27" href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CVRGCGWJ/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xR8QJpjHGx27FS3pZnYBj7" name="1790601520.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xR8QJpjHGx27FS3pZnYBj7-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1509" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CVRGCGWJ/?th=1" target="_blank" rel="nofollow" data-dimension112="5004dd82-cf92-11f1-b14e-f95ccf97e540" data-action="Deal Block" data-label="Viper V3 Pro | Wireless" data-dimension48="Viper V3 Pro | Wireless" data-dimension25="$99.27">Viper V3 Pro | Wireless: was $159.99 now $99.27</a></strong><br>Razer doesn't play around with its compact Viper line-up. The V3 Pro is pretty light, feels great in hand, and tracks your movement like any other high-end mouse. It's top-tier and a little cheaper than the newer V4 Pro now.</p><p><strong>Key specs: 6 buttons | 35K DPI | 8,000 Hz | 70 g</strong><a class="view-deal button" href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CVRGCGWJ/?th=1" target="_blank" rel="nofollow" data-dimension112="5004dd82-cf92-11f1-b14e-f95ccf97e540" data-action="Deal Block" data-label="Viper V3 Pro | Wireless" data-dimension48="Viper V3 Pro | Wireless" data-dimension25="$99.27">View Deal</a></p></div><h2 id="check-out-all-our-latest-deals-in-any-category">Check out all our latest deals in any category:</h2><div class="vizualizer-embed"><fc-author-commerce-widget data-fcaw-version="1" data-fcaw-full-bleed="false">  <style data-fcaw-host-protection>fc-author-commerce-widget[data-fcaw-version="1"] {  display: block !important;  width: 100% !important;  min-width: 0 !important;  max-width: none !important;  isolation: isolate !important;  contain: style !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]{  width: min(    1200px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1200px !important;  margin-left: var(    --fcaw-full-bleed-offset,    calc(50% - min(600px, 50vw))  ) !important;  margin-right: 0 !important;  position: relative !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]  #tg-df-spreadsheet-filters {  width: min(    1500px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1500px !important;  margin-left: calc(    (      100% -      min(1500px, var(--fcaw-viewport-width, 100vw))    ) / 2  ) !important;  margin-right: 0 !important;}fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::before,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::after {  box-sizing: border-box;}</style>  <div data-fcaw-fallback class="fcaw-v1-fallback">    <style>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with 'tg-df-' to prevent CMS style leakage.    */    .tg-df-container { user-select: text; -webkit-user-select: text;      container-type: inline-size;      container-name: tg-df;                  --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]    {      width: min(        1200px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1200px !important;      margin-left: calc(        (          100% -          min(1200px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;      position: relative !important;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]      #tg-df-spreadsheet-filters {      width: min(        1500px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1500px !important;      margin-left: calc(        (          100% -          min(1500px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: var(--tg-df-blue);    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }        .tg-df-filters {      display: flex;      justify-content: center;      width: 100%;      gap: 12px;      margin: 0 auto;      max-width: 42rem;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;      max-width: 280px;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    .tg-df-scroll-btn {      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 4px;    }    .tg-df-scroll-btn.right {      right: 4px;    }    @container tg-df (max-width: 768px) {      .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;      margin: 0 auto;    }    .tg-df-filters {        justify-content: center;        width: 100%;        margin: 0 auto;        margin-bottom: -320px;        padding: 0 0 320px 0;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: calc(100% + 32px);      max-width: none;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;      margin: 0 -16px -16px -16px;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }    .tg-df-buying-guide-badge {      left: auto;      right: 12px;      max-width: calc(100% - 24px);      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges { position: absolute; bottom: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; z-index: 10; }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-card-listings {      margin: 0 0 12px;    }    .tg-df-card-listings-title {      display: block;      color: var(--tg-df-text-muted);      font-size: 11px;      font-weight: 700;      letter-spacing: 0.45px;      line-height: 1.2;      margin-bottom: 4px;      text-transform: uppercase;    }    .tg-df-card-listings-links {      border-top: 1px solid var(--tg-df-border);    }    .tg-df-container .tg-df-card-listing-link {      align-items: center;      border-bottom: 1px solid var(--tg-df-border);      box-sizing: border-box;      color: var(--tg-df-blue);      display: flex;      font-size: 13px;      font-weight: 700;      justify-content: space-between;      line-height: 1.2;      min-height: 34px;      padding: 5px 2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-listing-link::after {      content: '↗';      font-size: 14px;      font-weight: 600;      margin-left: 8px;    }    .tg-df-container .tg-df-card-listing-link:hover,    .tg-df-container .tg-df-card-listing-link:focus-visible {      background: #f8fafc;      color: var(--tg-df-blue);      outline: 2px solid var(--tg-df-blue);      outline-offset: -2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: calc(100% + 32px);      max-width: none;      box-sizing: border-box;      background-color: var(--tg-df-blue);      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;      margin: 0 -16px -16px -16px;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      filter: brightness(0.85);    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /* Optional mobile 2x2 filter grid */    .tg-df-mobile-2x2-container {      display: none;      width: 100%;      margin: 0 0 16px 0;      position: relative;      z-index: 30;    }    .tg-df-mobile-2x2-grid {      display: grid;      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);      width: 100%;      border: 1px solid var(--tg-df-border, #e2e8f0);      background: var(--tg-df-bg, #ffffff);    }    .tg-df-container .tg-df-mobile-grid-cell {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      min-width: 0;      padding: 12px 14px;      font-family: inherit;      font-size: 11px;      font-weight: 600;      line-height: 1.2;      text-transform: uppercase;      letter-spacing: 0.5px;      text-align: left;      color: var(--tg-df-text-muted, #64748b);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-mobile-grid-cell > span {      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }    .tg-df-mobile-grid-cell > svg {      flex: 0 0 auto;      margin-left: 8px;      transition: transform 0.15s ease;    }    .tg-df-mobile-grid-cell > svg.is-open {      transform: rotate(180deg);    }    .tg-df-mobile-grid-cell {      border-bottom: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-grid-cell:nth-child(odd) {      border-right: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-2x2-grid--even .tg-df-mobile-grid-cell:nth-last-child(-n + 2) {      border-bottom: 0;    }    .tg-df-mobile-2x2-grid--odd .tg-df-mobile-grid-cell:last-child {      grid-column: 1 / -1;      border-right: 0;      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-grid-cell.active,    .tg-df-container .tg-df-mobile-grid-cell:hover {      background: var(--tg-df-bg-secondary, #f8fafc);      color: var(--tg-df-text, #0f172a);    }    .tg-df-container .tg-df-mobile-grid-cell.has-active-filter {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;    }    .tg-df-mobile-menu-drawer {      width: 100%;      max-height: 260px;      overflow-y: auto;      overscroll-behavior: contain;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-top: 0;      background: var(--tg-df-bg, #ffffff);      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);    }    .tg-df-container .tg-df-mobile-menu-item {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      width: 100%;      min-height: 42px;      padding: 12px 16px;      font-family: inherit;      font-size: 12px;      font-weight: 500;      line-height: 1.3;      text-align: left;      color: var(--tg-df-text, #0f172a);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-bottom: 1px solid #f1f5f9;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-container .tg-df-mobile-menu-item:last-child {      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-menu-item.selected {      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.08);      font-weight: 600;    }    .tg-df-container .tg-df-mobile-menu-item:hover {      background: var(--tg-df-bg-secondary, #f8fafc);    }    .tg-df-mobile-cell-badge {      display: inline-flex;      align-items: center;      justify-content: center;      padding: 2px 6px;      margin-left: 4px;      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.1);      border-radius: 9999px;      font-size: 10px;      font-weight: 700;    }    @container tg-df (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    @media (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    /* A non-full-bleed desktop embed is constrained to the article column.       Reuse the compact filter grid there instead of squeezing the rails. */    @container tg-df (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    @media (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-mobile-authors { gap: 16px !important; }      .tg-df-mobile-authors .tg-df-author-row-item { width: 56px !important; }      .tg-df-mobile-authors .tg-df-author-img-wrapper { width: 48px !important; height: 48px !important; }      .tg-df-mobile-authors .tg-df-author-brand-logo { width: 18px !important; height: 18px !important; bottom: -2px !important; right: -2px !important; }      .tg-df-mobile-authors .tg-df-author-row-name { font-size: 11px !important; }      .tg-df-mobile-authors .tg-df-author-row-role { font-size: 10px !important; }            .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-controls {        padding: 16px 0 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 8px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    @media (max-width: 599px) {      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }        .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: var(--tg-df-blue);      position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }      .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }        .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;      scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-scroll-left {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: rgba(255, 255, 255, 0.4);      color: var(--tg-df-blue);      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);      border: none;      cursor: pointer;      transition: background-color 0.2s;      margin-top: -4px;      z-index: 10;    }    .tg-df-container .tg-df-carousel-scroll-right {      right: 0;    }    .tg-df-container .tg-df-carousel-scroll-left {      left: 0;    }    .tg-df-container .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-scroll-left:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left {       height: 30px;       width: 30px;       background-color: rgba(255, 255, 255, 0.8);       box-shadow: 0 2px 4px rgba(0,0,0,0.1);       margin-top: 0;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left:hover {       background-color: white;    }    .tg-df-container .tg-df-grid-wrapper {       position: relative;    }    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-left {       background-color: white;       box-shadow: 0 4px 12px rgba(0,0,0,0.15);       top: 40%;       width: 44px;       height: 44px;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }            .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover, .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      width: calc(100% + 24px);      border-radius: 0;      padding: 8px 10px;      margin: auto -12px -12px -12px;      background-color: var(--tg-df-blue);    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; padding-right: 12px; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @media (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }      .tg-df-container .hawk-deal-widget-title-product-title,      .tg-df-container .hawk-deal-widget-title-price,      .tg-df-container .hawk-deal-widget-title-retailer {        font-size: 14px !important;        line-height: 1.35 !important;        font-weight: 700 !important;      }      .tg-df-container .hawk-deal-widget-title-was-price {        font-size: 13px !important;        line-height: 1.35 !important;      }      .tg-df-container .hawk-deal-widget-text-body-main {        font-size: 14px !important;        line-height: 1.35 !important;        margin-bottom: 8px !important;      }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    /* BESPOKE AUTHOR HEADER STYLES - MAX ISOLATION PROTECTION */    .tg-df-author-embed {      width: 100% !important;      font-family: inherit !important;      background: transparent !important;      margin: 0 !important;      padding: 0 !important;      border: none !important;    }    .tg-df-author-section {      display: block !important;      width: 100% !important;      max-width: 100% !important;      opacity: 1 !important;      overflow: visible !important;      background: transparent !important;      border: none !important;      margin: 0 auto !important;      padding: 0 !important;      box-shadow: none !important;    }    .tg-df-author-card {      text-align: center !important;      padding: 1.75rem 1rem 1.25rem 1rem !important;      margin: 0 auto !important;      max-width: 48rem !important;      background: transparent !important;      border: none !important;      border-radius: 0 !important;      box-sizing: border-box !important;      box-shadow: none !important;    }    .tg-df-author-image {      width: 180px !important;      height: 180px !important;      border-radius: 50% !important;      object-fit: cover !important;      margin: 0 auto 0.75rem auto !important;      display: block !important;      border: none !important;      box-shadow: none !important;      max-width: 100% !important;    }    .tg-df-author-media-slot {      width: 100% !important;      height: 180px !important;      min-height: 180px !important;      margin: 0 auto 0.75rem auto !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;    }    .tg-df-author-media-slot .tg-df-author-image {      margin: 0 auto !important;    }    .tg-df-author-profile-image-wrapper {      position: relative !important;      width: 180px !important;      height: 180px !important;      margin: 0 auto 0.75rem auto !important;      flex: 0 0 auto !important;    }    .tg-df-author-profile-brand-logo {      position: absolute !important;      right: 12px !important;      bottom: 12px !important;      width: 42px !important;      height: 42px !important;      padding: 0 !important;      border: 3px solid var(--tg-df-bg, #fff) !important;      border-radius: 50% !important;      background: #000 !important;      object-fit: contain !important;      box-sizing: border-box !important;    }    .tg-df-author-curated-by {      font-size: 0.875rem !important;      color: #6B7280 !important;      font-style: normal !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      line-height: 1.4 !important;    }    .tg-df-author-name {      font-size: 2rem !important;      font-weight: 300 !important;      color: #111827 !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      line-height: 1.1 !important;      letter-spacing: -0.02em !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-role {      font-size: 0.9375rem !important;      font-weight: 500 !important;      color: var(--tg-df-blue, #1F69FF) !important;      margin: 0 0 1.25rem 0 !important;      padding: 0 !important;      line-height: 1.3 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-meta-slot {      width: 100% !important;      min-height: 88px !important;      display: flex !important;      flex-direction: column !important;      align-items: center !important;      justify-content: flex-start !important;    }    .tg-df-author-meta-slot--site {      padding-top: 1rem !important;    }    .tg-df-author-meta-slot--no-social {      min-height: 0 !important;    }    .tg-df-author-meta-slot--no-social .tg-df-author-role {      margin-bottom: 0.5rem !important;    }    .tg-df-author-social-links {      display: flex !important;      flex-wrap: wrap !important;      align-items: center !important;      justify-content: center !important;      gap: 1rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 !important;      max-width: 42rem !important;      width: 100% !important;      list-style: none !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-social-btn {      display: inline-flex !important;      align-items: center !important;      justify-content: center !important;      padding: 0 !important;      border-radius: 50% !important;      background-color: #f2f2f2 !important;      color: #111111 !important;      font-size: 0.8125rem !important;      font-weight: 500 !important;      text-decoration: none !important;      transition: all 0.2s ease !important;      border: 0 !important;      line-height: 1 !important;      box-shadow: none !important;      cursor: pointer !important;      outline: none !important;      margin: 0 !important;      height: 34px !important;      width: 34px !important;      min-width: 34px !important;      box-sizing: border-box !important;    }    .tg-df-author-social-btn:hover {      background-color: #dedede !important;      color: #111111 !important;      transform: translateY(-1px) !important;    }    .tg-df-author-social-btn > svg {      width: 19px !important;      height: 19px !important;      flex-shrink: 0 !important;      display: block !important;      margin: 0 !important;    }    .tg-df-author-social-btn[data-social-key="facebook"] > svg {      transform: scale(1.25) !important;    }    .tg-df-author-social-btn[data-social-key="pinterest"] > svg,    .tg-df-author-social-btn[data-social-key="tiktok"] > svg {      transform: scale(1.2) !important;    }    .tg-df-author-bio {      max-width: 42rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 0.5rem !important;      color: #4b5563 !important;      line-height: 1.6 !important;      font-weight: 300 !important;      font-size: 0.9375rem !important;      text-align: center !important;      background: none !important;      border: none !important;      border-radius: 0 !important;      box-shadow: none !important;      display: block !important;      height: auto !important;      overflow: visible !important;    }    .tg-df-author-bio-shell--stable {      width: 100% !important;      box-sizing: border-box !important;    }    .tg-df-author-bio--clamped {      min-height: 4.8em !important;      height: 4.8em !important;      max-height: 4.8em !important;      display: -webkit-box !important;      -webkit-box-orient: vertical !important;      -webkit-line-clamp: 3 !important;      overflow: hidden !important;    }    .tg-df-author-bio--expanded {      min-height: 4.8em !important;      height: auto !important;      max-height: none !important;      display: block !important;      overflow: visible !important;    }    .tg-df-author-bio--static,    .tg-df-author-bio--static:hover,    .tg-df-author-bio--static:focus,    .tg-df-author-bio--static:focus-visible {      outline: none !important;      box-shadow: none !important;      cursor: default !important;    }    .tg-df-author-bio-toggle-slot {      height: 28px !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;      margin: 0.125rem 0 0 !important;    }    .tg-df-author-bio-toggle {      appearance: none !important;      border: 0 !important;      border-bottom: 1px solid currentColor !important;      border-radius: 0 !important;      padding: 0.125rem 0 !important;      margin: 0 !important;      background: transparent !important;      color: #4b5563 !important;      box-shadow: none !important;      font: inherit !important;      font-size: 0.75rem !important;      font-weight: 600 !important;      line-height: 1.2 !important;      text-decoration: none !important;      text-transform: none !important;      cursor: pointer !important;    }    .tg-df-author-bio a {      color: var(--tg-df-blue, #1F69FF) !important;      text-decoration: underline !important;      font-weight: 400 !important;      background: none !important;      border: none !important;      padding: 0 !important;      margin: 0 !important;      border-radius: 0 !important;      display: inline !important;      box-shadow: none !important;    }    .tg-df-author-bio p,    .tg-df-author-bio div,    .tg-df-author-bio span {      margin: 0 !important;      padding: 0 !important;      color: inherit !important;      font: inherit !important;      line-height: inherit !important;      text-align: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-bio strong,    .tg-df-author-bio b {      font-weight: 600 !important;    }    .tg-df-author-bio em,    .tg-df-author-bio i {      font-style: italic !important;    }    @container tg-df (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @media (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @container tg-df (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @media (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }    @media (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }        .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button {      align-items: center; background-color: var(--tg-df-blue); box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;    }    .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button:hover { filter: brightness(0.85); text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-active-badges-row {      display: flex;      flex-wrap: wrap;      gap: 8px;      align-items: center;      margin-top: 12px;      margin-bottom: 16px;      width: 100%;    }    .tg-df-active-badge {      display: inline-flex;      align-items: center;      gap: 6px;      padding: 8px 14px;      background-color: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border: 1px solid var(--tg-df-blue, #1f69ff);      border-radius: 0px;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;    }    .tg-df-badge-remove {      display: inline-flex;      align-items: center;      justify-content: center;      width: 16px;      height: 16px;      border-radius: 0px;      border: none;      background: rgba(255, 255, 255, 0.25);      color: #ffffff;      cursor: pointer;      padding: 0;      margin-left: 4px;      transition: background-color 0.15s, color 0.15s;    }    .tg-df-badge-remove:hover {      background: rgba(255, 255, 255, 0.45);      color: #ffffff;    }    .tg-df-badge-clear-all {      display: inline-flex;      align-items: center;      justify-content: center;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;      padding: 8px 14px;      color: var(--tg-df-text-muted, #64748b);      cursor: pointer;      background: #ffffff;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-radius: 0px;      transition: all 0.15s ease;    }    .tg-df-badge-clear-all:hover {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border-color: var(--tg-df-blue, #1f69ff);    }    .tg-df-savings-squad-header {      margin-bottom: 24px;      text-align: center;    }    .tg-df-banner-img-desktop {      display: block;      width: 100%;      height: auto;      margin-bottom: 32px;    }    .tg-df-banner-img-mobile {      display: none;      width: 100%;      height: auto;      margin-bottom: 32px;    }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop {        display: none;      }      .tg-df-banner-img-mobile {        display: block;      }    }    .tg-df-header-title {      font-size: 28px;      font-weight: 700;      color: var(--tg-df-text);      margin: 32px 0 12px 0;      line-height: 1.3;    }    .tg-df-header-subtitle {      font-size: 16px;      color: var(--tg-df-text-muted);      margin: 0 0 32px 0;      line-height: 1.5;    }    @container tg-df (max-width: 599px) {      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    @media (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    /* Article Intro Content Styling */    .tg-df-article-content {      font-size: 1rem;      line-height: 1.7;      color: #334155;    }    .tg-df-article-content p {      margin-bottom: 1.25rem;      line-height: 1.7;      font-size: 1rem;      color: #334155;    }    .tg-df-article-content > p:first-of-type::first-letter {      font-size: 3.25rem;      font-weight: 700;      float: left;      line-height: 0.85;      margin-right: 0.5rem;      margin-top: 0.15rem;      color: #0f172a;      font-family: inherit;    }    .tg-df-article-content a {      color: #0066cc;      text-decoration: underline;      font-weight: 500;    }    .tg-df-article-content a:hover {      color: #004499;    }    .tg-df-article-content strong, .tg-df-article-content b {      font-weight: 700;      color: #0f172a;    }    .tg-df-article-section-banner {      border-bottom: 2px solid #e6007e;      margin: 2.25rem 0 1.25rem 0;      position: relative;      clear: both;    }    .tg-df-article-section-banner span {      background-color: #e6007e;      color: #ffffff;      padding: 6px 16px;      font-weight: 700;      font-size: 0.875rem;      text-transform: uppercase;      letter-spacing: 0.05em;      display: inline-block;    }  </style><div class="tg-df-widget-host" data-vizualizer-embed="true" data-tg-df-full-bleed="false" data-tg-df-mobile-dropdowns="true" data-tg-df-sticky-mobile-filters="false" style="--tg-df-blue: #DC191B;"><div class="tg-df-container article-body" style="background-color: transparent;"><div id="tg-df-spreadsheet-filters" style="display: block; margin-bottom: 16px;"><div class="tg-df-categories-row-container" style="border-bottom: 1px solid var(--tg-df-border); position: relative;"><button aria-label="Scroll left" class="tg-df-scroll-btn left tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 18l-6-6 6-6"></path></svg></button><button aria-label="Scroll right" class="tg-df-scroll-btn right tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-categories-row" style="display: flex; overflow-x: auto; scrollbar-width: none;"><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Hardware <span style="color: var(--tg-df-blue); font-size: 10px;">66</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Monitors <span style="color: var(--tg-df-blue); font-size: 10px;">9</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming PCs <span style="color: var(--tg-df-blue); font-size: 10px;">7</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Mice <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Headsets <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Audio <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">SSDs <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Storage <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Laptops <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Controllers <span style="color: var(--tg-df-blue); font-size: 10px;">1</span></button></div></div></div><div class="tg-df-mobile-2x2-container"><div class="tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--odd"><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>CATEGORIES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>PRICES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell has-active-filter" aria-expanded="false"><span>DISCOUNTS (25%+)</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button></div></div><div class="tg-df-controls" id="tg-df-controls" style="display: flex; margin-top: 12px; margin-bottom: 16px; justify-content: center;"><div class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0px auto;"><button class="tg-df-scroll-btn left" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 18l-6-6 6-6"></path></svg></button><button class="tg-df-scroll-btn right" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-filters"><div class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices"><option value="all">All Prices</option><option value="under50">Under $50</option><option value="50_100">$50 - $100</option><option value="100_200">$100 - $200</option><option value="200_500">$200 - $500</option><option value="over500">Over $500</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount"><option value="all">Any discount</option><option value="5">Min 5%</option><option value="10">Min 10%</option><option value="15">Min 15%</option><option value="20">Min 20%</option><option value="25">Min 25%</option><option value="30">Min 30%</option><option value="40">Min 40%</option><option value="50">Min 50%</option><option value="60">Min 60%</option><option value="70">Min 70%</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-review-sort-wrapper" style="display: none;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 7h16M7 12h10m-7 5h4"></path></svg><select class="tg-df-filter-select" id="tg-df-review-sort" aria-label="Sort Reviews"><option value="date_desc">Most recent</option><option value="rating_desc">Highest rating</option><option value="scored_first">Scored products first</option></select></div></div></div></div><div class="tg-df-active-badges-row" style="display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 10px; margin-bottom: 16px;"><span class="tg-df-active-badge">Min 25% off<button type="button" class="tg-df-badge-remove" aria-label="Remove Min 25% off"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></span></div><div class="tg-df-grid-wrapper"><div class="tg-df-grid article-body tg-df-grid-auto" id="tg-df-grid"><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-0" data-merchant="Amazon" data-previous-price="34.99" data-price="25.99" data-product-name="G203 | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $9</span><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G203 | Wired" class="tg-df-card-image" loading="lazy" src="http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G203 | Wired"><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G203 | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>25.99</span></span><span class="tg-df-card-msrp">$34.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Glorious" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-0" data-merchant="Amazon" data-previous-price="59.99" data-price="26.31" data-product-name="GHS Eternal | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33.68</span><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="GHS Eternal | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="GHS Eternal | 40 mm drivers"><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Glorious GHS Eternal | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>26.31</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-1" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed | Wireless"><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-86" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed"><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-87" data-merchant="Bestbuy" data-previous-price="69.99" data-price="34.98" data-product-name="Basilisk V3"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35.01</span><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Basilisk V3" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Basilisk V3"><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Basilisk V3</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>34.98</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-3" data-merchant="Amazon" data-previous-price="69.99" data-price="37.99" data-product-name="G502 Hero | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $32</span><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G502 Hero | Wired" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G502 Hero | Wired"><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G502 Hero | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>37.99</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-80" data-merchant="Amazon" data-previous-price="59.99" data-price="39.79" data-product-name="BlackShark V2 X"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20.2</span><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="BlackShark V2 X" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="BlackShark V2 X"><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer BlackShark V2 X</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.79</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-1" data-merchant="Amazon" data-previous-price="79.99" data-price="39.99" data-product-name="G432 | 50 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $40</span><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G432 | 50 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G432 | 50 mm drivers"><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G432 | 50 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-2" data-merchant="Amazon" data-previous-price="79.99" data-price="44.99" data-product-name="Kraken V4 X | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35</span><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Kraken V4 X | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Kraken V4 X | 40 mm drivers"><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Kraken V4 X | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>44.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Turtle Beach" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-5" data-merchant="Amazon" data-previous-price="99.99" data-price="54.99" data-product-name="Burst II Air | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $45</span><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Burst II Air | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Burst II Air | Wireless"><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Turtle Beach Burst II Air | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>54.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="HyperX" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-5" data-merchant="Amazon" data-previous-price="99.99" data-price="57.99" data-product-name="Cloud III | 53 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $42</span><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Cloud III | 53 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Cloud III | 53 mm drivers"><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>HyperX Cloud III | 53 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>57.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Nothing" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-15" data-merchant="Amazon" data-previous-price="79" data-price="59" data-product-name="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Nothing Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>59</span></span><span class="tg-df-card-msrp">$79</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="KTC" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-40" data-merchant="Newegg" data-previous-price="99.99" data-price="62.49" data-product-name="H24V27"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $37.5</span><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="H24V27" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="H24V27"><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>KTC H24V27</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code &quot;LDSF246&quot; for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>62.49</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Scuf" data-currency="$" data-deal-id="airedale-A97h9Ug45WeF5xPLdcoJyf-0" data-merchant="Amazon" data-previous-price="109.99" data-price="76.99" data-product-name="Valor Pro"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33</span><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Valor Pro" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Valor Pro"><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Scuf Valor Pro</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>76.99</span></span><span class="tg-df-card-msrp">$109.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Jess Kinghorn" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/controllers/the-best-wired-pc-controller-has-been-knocked-down-to-usd77-so-long-as-you-dont-mind-it-in-white" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Jess Kinghorn</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 24 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Acer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-41" data-merchant="Newegg" data-previous-price="129.99" data-price="79.99" data-product-name="AOpen 24KG1Y X3bip"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="AOpen 24KG1Y X3bip" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="AOpen 24KG1Y X3bip"><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Acer AOpen 24KG1Y X3bip</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Asus" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-82" data-merchant="Amazon" data-previous-price="129.99" data-price="79.99" data-product-name="ROG Pelta"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="ROG Pelta" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="ROG Pelta"><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Asus ROG Pelta</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-43" data-merchant="Bestbuy" data-previous-price="149.99" data-price="97.49" data-product-name="MAG 244F"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $52.5</span><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 244F" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 244F"><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 244F</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>97.49</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-UBBZiFU9BXsLfvbZ8d4awf-1" data-merchant="Walmart" data-previous-price="149.99" data-price="99" data-product-name="MAG 255XFV"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50.99</span><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 255XFV" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 255XFV"><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 255XFV</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>99</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Walmart</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/amazon-prime-day-gaming-monitor-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-load-more-control" style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1; overflow-anchor: none;"><button type="button" class="tg-df-tag-outline" aria-busy="false" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More</button></div><script type="application/ld+json">{"@context":"https://schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Product","name":"G203 | Wired","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":25.99,"url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":2,"item":{"@type":"Product","name":"GHS Eternal | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","brand":{"@type":"Brand","name":"Glorious"},"offers":{"@type":"Offer","priceCurrency":"USD","price":26.31,"url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":3,"item":{"@type":"Product","name":"G305 Lightspeed | Wireless","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":4,"item":{"@type":"Product","name":"G305 Lightspeed","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/dp/B07CMS5Q6P","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":5,"item":{"@type":"Product","name":"Basilisk V3","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":34.98,"url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":6,"item":{"@type":"Product","name":"G502 Hero | Wired","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":37.99,"url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":7,"item":{"@type":"Product","name":"BlackShark V2 X","image":"https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg","description":"The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.79,"url":"https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":8,"item":{"@type":"Product","name":"G432 | 50 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg","description":"Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.99,"url":"https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":9,"item":{"@type":"Product","name":"Kraken V4 X | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg","description":"If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":44.99,"url":"https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":10,"item":{"@type":"Product","name":"Burst II Air | Wireless","image":"https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg","description":"We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99","brand":{"@type":"Brand","name":"Turtle Beach"},"offers":{"@type":"Offer","priceCurrency":"USD","price":54.99,"url":"https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":11,"item":{"@type":"Product","name":"Cloud III | 53 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg","description":"We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99","brand":{"@type":"Brand","name":"HyperX"},"offers":{"@type":"Offer","priceCurrency":"USD","price":57.99,"url":"https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":12,"item":{"@type":"Product","name":"Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)","image":"https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png","description":"These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response","brand":{"@type":"Brand","name":"Nothing"},"offers":{"@type":"Offer","priceCurrency":"USD","price":59,"url":"https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":13,"item":{"@type":"Product","name":"H24V27","image":"https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png","description":"This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code "LDSF246" for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA","brand":{"@type":"Brand","name":"KTC"},"offers":{"@type":"Offer","priceCurrency":"USD","price":62.49,"url":"https://www.newegg.com/p/3D4-007C-00016","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":14,"item":{"@type":"Product","name":"Valor Pro","image":"https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png","description":"This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks","brand":{"@type":"Brand","name":"Scuf"},"offers":{"@type":"Offer","priceCurrency":"USD","price":76.99,"url":"https://www.amazon.com/dp/B0DTB3QCS5","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":15,"item":{"@type":"Product","name":"AOpen 24KG1Y X3bip","image":"https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png","description":"With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"Acer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.newegg.com/p/N82E16824011533","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":16,"item":{"@type":"Product","name":"ROG Pelta","image":"https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg","description":"With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life","brand":{"@type":"Brand","name":"Asus"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":17,"item":{"@type":"Product","name":"MAG 244F","image":"https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png","description":"With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":97.49,"url":"https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":18,"item":{"@type":"Product","name":"MAG 255XFV","image":"https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg","description":"You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":99,"url":"https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174","seller":{"@type":"Organization","name":"Walmart"}}}}]}</script></div></div><div class="tg-df-modal-backdrop "><div class="tg-df-modal"><div class="tg-df-modal-header"><h3 class="tg-df-modal-title">Available Coupons & Deals</h3><button class="tg-df-modal-close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="tg-df-modal-body"><div class="tg-df-message">No active vouchers found for .</div></div></div></div></div></div>  </div>  <script type="application/json" data-fcaw-config>{"authorBioLength":"short","authorFullBleed":false,"authorHandle":"all-authors","authorName":"All authors","backgroundColor":"transparent","customBio":"","discountAmount":"25","editorMode":false,"editorialMaxAgeMonths":"0","includeBuyingGuideProducts":false,"includeCollections":false,"includeDeals":true,"includeReviewProducts":false,"mobileDropdowns":true,"stickyMobileFilters":false,"offerType":"","preloadReviewInventory":false,"lightweightReviewDelivery":false,"hideHawkPrices":false,"prioritiseCommercialProducts":true,"priceRange":"all","productSelection":"mix","query":"","region":"auto","resultCount":"6","retailer":"","selectedBrands":[],"showAuthorBio":false,"showAuthorCounters":true,"showAuthorIdentity":false,"showAuthorRail":false,"showBrandRail":false,"showCategoryRail":true,"showCollectionsDropdown":false,"showPriceDiscountFilters":true,"showReviewSort":false,"showSocialButtons":false,"showCountdown":false,"showHeaderDetails":true,"showFreeformTagRail":false,"sort":"price_asc","viewMode":"author","website":"pcgamer","widgetSubtitle":"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.","widgetTitle":"Top Deals Handpicked by Our Editors","brands":[],"shortenedHeadlines":{},"compactEmbed":true}</script>  <script type="application/json" data-fcaw-preload>{"authors":[{"bioLong":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","bioShort":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","name":"James","fullName":"James Bentley","handle":"james-bentley","role":"Hardware writer","image":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","brandKey":"pcgamer"},{"bioLong":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","bioShort":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","name":"Dave","fullName":"Dave James","handle":"dave-james","role":"Editor-in-Chief, Hardware","image":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/not_the_gk","label":"X (Twitter)"},{"key":"email","href":"mailto:dave.james@futurenet.com","label":"Email"}]},{"bioLong":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","bioShort":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","name":"Jacob","fullName":"Jacob Fox","handle":"jacob-fox","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","brandKey":"pcgamer"},{"bioLong":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","bioShort":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","name":"Andy","fullName":"Andy Edser","handle":"andy-edser","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","brandKey":"pcgamer"},{"bioLong":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","bioShort":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","name":"Jess","fullName":"Jess Kinghorn","handle":"jess-kinghorn","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/KoeniginKatze","label":"X (Twitter)"},{"key":"linkedin","href":"https://www.linkedin.com/in/jess-kinghorn","label":"LinkedIn"}]}],"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"activeDealTag":null,"activeFreeformTag":null,"activeFreeformTags":[],"couponMap":{"Amazon":"has","Bestbuy":"none","Newegg":"none","Walmart":"none"},"totalAuthorCount":5,"totalDealCount":56,"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"reviewInventoryBaked":false,"regionalDealManifests":{"US":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-0","url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":25.99,"rawMsrp":34.99,"price":"25.99","msrp":"34.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $9","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362\" target=\"_blank\"\u003eBest Buy $39.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-0","url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","title":"GHS Eternal | 40 mm drivers","brand":"Glorious","productName":"GHS Eternal | 40 mm drivers","merchant":"Amazon","rawPrice":26.31,"rawMsrp":59.99,"price":"26.31","msrp":"59.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $33.68","savingType":"amount","isPrime":false,"starRating":null,"description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","text":"\u003cp\u003eWith a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20 hz - 20 kHz | 255 g\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-1","url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite budget wireless mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR\" target=\"_blank\"\u003eBest Buy $49.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-86","url":"https://www.amazon.com/dp/B07CMS5Q6P","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","title":"G305 Lightspeed","brand":"Logitech","productName":"G305 Lightspeed","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","text":"\u003cp\u003eAlready reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-87","url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","title":"Basilisk V3","brand":"Razer","productName":"Basilisk V3","merchant":"Bestbuy","rawPrice":34.98,"rawMsrp":69.99,"price":"34.98","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $35.01","savingType":"amount","isPrime":false,"starRating":null,"description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","text":"\u003cp\u003eThis mouse might be a few years old, but we scored it highly in \u003ca href=\"https://www.pcgamer.com/razer-basilisk-v3-gaming-mouse-review/\" target=\"_blank\"\u003eour review\u003c/a\u003e in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to \u003ca href=\"https://www.pcgamer.com/hardware/im-ashamed-to-say-that-this-razer-mouse-has-made-me-actually-take-a-shine-to-rgb-and-now-you-can-be-persuaded-too-for-almost-50-percent-off/\" target=\"_blank\"\u003etempt even those who usually hate RGB lighting\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-3","url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":37.99,"rawMsrp":69.99,"price":"37.99","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $32","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","text":"\u003cp\u003eThis is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133\" target=\"_blank\"\u003eBest Buy $69.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true}],"GB":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-10","url":"https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":19.99,"rawMsrp":30.99,"price":"19.99","msrp":"30.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £11","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-11","url":"https://www.amazon.co.uk/Logitech-Wireless-Lightweight-Programmable-compatible/dp/B07CGPZ3ZQ","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":19.99,"rawMsrp":27.99,"price":"19.99","msrp":"27.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £8","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite wireless budget mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays. Key specs: Wireless | 12,000 DPI | Right-handed","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite wireless budget mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-19","url":"https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/","image":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","title":"Quantum 100 | 40 mm drivers","brand":"JBL","productName":"Quantum 100 | 40 mm drivers","merchant":"Amazon","rawPrice":19.99,"rawMsrp":29.99,"price":"19.99","msrp":"29.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £10","savingType":"amount","isPrime":false,"starRating":null,"description":"JBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired","text":"\u003cp\u003eJBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-12","url":"https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":22.01,"rawMsrp":37.79,"price":"22.01","msrp":"37.79","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £15.78","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness. Key specs: Wired | 25,600 DPI | Right-handed","text":"\u003cp\u003eThis is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-23","url":"https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1","image":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","title":"G321 Lightspeed | 40 mm drivers","brand":"Logitech","productName":"G321 Lightspeed | 40 mm drivers","merchant":"Amazon","rawPrice":32.99,"rawMsrp":59.99,"price":"32.99","msrp":"59.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £27","savingType":"amount","isPrime":false,"starRating":null,"description":"This very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in his review. It won't blow you away with bass or features, but at this price it's still worth considering. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless Price check: Currys £42.99","text":"\u003cp\u003eThis very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in \u003ca href=\"https://www.pcgamer.com/hardware/gaming-headsets/logitech-g321-lightspeed-review/\" target=\"_blank\"\u003ehis review\u003c/a\u003e. It won't blow you away with bass or features, but at this price it's still worth considering.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless \u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g321-lightspeed-wireless-bluetooth-gaming-headset-black-10289632.html\" target=\"_blank\"\u003eCurrys £42.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-20","url":"https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/","image":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","title":"G335 | 40 mm drivers","brand":"Logitech","productName":"G335 | 40 mm drivers","merchant":"Amazon","rawPrice":34.99,"rawMsrp":64.99,"price":"34.99","msrp":"64.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £30","savingType":"amount","isPrime":false,"starRating":null,"description":"This Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired Price check: Currys £34.99","text":"\u003cp\u003eThis Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g335-gaming-headset-black-10227173.html\" target=\"_blank\"\u003eCurrys £34.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true}],"AU":[{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-5","url":"https://www.amazon.com.au/JBL-QuantumSOUND-Signature-Comfortable-Breathable/dp/B0D6NLHV8N","image":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","title":"Quantum 100M2","brand":"JBL","productName":"Quantum 100M2","merchant":"Amazon","rawPrice":29,"rawMsrp":59.95,"price":"29","msrp":"59.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$30.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.","text":"\u003cp\u003eIf you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-1","url":"https://www.amazon.com.au/dp/B0CMCPY4VG","image":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","title":"Nova Lite","brand":"GameSir","productName":"Nova Lite","merchant":"Amazon","rawPrice":32,"rawMsrp":45,"price":"32","msrp":"45","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$13","savingType":"amount","isPrime":false,"starRating":null,"description":"Our favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.","text":"\u003cp\u003eOur favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-15","url":"https://www.amazon.com.au/dp/B07MG5547J","image":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","title":"G502 Hero","brand":"Logitech","productName":"G502 Hero","merchant":"Amazon","rawPrice":55.99,"rawMsrp":149.95,"price":"55.99","msrp":"149.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$93.96","savingType":"amount","isPrime":false,"starRating":null,"description":"Logitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;","text":"\u003cp\u003eLogitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-8","url":"https://www.amazon.com.au/CORSAIR-Membrane-Wired-Gaming-Keyboard/dp/B0CP6BR96G","image":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","title":"K55 Core Membrane","brand":"Corsair","productName":"K55 Core Membrane","merchant":"Amazon","rawPrice":59,"rawMsrp":79.95,"price":"59","msrp":"79.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$20.95","savingType":"amount","isPrime":false,"starRating":null,"description":"This discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.","text":"\u003cp\u003eThis discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-11","url":"https://www.amazon.com.au/dp/B01K48R5V4","image":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","fallbackImage":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","title":"G G213 Prodigy","brand":"Logitech","productName":"G G213 Prodigy","merchant":"Amazon","rawPrice":72,"rawMsrp":129.95,"price":"72","msrp":"129.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$57.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.","text":"\u003cp\u003eIf you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-13","url":"https://www.amazon.com.au/CORSAIR-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8/","image":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","title":"Sabre v2 Pro","brand":"Corsair","productName":"Sabre v2 Pro","merchant":"Amazon","rawPrice":79,"rawMsrp":169,"price":"79","msrp":"169","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$90","savingType":"amount","isPrime":false,"starRating":null,"description":"The Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox loved its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life.","text":"\u003cp\u003eThe Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox \u003ca href=\"https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/\"\u003eloved\u003c/a\u003e its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life. \u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true}]},"regionalDealRailData":{"US":{"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"totalAuthorCount":5,"totalDealCount":56},"GB":{"brands":[{"formatted_value":"Logitech","count":6},{"formatted_value":"Steelseries","count":2},{"formatted_value":"EarFun","count":2},{"formatted_value":"Lexar","count":2},{"formatted_value":"AOC","count":2},{"formatted_value":"MSI","count":2},{"formatted_value":"JBL","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Turtle Beach","count":1}],"freeformTagCounts":{"hardware":17,"mouse":5,"gaming-mouse":5,"prime-day":5,"amazon-prime-day-2026":14,"amazon-prime-day":17,"prime-day-deals":8,"deals":17,"deal":17,"big-deal-days":17,"gaming-headset":9,"amazon-prime":3,"ssd":1,"pc-deals":3,"gaming-monitor":2,"monitors":2,"solid-state-drive":1,"solid-state":1,"hdd":1,"hard-drive":1,"storage":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"}],"tagCounts":{"Gaming Mice":5,"Hardware":17,"Gaming Headsets":9,"Gaming Audio":9,"SSDs":1,"Storage":1,"Gaming Monitors":2},"tags":["Hardware","Gaming Headsets","Gaming Audio","Gaming Mice","Gaming Monitors","SSDs","Storage"],"totalAuthorCount":4,"totalDealCount":17},"AU":{"brands":[{"formatted_value":"Logitech","count":7},{"formatted_value":"Corsair","count":4},{"formatted_value":"JBL","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"GameSir","count":1},{"formatted_value":"8BitDo","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Asus","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"SteelSeries","count":1}],"freeformTagCounts":{"hardware":20,"amazon-prime":20,"pc-deals":20,"deals":20,"prime-day-deals":20},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"}],"tagCounts":{"Hardware":20},"tags":["Hardware"],"totalAuthorCount":1,"totalDealCount":20}}}</script></fc-author-commerce-widget><script>(()=>{var Z1=Object.create;var cg=Object.defineProperty;var W1=Object.getOwnPropertyDescriptor;var I1=Object.getOwnPropertyNames;var J1=Object.getPrototypeOf,$1=Object.prototype.hasOwnProperty;var un=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var eb=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of I1(t))!$1.call(e,l)&&l!==n&&cg(e,l,{get:()=>t[l],enumerable:!(a=W1(t,l))||a.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Z1(J1(e)):{},eb(t||!e||!e.__esModule?cg(n,"default",{value:e,enumerable:!0}):n,e));var Ag=un(z=>{"use strict";var Tc=Symbol.for("react.transitional.element"),tb=Symbol.for("react.portal"),nb=Symbol.for("react.fragment"),ab=Symbol.for("react.strict_mode"),lb=Symbol.for("react.profiler"),ib=Symbol.for("react.consumer"),rb=Symbol.for("react.context"),ob=Symbol.for("react.forward_ref"),ub=Symbol.for("react.suspense"),cb=Symbol.for("react.memo"),mg=Symbol.for("react.lazy"),sb=Symbol.for("react.activity"),sg=Symbol.iterator;function db(e){return e===null||typeof e!="object"?null:(e=sg&&e[sg]||e["@@iterator"],typeof e=="function"?e:null)}var hg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pg=Object.assign,yg={};function ml(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}ml.prototype.isReactComponent={};ml.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ml.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function vg(){}vg.prototype=ml.prototype;function Ec(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}var Dc=Ec.prototype=new vg;Dc.constructor=Ec;pg(Dc,ml.prototype);Dc.isPureReactComponent=!0;var dg=Array.isArray;function Rc(){}var he={H:null,A:null,T:null,S:null},bg=Object.prototype.hasOwnProperty;function xc(e,t,n){var a=n.ref;return{$$typeof:Tc,type:e,key:t,ref:a!==void 0?a:null,props:n}}function fb(e,t){return xc(e.type,t,e.props)}function Mc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function gb(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var fg=/\/+/g;function Cc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?gb(""+e.key):t.toString(36)}function mb(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Rc,Rc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function gl(e,t,n,a,l){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var r=!1;if(e===null)r=!0;else switch(i){case"bigint":case"string":case"number":r=!0;break;case"object":switch(e.$$typeof){case Tc:case tb:r=!0;break;case mg:return r=e._init,gl(r(e._payload),t,n,a,l)}}if(r)return l=l(e),r=a===""?"."+Cc(e,0):a,dg(l)?(n="",r!=null&&(n=r.replace(fg,"$&/")+"/"),gl(l,t,n,"",function(c){return c})):l!=null&&(Mc(l)&&(l=fb(l,n+(l.key==null||e&&e.key===l.key?"":(""+l.key).replace(fg,"$&/")+"/")+r)),t.push(l)),1;r=0;var o=a===""?".":a+":";if(dg(e))for(var u=0;u<e.length;u++)a=e[u],i=o+Cc(a,u),r+=gl(a,t,n,i,l);else if(u=db(e),typeof u=="function")for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,i=o+Cc(a,u++),r+=gl(a,t,n,i,l);else if(i==="object"){if(typeof e.then=="function")return gl(mb(e),t,n,a,l);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return r}function ro(e,t,n){if(e==null)return e;var a=[],l=0;return gl(e,a,"","",function(i){return t.call(n,i,l++)}),a}function hb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var gg=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},pb={map:ro,forEach:function(e,t,n){ro(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ro(e,function(){t++}),t},toArray:function(e){return ro(e,function(t){return t})||[]},only:function(e){if(!Mc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};z.Activity=sb;z.Children=pb;z.Component=ml;z.Fragment=nb;z.Profiler=lb;z.PureComponent=Ec;z.StrictMode=ab;z.Suspense=ub;z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=he;z.__COMPILER_RUNTIME={__proto__:null,c:function(e){return he.H.useMemoCache(e)}};z.cache=function(e){return function(){return e.apply(null,arguments)}};z.cacheSignal=function(){return null};z.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=pg({},e.props),l=e.key;if(t!=null)for(i in t.key!==void 0&&(l=""+t.key),t)!bg.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(a[i]=t[i]);var i=arguments.length-2;if(i===1)a.children=n;else if(1<i){for(var r=Array(i),o=0;o<i;o++)r[o]=arguments[o+2];a.children=r}return xc(e.type,l,a)};z.createContext=function(e){return e={$$typeof:rb,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:ib,_context:e},e};z.createElement=function(e,t,n){var a,l={},i=null;if(t!=null)for(a in t.key!==void 0&&(i=""+t.key),t)bg.call(t,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(l[a]=t[a]);var r=arguments.length-2;if(r===1)l.children=n;else if(1<r){for(var o=Array(r),u=0;u<r;u++)o[u]=arguments[u+2];l.children=o}if(e&&e.defaultProps)for(a in r=e.defaultProps,r)l[a]===void 0&&(l[a]=r[a]);return xc(e,i,l)};z.createRef=function(){return{current:null}};z.forwardRef=function(e){return{$$typeof:ob,render:e}};z.isValidElement=Mc;z.lazy=function(e){return{$$typeof:mg,_payload:{_status:-1,_result:e},_init:hb}};z.memo=function(e,t){return{$$typeof:cb,type:e,compare:t===void 0?null:t}};z.startTransition=function(e){var t=he.T,n={};he.T=n;try{var a=e(),l=he.S;l!==null&&l(n,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Rc,gg)}catch(i){gg(i)}finally{t!==null&&n.types!==null&&(t.types=n.types),he.T=t}};z.unstable_useCacheRefresh=function(){return he.H.useCacheRefresh()};z.use=function(e){return he.H.use(e)};z.useActionState=function(e,t,n){return he.H.useActionState(e,t,n)};z.useCallback=function(e,t){return he.H.useCallback(e,t)};z.useContext=function(e){return he.H.useContext(e)};z.useDebugValue=function(){};z.useDeferredValue=function(e,t){return he.H.useDeferredValue(e,t)};z.useEffect=function(e,t){return he.H.useEffect(e,t)};z.useEffectEvent=function(e){return he.H.useEffectEvent(e)};z.useId=function(){return he.H.useId()};z.useImperativeHandle=function(e,t,n){return he.H.useImperativeHandle(e,t,n)};z.useInsertionEffect=function(e,t){return he.H.useInsertionEffect(e,t)};z.useLayoutEffect=function(e,t){return he.H.useLayoutEffect(e,t)};z.useMemo=function(e,t){return he.H.useMemo(e,t)};z.useOptimistic=function(e,t){return he.H.useOptimistic(e,t)};z.useReducer=function(e,t,n){return he.H.useReducer(e,t,n)};z.useRef=function(e){return he.H.useRef(e)};z.useState=function(e){return he.H.useState(e)};z.useSyncExternalStore=function(e,t,n){return he.H.useSyncExternalStore(e,t,n)};z.useTransition=function(){return he.H.useTransition()};z.version="19.2.8"});var ft=un((zS,wg)=>{"use strict";wg.exports=Ag()});var Bg=un(Se=>{"use strict";function Oc(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,l=e[a];if(0<oo(l,t))e[a]=t,e[n]=l,n=a;else break e}}function cn(e){return e.length===0?null:e[0]}function co(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,l=e.length,i=l>>>1;a<i;){var r=2*(a+1)-1,o=e[r],u=r+1,c=e[u];if(0>oo(o,n))u<l&&0>oo(c,o)?(e[a]=c,e[u]=n,a=u):(e[a]=o,e[r]=n,a=r);else if(u<l&&0>oo(c,n))e[a]=c,e[u]=n,a=u;else break e}}return t}function oo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Se.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Sg=performance,Se.unstable_now=function(){return Sg.now()}):(_c=Date,Cg=_c.now(),Se.unstable_now=function(){return _c.now()-Cg});var Sg,_c,Cg,wn=[],Qn=[],yb=1,Ut=null,et=3,kc=!1,Mi=!1,_i=!1,Lc=!1,Eg=typeof setTimeout=="function"?setTimeout:null,Dg=typeof clearTimeout=="function"?clearTimeout:null,Rg=typeof setImmediate<"u"?setImmediate:null;function uo(e){for(var t=cn(Qn);t!==null;){if(t.callback===null)co(Qn);else if(t.startTime<=e)co(Qn),t.sortIndex=t.expirationTime,Oc(wn,t);else break;t=cn(Qn)}}function Hc(e){if(_i=!1,uo(e),!Mi)if(cn(wn)!==null)Mi=!0,pl||(pl=!0,hl());else{var t=cn(Qn);t!==null&&zc(Hc,t.startTime-e)}}var pl=!1,Bi=-1,xg=5,Mg=-1;function _g(){return Lc?!0:!(Se.unstable_now()-Mg<xg)}function Bc(){if(Lc=!1,pl){var e=Se.unstable_now();Mg=e;var t=!0;try{e:{Mi=!1,_i&&(_i=!1,Dg(Bi),Bi=-1),kc=!0;var n=et;try{t:{for(uo(e),Ut=cn(wn);Ut!==null&&!(Ut.expirationTime>e&&_g());){var a=Ut.callback;if(typeof a=="function"){Ut.callback=null,et=Ut.priorityLevel;var l=a(Ut.expirationTime<=e);if(e=Se.unstable_now(),typeof l=="function"){Ut.callback=l,uo(e),t=!0;break t}Ut===cn(wn)&&co(wn),uo(e)}else co(wn);Ut=cn(wn)}if(Ut!==null)t=!0;else{var i=cn(Qn);i!==null&&zc(Hc,i.startTime-e),t=!1}}break e}finally{Ut=null,et=n,kc=!1}t=void 0}}finally{t?hl():pl=!1}}}var hl;typeof Rg=="function"?hl=function(){Rg(Bc)}:typeof MessageChannel<"u"?(Nc=new MessageChannel,Tg=Nc.port2,Nc.port1.onmessage=Bc,hl=function(){Tg.postMessage(null)}):hl=function(){Eg(Bc,0)};var Nc,Tg;function zc(e,t){Bi=Eg(function(){e(Se.unstable_now())},t)}Se.unstable_IdlePriority=5;Se.unstable_ImmediatePriority=1;Se.unstable_LowPriority=4;Se.unstable_NormalPriority=3;Se.unstable_Profiling=null;Se.unstable_UserBlockingPriority=2;Se.unstable_cancelCallback=function(e){e.callback=null};Se.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):xg=0<e?Math.floor(1e3/e):5};Se.unstable_getCurrentPriorityLevel=function(){return et};Se.unstable_next=function(e){switch(et){case 1:case 2:case 3:var t=3;break;default:t=et}var n=et;et=t;try{return e()}finally{et=n}};Se.unstable_requestPaint=function(){Lc=!0};Se.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=et;et=e;try{return t()}finally{et=n}};Se.unstable_scheduleCallback=function(e,t,n){var a=Se.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?a+n:a):n=a,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return l=n+l,e={id:yb++,callback:t,priorityLevel:e,startTime:n,expirationTime:l,sortIndex:-1},n>a?(e.sortIndex=n,Oc(Qn,e),cn(wn)===null&&e===cn(Qn)&&(_i?(Dg(Bi),Bi=-1):_i=!0,zc(Hc,n-a))):(e.sortIndex=l,Oc(wn,e),Mi||kc||(Mi=!0,pl||(pl=!0,hl()))),e};Se.unstable_shouldYield=_g;Se.unstable_wrapCallback=function(e){var t=et;return function(){var n=et;et=t;try{return e.apply(this,arguments)}finally{et=n}}}});var Og=un((GS,Ng)=>{"use strict";Ng.exports=Bg()});var Lg=un(ot=>{"use strict";var vb=ft();function kg(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Kn(){}var rt={d:{f:Kn,r:function(){throw Error(kg(522))},D:Kn,C:Kn,L:Kn,m:Kn,X:Kn,S:Kn,M:Kn},p:0,findDOMNode:null},bb=Symbol.for("react.portal");function Ab(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:bb,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}var Ni=vb.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function so(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ot.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=rt;ot.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(kg(299));return Ab(e,t,null,n)};ot.flushSync=function(e){var t=Ni.T,n=rt.p;try{if(Ni.T=null,rt.p=2,e)return e()}finally{Ni.T=t,rt.p=n,rt.d.f()}};ot.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,rt.d.C(e,t))};ot.prefetchDNS=function(e){typeof e=="string"&&rt.d.D(e)};ot.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin),l=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?rt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:l,fetchPriority:i}):n==="script"&&rt.d.X(e,{crossOrigin:a,integrity:l,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ot.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=so(t.as,t.crossOrigin);rt.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&rt.d.M(e)};ot.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin);rt.d.L(e,n,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};ot.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=so(t.as,t.crossOrigin);rt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else rt.d.m(e)};ot.requestFormReset=function(e){rt.d.r(e)};ot.unstable_batchedUpdates=function(e,t){return e(t)};ot.useFormState=function(e,t,n){return Ni.H.useFormState(e,t,n)};ot.useFormStatus=function(){return Ni.H.useHostTransitionStatus()};ot.version="19.2.8"});var Ug=un((qS,zg)=>{"use strict";function Hg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Hg)}catch(e){console.error(e)}}Hg(),zg.exports=Lg()});var Wy=un(Hu=>{"use strict";var Ge=Og(),sh=ft(),wb=Ug();function S(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function dh(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function vr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function fh(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function gh(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Gg(e){if(vr(e)!==e)throw Error(S(188))}function Sb(e){var t=e.alternate;if(!t){if(t=vr(e),t===null)throw Error(S(188));return t!==e?null:e}for(var n=e,a=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(a=l.return,a!==null){n=a;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return Gg(l),e;if(i===a)return Gg(l),t;i=i.sibling}throw Error(S(188))}if(n.return!==a.return)n=l,a=i;else{for(var r=!1,o=l.child;o;){if(o===n){r=!0,n=l,a=i;break}if(o===a){r=!0,a=l,n=i;break}o=o.sibling}if(!r){for(o=i.child;o;){if(o===n){r=!0,n=i,a=l;break}if(o===a){r=!0,a=i,n=l;break}o=o.sibling}if(!r)throw Error(S(189))}}if(n.alternate!==a)throw Error(S(190))}if(n.tag!==3)throw Error(S(188));return n.stateNode.current===n?e:t}function mh(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=mh(e),t!==null)return t;e=e.sibling}return null}var ve=Object.assign,Cb=Symbol.for("react.element"),fo=Symbol.for("react.transitional.element"),Pi=Symbol.for("react.portal"),Sl=Symbol.for("react.fragment"),hh=Symbol.for("react.strict_mode"),ys=Symbol.for("react.profiler"),ph=Symbol.for("react.consumer"),Mn=Symbol.for("react.context"),fd=Symbol.for("react.forward_ref"),vs=Symbol.for("react.suspense"),bs=Symbol.for("react.suspense_list"),gd=Symbol.for("react.memo"),Zn=Symbol.for("react.lazy");Symbol.for("react.scope");var As=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var Rb=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var Pg=Symbol.iterator;function Oi(e){return e===null||typeof e!="object"?null:(e=Pg&&e[Pg]||e["@@iterator"],typeof e=="function"?e:null)}var Tb=Symbol.for("react.client.reference");function ws(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Tb?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Sl:return"Fragment";case ys:return"Profiler";case hh:return"StrictMode";case vs:return"Suspense";case bs:return"SuspenseList";case As:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Pi:return"Portal";case Mn:return e.displayName||"Context";case ph:return(e._context.displayName||"Context")+".Consumer";case fd:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gd:return t=e.displayName||null,t!==null?t:ws(e.type)||"Memo";case Zn:t=e._payload,e=e._init;try{return ws(e(t))}catch{}}return null}var qi=Array.isArray,L=sh.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=wb.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,za={pending:!1,data:null,method:null,action:null},Ss=[],Cl=-1;function mn(e){return{current:e}}function Fe(e){0>Cl||(e.current=Ss[Cl],Ss[Cl]=null,Cl--)}function ge(e,t){Cl++,Ss[Cl]=e.current,e.current=t}var gn=mn(null),lr=mn(null),ra=mn(null),Vo=mn(null);function Xo(e,t){switch(ge(ra,t),ge(lr,e),ge(gn,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qm(t),e=Hy(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Fe(gn),ge(gn,e)}function ql(){Fe(gn),Fe(lr),Fe(ra)}function Cs(e){e.memoizedState!==null&&ge(Vo,e);var t=gn.current,n=Hy(t,e.type);t!==n&&(ge(lr,e),ge(gn,n))}function Qo(e){lr.current===e&&(Fe(gn),Fe(lr)),Vo.current===e&&(Fe(Vo),hr._currentValue=za)}var Uc,qg;function Oa(e){if(Uc===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Uc=t&&t[1]||"",qg=-1<n.stack.indexOf(`    at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return``+Uc+e+qg}var Gc=!1;function Pc(e,t){if(!e||Gc)return"";Gc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(m){var d=m}Reflect.construct(e,[],f)}else{try{f.call()}catch(m){d=m}e.call(f.prototype)}}else{try{throw Error()}catch(m){d=m}(f=e())&&typeof f.catch=="function"&&f.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),r=i[0],o=i[1];if(r&&o){var u=r.split(``),c=o.split(``);for(l=a=0;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;for(;l<c.length&&!c[l].includes("DetermineComponentFrameRoot");)l++;if(a===u.length||l===c.length)for(a=u.length-1,l=c.length-1;1<=a&&0<=l&&u[a]!==c[l];)l--;for(;1<=a&&0<=l;a--,l--)if(u[a]!==c[l]){if(a!==1||l!==1)do if(a--,l--,0>l||u[a]!==c[l]){var s=``+u[a].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=a&&0<=l);break}}}finally{Gc=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Oa(n):""}function Eb(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return Pc(e.type,!1);case 11:return Pc(e.type.render,!1);case 1:return Pc(e.type,!0);case 31:return Oa("Activity");default:return""}}function Fg(e){try{var t="",n=null;do t+=Eb(e,n),n=e,e=e.return;while(e);return t}catch(a){return`Error generating stack: `+a.message+``+a.stack}}var Rs=Object.prototype.hasOwnProperty,md=Ge.unstable_scheduleCallback,qc=Ge.unstable_cancelCallback,Db=Ge.unstable_shouldYield,xb=Ge.unstable_requestPaint,Dt=Ge.unstable_now,Mb=Ge.unstable_getCurrentPriorityLevel,yh=Ge.unstable_ImmediatePriority,vh=Ge.unstable_UserBlockingPriority,Ko=Ge.unstable_NormalPriority,_b=Ge.unstable_LowPriority,bh=Ge.unstable_IdlePriority,Bb=Ge.log,Nb=Ge.unstable_setDisableYieldValue,br=null,xt=null;function ta(e){if(typeof Bb=="function"&&Nb(e),xt&&typeof xt.setStrictMode=="function")try{xt.setStrictMode(br,e)}catch{}}var Mt=Math.clz32?Math.clz32:Lb,Ob=Math.log,kb=Math.LN2;function Lb(e){return e>>>=0,e===0?32:31-(Ob(e)/kb|0)|0}var go=256,mo=262144,ho=4194304;function ka(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Au(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var o=a&134217727;return o!==0?(a=o&~i,a!==0?l=ka(a):(r&=o,r!==0?l=ka(r):n||(n=o&~e,n!==0&&(l=ka(n))))):(o=a&~i,o!==0?l=ka(o):r!==0?l=ka(r):n||(n=a&~e,n!==0&&(l=ka(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function Ar(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Hb(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ah(){var e=ho;return ho<<=1,(ho&62914560)===0&&(ho=4194304),e}function Fc(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wr(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function zb(e,t,n,a,l,i){var r=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,u=e.expirationTimes,c=e.hiddenUpdates;for(n=r&~n;0<n;){var s=31-Mt(n),f=1<<s;o[s]=0,u[s]=-1;var d=c[s];if(d!==null)for(c[s]=null,s=0;s<d.length;s++){var m=d[s];m!==null&&(m.lane&=-536870913)}n&=~f}a!==0&&wh(e,a,0),i!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=i&~(r&~t))}function wh(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Mt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function Sh(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Mt(n),l=1<<a;l&t|e[a]&t&&(e[a]|=t),n&=~l}}function Ch(e,t){var n=t&-t;return n=(n&42)!==0?1:hd(n),(n&(e.suspendedLanes|t))!==0?0:n}function hd(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function pd(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Rh(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:Qy(e.type))}function jg(e,t){var n=$.p;try{return $.p=e,t()}finally{$.p=n}}var ba=Math.random().toString(36).slice(2),Ve="__reactFiber$"+ba,vt="__reactProps$"+ba,Jl="__reactContainer$"+ba,Ts="__reactEvents$"+ba,Ub="__reactListeners$"+ba,Gb="__reactHandles$"+ba,Yg="__reactResources$"+ba,Sr="__reactMarker$"+ba;function yd(e){delete e[Ve],delete e[vt],delete e[Ts],delete e[Ub],delete e[Gb]}function Rl(e){var t=e[Ve];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jl]||n[Ve]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Jm(e);e!==null;){if(n=e[Ve])return n;e=Jm(e)}return t}e=n,n=e.parentNode}return null}function $l(e){if(e=e[Ve]||e[Jl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Fi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(S(33))}function kl(e){var t=e[Yg];return t||(t=e[Yg]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function qe(e){e[Sr]=!0}var Th=new Set,Eh={};function Qa(e,t){Fl(e,t),Fl(e+"Capture",t)}function Fl(e,t){for(Eh[e]=t,e=0;e<t.length;e++)Th.add(t[e])}var Pb=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Vg={},Xg={};function qb(e){return Rs.call(Xg,e)?!0:Rs.call(Vg,e)?!1:Pb.test(e)?Xg[e]=!0:(Vg[e]=!0,!1)}function _o(e,t,n){if(qb(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function po(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function Sn(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+a)}}function Pt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fb(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,i=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(r){n=""+r,i.call(this,r)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){if(!e._valueTracker){var t=Dh(e)?"checked":"value";e._valueTracker=Fb(e,t,""+e[t])}}function xh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=Dh(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Zo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var jb=/[\n"\\]/g;function jt(e){return e.replace(jb,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ds(e,t,n,a,l,i,r,o){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pt(t)):e.value!==""+Pt(t)&&(e.value=""+Pt(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?xs(e,r,Pt(t)):n!=null?xs(e,r,Pt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+Pt(o):e.removeAttribute("name")}function Mh(e,t,n,a,l,i,r,o){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Es(e);return}n=n!=null?""+Pt(n):"",t=t!=null?""+Pt(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=o?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),Es(e)}function xs(e,t,n){t==="number"&&Zo(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ll(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&a&&(e[n].defaultSelected=!0)}else{for(n=""+Pt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,a&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function _h(e,t,n){if(t!=null&&(t=""+Pt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Pt(n):""}function Bh(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(S(92));if(qi(a)){if(1<a.length)throw Error(S(93));a=a[0]}n=a}n==null&&(n=""),t=n}n=Pt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==""&&a!==null&&(e.value=a),Es(e)}function jl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Qg(e,t,n){var a=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,n):typeof n!="number"||n===0||Yb.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Nh(e,t,n){if(t!=null&&typeof t!="object")throw Error(S(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var l in t)a=t[l],t.hasOwnProperty(l)&&n[l]!==a&&Qg(e,l,a)}else for(var i in t)t.hasOwnProperty(i)&&Qg(e,i,t[i])}function vd(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Xb=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Bo(e){return Xb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function _n(){}var Ms=null;function bd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tl=null,Hl=null;function Kg(e){var t=$l(e);if(t&&(e=t.stateNode)){var n=e[vt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Ds(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+jt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var l=a[vt]||null;if(!l)throw Error(S(90));Ds(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&xh(a)}break e;case"textarea":_h(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ll(e,!!n.multiple,t,!1)}}}var jc=!1;function Oh(e,t,n){if(jc)return e(t,n);jc=!0;try{var a=e(t);return a}finally{if(jc=!1,(Tl!==null||Hl!==null)&&(Nu(),Tl&&(t=Tl,e=Hl,Hl=Tl=null,Kg(t),e)))for(t=0;t<e.length;t++)Kg(e[t])}}function ir(e,t){var n=e.stateNode;if(n===null)return null;var a=n[vt]||null;if(a===null)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(S(231,t,typeof n));return n}var Ln=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_s=!1;if(Ln)try{yl={},Object.defineProperty(yl,"passive",{get:function(){_s=!0}}),window.addEventListener("test",yl,yl),window.removeEventListener("test",yl,yl)}catch{_s=!1}var yl,na=null,Ad=null,No=null;function kh(){if(No)return No;var e,t=Ad,n=t.length,a,l="value"in na?na.value:na.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var r=n-e;for(a=1;a<=r&&t[n-a]===l[i-a];a++);return No=l.slice(e,1<a?1-a:void 0)}function Oo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yo(){return!0}function Zg(){return!1}function bt(e){function t(n,a,l,i,r){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=i,this.target=r,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?yo:Zg,this.isPropagationStopped=Zg,this}return ve(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=yo)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var Ka={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},wu=bt(Ka),Cr=ve({},Ka,{view:0,detail:0}),Qb=bt(Cr),Yc,Vc,ki,Su=ve({},Cr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wd,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ki&&(ki&&e.type==="mousemove"?(Yc=e.screenX-ki.screenX,Vc=e.screenY-ki.screenY):Vc=Yc=0,ki=e),Yc)},movementY:function(e){return"movementY"in e?e.movementY:Vc}}),Wg=bt(Su),Kb=ve({},Su,{dataTransfer:0}),Zb=bt(Kb),Wb=ve({},Cr,{relatedTarget:0}),Xc=bt(Wb),Ib=ve({},Ka,{animationName:0,elapsedTime:0,pseudoElement:0}),Jb=bt(Ib),$b=ve({},Ka,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),eA=bt($b),tA=ve({},Ka,{data:0}),Ig=bt(tA),nA={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},aA={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},lA={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function iA(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=lA[e])?!!t[e]:!1}function wd(){return iA}var rA=ve({},Cr,{key:function(e){if(e.key){var t=nA[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Oo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?aA[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wd,charCode:function(e){return e.type==="keypress"?Oo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Oo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),oA=bt(rA),uA=ve({},Su,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jg=bt(uA),cA=ve({},Cr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wd}),sA=bt(cA),dA=ve({},Ka,{propertyName:0,elapsedTime:0,pseudoElement:0}),fA=bt(dA),gA=ve({},Su,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mA=bt(gA),hA=ve({},Ka,{newState:0,oldState:0}),pA=bt(hA),yA=[9,13,27,32],Sd=Ln&&"CompositionEvent"in window,Vi=null;Ln&&"documentMode"in document&&(Vi=document.documentMode);var vA=Ln&&"TextEvent"in window&&!Vi,Lh=Ln&&(!Sd||Vi&&8<Vi&&11>=Vi),$g=" ",em=!1;function Hh(e,t){switch(e){case"keyup":return yA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var El=!1;function bA(e,t){switch(e){case"compositionend":return zh(t);case"keypress":return t.which!==32?null:(em=!0,$g);case"textInput":return e=t.data,e===$g&&em?null:e;default:return null}}function AA(e,t){if(El)return e==="compositionend"||!Sd&&Hh(e,t)?(e=kh(),No=Ad=na=null,El=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Lh&&t.locale!=="ko"?null:t.data;default:return null}}var wA={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tm(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!wA[e.type]:t==="textarea"}function Uh(e,t,n,a){Tl?Hl?Hl.push(a):Hl=[a]:Tl=a,t=gu(t,"onChange"),0<t.length&&(n=new wu("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Xi=null,rr=null;function SA(e){Oy(e,0)}function Cu(e){var t=Fi(e);if(xh(t))return e}function nm(e,t){if(e==="change")return t}var Gh=!1;Ln&&(Ln?(bo="oninput"in document,bo||(Qc=document.createElement("div"),Qc.setAttribute("oninput","return;"),bo=typeof Qc.oninput=="function"),vo=bo):vo=!1,Gh=vo&&(!document.documentMode||9<document.documentMode));var vo,bo,Qc;function am(){Xi&&(Xi.detachEvent("onpropertychange",Ph),rr=Xi=null)}function Ph(e){if(e.propertyName==="value"&&Cu(rr)){var t=[];Uh(t,rr,e,bd(e)),Oh(SA,t)}}function CA(e,t,n){e==="focusin"?(am(),Xi=t,rr=n,Xi.attachEvent("onpropertychange",Ph)):e==="focusout"&&am()}function RA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Cu(rr)}function TA(e,t){if(e==="click")return Cu(t)}function EA(e,t){if(e==="input"||e==="change")return Cu(t)}function DA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bt=typeof Object.is=="function"?Object.is:DA;function or(e,t){if(Bt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!Rs.call(t,l)||!Bt(e[l],t[l]))return!1}return!0}function lm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function im(e,t){var n=lm(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lm(n)}}function qh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Zo(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Zo(e.document)}return t}function Cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var xA=Ln&&"documentMode"in document&&11>=document.documentMode,Dl=null,Bs=null,Qi=null,Ns=!1;function rm(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ns||Dl==null||Dl!==Zo(a)||(a=Dl,"selectionStart"in a&&Cd(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Qi&&or(Qi,a)||(Qi=a,a=gu(Bs,"onSelect"),0<a.length&&(t=new wu("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=Dl)))}function Na(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xl={animationend:Na("Animation","AnimationEnd"),animationiteration:Na("Animation","AnimationIteration"),animationstart:Na("Animation","AnimationStart"),transitionrun:Na("Transition","TransitionRun"),transitionstart:Na("Transition","TransitionStart"),transitioncancel:Na("Transition","TransitionCancel"),transitionend:Na("Transition","TransitionEnd")},Kc={},jh={};Ln&&(jh=document.createElement("div").style,"AnimationEvent"in window||(delete xl.animationend.animation,delete xl.animationiteration.animation,delete xl.animationstart.animation),"TransitionEvent"in window||delete xl.transitionend.transition);function Za(e){if(Kc[e])return Kc[e];if(!xl[e])return e;var t=xl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in jh)return Kc[e]=t[n];return e}var Yh=Za("animationend"),Vh=Za("animationiteration"),Xh=Za("animationstart"),MA=Za("transitionrun"),_A=Za("transitionstart"),BA=Za("transitioncancel"),Qh=Za("transitionend"),Kh=new Map,Os="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Os.push("scrollEnd");function tn(e,t){Kh.set(e,t),Qa(t,[e])}var Wo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Gt=[],Ml=0,Rd=0;function Ru(){for(var e=Ml,t=Rd=Ml=0;t<e;){var n=Gt[t];Gt[t++]=null;var a=Gt[t];Gt[t++]=null;var l=Gt[t];Gt[t++]=null;var i=Gt[t];if(Gt[t++]=null,a!==null&&l!==null){var r=a.pending;r===null?l.next=l:(l.next=r.next,r.next=l),a.pending=l}i!==0&&Zh(n,l,i)}}function Tu(e,t,n,a){Gt[Ml++]=e,Gt[Ml++]=t,Gt[Ml++]=n,Gt[Ml++]=a,Rd|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function Td(e,t,n,a){return Tu(e,t,n,a),Io(e)}function Wa(e,t){return Tu(e,null,null,t),Io(e)}function Zh(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var l=!1,i=e.return;i!==null;)i.childLanes|=n,a=i.alternate,a!==null&&(a.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(l=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,l&&t!==null&&(l=31-Mt(n),e=i.hiddenUpdates,a=e[l],a===null?e[l]=[t]:a.push(t),t.lane=n|536870912),i):null}function Io(e){if(50<nr)throw nr=0,ed=null,Error(S(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var _l={};function NA(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(e,t,n,a){return new NA(e,t,n,a)}function Ed(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nn(e,t){var n=e.alternate;return n===null?(n=Tt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Wh(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ko(e,t,n,a,l,i){var r=0;if(a=e,typeof e=="function")Ed(e)&&(r=1);else if(typeof e=="string")r=Lw(e,n,gn.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case As:return e=Tt(31,n,t,l),e.elementType=As,e.lanes=i,e;case Sl:return Ua(n.children,l,i,t);case hh:r=8,l|=24;break;case ys:return e=Tt(12,n,t,l|2),e.elementType=ys,e.lanes=i,e;case vs:return e=Tt(13,n,t,l),e.elementType=vs,e.lanes=i,e;case bs:return e=Tt(19,n,t,l),e.elementType=bs,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Mn:r=10;break e;case ph:r=9;break e;case fd:r=11;break e;case gd:r=14;break e;case Zn:r=16,a=null;break e}r=29,n=Error(S(130,e===null?"null":typeof e,"")),a=null}return t=Tt(r,n,t,l),t.elementType=e,t.type=a,t.lanes=i,t}function Ua(e,t,n,a){return e=Tt(7,e,a,t),e.lanes=n,e}function Zc(e,t,n){return e=Tt(6,e,null,t),e.lanes=n,e}function Ih(e){var t=Tt(18,null,null,0);return t.stateNode=e,t}function Wc(e,t,n){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var om=new WeakMap;function Yt(e,t){if(typeof e=="object"&&e!==null){var n=om.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Fg(t)},om.set(e,t),t)}return{value:e,source:t,stack:Fg(t)}}var Bl=[],Nl=0,Jo=null,ur=0,qt=[],Ft=0,ha=null,sn=1,dn="";function Dn(e,t){Bl[Nl++]=ur,Bl[Nl++]=Jo,Jo=e,ur=t}function Jh(e,t,n){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,ha=e;var a=sn;e=dn;var l=32-Mt(a)-1;a&=~(1<<l),n+=1;var i=32-Mt(t)+l;if(30<i){var r=l-l%5;i=(a&(1<<r)-1).toString(32),a>>=r,l-=r,sn=1<<32-Mt(t)+l|n<<l|a,dn=i+e}else sn=1<<i|n<<l|a,dn=e}function Dd(e){e.return!==null&&(Dn(e,1),Jh(e,1,0))}function xd(e){for(;e===Jo;)Jo=Bl[--Nl],Bl[Nl]=null,ur=Bl[--Nl],Bl[Nl]=null;for(;e===ha;)ha=qt[--Ft],qt[Ft]=null,dn=qt[--Ft],qt[Ft]=null,sn=qt[--Ft],qt[Ft]=null}function $h(e,t){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,sn=t.id,dn=t.overflow,ha=e}var Xe=null,ye=null,V=!1,oa=null,Vt=!1,ks=Error(S(519));function pa(e){var t=Error(S(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw cr(Yt(t,e)),ks}function um(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[Ve]=e,t[vt]=a,n){case"dialog":q("cancel",t),q("close",t);break;case"iframe":case"object":case"embed":q("load",t);break;case"video":case"audio":for(n=0;n<gr.length;n++)q(gr[n],t);break;case"source":q("error",t);break;case"img":case"image":case"link":q("error",t),q("load",t);break;case"details":q("toggle",t);break;case"input":q("invalid",t),Mh(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":q("invalid",t);break;case"textarea":q("invalid",t),Bh(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||a.suppressHydrationWarning===!0||Ly(t.textContent,n)?(a.popover!=null&&(q("beforetoggle",t),q("toggle",t)),a.onScroll!=null&&q("scroll",t),a.onScrollEnd!=null&&q("scrollend",t),a.onClick!=null&&(t.onclick=_n),t=!0):t=!1,t||pa(e,!0)}function cm(e){for(Xe=e.return;Xe;)switch(Xe.tag){case 5:case 31:case 13:Vt=!1;return;case 27:case 3:Vt=!0;return;default:Xe=Xe.return}}function vl(e){if(e!==Xe)return!1;if(!V)return cm(e),V=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||id(e.type,e.memoizedProps)),n=!n),n&&ye&&pa(e),cm(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else t===27?(t=ye,Aa(e.type)?(e=cd,cd=null,ye=e):ye=t):ye=Xe?Qt(e.stateNode.nextSibling):null;return!0}function Fa(){ye=Xe=null,V=!1}function Ic(){var e=oa;return e!==null&&(pt===null?pt=e:pt.push.apply(pt,e),oa=null),e}function cr(e){oa===null?oa=[e]:oa.push(e)}var Ls=mn(null),Ia=null,Bn=null;function In(e,t,n){ge(Ls,t._currentValue),t._currentValue=n}function On(e){e._currentValue=Ls.current,Fe(Ls)}function Hs(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function zs(e,t,n,a){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var i=l.dependencies;if(i!==null){var r=l.child;i=i.firstContext;e:for(;i!==null;){var o=i;i=l;for(var u=0;u<t.length;u++)if(o.context===t[u]){i.lanes|=n,o=i.alternate,o!==null&&(o.lanes|=n),Hs(i.return,n,e),a||(r=null);break e}i=o.next}}else if(l.tag===18){if(r=l.return,r===null)throw Error(S(341));r.lanes|=n,i=r.alternate,i!==null&&(i.lanes|=n),Hs(r,n,e),r=null}else r=l.child;if(r!==null)r.return=l;else for(r=l;r!==null;){if(r===e){r=null;break}if(l=r.sibling,l!==null){l.return=r.return,r=l;break}r=r.return}l=r}}function ei(e,t,n,a){e=null;for(var l=t,i=!1;l!==null;){if(!i){if((l.flags&524288)!==0)i=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var r=l.alternate;if(r===null)throw Error(S(387));if(r=r.memoizedProps,r!==null){var o=l.type;Bt(l.pendingProps.value,r.value)||(e!==null?e.push(o):e=[o])}}else if(l===Vo.current){if(r=l.alternate,r===null)throw Error(S(387));r.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(hr):e=[hr])}l=l.return}e!==null&&zs(t,e,n,a),t.flags|=262144}function $o(e){for(e=e.firstContext;e!==null;){if(!Bt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ja(e){Ia=e,Bn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Qe(e){return ep(Ia,e)}function Ao(e,t){return Ia===null&&ja(e),ep(e,t)}function ep(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Bn===null){if(e===null)throw Error(S(308));Bn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Bn=Bn.next=t;return n}var OA=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},kA=Ge.unstable_scheduleCallback,LA=Ge.unstable_NormalPriority,ke={$$typeof:Mn,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Md(){return{controller:new OA,data:new Map,refCount:0}}function Rr(e){e.refCount--,e.refCount===0&&kA(LA,function(){e.controller.abort()})}var Ki=null,Us=0,Yl=0,zl=null;function HA(e,t){if(Ki===null){var n=Ki=[];Us=0,Yl=ef(),zl={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Us++,t.then(sm,sm),t}function sm(){if(--Us===0&&Ki!==null){zl!==null&&(zl.status="fulfilled");var e=Ki;Ki=null,Yl=0,zl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function zA(e,t){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var l=0;l<n.length;l++)(0,n[l])(t)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var dm=L.S;L.S=function(e,t){my=Dt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&HA(e,t),dm!==null&&dm(e,t)};var Ga=mn(null);function _d(){var e=Ga.current;return e!==null?e:ue.pooledCache}function Lo(e,t){t===null?ge(Ga,Ga.current):ge(Ga,t.pool)}function tp(){var e=_d();return e===null?null:{parent:ke._currentValue,pool:e}}var ti=Error(S(460)),Bd=Error(S(474)),Eu=Error(S(542)),eu={then:function(){}};function fm(e){return e=e.status,e==="fulfilled"||e==="rejected"}function np(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(_n,_n),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e;default:if(typeof t.status=="string")t.then(_n,_n);else{if(e=ue,e!==null&&100<e.shellSuspendCounter)throw Error(S(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=a}},function(a){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e}throw Pa=t,ti}}function La(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Pa=n,ti):n}}var Pa=null;function gm(){if(Pa===null)throw Error(S(459));var e=Pa;return Pa=null,e}function mm(e){if(e===ti||e===Eu)throw Error(S(483))}var Ul=null,sr=0;function wo(e){var t=sr;return sr+=1,Ul===null&&(Ul=[]),np(Ul,e,t)}function Li(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function So(e,t){throw t.$$typeof===Cb?Error(S(525)):(e=Object.prototype.toString.call(t),Error(S(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ap(e){function t(h,g){if(e){var p=h.deletions;p===null?(h.deletions=[g],h.flags|=16):p.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function a(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function l(h,g){return h=Nn(h,g),h.index=0,h.sibling=null,h}function i(h,g,p){return h.index=p,e?(p=h.alternate,p!==null?(p=p.index,p<g?(h.flags|=67108866,g):p):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function r(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function o(h,g,p,y){return g===null||g.tag!==6?(g=Zc(p,h.mode,y),g.return=h,g):(g=l(g,p),g.return=h,g)}function u(h,g,p,y){var C=p.type;return C===Sl?s(h,g,p.props.children,y,p.key):g!==null&&(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type)?(g=l(g,p.props),Li(g,p),g.return=h,g):(g=ko(p.type,p.key,p.props,null,h.mode,y),Li(g,p),g.return=h,g)}function c(h,g,p,y){return g===null||g.tag!==4||g.stateNode.containerInfo!==p.containerInfo||g.stateNode.implementation!==p.implementation?(g=Wc(p,h.mode,y),g.return=h,g):(g=l(g,p.children||[]),g.return=h,g)}function s(h,g,p,y,C){return g===null||g.tag!==7?(g=Ua(p,h.mode,y,C),g.return=h,g):(g=l(g,p),g.return=h,g)}function f(h,g,p){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Zc(""+g,h.mode,p),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case fo:return p=ko(g.type,g.key,g.props,null,h.mode,p),Li(p,g),p.return=h,p;case Pi:return g=Wc(g,h.mode,p),g.return=h,g;case Zn:return g=La(g),f(h,g,p)}if(qi(g)||Oi(g))return g=Ua(g,h.mode,p,null),g.return=h,g;if(typeof g.then=="function")return f(h,wo(g),p);if(g.$$typeof===Mn)return f(h,Ao(h,g),p);So(h,g)}return null}function d(h,g,p,y){var C=g!==null?g.key:null;if(typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint")return C!==null?null:o(h,g,""+p,y);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:return p.key===C?u(h,g,p,y):null;case Pi:return p.key===C?c(h,g,p,y):null;case Zn:return p=La(p),d(h,g,p,y)}if(qi(p)||Oi(p))return C!==null?null:s(h,g,p,y,null);if(typeof p.then=="function")return d(h,g,wo(p),y);if(p.$$typeof===Mn)return d(h,g,Ao(h,p),y);So(h,p)}return null}function m(h,g,p,y,C){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return h=h.get(p)||null,o(g,h,""+y,C);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case fo:return h=h.get(y.key===null?p:y.key)||null,u(g,h,y,C);case Pi:return h=h.get(y.key===null?p:y.key)||null,c(g,h,y,C);case Zn:return y=La(y),m(h,g,p,y,C)}if(qi(y)||Oi(y))return h=h.get(p)||null,s(g,h,y,C,null);if(typeof y.then=="function")return m(h,g,p,wo(y),C);if(y.$$typeof===Mn)return m(h,g,p,Ao(g,y),C);So(g,y)}return null}function v(h,g,p,y){for(var C=null,R=null,T=g,M=g=0,w=null;T!==null&&M<p.length;M++){T.index>M?(w=T,T=null):w=T.sibling;var D=d(h,T,p[M],y);if(D===null){T===null&&(T=w);break}e&&T&&D.alternate===null&&t(h,T),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D,T=w}if(M===p.length)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;M<p.length;M++)T=f(h,p[M],y),T!==null&&(g=i(T,g,M),R===null?C=T:R.sibling=T,R=T);return V&&Dn(h,M),C}for(T=a(T);M<p.length;M++)w=m(T,h,M,p[M],y),w!==null&&(e&&w.alternate!==null&&T.delete(w.key===null?M:w.key),g=i(w,g,M),R===null?C=w:R.sibling=w,R=w);return e&&T.forEach(function(k){return t(h,k)}),V&&Dn(h,M),C}function A(h,g,p,y){if(p==null)throw Error(S(151));for(var C=null,R=null,T=g,M=g=0,w=null,D=p.next();T!==null&&!D.done;M++,D=p.next()){T.index>M?(w=T,T=null):w=T.sibling;var k=d(h,T,D.value,y);if(k===null){T===null&&(T=w);break}e&&T&&k.alternate===null&&t(h,T),g=i(k,g,M),R===null?C=k:R.sibling=k,R=k,T=w}if(D.done)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;!D.done;M++,D=p.next())D=f(h,D.value,y),D!==null&&(g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return V&&Dn(h,M),C}for(T=a(T);!D.done;M++,D=p.next())D=m(T,h,M,D.value,y),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?M:D.key),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return e&&T.forEach(function(se){return t(h,se)}),V&&Dn(h,M),C}function b(h,g,p,y){if(typeof p=="object"&&p!==null&&p.type===Sl&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:e:{for(var C=p.key;g!==null;){if(g.key===C){if(C=p.type,C===Sl){if(g.tag===7){n(h,g.sibling),y=l(g,p.props.children),y.return=h,h=y;break e}}else if(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type){n(h,g.sibling),y=l(g,p.props),Li(y,p),y.return=h,h=y;break e}n(h,g);break}else t(h,g);g=g.sibling}p.type===Sl?(y=Ua(p.props.children,h.mode,y,p.key),y.return=h,h=y):(y=ko(p.type,p.key,p.props,null,h.mode,y),Li(y,p),y.return=h,h=y)}return r(h);case Pi:e:{for(C=p.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===p.containerInfo&&g.stateNode.implementation===p.implementation){n(h,g.sibling),y=l(g,p.children||[]),y.return=h,h=y;break e}else{n(h,g);break}else t(h,g);g=g.sibling}y=Wc(p,h.mode,y),y.return=h,h=y}return r(h);case Zn:return p=La(p),b(h,g,p,y)}if(qi(p))return v(h,g,p,y);if(Oi(p)){if(C=Oi(p),typeof C!="function")throw Error(S(150));return p=C.call(p),A(h,g,p,y)}if(typeof p.then=="function")return b(h,g,wo(p),y);if(p.$$typeof===Mn)return b(h,g,Ao(h,p),y);So(h,p)}return typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint"?(p=""+p,g!==null&&g.tag===6?(n(h,g.sibling),y=l(g,p),y.return=h,h=y):(n(h,g),y=Zc(p,h.mode,y),y.return=h,h=y),r(h)):n(h,g)}return function(h,g,p,y){try{sr=0;var C=b(h,g,p,y);return Ul=null,C}catch(T){if(T===ti||T===Eu)throw T;var R=Tt(29,T,null,h.mode);return R.lanes=y,R.return=h,R}finally{}}}var Ya=ap(!0),lp=ap(!1),Wn=!1;function Nd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gs(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ca(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(J&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=Io(e),Zh(e,null,n),t}return Tu(e,a,t,n),Io(e)}function Zi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}function Jc(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var r={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=r:i=i.next=r,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ps=!1;function Wi(){if(Ps){var e=zl;if(e!==null)throw e}}function Ii(e,t,n,a){Ps=!1;var l=e.updateQueue;Wn=!1;var i=l.firstBaseUpdate,r=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var u=o,c=u.next;u.next=null,r===null?i=c:r.next=c,r=u;var s=e.alternate;s!==null&&(s=s.updateQueue,o=s.lastBaseUpdate,o!==r&&(o===null?s.firstBaseUpdate=c:o.next=c,s.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;r=0,s=c=u=null,o=i;do{var d=o.lane&-536870913,m=d!==o.lane;if(m?(Y&d)===d:(a&d)===d){d!==0&&d===Yl&&(Ps=!0),s!==null&&(s=s.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var v=e,A=o;d=t;var b=n;switch(A.tag){case 1:if(v=A.payload,typeof v=="function"){f=v.call(b,f,d);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=A.payload,d=typeof v=="function"?v.call(b,f,d):v,d==null)break e;f=ve({},f,d);break e;case 2:Wn=!0}}d=o.callback,d!==null&&(e.flags|=64,m&&(e.flags|=8192),m=l.callbacks,m===null?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:o.tag,payload:o.payload,callback:o.callback,next:null},s===null?(c=s=m,u=f):s=s.next=m,r|=d;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;m=o,o=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);s===null&&(u=f),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=s,i===null&&(l.shared.lanes=0),va|=r,e.lanes=r,e.memoizedState=f}}function ip(e,t){if(typeof e!="function")throw Error(S(191,e));e.call(t)}function rp(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ip(n[e],t)}var Vl=mn(null),tu=mn(0);function hm(e,t){e=Gn,ge(tu,e),ge(Vl,t),Gn=e|t.baseLanes}function qs(){ge(tu,Gn),ge(Vl,Vl.current)}function Od(){Gn=tu.current,Fe(Vl),Fe(tu)}var Nt=mn(null),Xt=null;function Jn(e){var t=e.alternate;ge(xe,xe.current&1),ge(Nt,e),Xt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Xt=e)}function Fs(e){ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)}function op(e){e.tag===22?(ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)):$n(e)}function $n(){ge(xe,xe.current),ge(Nt,Nt.current)}function Rt(e){Fe(Nt),Xt===e&&(Xt=null),Fe(xe)}var xe=mn(0);function nu(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||od(n)||ud(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hn=0,G=null,re=null,Ne=null,au=!1,Gl=!1,Va=!1,lu=0,dr=0,Pl=null,UA=0;function Re(){throw Error(S(321))}function kd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Bt(e[n],t[n]))return!1;return!0}function Ld(e,t,n,a,l,i){return Hn=i,G=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=e===null||e.memoizedState===null?Up:Xd,Va=!1,i=n(a,l),Va=!1,Gl&&(i=cp(t,n,a,l)),up(e),i}function up(e){L.H=fr;var t=re!==null&&re.next!==null;if(Hn=0,Ne=re=G=null,au=!1,dr=0,Pl=null,t)throw Error(S(300));e===null||Le||(e=e.dependencies,e!==null&&$o(e)&&(Le=!0))}function cp(e,t,n,a){G=e;var l=0;do{if(Gl&&(Pl=null),dr=0,Gl=!1,25<=l)throw Error(S(301));if(l+=1,Ne=re=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}L.H=Gp,i=t(n,a)}while(Gl);return i}function GA(){var e=L.H,t=e.useState()[0];return t=typeof t.then=="function"?Tr(t):t,e=e.useState()[0],(re!==null?re.memoizedState:null)!==e&&(G.flags|=1024),t}function Hd(){var e=lu!==0;return lu=0,e}function zd(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ud(e){if(au){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}au=!1}Hn=0,Ne=re=G=null,Gl=!1,dr=lu=0,Pl=null}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e,Ne}function Me(){if(re===null){var e=G.alternate;e=e!==null?e.memoizedState:null}else e=re.next;var t=Ne===null?G.memoizedState:Ne.next;if(t!==null)Ne=t,re=e;else{if(e===null)throw G.alternate===null?Error(S(467)):Error(S(310));re=e,e={memoizedState:re.memoizedState,baseState:re.baseState,baseQueue:re.baseQueue,queue:re.queue,next:null},Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e}return Ne}function Du(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Tr(e){var t=dr;return dr+=1,Pl===null&&(Pl=[]),e=np(Pl,e,t),t=G,(Ne===null?t.memoizedState:Ne.next)===null&&(t=t.alternate,L.H=t===null||t.memoizedState===null?Up:Xd),e}function xu(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Tr(e);if(e.$$typeof===Mn)return Qe(e)}throw Error(S(438,String(e)))}function Gd(e){var t=null,n=G.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=G.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Du(),G.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=Rb;return t.index++,n}function zn(e,t){return typeof t=="function"?t(e):t}function Ho(e){var t=Me();return Pd(t,re,e)}function Pd(e,t,n){var a=e.queue;if(a===null)throw Error(S(311));a.lastRenderedReducer=n;var l=e.baseQueue,i=a.pending;if(i!==null){if(l!==null){var r=l.next;l.next=i.next,i.next=r}t.baseQueue=l=i,a.pending=null}if(i=e.baseState,l===null)e.memoizedState=i;else{t=l.next;var o=r=null,u=null,c=t,s=!1;do{var f=c.lane&-536870913;if(f!==c.lane?(Y&f)===f:(Hn&f)===f){var d=c.revertLane;if(d===0)u!==null&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===Yl&&(s=!0);else if((Hn&d)===d){c=c.next,d===Yl&&(s=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=f,r=i):u=u.next=f,G.lanes|=d,va|=d;f=c.action,Va&&n(i,f),i=c.hasEagerState?c.eagerState:n(i,f)}else d={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=d,r=i):u=u.next=d,G.lanes|=f,va|=f;c=c.next}while(c!==null&&c!==t);if(u===null?r=i:u.next=o,!Bt(i,e.memoizedState)&&(Le=!0,s&&(n=zl,n!==null)))throw n;e.memoizedState=i,e.baseState=r,e.baseQueue=u,a.lastRenderedState=i}return l===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function $c(e){var t=Me(),n=t.queue;if(n===null)throw Error(S(311));n.lastRenderedReducer=e;var a=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var r=l=l.next;do i=e(i,r.action),r=r.next;while(r!==l);Bt(i,t.memoizedState)||(Le=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function sp(e,t,n){var a=G,l=Me(),i=V;if(i){if(n===void 0)throw Error(S(407));n=n()}else n=t();var r=!Bt((re||l).memoizedState,n);if(r&&(l.memoizedState=n,Le=!0),l=l.queue,qd(gp.bind(null,a,l,e),[e]),l.getSnapshot!==t||r||Ne!==null&&Ne.memoizedState.tag&1){if(a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,l,n,t),null),ue===null)throw Error(S(349));i||(Hn&127)!==0||dp(a,t,n)}return n}function dp(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=G.updateQueue,t===null?(t=Du(),G.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function fp(e,t,n,a){t.value=n,t.getSnapshot=a,mp(t)&&hp(e)}function gp(e,t,n){return n(function(){mp(t)&&hp(e)})}function mp(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Bt(e,n)}catch{return!0}}function hp(e){var t=Wa(e,2);t!==null&&yt(t,e,2)}function js(e){var t=ut();if(typeof e=="function"){var n=e;if(e=n(),Va){ta(!0);try{n()}finally{ta(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:e},t}function pp(e,t,n,a){return e.baseState=n,Pd(e,re,typeof a=="function"?a:zn)}function PA(e,t,n,a,l){if(_u(e))throw Error(S(485));if(e=t.action,e!==null){var i={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){i.listeners.push(r)}};L.T!==null?n(!0):i.isTransition=!1,a(i),n=t.pending,n===null?(i.next=t.pending=i,yp(t,i)):(i.next=n.next,t.pending=n.next=i)}}function yp(e,t){var n=t.action,a=t.payload,l=e.state;if(t.isTransition){var i=L.T,r={};L.T=r;try{var o=n(l,a),u=L.S;u!==null&&u(r,o),pm(e,t,o)}catch(c){Ys(e,t,c)}finally{i!==null&&r.types!==null&&(i.types=r.types),L.T=i}}else try{i=n(l,a),pm(e,t,i)}catch(c){Ys(e,t,c)}}function pm(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){ym(e,t,a)},function(a){return Ys(e,t,a)}):ym(e,t,n)}function ym(e,t,n){t.status="fulfilled",t.value=n,vp(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,yp(e,n)))}function Ys(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=n,vp(t),t=t.next;while(t!==a)}e.action=null}function vp(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function bp(e,t){return t}function vm(e,t){if(V){var n=ue.formState;if(n!==null){e:{var a=G;if(V){if(ye){t:{for(var l=ye,i=Vt;l.nodeType!==8;){if(!i){l=null;break t}if(l=Qt(l.nextSibling),l===null){l=null;break t}}i=l.data,l=i==="F!"||i==="F"?l:null}if(l){ye=Qt(l.nextSibling),a=l.data==="F!";break e}}pa(a)}a=!1}a&&(t=n[0])}}return n=ut(),n.memoizedState=n.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bp,lastRenderedState:t},n.queue=a,n=Lp.bind(null,G,a),a.dispatch=n,a=js(!1),i=Vd.bind(null,G,!1,a.queue),a=ut(),l={state:t,dispatch:null,action:e,pending:null},a.queue=l,n=PA.bind(null,G,l,i,n),l.dispatch=n,a.memoizedState=e,[t,n,!1]}function bm(e){var t=Me();return Ap(t,re,e)}function Ap(e,t,n){if(t=Pd(e,t,bp)[0],e=Ho(zn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=Tr(t)}catch(r){throw r===ti?Eu:r}else a=t;t=Me();var l=t.queue,i=l.dispatch;return n!==t.memoizedState&&(G.flags|=2048,Xl(9,{destroy:void 0},qA.bind(null,l,n),null)),[a,i,e]}function qA(e,t){e.action=t}function Am(e){var t=Me(),n=re;if(n!==null)return Ap(t,n,e);Me(),t=t.memoizedState,n=Me();var a=n.queue.dispatch;return n.memoizedState=e,[t,a,!1]}function Xl(e,t,n,a){return e={tag:e,create:n,deps:a,inst:t,next:null},t=G.updateQueue,t===null&&(t=Du(),G.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function wp(){return Me().memoizedState}function zo(e,t,n,a){var l=ut();G.flags|=e,l.memoizedState=Xl(1|t,{destroy:void 0},n,a===void 0?null:a)}function Mu(e,t,n,a){var l=Me();a=a===void 0?null:a;var i=l.memoizedState.inst;re!==null&&a!==null&&kd(a,re.memoizedState.deps)?l.memoizedState=Xl(t,i,n,a):(G.flags|=e,l.memoizedState=Xl(1|t,i,n,a))}function wm(e,t){zo(8390656,8,e,t)}function qd(e,t){Mu(2048,8,e,t)}function FA(e){G.flags|=4;var t=G.updateQueue;if(t===null)t=Du(),G.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Sp(e){var t=Me().memoizedState;return FA({ref:t,nextImpl:e}),function(){if((J&2)!==0)throw Error(S(440));return t.impl.apply(void 0,arguments)}}function Cp(e,t){return Mu(4,2,e,t)}function Rp(e,t){return Mu(4,4,e,t)}function Tp(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ep(e,t,n){n=n!=null?n.concat([e]):null,Mu(4,4,Tp.bind(null,t,e),n)}function Fd(){}function Dp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;return t!==null&&kd(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function xp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;if(t!==null&&kd(t,a[1]))return a[0];if(a=e(),Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a}function jd(e,t,n){return n===void 0||(Hn&1073741824)!==0&&(Y&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=py(),G.lanes|=e,va|=e,n)}function Mp(e,t,n,a){return Bt(n,t)?n:Vl.current!==null?(e=jd(e,n,a),Bt(e,t)||(Le=!0),e):(Hn&42)===0||(Hn&1073741824)!==0&&(Y&261930)===0?(Le=!0,e.memoizedState=n):(e=py(),G.lanes|=e,va|=e,t)}function _p(e,t,n,a,l){var i=$.p;$.p=i!==0&&8>i?i:8;var r=L.T,o={};L.T=o,Vd(e,!1,t,n);try{var u=l(),c=L.S;if(c!==null&&c(o,u),u!==null&&typeof u=="object"&&typeof u.then=="function"){var s=zA(u,a);Ji(e,t,s,_t(e))}else Ji(e,t,a,_t(e))}catch(f){Ji(e,t,{then:function(){},status:"rejected",reason:f},_t())}finally{$.p=i,r!==null&&o.types!==null&&(r.types=o.types),L.T=r}}function jA(){}function Vs(e,t,n,a){if(e.tag!==5)throw Error(S(476));var l=Bp(e).queue;_p(e,l,t,za,n===null?jA:function(){return Np(e),n(a)})}function Bp(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:za,baseState:za,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:za},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Np(e){var t=Bp(e);t.next===null&&(t=e.alternate.memoizedState),Ji(e,t.next.queue,{},_t())}function Yd(){return Qe(hr)}function Op(){return Me().memoizedState}function kp(){return Me().memoizedState}function YA(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_t();e=ua(n);var a=ca(t,e,n);a!==null&&(yt(a,t,n),Zi(a,t,n)),t={cache:Md()},e.payload=t;return}t=t.return}}function VA(e,t,n){var a=_t();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},_u(e)?Hp(t,n):(n=Td(e,t,n,a),n!==null&&(yt(n,e,a),zp(n,t,a)))}function Lp(e,t,n){var a=_t();Ji(e,t,n,a)}function Ji(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(_u(e))Hp(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,o=i(r,n);if(l.hasEagerState=!0,l.eagerState=o,Bt(o,r))return Tu(e,t,l,0),ue===null&&Ru(),!1}catch{}finally{}if(n=Td(e,t,l,a),n!==null)return yt(n,e,a),zp(n,t,a),!0}return!1}function Vd(e,t,n,a){if(a={lane:2,revertLane:ef(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},_u(e)){if(t)throw Error(S(479))}else t=Td(e,n,a,2),t!==null&&yt(t,e,2)}function _u(e){var t=e.alternate;return e===G||t!==null&&t===G}function Hp(e,t){Gl=au=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zp(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}var fr={readContext:Qe,use:xu,useCallback:Re,useContext:Re,useEffect:Re,useImperativeHandle:Re,useLayoutEffect:Re,useInsertionEffect:Re,useMemo:Re,useReducer:Re,useRef:Re,useState:Re,useDebugValue:Re,useDeferredValue:Re,useTransition:Re,useSyncExternalStore:Re,useId:Re,useHostTransitionStatus:Re,useFormState:Re,useActionState:Re,useOptimistic:Re,useMemoCache:Re,useCacheRefresh:Re};fr.useEffectEvent=Re;var Up={readContext:Qe,use:xu,useCallback:function(e,t){return ut().memoizedState=[e,t===void 0?null:t],e},useContext:Qe,useEffect:wm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,zo(4194308,4,Tp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zo(4194308,4,e,t)},useInsertionEffect:function(e,t){zo(4,2,e,t)},useMemo:function(e,t){var n=ut();t=t===void 0?null:t;var a=e();if(Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=ut();if(n!==void 0){var l=n(t);if(Va){ta(!0);try{n(t)}finally{ta(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=VA.bind(null,G,e),[a.memoizedState,e]},useRef:function(e){var t=ut();return e={current:e},t.memoizedState=e},useState:function(e){e=js(e);var t=e.queue,n=Lp.bind(null,G,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Fd,useDeferredValue:function(e,t){var n=ut();return jd(n,e,t)},useTransition:function(){var e=js(!1);return e=_p.bind(null,G,e.queue,!0,!1),ut().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=G,l=ut();if(V){if(n===void 0)throw Error(S(407));n=n()}else{if(n=t(),ue===null)throw Error(S(349));(Y&127)!==0||dp(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,wm(gp.bind(null,a,i,e),[e]),a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,i,n,t),null),n},useId:function(){var e=ut(),t=ue.identifierPrefix;if(V){var n=dn,a=sn;n=(a&~(1<<32-Mt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=lu++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=UA++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Yd,useFormState:vm,useActionState:vm,useOptimistic:function(e){var t=ut();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Vd.bind(null,G,!0,n),n.dispatch=t,[e,t]},useMemoCache:Gd,useCacheRefresh:function(){return ut().memoizedState=YA.bind(null,G)},useEffectEvent:function(e){var t=ut(),n={impl:e};return t.memoizedState=n,function(){if((J&2)!==0)throw Error(S(440));return n.impl.apply(void 0,arguments)}}},Xd={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:Ho,useRef:wp,useState:function(){return Ho(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=Ho(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:bm,useActionState:bm,useOptimistic:function(e,t){var n=Me();return pp(n,re,e,t)},useMemoCache:Gd,useCacheRefresh:kp};Xd.useEffectEvent=Sp;var Gp={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:$c,useRef:wp,useState:function(){return $c(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return re===null?jd(n,e,t):Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=$c(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:Am,useActionState:Am,useOptimistic:function(e,t){var n=Me();return re!==null?pp(n,re,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Gd,useCacheRefresh:kp};Gp.useEffectEvent=Sp;function es(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:ve({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xs={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=_t(),a=ua(n);a.tag=2,t!=null&&(a.callback=t),t=ca(e,a,n),t!==null&&(yt(t,e,n),Zi(t,e,n))}};function Sm(e,t,n,a,l,i,r){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,r):t.prototype&&t.prototype.isPureReactComponent?!or(n,a)||!or(l,i):!0}function Cm(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Xs.enqueueReplaceState(t,t.state,null)}function Xa(e,t){var n=t;if("ref"in t){n={};for(var a in t)a!=="ref"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=ve({},n));for(var l in e)n[l]===void 0&&(n[l]=e[l])}return n}function Pp(e){Wo(e)}function qp(e){console.error(e)}function Fp(e){Wo(e)}function iu(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function Rm(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Qs(e,t,n){return n=ua(n),n.tag=3,n.payload={element:null},n.callback=function(){iu(e,t)},n}function jp(e){return e=ua(e),e.tag=3,e}function Yp(e,t,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var i=a.value;e.payload=function(){return l(i)},e.callback=function(){Rm(t,n,a)}}var r=n.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){Rm(t,n,a),typeof l!="function"&&(sa===null?sa=new Set([this]):sa.add(this));var o=a.stack;this.componentDidCatch(a.value,{componentStack:o!==null?o:""})})}function XA(e,t,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=n.alternate,t!==null&&ei(t,n,l,!0),n=Nt.current,n!==null){switch(n.tag){case 31:case 13:return Xt===null?su():n.alternate===null&&Te===0&&(Te=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),ds(e,a,l)),!1;case 22:return n.flags|=65536,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),ds(e,a,l)),!1}throw Error(S(435,n.tag))}return ds(e,a,l),su(),!1}if(V)return t=Nt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,a!==ks&&(e=Error(S(422),{cause:a}),cr(Yt(e,n)))):(a!==ks&&(t=Error(S(423),{cause:a}),cr(Yt(t,n))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,a=Yt(a,n),l=Qs(e.stateNode,a,l),Jc(e,l),Te!==4&&(Te=2)),!1;var i=Error(S(520),{cause:a});if(i=Yt(i,n),tr===null?tr=[i]:tr.push(i),Te!==4&&(Te=2),t===null)return!0;a=Yt(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=l&-l,n.lanes|=e,e=Qs(n.stateNode,a,e),Jc(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(sa===null||!sa.has(i))))return n.flags|=65536,l&=-l,n.lanes|=l,l=jp(l),Yp(l,e,n,a),Jc(n,l),!1}n=n.return}while(n!==null);return!1}var Qd=Error(S(461)),Le=!1;function Ye(e,t,n,a){t.child=e===null?lp(t,null,n,a):Ya(t,e.child,n,a)}function Tm(e,t,n,a,l){n=n.render;var i=t.ref;if("ref"in a){var r={};for(var o in a)o!=="ref"&&(r[o]=a[o])}else r=a;return ja(t),a=Ld(e,t,n,r,i,l),o=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&o&&Dd(t),t.flags|=1,Ye(e,t,a,l),t.child)}function Em(e,t,n,a,l){if(e===null){var i=n.type;return typeof i=="function"&&!Ed(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,Vp(e,t,i,a,l)):(e=ko(n.type,null,a,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Kd(e,l)){var r=i.memoizedProps;if(n=n.compare,n=n!==null?n:or,n(r,a)&&e.ref===t.ref)return Un(e,t,l)}return t.flags|=1,e=Nn(i,a),e.ref=t.ref,e.return=t,t.child=e}function Vp(e,t,n,a,l){if(e!==null){var i=e.memoizedProps;if(or(i,a)&&e.ref===t.ref)if(Le=!1,t.pendingProps=a=i,Kd(e,l))(e.flags&131072)!==0&&(Le=!0);else return t.lanes=e.lanes,Un(e,t,l)}return Ks(e,t,n,a,l)}function Xp(e,t,n,a){var l=a.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(a=t.child=e.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~i}else a=0,t.child=null;return Dm(e,t,i,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Lo(t,i!==null?i.cachePool:null),i!==null?hm(t,i):qs(),op(t);else return a=t.lanes=536870912,Dm(e,t,i!==null?i.baseLanes|n:n,n,a)}else i!==null?(Lo(t,i.cachePool),hm(t,i),$n(t),t.memoizedState=null):(e!==null&&Lo(t,null),qs(),$n(t));return Ye(e,t,l,n),t.child}function ji(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Dm(e,t,n,a,l){var i=_d();return i=i===null?null:{parent:ke._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Lo(t,null),qs(),op(t),e!==null&&ei(e,t,a,!0),t.childLanes=l,null}function Uo(e,t){return t=ru({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function xm(e,t,n){return Ya(t,e.child,null,n),e=Uo(t,t.pendingProps),e.flags|=2,Rt(t),t.memoizedState=null,e}function QA(e,t,n){var a=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(V){if(a.mode==="hidden")return e=Uo(t,a),t.lanes=536870912,ji(null,e);if(Fs(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return t.lanes=536870912,null}return Uo(t,a)}var i=e.memoizedState;if(i!==null){var r=i.dehydrated;if(Fs(t),l)if(t.flags&256)t.flags&=-257,t=xm(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(S(558));else if(Le||ei(e,t,n,!1),l=(n&e.childLanes)!==0,Le||l){if(a=ue,a!==null&&(r=Ch(a,n),r!==0&&r!==i.retryLane))throw i.retryLane=r,Wa(e,r),yt(a,e,r),Qd;su(),t=xm(e,t,n)}else e=i.treeContext,ye=Qt(r.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Uo(t,a),t.flags|=4096;return t}return e=Nn(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Go(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(S(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Ks(e,t,n,a,l){return ja(t),n=Ld(e,t,n,a,void 0,l),a=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,l),t.child)}function Mm(e,t,n,a,l,i){return ja(t),t.updateQueue=null,n=cp(t,a,n,l),up(e),a=Hd(),e!==null&&!Le?(zd(e,t,i),Un(e,t,i)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,i),t.child)}function _m(e,t,n,a,l){if(ja(t),t.stateNode===null){var i=_l,r=n.contextType;typeof r=="object"&&r!==null&&(i=Qe(r)),i=new n(a,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Xs,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=a,i.state=t.memoizedState,i.refs={},Nd(t),r=n.contextType,i.context=typeof r=="object"&&r!==null?Qe(r):_l,i.state=t.memoizedState,r=n.getDerivedStateFromProps,typeof r=="function"&&(es(t,n,r,a),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&Xs.enqueueReplaceState(i,i.state,null),Ii(t,a,i,l),Wi(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){i=t.stateNode;var o=t.memoizedProps,u=Xa(n,o);i.props=u;var c=i.context,s=n.contextType;r=_l,typeof s=="object"&&s!==null&&(r=Qe(s));var f=n.getDerivedStateFromProps;s=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function",o=t.pendingProps!==o,s||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o||c!==r)&&Cm(t,i,a,r),Wn=!1;var d=t.memoizedState;i.state=d,Ii(t,a,i,l),Wi(),c=t.memoizedState,o||d!==c||Wn?(typeof f=="function"&&(es(t,n,f,a),c=t.memoizedState),(u=Wn||Sm(t,n,u,a,d,c,r))?(s||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=r,a=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Gs(e,t),r=t.memoizedProps,s=Xa(n,r),i.props=s,f=t.pendingProps,d=i.context,c=n.contextType,u=_l,typeof c=="object"&&c!==null&&(u=Qe(c)),o=n.getDerivedStateFromProps,(c=typeof o=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r!==f||d!==u)&&Cm(t,i,a,u),Wn=!1,d=t.memoizedState,i.state=d,Ii(t,a,i,l),Wi();var m=t.memoizedState;r!==f||d!==m||Wn||e!==null&&e.dependencies!==null&&$o(e.dependencies)?(typeof o=="function"&&(es(t,n,o,a),m=t.memoizedState),(s=Wn||Sm(t,n,s,a,d,m,u)||e!==null&&e.dependencies!==null&&$o(e.dependencies))?(c||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(a,m,u),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(a,m,u)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=u,a=s):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return i=a,Go(e,t),a=(t.flags&128)!==0,i||a?(i=t.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&a?(t.child=Ya(t,e.child,null,l),t.child=Ya(t,null,n,l)):Ye(e,t,n,l),t.memoizedState=i.state,e=t.child):e=Un(e,t,l),e}function Bm(e,t,n,a){return Fa(),t.flags|=256,Ye(e,t,n,a),t.child}var ts={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ns(e){return{baseLanes:e,cachePool:tp()}}function as(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Et),e}function Qp(e,t,n){var a=t.pendingProps,l=!1,i=(t.flags&128)!==0,r;if((r=i)||(r=e!==null&&e.memoizedState===null?!1:(xe.current&2)!==0),r&&(l=!0,t.flags&=-129),r=(t.flags&32)!==0,t.flags&=-33,e===null){if(V){if(l?Jn(t):$n(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return ud(e)?t.lanes=32:t.lanes=536870912,null}var o=a.children;return a=a.fallback,l?($n(t),l=t.mode,o=ru({mode:"hidden",children:o},l),a=Ua(a,l,n,null),o.return=t,a.return=t,o.sibling=a,t.child=o,a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,ji(null,a)):(Jn(t),Zs(t,o))}var u=e.memoizedState;if(u!==null&&(o=u.dehydrated,o!==null)){if(i)t.flags&256?(Jn(t),t.flags&=-257,t=ls(e,t,n)):t.memoizedState!==null?($n(t),t.child=e.child,t.flags|=128,t=null):($n(t),o=a.fallback,l=t.mode,a=ru({mode:"visible",children:a.children},l),o=Ua(o,l,n,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,Ya(t,e.child,null,n),a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,t=ji(null,a));else if(Jn(t),ud(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var c=r.dgst;r=c,a=Error(S(419)),a.stack="",a.digest=r,cr({value:a,source:null,stack:null}),t=ls(e,t,n)}else if(Le||ei(e,t,n,!1),r=(n&e.childLanes)!==0,Le||r){if(r=ue,r!==null&&(a=Ch(r,n),a!==0&&a!==u.retryLane))throw u.retryLane=a,Wa(e,a),yt(r,e,a),Qd;od(o)||su(),t=ls(e,t,n)}else od(o)?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,ye=Qt(o.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Zs(t,a.children),t.flags|=4096);return t}return l?($n(t),o=a.fallback,l=t.mode,u=e.child,c=u.sibling,a=Nn(u,{mode:"hidden",children:a.children}),a.subtreeFlags=u.subtreeFlags&65011712,c!==null?o=Nn(c,o):(o=Ua(o,l,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,ji(null,a),a=t.child,o=e.child.memoizedState,o===null?o=ns(n):(l=o.cachePool,l!==null?(u=ke._currentValue,l=l.parent!==u?{parent:u,pool:u}:l):l=tp(),o={baseLanes:o.baseLanes|n,cachePool:l}),a.memoizedState=o,a.childLanes=as(e,r,n),t.memoizedState=ts,ji(e.child,a)):(Jn(t),n=e.child,e=n.sibling,n=Nn(n,{mode:"visible",children:a.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Zs(e,t){return t=ru({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ru(e,t){return e=Tt(22,e,null,t),e.lanes=0,e}function ls(e,t,n){return Ya(t,e.child,null,n),e=Zs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nm(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Hs(e.return,t,n)}function is(e,t,n,a,l,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=l,r.treeForkCount=i)}function Kp(e,t,n){var a=t.pendingProps,l=a.revealOrder,i=a.tail;a=a.children;var r=xe.current,o=(r&2)!==0;if(o?(r=r&1|2,t.flags|=128):r&=1,ge(xe,r),Ye(e,t,a,n),a=V?ur:0,!o&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nm(e,n,t);else if(e.tag===19)Nm(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&nu(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),is(t,!1,l,n,i,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&nu(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}is(t,!0,n,null,i,a);break;case"together":is(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function Un(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),va|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ei(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(S(153));if(t.child!==null){for(e=t.child,n=Nn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Nn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Kd(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&$o(e)))}function KA(e,t,n){switch(t.tag){case 3:Xo(t,t.stateNode.containerInfo),In(t,ke,e.memoizedState.cache),Fa();break;case 27:case 5:Cs(t);break;case 4:Xo(t,t.stateNode.containerInfo);break;case 10:In(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Fs(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(Jn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Qp(e,t,n):(Jn(t),e=Un(e,t,n),e!==null?e.sibling:null);Jn(t);break;case 19:var l=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||(ei(e,t,n,!1),a=(n&t.childLanes)!==0),l){if(a)return Kp(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ge(xe,xe.current),a)break;return null;case 22:return t.lanes=0,Xp(e,t,n,t.pendingProps);case 24:In(t,ke,e.memoizedState.cache)}return Un(e,t,n)}function Zp(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Le=!0;else{if(!Kd(e,n)&&(t.flags&128)===0)return Le=!1,KA(e,t,n);Le=(e.flags&131072)!==0}else Le=!1,V&&(t.flags&1048576)!==0&&Jh(t,ur,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=La(t.elementType),t.type=e,typeof e=="function")Ed(e)?(a=Xa(e,a),t.tag=1,t=_m(null,t,e,a,n)):(t.tag=0,t=Ks(null,t,e,a,n));else{if(e!=null){var l=e.$$typeof;if(l===fd){t.tag=11,t=Tm(null,t,e,a,n);break e}else if(l===gd){t.tag=14,t=Em(null,t,e,a,n);break e}}throw t=ws(e)||e,Error(S(306,t,""))}}return t;case 0:return Ks(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,l=Xa(a,t.pendingProps),_m(e,t,a,l,n);case 3:e:{if(Xo(t,t.stateNode.containerInfo),e===null)throw Error(S(387));a=t.pendingProps;var i=t.memoizedState;l=i.element,Gs(e,t),Ii(t,a,null,n);var r=t.memoizedState;if(a=r.cache,In(t,ke,a),a!==i.cache&&zs(t,[ke],n,!0),Wi(),a=r.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:r.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Bm(e,t,a,n);break e}else if(a!==l){l=Yt(Error(S(424)),t),cr(l),t=Bm(e,t,a,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(ye=Qt(e.firstChild),Xe=t,V=!0,oa=null,Vt=!0,n=lp(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Fa(),a===l){t=Un(e,t,n);break e}Ye(e,t,a,n)}t=t.child}return t;case 26:return Go(e,t),e===null?(n=eh(t.type,null,t.pendingProps,null))?t.memoizedState=n:V||(n=t.type,e=t.pendingProps,a=mu(ra.current).createElement(n),a[Ve]=t,a[vt]=e,Ke(a,n,e),qe(a),t.stateNode=a):t.memoizedState=eh(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Cs(t),e===null&&V&&(a=t.stateNode=Gy(t.type,t.pendingProps,ra.current),Xe=t,Vt=!0,l=ye,Aa(t.type)?(cd=l,ye=Qt(a.firstChild)):ye=l),Ye(e,t,t.pendingProps.children,n),Go(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&V&&((l=a=ye)&&(a=Sw(a,t.type,t.pendingProps,Vt),a!==null?(t.stateNode=a,Xe=t,ye=Qt(a.firstChild),Vt=!1,l=!0):l=!1),l||pa(t)),Cs(t),l=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,a=i.children,id(l,i)?a=null:r!==null&&id(l,r)&&(t.flags|=32),t.memoizedState!==null&&(l=Ld(e,t,GA,null,null,n),hr._currentValue=l),Go(e,t),Ye(e,t,a,n),t.child;case 6:return e===null&&V&&((e=n=ye)&&(n=Cw(n,t.pendingProps,Vt),n!==null?(t.stateNode=n,Xe=t,ye=null,e=!0):e=!1),e||pa(t)),null;case 13:return Qp(e,t,n);case 4:return Xo(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ya(t,null,a,n):Ye(e,t,a,n),t.child;case 11:return Tm(e,t,t.type,t.pendingProps,n);case 7:return Ye(e,t,t.pendingProps,n),t.child;case 8:return Ye(e,t,t.pendingProps.children,n),t.child;case 12:return Ye(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,In(t,t.type,a.value),Ye(e,t,a.children,n),t.child;case 9:return l=t.type._context,a=t.pendingProps.children,ja(t),l=Qe(l),a=a(l),t.flags|=1,Ye(e,t,a,n),t.child;case 14:return Em(e,t,t.type,t.pendingProps,n);case 15:return Vp(e,t,t.type,t.pendingProps,n);case 19:return Kp(e,t,n);case 31:return QA(e,t,n);case 22:return Xp(e,t,n,t.pendingProps);case 24:return ja(t),a=Qe(ke),e===null?(l=_d(),l===null&&(l=ue,i=Md(),l.pooledCache=i,i.refCount++,i!==null&&(l.pooledCacheLanes|=n),l=i),t.memoizedState={parent:a,cache:l},Nd(t),In(t,ke,l)):((e.lanes&n)!==0&&(Gs(e,t),Ii(t,null,null,n),Wi()),l=e.memoizedState,i=t.memoizedState,l.parent!==a?(l={parent:a,cache:a},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),In(t,ke,a)):(a=i.cache,In(t,ke,a),a!==l.cache&&zs(t,[ke],n,!0))),Ye(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(S(156,t.tag))}function Cn(e){e.flags|=4}function rs(e,t,n,a,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(by())e.flags|=8192;else throw Pa=eu,Bd}else e.flags&=-16777217}function Om(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Fy(t))if(by())e.flags|=8192;else throw Pa=eu,Bd}function Co(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ah():536870912,e.lanes|=t,Ql|=t)}function Hi(e,t){if(!V)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function ZA(e,t,n){var a=t.pendingProps;switch(xd(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pe(t),null;case 1:return pe(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),On(ke),ql(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(vl(t)?Cn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ic())),pe(t),null;case 26:var l=t.type,i=t.memoizedState;return e===null?(Cn(t),i!==null?(pe(t),Om(t,i)):(pe(t),rs(t,l,null,a,n))):i?i!==e.memoizedState?(Cn(t),pe(t),Om(t,i)):(pe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&Cn(t),pe(t),rs(t,l,e,a,n)),null;case 27:if(Qo(t),n=ra.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}e=gn.current,vl(t)?um(t,e):(e=Gy(l,a,n),t.stateNode=e,Cn(t))}return pe(t),null;case 5:if(Qo(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}if(i=gn.current,vl(t))um(t,i);else{var r=mu(ra.current);switch(i){case 1:i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":i=r.createElement("div"),i.innerHTML="<script><\/scr"+"ipt>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?r.createElement(l,{is:a.is}):r.createElement(l)}}i[Ve]=t,i[vt]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(Ke(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Cn(t)}}return pe(t),rs(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(S(166));if(e=ra.current,vl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=Xe,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[Ve]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Ly(e.nodeValue,n)),e||pa(t,!0)}else e=mu(e).createTextNode(a),e[Ve]=t,t.stateNode=e}return pe(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=vl(t),n!==null){if(e===null){if(!a)throw Error(S(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(557));e[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),e=!1}else n=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Rt(t),t):(Rt(t),null);if((t.flags&128)!==0)throw Error(S(558))}return pe(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=vl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(S(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(317));l[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),l=!1}else l=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Rt(t),t):(Rt(t),null)}return Rt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Co(t,t.updateQueue),pe(t),null);case 4:return ql(),e===null&&tf(t.stateNode.containerInfo),pe(t),null;case 10:return On(t.type),pe(t),null;case 19:if(Fe(xe),a=t.memoizedState,a===null)return pe(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)Hi(a,!1);else{if(Te!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=nu(e),i!==null){for(t.flags|=128,Hi(a,!1),e=i.updateQueue,t.updateQueue=e,Co(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Wh(n,e),n=n.sibling;return ge(xe,xe.current&1|2),V&&Dn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Dt()>uu&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304)}else{if(!l)if(e=nu(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Co(t,e),Hi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!V)return pe(t),null}else 2*Dt()-a.renderingStartTime>uu&&n!==536870912&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Dt(),e.sibling=null,n=xe.current,ge(xe,l?n&1|2:n&1),V&&Dn(t,a.treeForkCount),e):(pe(t),null);case 22:case 23:return Rt(t),Od(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(pe(t),t.subtreeFlags&6&&(t.flags|=8192)):pe(t),n=t.updateQueue,n!==null&&Co(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&Fe(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),On(ke),pe(t),null;case 25:return null;case 30:return null}throw Error(S(156,t.tag))}function WA(e,t){switch(xd(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return On(ke),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Qo(t),null;case 31:if(t.memoizedState!==null){if(Rt(t),t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Rt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fe(xe),null;case 4:return ql(),null;case 10:return On(t.type),null;case 22:case 23:return Rt(t),Od(),e!==null&&Fe(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return On(ke),null;case 25:return null;default:return null}}function Wp(e,t){switch(xd(t),t.tag){case 3:On(ke),ql();break;case 26:case 27:case 5:Qo(t);break;case 4:ql();break;case 31:t.memoizedState!==null&&Rt(t);break;case 13:Rt(t);break;case 19:Fe(xe);break;case 10:On(t.type);break;case 22:case 23:Rt(t),Od(),e!==null&&Fe(Ga);break;case 24:On(ke)}}function Er(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,r=n.inst;a=i(),r.destroy=a}n=n.next}while(n!==l)}}catch(o){le(t,t.return,o)}}function ya(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var r=a.inst,o=r.destroy;if(o!==void 0){r.destroy=void 0,l=t;var u=n,c=o;try{c()}catch(s){le(l,u,s)}}}a=a.next}while(a!==i)}}catch(s){le(t,t.return,s)}}function Ip(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{rp(t,n)}catch(a){le(e,e.return,a)}}}function Jp(e,t,n){n.props=Xa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){le(e,t,a)}}function $i(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){le(e,t,l)}}function fn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){le(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){le(e,t,l)}else n.current=null}function $p(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){le(e,e.return,l)}}function os(e,t,n){try{var a=e.stateNode;pw(a,e.type,n,t),a[vt]=t}catch(l){le(e,e.return,l)}}function ey(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Aa(e.type)||e.tag===4}function us(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ey(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Aa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ws(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=_n));else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Ws(e,t,n),e=e.sibling;e!==null;)Ws(e,t,n),e=e.sibling}function ou(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ou(e,t,n),e=e.sibling;e!==null;)ou(e,t,n),e=e.sibling}function ty(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);Ke(t,a,n),t[Ve]=e,t[vt]=n}catch(i){le(e,e.return,i)}}var xn=!1,Oe=!1,cs=!1,km=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function IA(e,t){if(e=e.containerInfo,ad=vu,e=Fh(e),Cd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var r=0,o=-1,u=-1,c=0,s=0,f=e,d=null;t:for(;;){for(var m;f!==n||l!==0&&f.nodeType!==3||(o=r+l),f!==i||a!==0&&f.nodeType!==3||(u=r+a),f.nodeType===3&&(r+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===n&&++c===l&&(o=r),d===i&&++s===a&&(u=r),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}n=o===-1||u===-1?null:{start:o,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ld={focusedElem:e,selectionRange:n},vu=!1,Pe=t;Pe!==null;)if(t=Pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Pe=e;else for(;Pe!==null;){switch(t=Pe,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)l=e[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,l=i.memoizedProps,i=i.memoizedState,a=n.stateNode;try{var v=Xa(n.type,l);e=a.getSnapshotBeforeUpdate(v,i),a.__reactInternalSnapshotBeforeUpdate=e}catch(A){le(n,n.return,A)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)rd(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":rd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(S(163))}if(e=t.sibling,e!==null){e.return=t.return,Pe=e;break}Pe=t.return}}function ny(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Tn(e,n),a&4&&Er(5,n);break;case 1:if(Tn(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(r){le(n,n.return,r)}else{var l=Xa(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(r){le(n,n.return,r)}}a&64&&Ip(n),a&512&&$i(n,n.return);break;case 3:if(Tn(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{rp(e,t)}catch(r){le(n,n.return,r)}}break;case 27:t===null&&a&4&&ty(n);case 26:case 5:Tn(e,n),t===null&&a&4&&$p(n),a&512&&$i(n,n.return);break;case 12:Tn(e,n);break;case 31:Tn(e,n),a&4&&iy(e,n);break;case 13:Tn(e,n),a&4&&ry(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=rw.bind(null,n),Rw(e,n))));break;case 22:if(a=n.memoizedState!==null||xn,!a){t=t!==null&&t.memoizedState!==null||Oe,l=xn;var i=Oe;xn=a,(Oe=t)&&!i?En(e,n,(n.subtreeFlags&8772)!==0):Tn(e,n),xn=l,Oe=i}break;case 30:break;default:Tn(e,n)}}function ay(e){var t=e.alternate;t!==null&&(e.alternate=null,ay(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&yd(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ce=null,ht=!1;function Rn(e,t,n){for(n=n.child;n!==null;)ly(e,t,n),n=n.sibling}function ly(e,t,n){if(xt&&typeof xt.onCommitFiberUnmount=="function")try{xt.onCommitFiberUnmount(br,n)}catch{}switch(n.tag){case 26:Oe||fn(n,t),Rn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Oe||fn(n,t);var a=Ce,l=ht;Aa(n.type)&&(Ce=n.stateNode,ht=!1),Rn(e,t,n),ar(n.stateNode),Ce=a,ht=l;break;case 5:Oe||fn(n,t);case 6:if(a=Ce,l=ht,Ce=null,Rn(e,t,n),Ce=a,ht=l,Ce!==null)if(ht)try{(Ce.nodeType===9?Ce.body:Ce.nodeName==="HTML"?Ce.ownerDocument.body:Ce).removeChild(n.stateNode)}catch(i){le(n,t,i)}else try{Ce.removeChild(n.stateNode)}catch(i){le(n,t,i)}break;case 18:Ce!==null&&(ht?(e=Ce,Zm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),Il(e)):Zm(Ce,n.stateNode));break;case 4:a=Ce,l=ht,Ce=n.stateNode.containerInfo,ht=!0,Rn(e,t,n),Ce=a,ht=l;break;case 0:case 11:case 14:case 15:ya(2,n,t),Oe||ya(4,n,t),Rn(e,t,n);break;case 1:Oe||(fn(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"&&Jp(n,t,a)),Rn(e,t,n);break;case 21:Rn(e,t,n);break;case 22:Oe=(a=Oe)||n.memoizedState!==null,Rn(e,t,n),Oe=a;break;default:Rn(e,t,n)}}function iy(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Il(e)}catch(n){le(t,t.return,n)}}}function ry(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Il(e)}catch(n){le(t,t.return,n)}}function JA(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new km),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new km),t;default:throw Error(S(435,e.tag))}}function Ro(e,t){var n=JA(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var l=ow.bind(null,e,a);a.then(l,l)}})}function gt(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var l=n[a],i=e,r=t,o=r;e:for(;o!==null;){switch(o.tag){case 27:if(Aa(o.type)){Ce=o.stateNode,ht=!1;break e}break;case 5:Ce=o.stateNode,ht=!1;break e;case 3:case 4:Ce=o.stateNode.containerInfo,ht=!0;break e}o=o.return}if(Ce===null)throw Error(S(160));ly(i,r,l),Ce=null,ht=!1,i=l.alternate,i!==null&&(i.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)oy(t,e),t=t.sibling}var en=null;function oy(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),mt(e),a&4&&(ya(3,e,e.return),Er(3,e),ya(5,e,e.return));break;case 1:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&64&&xn&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var l=en;if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&4){var i=n!==null?n.memoizedState:null;if(a=e.memoizedState,n===null)if(a===null)if(e.stateNode===null){e:{a=e.type,n=e.memoizedProps,l=l.ownerDocument||l;t:switch(a){case"title":i=l.getElementsByTagName("title")[0],(!i||i[Sr]||i[Ve]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=l.createElement(a),l.head.insertBefore(i,l.querySelector("head > title"))),Ke(i,a,n),i[Ve]=e,qe(i),a=i;break e;case"link":var r=nh("link","href",l).get(a+(n.href||""));if(r){for(var o=0;o<r.length;o++)if(i=r[o],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;case"meta":if(r=nh("meta","content",l).get(a+(n.content||""))){for(o=0;o<r.length;o++)if(i=r[o],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;default:throw Error(S(468,a))}i[Ve]=e,qe(i),a=i}e.stateNode=a}else ah(l,e.type,e.stateNode);else e.stateNode=th(l,a,e.memoizedProps);else i!==a?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count--,a===null?ah(l,e.type,e.stateNode):th(l,a,e.memoizedProps)):a===null&&e.stateNode!==null&&os(e,e.memoizedProps,n.memoizedProps)}break;case 27:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),n!==null&&a&4&&os(e,e.memoizedProps,n.memoizedProps);break;case 5:if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),e.flags&32){l=e.stateNode;try{jl(l,"")}catch(v){le(e,e.return,v)}}a&4&&e.stateNode!=null&&(l=e.memoizedProps,os(e,l,n!==null?n.memoizedProps:l)),a&1024&&(cs=!0);break;case 6:if(gt(t,e),mt(e),a&4){if(e.stateNode===null)throw Error(S(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(v){le(e,e.return,v)}}break;case 3:if(Fo=null,l=en,en=hu(t.containerInfo),gt(t,e),en=l,mt(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Il(t.containerInfo)}catch(v){le(e,e.return,v)}cs&&(cs=!1,uy(e));break;case 4:a=en,en=hu(e.stateNode.containerInfo),gt(t,e),mt(e),en=a;break;case 12:gt(t,e),mt(e);break;case 31:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 13:gt(t,e),mt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Bu=Dt()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 22:l=e.memoizedState!==null;var u=n!==null&&n.memoizedState!==null,c=xn,s=Oe;if(xn=c||l,Oe=s||u,gt(t,e),Oe=s,xn=c,mt(e),a&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(n===null||u||xn||Oe||Ha(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){u=n=t;try{if(i=u.stateNode,l)r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{o=u.stateNode;var f=u.memoizedProps.style,d=f!=null&&f.hasOwnProperty("display")?f.display:null;o.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(v){le(u,u.return,v)}}}else if(t.tag===6){if(n===null){u=t;try{u.stateNode.nodeValue=l?"":u.memoizedProps}catch(v){le(u,u.return,v)}}}else if(t.tag===18){if(n===null){u=t;try{var m=u.stateNode;l?Wm(m,!0):Wm(u.stateNode,!1)}catch(v){le(u,u.return,v)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,Ro(e,n))));break;case 19:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 30:break;case 21:break;default:gt(t,e),mt(e)}}function mt(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(ey(a)){n=a;break}a=a.return}if(n==null)throw Error(S(160));switch(n.tag){case 27:var l=n.stateNode,i=us(e);ou(e,i,l);break;case 5:var r=n.stateNode;n.flags&32&&(jl(r,""),n.flags&=-33);var o=us(e);ou(e,o,r);break;case 3:case 4:var u=n.stateNode.containerInfo,c=us(e);Ws(e,c,u);break;default:throw Error(S(161))}}catch(s){le(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function uy(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;uy(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Tn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ny(e,t.alternate,t),t=t.sibling}function Ha(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ya(4,t,t.return),Ha(t);break;case 1:fn(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Jp(t,t.return,n),Ha(t);break;case 27:ar(t.stateNode);case 26:case 5:fn(t,t.return),Ha(t);break;case 22:t.memoizedState===null&&Ha(t);break;case 30:Ha(t);break;default:Ha(t)}e=e.sibling}}function En(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,l=e,i=t,r=i.flags;switch(i.tag){case 0:case 11:case 15:En(l,i,n),Er(4,i);break;case 1:if(En(l,i,n),a=i,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(c){le(a,a.return,c)}if(a=i,l=a.updateQueue,l!==null){var o=a.stateNode;try{var u=l.shared.hiddenCallbacks;if(u!==null)for(l.shared.hiddenCallbacks=null,l=0;l<u.length;l++)ip(u[l],o)}catch(c){le(a,a.return,c)}}n&&r&64&&Ip(i),$i(i,i.return);break;case 27:ty(i);case 26:case 5:En(l,i,n),n&&a===null&&r&4&&$p(i),$i(i,i.return);break;case 12:En(l,i,n);break;case 31:En(l,i,n),n&&r&4&&iy(l,i);break;case 13:En(l,i,n),n&&r&4&&ry(l,i);break;case 22:i.memoizedState===null&&En(l,i,n),$i(i,i.return);break;case 30:break;default:En(l,i,n)}t=t.sibling}}function Zd(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Rr(n))}function Wd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e))}function $t(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)cy(e,t,n,a),t=t.sibling}function cy(e,t,n,a){var l=t.flags;switch(t.tag){case 0:case 11:case 15:$t(e,t,n,a),l&2048&&Er(9,t);break;case 1:$t(e,t,n,a);break;case 3:$t(e,t,n,a),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e)));break;case 12:if(l&2048){$t(e,t,n,a),e=t.stateNode;try{var i=t.memoizedProps,r=i.id,o=i.onPostCommit;typeof o=="function"&&o(r,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(u){le(t,t.return,u)}}else $t(e,t,n,a);break;case 31:$t(e,t,n,a);break;case 13:$t(e,t,n,a);break;case 23:break;case 22:i=t.stateNode,r=t.alternate,t.memoizedState!==null?i._visibility&2?$t(e,t,n,a):er(e,t):i._visibility&2?$t(e,t,n,a):(i._visibility|=2,Al(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Zd(r,t);break;case 24:$t(e,t,n,a),l&2048&&Wd(t.alternate,t);break;default:$t(e,t,n,a)}}function Al(e,t,n,a,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,r=t,o=n,u=a,c=r.flags;switch(r.tag){case 0:case 11:case 15:Al(i,r,o,u,l),Er(8,r);break;case 23:break;case 22:var s=r.stateNode;r.memoizedState!==null?s._visibility&2?Al(i,r,o,u,l):er(i,r):(s._visibility|=2,Al(i,r,o,u,l)),l&&c&2048&&Zd(r.alternate,r);break;case 24:Al(i,r,o,u,l),l&&c&2048&&Wd(r.alternate,r);break;default:Al(i,r,o,u,l)}t=t.sibling}}function er(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,l=a.flags;switch(a.tag){case 22:er(n,a),l&2048&&Zd(a.alternate,a);break;case 24:er(n,a),l&2048&&Wd(a.alternate,a);break;default:er(n,a)}t=t.sibling}}var Yi=8192;function bl(e,t,n){if(e.subtreeFlags&Yi)for(e=e.child;e!==null;)sy(e,t,n),e=e.sibling}function sy(e,t,n){switch(e.tag){case 26:bl(e,t,n),e.flags&Yi&&e.memoizedState!==null&&Hw(n,en,e.memoizedState,e.memoizedProps);break;case 5:bl(e,t,n);break;case 3:case 4:var a=en;en=hu(e.stateNode.containerInfo),bl(e,t,n),en=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=Yi,Yi=16777216,bl(e,t,n),Yi=a):bl(e,t,n));break;default:bl(e,t,n)}}function dy(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function zi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)fy(e),e=e.sibling}function fy(e){switch(e.tag){case 0:case 11:case 15:zi(e),e.flags&2048&&ya(9,e,e.return);break;case 3:zi(e);break;case 12:zi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Po(e)):zi(e);break;default:zi(e)}}function Po(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ya(8,t,t.return),Po(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Po(t));break;default:Po(t)}e=e.sibling}}function gy(e,t){for(;Pe!==null;){var n=Pe;switch(n.tag){case 0:case 11:case 15:ya(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Rr(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,Pe=a;else e:for(n=e;Pe!==null;){a=Pe;var l=a.sibling,i=a.return;if(ay(a),a===n){Pe=null;break e}if(l!==null){l.return=i,Pe=l;break e}Pe=i}}}var $A={getCacheForType:function(e){var t=Qe(ke),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Qe(ke).controller.signal}},ew=typeof WeakMap=="function"?WeakMap:Map,J=0,ue=null,F=null,Y=0,ae=0,Ct=null,aa=!1,ni=!1,Id=!1,Gn=0,Te=0,va=0,qa=0,Jd=0,Et=0,Ql=0,tr=null,pt=null,Is=!1,Bu=0,my=0,uu=1/0,cu=null,sa=null,Ue=0,da=null,Kl=null,kn=0,Js=0,$s=null,hy=null,nr=0,ed=null;function _t(){return(J&2)!==0&&Y!==0?Y&-Y:L.T!==null?ef():Rh()}function py(){if(Et===0)if((Y&536870912)===0||V){var e=mo;mo<<=1,(mo&3932160)===0&&(mo=262144),Et=e}else Et=536870912;return e=Nt.current,e!==null&&(e.flags|=32),Et}function yt(e,t,n){(e===ue&&(ae===2||ae===9)||e.cancelPendingCommit!==null)&&(Zl(e,0),la(e,Y,Et,!1)),wr(e,n),((J&2)===0||e!==ue)&&(e===ue&&((J&2)===0&&(qa|=n),Te===4&&la(e,Y,Et,!1)),hn(e))}function yy(e,t,n){if((J&6)!==0)throw Error(S(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Ar(e,t),l=a?aw(e,t):ss(e,t,!0),i=a;do{if(l===0){ni&&!a&&la(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!tw(n)){l=ss(e,t,!1),i=!1;continue}if(l===2){if(i=t,e.errorRecoveryDisabledLanes&i)var r=0;else r=e.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){t=r;e:{var o=e;l=tr;var u=o.current.memoizedState.isDehydrated;if(u&&(Zl(o,r).flags|=256),r=ss(o,r,!1),r!==2){if(Id&&!u){o.errorRecoveryDisabledLanes|=i,qa|=i,l=4;break e}i=pt,pt=l,i!==null&&(pt===null?pt=i:pt.push.apply(pt,i))}l=r}if(i=!1,l!==2)continue}}if(l===1){Zl(e,0),la(e,t,0,!0);break}e:{switch(a=e,i=l,i){case 0:case 1:throw Error(S(345));case 4:if((t&4194048)!==t)break;case 6:la(a,t,Et,!aa);break e;case 2:pt=null;break;case 3:case 5:break;default:throw Error(S(329))}if((t&62914560)===t&&(l=Bu+300-Dt(),10<l)){if(la(a,t,Et,!aa),Au(a,0,!0)!==0)break e;kn=t,a.timeoutHandle=zy(Lm.bind(null,a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,"Throttled",-0,0),l);break e}Lm(a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,null,-0,0)}}break}while(!0);hn(e)}function Lm(e,t,n,a,l,i,r,o,u,c,s,f,d,m){if(e.timeoutHandle=-1,f=t.subtreeFlags,f&8192||(f&16785408)===16785408){f={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:_n},sy(t,i,f);var v=(i&62914560)===i?Bu-Dt():(i&4194048)===i?my-Dt():0;if(v=zw(f,v),v!==null){kn=i,e.cancelPendingCommit=v(zm.bind(null,e,t,i,n,a,l,r,o,u,s,f,null,d,m)),la(e,i,r,!c);return}}zm(e,t,i,n,a,l,r,o,u)}function tw(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],i=l.getSnapshot;l=l.value;try{if(!Bt(i(),l))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function la(e,t,n,a){t&=~Jd,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var l=t;0<l;){var i=31-Mt(l),r=1<<i;a[i]=-1,l&=~r}n!==0&&wh(e,n,t)}function Nu(){return(J&6)===0?(Dr(0,!1),!1):!0}function $d(){if(F!==null){if(ae===0)var e=F.return;else e=F,Bn=Ia=null,Ud(e),Ul=null,sr=0,e=F;for(;e!==null;)Wp(e.alternate,e),e=e.return;F=null}}function Zl(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,bw(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),kn=0,$d(),ue=e,F=n=Nn(e.current,null),Y=t,ae=0,Ct=null,aa=!1,ni=Ar(e,t),Id=!1,Ql=Et=Jd=qa=va=Te=0,pt=tr=null,Is=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var l=31-Mt(a),i=1<<l;t|=e[l],a&=~i}return Gn=t,Ru(),n}function vy(e,t){G=null,L.H=fr,t===ti||t===Eu?(t=gm(),ae=3):t===Bd?(t=gm(),ae=4):ae=t===Qd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ct=t,F===null&&(Te=1,iu(e,Yt(t,e.current)))}function by(){var e=Nt.current;return e===null?!0:(Y&4194048)===Y?Xt===null:(Y&62914560)===Y||(Y&536870912)!==0?e===Xt:!1}function Ay(){var e=L.H;return L.H=fr,e===null?fr:e}function wy(){var e=L.A;return L.A=$A,e}function su(){Te=4,aa||(Y&4194048)!==Y&&Nt.current!==null||(ni=!0),(va&134217727)===0&&(qa&134217727)===0||ue===null||la(ue,Y,Et,!1)}function ss(e,t,n){var a=J;J|=2;var l=Ay(),i=wy();(ue!==e||Y!==t)&&(cu=null,Zl(e,t)),t=!1;var r=Te;e:do try{if(ae!==0&&F!==null){var o=F,u=Ct;switch(ae){case 8:$d(),r=6;break e;case 3:case 2:case 9:case 6:Nt.current===null&&(t=!0);var c=ae;if(ae=0,Ct=null,Ol(e,o,u,c),n&&ni){r=0;break e}break;default:c=ae,ae=0,Ct=null,Ol(e,o,u,c)}}nw(),r=Te;break}catch(s){vy(e,s)}while(!0);return t&&e.shellSuspendCounter++,Bn=Ia=null,J=a,L.H=l,L.A=i,F===null&&(ue=null,Y=0,Ru()),r}function nw(){for(;F!==null;)Sy(F)}function aw(e,t){var n=J;J|=2;var a=Ay(),l=wy();ue!==e||Y!==t?(cu=null,uu=Dt()+500,Zl(e,t)):ni=Ar(e,t);e:do try{if(ae!==0&&F!==null){t=F;var i=Ct;t:switch(ae){case 1:ae=0,Ct=null,Ol(e,t,i,1);break;case 2:case 9:if(fm(i)){ae=0,Ct=null,Hm(t);break}t=function(){ae!==2&&ae!==9||ue!==e||(ae=7),hn(e)},i.then(t,t);break e;case 3:ae=7;break e;case 4:ae=5;break e;case 7:fm(i)?(ae=0,Ct=null,Hm(t)):(ae=0,Ct=null,Ol(e,t,i,7));break;case 5:var r=null;switch(F.tag){case 26:r=F.memoizedState;case 5:case 27:var o=F;if(r?Fy(r):o.stateNode.complete){ae=0,Ct=null;var u=o.sibling;if(u!==null)F=u;else{var c=o.return;c!==null?(F=c,Ou(c)):F=null}break t}}ae=0,Ct=null,Ol(e,t,i,5);break;case 6:ae=0,Ct=null,Ol(e,t,i,6);break;case 8:$d(),Te=6;break e;default:throw Error(S(462))}}lw();break}catch(s){vy(e,s)}while(!0);return Bn=Ia=null,L.H=a,L.A=l,J=n,F!==null?0:(ue=null,Y=0,Ru(),Te)}function lw(){for(;F!==null&&!Db();)Sy(F)}function Sy(e){var t=Zp(e.alternate,e,Gn);e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Hm(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Mm(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=Mm(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:Ud(t);default:Wp(n,t),t=F=Wh(t,Gn),t=Zp(n,t,Gn)}e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Ol(e,t,n,a){Bn=Ia=null,Ud(t),Ul=null,sr=0;var l=t.return;try{if(XA(e,l,t,n,Y)){Te=1,iu(e,Yt(n,e.current)),F=null;return}}catch(i){if(l!==null)throw F=l,i;Te=1,iu(e,Yt(n,e.current)),F=null;return}t.flags&32768?(V||a===1?e=!0:ni||(Y&536870912)!==0?e=!1:(aa=e=!0,(a===2||a===9||a===3||a===6)&&(a=Nt.current,a!==null&&a.tag===13&&(a.flags|=16384))),Cy(t,e)):Ou(t)}function Ou(e){var t=e;do{if((t.flags&32768)!==0){Cy(t,aa);return}e=t.return;var n=ZA(t.alternate,t,Gn);if(n!==null){F=n;return}if(t=t.sibling,t!==null){F=t;return}F=t=e}while(t!==null);Te===0&&(Te=5)}function Cy(e,t){do{var n=WA(e.alternate,e);if(n!==null){n.flags&=32767,F=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){F=e;return}F=e=n}while(e!==null);Te=6,F=null}function zm(e,t,n,a,l,i,r,o,u){e.cancelPendingCommit=null;do ku();while(Ue!==0);if((J&6)!==0)throw Error(S(327));if(t!==null){if(t===e.current)throw Error(S(177));if(i=t.lanes|t.childLanes,i|=Rd,zb(e,n,i,r,o,u),e===ue&&(F=ue=null,Y=0),Kl=t,da=e,kn=n,Js=i,$s=l,hy=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,uw(Ko,function(){return xy(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=L.T,L.T=null,l=$.p,$.p=2,r=J,J|=4;try{IA(e,t,n)}finally{J=r,$.p=l,L.T=a}}Ue=1,Ry(),Ty(),Ey()}}function Ry(){if(Ue===1){Ue=0;var e=da,t=Kl,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{oy(t,e);var i=ld,r=Fh(e.containerInfo),o=i.focusedElem,u=i.selectionRange;if(r!==o&&o&&o.ownerDocument&&qh(o.ownerDocument.documentElement,o)){if(u!==null&&Cd(o)){var c=u.start,s=u.end;if(s===void 0&&(s=c),"selectionStart"in o)o.selectionStart=c,o.selectionEnd=Math.min(s,o.value.length);else{var f=o.ownerDocument||document,d=f&&f.defaultView||window;if(d.getSelection){var m=d.getSelection(),v=o.textContent.length,A=Math.min(u.start,v),b=u.end===void 0?A:Math.min(u.end,v);!m.extend&&A>b&&(r=b,b=A,A=r);var h=im(o,A),g=im(o,b);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var p=f.createRange();p.setStart(h.node,h.offset),m.removeAllRanges(),A>b?(m.addRange(p),m.extend(g.node,g.offset)):(p.setEnd(g.node,g.offset),m.addRange(p))}}}}for(f=[],m=o;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<f.length;o++){var y=f[o];y.element.scrollLeft=y.left,y.element.scrollTop=y.top}}vu=!!ad,ld=ad=null}finally{J=l,$.p=a,L.T=n}}e.current=t,Ue=2}}function Ty(){if(Ue===2){Ue=0;var e=da,t=Kl,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{ny(e,t.alternate,t)}finally{J=l,$.p=a,L.T=n}}Ue=3}}function Ey(){if(Ue===4||Ue===3){Ue=0,xb();var e=da,t=Kl,n=kn,a=hy;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ue=5:(Ue=0,Kl=da=null,Dy(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(sa=null),pd(n),t=t.stateNode,xt&&typeof xt.onCommitFiberRoot=="function")try{xt.onCommitFiberRoot(br,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=L.T,l=$.p,$.p=2,L.T=null;try{for(var i=e.onRecoverableError,r=0;r<a.length;r++){var o=a[r];i(o.value,{componentStack:o.stack})}}finally{L.T=t,$.p=l}}(kn&3)!==0&&ku(),hn(e),l=e.pendingLanes,(n&261930)!==0&&(l&42)!==0?e===ed?nr++:(nr=0,ed=e):nr=0,Dr(0,!1)}}function Dy(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Rr(t)))}function ku(){return Ry(),Ty(),Ey(),xy()}function xy(){if(Ue!==5)return!1;var e=da,t=Js;Js=0;var n=pd(kn),a=L.T,l=$.p;try{$.p=32>n?32:n,L.T=null,n=$s,$s=null;var i=da,r=kn;if(Ue=0,Kl=da=null,kn=0,(J&6)!==0)throw Error(S(331));var o=J;if(J|=4,fy(i.current),cy(i,i.current,r,n),J=o,Dr(0,!1),xt&&typeof xt.onPostCommitFiberRoot=="function")try{xt.onPostCommitFiberRoot(br,i)}catch{}return!0}finally{$.p=l,L.T=a,Dy(e,t)}}function Um(e,t,n){t=Yt(n,t),t=Qs(e.stateNode,t,2),e=ca(e,t,2),e!==null&&(wr(e,2),hn(e))}function le(e,t,n){if(e.tag===3)Um(e,e,n);else for(;t!==null;){if(t.tag===3){Um(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(sa===null||!sa.has(a))){e=Yt(n,e),n=jp(2),a=ca(t,n,2),a!==null&&(Yp(n,a,t,e),wr(a,2),hn(a));break}}t=t.return}}function ds(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new ew;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Id=!0,l.add(n),e=iw.bind(null,e,t,n),t.then(e,e))}function iw(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ue===e&&(Y&n)===n&&(Te===4||Te===3&&(Y&62914560)===Y&&300>Dt()-Bu?(J&2)===0&&Zl(e,0):Jd|=n,Ql===Y&&(Ql=0)),hn(e)}function My(e,t){t===0&&(t=Ah()),e=Wa(e,t),e!==null&&(wr(e,t),hn(e))}function rw(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),My(e,n)}function ow(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(S(314))}a!==null&&a.delete(t),My(e,n)}function uw(e,t){return md(e,t)}var du=null,wl=null,td=!1,fu=!1,fs=!1,ia=0;function hn(e){e!==wl&&e.next===null&&(wl===null?du=wl=e:wl=wl.next=e),fu=!0,td||(td=!0,sw())}function Dr(e,t){if(!fs&&fu){fs=!0;do for(var n=!1,a=du;a!==null;){if(!t)if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var r=a.suspendedLanes,o=a.pingedLanes;i=(1<<31-Mt(42|e)+1)-1,i&=l&~(r&~o),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,Gm(a,i))}else i=Y,i=Au(a,a===ue?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||Ar(a,i)||(n=!0,Gm(a,i));a=a.next}while(n);fs=!1}}function cw(){_y()}function _y(){fu=td=!1;var e=0;ia!==0&&vw()&&(e=ia);for(var t=Dt(),n=null,a=du;a!==null;){var l=a.next,i=By(a,t);i===0?(a.next=null,n===null?du=l:n.next=l,l===null&&(wl=n)):(n=a,(e!==0||(i&3)!==0)&&(fu=!0)),a=l}Ue!==0&&Ue!==5||Dr(e,!1),ia!==0&&(ia=0)}function By(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var r=31-Mt(i),o=1<<r,u=l[r];u===-1?((o&n)===0||(o&a)!==0)&&(l[r]=Hb(o,t)):u<=t&&(e.expiredLanes|=o),i&=~o}if(t=ue,n=Y,n=Au(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(ae===2||ae===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&qc(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Ar(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&qc(a),pd(n)){case 2:case 8:n=vh;break;case 32:n=Ko;break;case 268435456:n=bh;break;default:n=Ko}return a=Ny.bind(null,e),n=md(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&qc(a),e.callbackPriority=2,e.callbackNode=null,2}function Ny(e,t){if(Ue!==0&&Ue!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(ku()&&e.callbackNode!==n)return null;var a=Y;return a=Au(e,e===ue?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(yy(e,a,t),By(e,Dt()),e.callbackNode!=null&&e.callbackNode===n?Ny.bind(null,e):null)}function Gm(e,t){if(ku())return null;yy(e,t,!0)}function sw(){Aw(function(){(J&6)!==0?md(yh,cw):_y()})}function ef(){if(ia===0){var e=Yl;e===0&&(e=go,go<<=1,(go&261888)===0&&(go=256)),ia=e}return ia}function Pm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Bo(""+e)}function qm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function dw(e,t,n,a,l){if(t==="submit"&&n&&n.stateNode===l){var i=Pm((l[vt]||null).action),r=a.submitter;r&&(t=(t=r[vt]||null)?Pm(t.formAction):r.getAttribute("formAction"),t!==null&&(i=t,r=null));var o=new wu("action","action",null,a,l);e.push({event:o,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(ia!==0){var u=r?qm(l,r):new FormData(l);Vs(n,{pending:!0,data:u,method:l.method,action:i},null,u)}}else typeof i=="function"&&(o.preventDefault(),u=r?qm(l,r):new FormData(l),Vs(n,{pending:!0,data:u,method:l.method,action:i},i,u))},currentTarget:l}]})}}for(To=0;To<Os.length;To++)Eo=Os[To],Fm=Eo.toLowerCase(),jm=Eo[0].toUpperCase()+Eo.slice(1),tn(Fm,"on"+jm);var Eo,Fm,jm,To;tn(Yh,"onAnimationEnd");tn(Vh,"onAnimationIteration");tn(Xh,"onAnimationStart");tn("dblclick","onDoubleClick");tn("focusin","onFocus");tn("focusout","onBlur");tn(MA,"onTransitionRun");tn(_A,"onTransitionStart");tn(BA,"onTransitionCancel");tn(Qh,"onTransitionEnd");Fl("onMouseEnter",["mouseout","mouseover"]);Fl("onMouseLeave",["mouseout","mouseover"]);Fl("onPointerEnter",["pointerout","pointerover"]);Fl("onPointerLeave",["pointerout","pointerover"]);Qa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Qa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Qa("onBeforeInput",["compositionend","keypress","textInput","paste"]);Qa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),fw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(gr));function Oy(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],l=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var r=a.length-1;0<=r;r--){var o=a[r],u=o.instance,c=o.currentTarget;if(o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}else for(r=0;r<a.length;r++){if(o=a[r],u=o.instance,c=o.currentTarget,o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}}}}function q(e,t){var n=t[Ts];n===void 0&&(n=t[Ts]=new Set);var a=e+"__bubble";n.has(a)||(ky(t,e,2,!1),n.add(a))}function gs(e,t,n){var a=0;t&&(a|=4),ky(n,e,a,t)}var Do="_reactListening"+Math.random().toString(36).slice(2);function tf(e){if(!e[Do]){e[Do]=!0,Th.forEach(function(n){n!=="selectionchange"&&(fw.has(n)||gs(n,!1,e),gs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Do]||(t[Do]=!0,gs("selectionchange",!1,t))}}function ky(e,t,n,a){switch(Qy(t)){case 2:var l=Pw;break;case 8:l=qw;break;default:l=rf}n=l.bind(null,t,n,e),l=void 0,!_s||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),a?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function ms(e,t,n,a,l){var i=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var r=a.tag;if(r===3||r===4){var o=a.stateNode.containerInfo;if(o===l)break;if(r===4)for(r=a.return;r!==null;){var u=r.tag;if((u===3||u===4)&&r.stateNode.containerInfo===l)return;r=r.return}for(;o!==null;){if(r=Rl(o),r===null)return;if(u=r.tag,u===5||u===6||u===26||u===27){a=i=r;continue e}o=o.parentNode}}a=a.return}Oh(function(){var c=i,s=bd(n),f=[];e:{var d=Kh.get(e);if(d!==void 0){var m=wu,v=e;switch(e){case"keypress":if(Oo(n)===0)break e;case"keydown":case"keyup":m=oA;break;case"focusin":v="focus",m=Xc;break;case"focusout":v="blur",m=Xc;break;case"beforeblur":case"afterblur":m=Xc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Wg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Zb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=sA;break;case Yh:case Vh:case Xh:m=Jb;break;case Qh:m=fA;break;case"scroll":case"scrollend":m=Qb;break;case"wheel":m=mA;break;case"copy":case"cut":case"paste":m=eA;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Jg;break;case"toggle":case"beforetoggle":m=pA}var A=(t&4)!==0,b=!A&&(e==="scroll"||e==="scrollend"),h=A?d!==null?d+"Capture":null:d;A=[];for(var g=c,p;g!==null;){var y=g;if(p=y.stateNode,y=y.tag,y!==5&&y!==26&&y!==27||p===null||h===null||(y=ir(g,h),y!=null&&A.push(mr(g,y,p))),b)break;g=g.return}0<A.length&&(d=new m(d,v,null,n,s),f.push({event:d,listeners:A}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",d&&n!==Ms&&(v=n.relatedTarget||n.fromElement)&&(Rl(v)||v[Jl]))break e;if((m||d)&&(d=s.window===s?s:(d=s.ownerDocument)?d.defaultView||d.parentWindow:window,m?(v=n.relatedTarget||n.toElement,m=c,v=v?Rl(v):null,v!==null&&(b=vr(v),A=v.tag,v!==b||A!==5&&A!==27&&A!==6)&&(v=null)):(m=null,v=c),m!==v)){if(A=Wg,y="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(A=Jg,y="onPointerLeave",h="onPointerEnter",g="pointer"),b=m==null?d:Fi(m),p=v==null?d:Fi(v),d=new A(y,g+"leave",m,n,s),d.target=b,d.relatedTarget=p,y=null,Rl(s)===c&&(A=new A(h,g+"enter",v,n,s),A.target=p,A.relatedTarget=b,y=A),b=y,m&&v)t:{for(A=gw,h=m,g=v,p=0,y=h;y;y=A(y))p++;y=0;for(var C=g;C;C=A(C))y++;for(;0<p-y;)h=A(h),p--;for(;0<y-p;)g=A(g),y--;for(;p--;){if(h===g||g!==null&&h===g.alternate){A=h;break t}h=A(h),g=A(g)}A=null}else A=null;m!==null&&Ym(f,d,m,A,!1),v!==null&&b!==null&&Ym(f,b,v,A,!0)}}e:{if(d=c?Fi(c):window,m=d.nodeName&&d.nodeName.toLowerCase(),m==="select"||m==="input"&&d.type==="file")var R=nm;else if(tm(d))if(Gh)R=EA;else{R=RA;var T=CA}else m=d.nodeName,!m||m.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?c&&vd(c.elementType)&&(R=nm):R=TA;if(R&&(R=R(e,c))){Uh(f,R,n,s);break e}T&&T(e,d,c),e==="focusout"&&c&&d.type==="number"&&c.memoizedProps.value!=null&&xs(d,"number",d.value)}switch(T=c?Fi(c):window,e){case"focusin":(tm(T)||T.contentEditable==="true")&&(Dl=T,Bs=c,Qi=null);break;case"focusout":Qi=Bs=Dl=null;break;case"mousedown":Ns=!0;break;case"contextmenu":case"mouseup":case"dragend":Ns=!1,rm(f,n,s);break;case"selectionchange":if(xA)break;case"keydown":case"keyup":rm(f,n,s)}var M;if(Sd)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else El?Hh(e,n)&&(w="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(w="onCompositionStart");w&&(Lh&&n.locale!=="ko"&&(El||w!=="onCompositionStart"?w==="onCompositionEnd"&&El&&(M=kh()):(na=s,Ad="value"in na?na.value:na.textContent,El=!0)),T=gu(c,w),0<T.length&&(w=new Ig(w,e,null,n,s),f.push({event:w,listeners:T}),M?w.data=M:(M=zh(n),M!==null&&(w.data=M)))),(M=vA?bA(e,n):AA(e,n))&&(w=gu(c,"onBeforeInput"),0<w.length&&(T=new Ig("onBeforeInput","beforeinput",null,n,s),f.push({event:T,listeners:w}),T.data=M)),dw(f,e,c,n,s)}Oy(f,t)})}function mr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function gu(e,t){for(var n=t+"Capture",a=[];e!==null;){var l=e,i=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||i===null||(l=ir(e,n),l!=null&&a.unshift(mr(e,l,i)),l=ir(e,t),l!=null&&a.push(mr(e,l,i))),e.tag===3)return a;e=e.return}return[]}function gw(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ym(e,t,n,a,l){for(var i=t._reactName,r=[];n!==null&&n!==a;){var o=n,u=o.alternate,c=o.stateNode;if(o=o.tag,u!==null&&u===a)break;o!==5&&o!==26&&o!==27||c===null||(u=c,l?(c=ir(n,i),c!=null&&r.unshift(mr(n,c,u))):l||(c=ir(n,i),c!=null&&r.push(mr(n,c,u)))),n=n.return}r.length!==0&&e.push({event:t,listeners:r})}var mw=/\r\n?/g,hw=/\u0000|\uFFFD/g;function Vm(e){return(typeof e=="string"?e:""+e).replace(mw,``).replace(hw,"")}function Ly(e,t){return t=Vm(t),Vm(e)===t}function ie(e,t,n,a,l,i){switch(n){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||jl(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&jl(e,""+a);break;case"className":po(e,"class",a);break;case"tabIndex":po(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":po(e,n,a);break;case"style":Nh(e,a,i);break;case"data":if(t!=="object"){po(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(n==="formAction"?(t!=="input"&&ie(e,t,"name",l.name,l,null),ie(e,t,"formEncType",l.formEncType,l,null),ie(e,t,"formMethod",l.formMethod,l,null),ie(e,t,"formTarget",l.formTarget,l,null)):(ie(e,t,"encType",l.encType,l,null),ie(e,t,"method",l.method,l,null),ie(e,t,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"onClick":a!=null&&(e.onclick=_n);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}n=Bo(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""+a):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":a===!0?e.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,a):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case"popover":q("beforetoggle",e),q("toggle",e),_o(e,"popover",a);break;case"xlinkActuate":Sn(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Sn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Sn(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Sn(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Sn(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Sn(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":_o(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Vb.get(n)||n,_o(e,n,a))}}function nd(e,t,n,a,l,i){switch(n){case"style":Nh(e,a,i);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"children":typeof a=="string"?jl(e,a):(typeof a=="number"||typeof a=="bigint")&&jl(e,""+a);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"onClick":a!=null&&(e.onclick=_n);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eh.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),t=n.slice(2,l?n.length-7:void 0),i=e[vt]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,l),typeof a=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,l);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,""):_o(e,n,a)}}}function Ke(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":q("error",e),q("load",e);var a=!1,l=!1,i;for(i in n)if(n.hasOwnProperty(i)){var r=n[i];if(r!=null)switch(i){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,i,r,n,null)}}l&&ie(e,t,"srcSet",n.srcSet,n,null),a&&ie(e,t,"src",n.src,n,null);return;case"input":q("invalid",e);var o=i=r=l=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case"name":l=s;break;case"type":r=s;break;case"checked":u=s;break;case"defaultChecked":c=s;break;case"value":i=s;break;case"defaultValue":o=s;break;case"children":case"dangerouslySetInnerHTML":if(s!=null)throw Error(S(137,t));break;default:ie(e,t,a,s,n,null)}}Mh(e,i,o,u,c,r,l,!1);return;case"select":q("invalid",e),a=r=i=null;for(l in n)if(n.hasOwnProperty(l)&&(o=n[l],o!=null))switch(l){case"value":i=o;break;case"defaultValue":r=o;break;case"multiple":a=o;default:ie(e,t,l,o,n,null)}t=i,n=r,e.multiple=!!a,t!=null?Ll(e,!!a,t,!1):n!=null&&Ll(e,!!a,n,!0);return;case"textarea":q("invalid",e),i=l=a=null;for(r in n)if(n.hasOwnProperty(r)&&(o=n[r],o!=null))switch(r){case"value":a=o;break;case"defaultValue":l=o;break;case"children":i=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(S(91));break;default:ie(e,t,r,o,n,null)}Bh(e,a,l,i);return;case"option":for(u in n)if(n.hasOwnProperty(u)&&(a=n[u],a!=null))switch(u){case"selected":e.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:ie(e,t,u,a,n,null)}return;case"dialog":q("beforetoggle",e),q("toggle",e),q("cancel",e),q("close",e);break;case"iframe":case"object":q("load",e);break;case"video":case"audio":for(a=0;a<gr.length;a++)q(gr[a],e);break;case"image":q("error",e),q("load",e);break;case"details":q("toggle",e);break;case"embed":case"source":case"link":q("error",e),q("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(a=n[c],a!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,c,a,n,null)}return;default:if(vd(t)){for(s in n)n.hasOwnProperty(s)&&(a=n[s],a!==void 0&&nd(e,t,s,a,n,void 0));return}}for(o in n)n.hasOwnProperty(o)&&(a=n[o],a!=null&&ie(e,t,o,a,n,null))}function pw(e,t,n,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,i=null,r=null,o=null,u=null,c=null,s=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":u=f;default:a.hasOwnProperty(m)||ie(e,t,m,null,a,f)}}for(var d in a){var m=a[d];if(f=n[d],a.hasOwnProperty(d)&&(m!=null||f!=null))switch(d){case"type":i=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":s=m;break;case"value":r=m;break;case"defaultValue":o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(S(137,t));break;default:m!==f&&ie(e,t,d,m,a,f)}}Ds(e,r,o,u,c,s,i,l);return;case"select":m=r=o=d=null;for(i in n)if(u=n[i],n.hasOwnProperty(i)&&u!=null)switch(i){case"value":break;case"multiple":m=u;default:a.hasOwnProperty(i)||ie(e,t,i,null,a,u)}for(l in a)if(i=a[l],u=n[l],a.hasOwnProperty(l)&&(i!=null||u!=null))switch(l){case"value":d=i;break;case"defaultValue":o=i;break;case"multiple":r=i;default:i!==u&&ie(e,t,l,i,a,u)}t=o,n=r,a=m,d!=null?Ll(e,!!n,d,!1):!!a!=!!n&&(t!=null?Ll(e,!!n,t,!0):Ll(e,!!n,n?[]:"",!1));return;case"textarea":m=d=null;for(o in n)if(l=n[o],n.hasOwnProperty(o)&&l!=null&&!a.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:ie(e,t,o,null,a,l)}for(r in a)if(l=a[r],i=n[r],a.hasOwnProperty(r)&&(l!=null||i!=null))switch(r){case"value":d=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(S(91));break;default:l!==i&&ie(e,t,r,l,a,i)}_h(e,d,m);return;case"option":for(var v in n)if(d=n[v],n.hasOwnProperty(v)&&d!=null&&!a.hasOwnProperty(v))switch(v){case"selected":e.selected=!1;break;default:ie(e,t,v,null,a,d)}for(u in a)if(d=a[u],m=n[u],a.hasOwnProperty(u)&&d!==m&&(d!=null||m!=null))switch(u){case"selected":e.selected=d&&typeof d!="function"&&typeof d!="symbol";break;default:ie(e,t,u,d,a,m)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var A in n)d=n[A],n.hasOwnProperty(A)&&d!=null&&!a.hasOwnProperty(A)&&ie(e,t,A,null,a,d);for(c in a)if(d=a[c],m=n[c],a.hasOwnProperty(c)&&d!==m&&(d!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(S(137,t));break;default:ie(e,t,c,d,a,m)}return;default:if(vd(t)){for(var b in n)d=n[b],n.hasOwnProperty(b)&&d!==void 0&&!a.hasOwnProperty(b)&&nd(e,t,b,void 0,a,d);for(s in a)d=a[s],m=n[s],!a.hasOwnProperty(s)||d===m||d===void 0&&m===void 0||nd(e,t,s,d,a,m);return}}for(var h in n)d=n[h],n.hasOwnProperty(h)&&d!=null&&!a.hasOwnProperty(h)&&ie(e,t,h,null,a,d);for(f in a)d=a[f],m=n[f],!a.hasOwnProperty(f)||d===m||d==null&&m==null||ie(e,t,f,d,a,m)}function Xm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function yw(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],i=l.transferSize,r=l.initiatorType,o=l.duration;if(i&&o&&Xm(r)){for(r=0,o=l.responseEnd,a+=1;a<n.length;a++){var u=n[a],c=u.startTime;if(c>o)break;var s=u.transferSize,f=u.initiatorType;s&&Xm(f)&&(u=u.responseEnd,r+=s*(u<o?1:(o-c)/(u-c)))}if(--a,t+=8*(i+r)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var ad=null,ld=null;function mu(e){return e.nodeType===9?e:e.ownerDocument}function Qm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Hy(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function id(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var hs=null;function vw(){var e=window.event;return e&&e.type==="popstate"?e===hs?!1:(hs=e,!0):(hs=null,!1)}var zy=typeof setTimeout=="function"?setTimeout:void 0,bw=typeof clearTimeout=="function"?clearTimeout:void 0,Km=typeof Promise=="function"?Promise:void 0,Aw=typeof queueMicrotask=="function"?queueMicrotask:typeof Km<"u"?function(e){return Km.resolve(null).then(e).catch(ww)}:zy;function ww(e){setTimeout(function(){throw e})}function Aa(e){return e==="head"}function Zm(e,t){var n=t,a=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"||n==="/&"){if(a===0){e.removeChild(l),Il(t);return}a--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")a++;else if(n==="html")ar(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,ar(n);for(var i=n.firstChild;i;){var r=i.nextSibling,o=i.nodeName;i[Sr]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&i.rel.toLowerCase()==="stylesheet"||n.removeChild(i),i=r}}else n==="body"&&ar(e.ownerDocument.body);n=l}while(n);Il(t)}function Wm(e,t){var n=e;e=0;do{var a=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=a}while(n)}function rd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":rd(n),yd(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Sw(e,t,n,a){for(;e.nodeType===1;){var l=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(a){if(!e[Sr])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Qt(e.nextSibling),e===null)break}return null}function Cw(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qt(e.nextSibling),e===null))return null;return e}function Uy(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qt(e.nextSibling),e===null))return null;return e}function od(e){return e.data==="$?"||e.data==="$~"}function ud(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Rw(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var a=function(){t(),n.removeEventListener("DOMContentLoaded",a)};n.addEventListener("DOMContentLoaded",a),e._reactRetry=a}}function Qt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var cd=null;function Im(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qt(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Jm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Gy(e,t,n){switch(t=mu(n),e){case"html":if(e=t.documentElement,!e)throw Error(S(452));return e;case"head":if(e=t.head,!e)throw Error(S(453));return e;case"body":if(e=t.body,!e)throw Error(S(454));return e;default:throw Error(S(451))}}function ar(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);yd(e)}var Kt=new Map,$m=new Set;function hu(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Pn=$.d;$.d={f:Tw,r:Ew,D:Dw,C:xw,L:Mw,m:_w,X:Nw,S:Bw,M:Ow};function Tw(){var e=Pn.f(),t=Nu();return e||t}function Ew(e){var t=$l(e);t!==null&&t.tag===5&&t.type==="form"?Np(t):Pn.r(e)}var ai=typeof document>"u"?null:document;function Py(e,t,n){var a=ai;if(a&&typeof t=="string"&&t){var l=jt(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),$m.has(l)||($m.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function Dw(e){Pn.D(e),Py("dns-prefetch",e,null)}function xw(e,t){Pn.C(e,t),Py("preconnect",e,t)}function Mw(e,t,n){Pn.L(e,t,n);var a=ai;if(a&&e&&t){var l='link[rel="preload"][as="'+jt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+jt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+jt(n.imageSizes)+'"]')):l+='[href="'+jt(e)+'"]';var i=l;switch(t){case"style":i=Wl(e);break;case"script":i=li(e)}Kt.has(i)||(e=ve({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Kt.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(xr(i))||t==="script"&&a.querySelector(Mr(i))||(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function _w(e,t){Pn.m(e,t);var n=ai;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+jt(a)+'"][href="'+jt(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=li(e)}if(!Kt.has(i)&&(e=ve({rel:"modulepreload",href:e},t),Kt.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Mr(i)))return}a=n.createElement("link"),Ke(a,"link",e),qe(a),n.head.appendChild(a)}}}function Bw(e,t,n){Pn.S(e,t,n);var a=ai;if(a&&e){var l=kl(a).hoistableStyles,i=Wl(e);t=t||"default";var r=l.get(i);if(!r){var o={loading:0,preload:null};if(r=a.querySelector(xr(i)))o.loading=5;else{e=ve({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Kt.get(i))&&nf(e,n);var u=r=a.createElement("link");qe(u),Ke(u,"link",e),u._p=new Promise(function(c,s){u.onload=c,u.onerror=s}),u.addEventListener("load",function(){o.loading|=1}),u.addEventListener("error",function(){o.loading|=2}),o.loading|=4,qo(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:o},l.set(i,r)}}}function Nw(e,t){Pn.X(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ow(e,t){Pn.M(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0,type:"module"},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function eh(e,t,n,a){var l=(l=ra.current)?hu(l):null;if(!l)throw Error(S(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Wl(n.href),n=kl(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Wl(n.href);var i=kl(l).hoistableStyles,r=i.get(e);if(r||(l=l.ownerDocument||l,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=l.querySelector(xr(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Kt.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Kt.set(e,n),i||kw(l,e,n,r.state))),t&&a===null)throw Error(S(528,""));return r}if(t&&a!==null)throw Error(S(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=li(n),n=kl(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(S(444,e))}}function Wl(e){return'href="'+jt(e)+'"'}function xr(e){return'link[rel="stylesheet"]['+e+"]"}function qy(e){return ve({},e,{"data-precedence":e.precedence,precedence:null})}function kw(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Ke(t,"link",n),qe(t),e.head.appendChild(t))}function li(e){return'[src="'+jt(e)+'"]'}function Mr(e){return"script[async]"+e}function th(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+jt(n.href)+'"]');if(a)return t.instance=a,qe(a),a;var l=ve({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),qe(a),Ke(a,"style",l),qo(a,n.precedence,e),t.instance=a;case"stylesheet":l=Wl(n.href);var i=e.querySelector(xr(l));if(i)return t.state.loading|=4,t.instance=i,qe(i),i;a=qy(n),(l=Kt.get(l))&&nf(a,l),i=(e.ownerDocument||e).createElement("link"),qe(i);var r=i;return r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),t.state.loading|=4,qo(i,n.precedence,e),t.instance=i;case"script":return i=li(n.src),(l=e.querySelector(Mr(i)))?(t.instance=l,qe(l),l):(a=n,(l=Kt.get(i))&&(a=ve({},n),af(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),qe(l),Ke(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(S(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,qo(a,n.precedence,e));return t.instance}function qo(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,r=0;r<a.length;r++){var o=a[r];if(o.dataset.precedence===t)i=o;else if(i!==l)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function nf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function af(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Fo=null;function nh(e,t,n){if(Fo===null){var a=new Map,l=Fo=new Map;l.set(n,a)}else l=Fo,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),l=0;l<n.length;l++){var i=n[l];if(!(i[Sr]||i[Ve]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var r=i.getAttribute(t)||"";r=e+r;var o=a.get(r);o?o.push(i):a.set(r,[i])}}return a}function ah(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function Lw(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Fy(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Hw(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Wl(a.href),i=t.querySelector(xr(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=pu.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,qe(i);return}i=t.ownerDocument||t,a=qy(a),(l=Kt.get(l))&&nf(a,l),i=i.createElement("link"),qe(i);var r=i;r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=pu.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ps=0;function zw(e,t){return e.stylesheets&&e.count===0&&jo(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&ps===0&&(ps=62500*yw());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>ps?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function pu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jo(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var yu=null;function jo(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,yu=new Map,t.forEach(Uw,e),yu=null,pu.call(e))}function Uw(e,t){if(!(t.state.loading&4)){var n=yu.get(e);if(n)var a=n.get(null);else{n=new Map,yu.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<l.length;i++){var r=l[i];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(n.set(r.dataset.precedence,r),a=r)}a&&n.set(null,a)}l=t.instance,r=l.getAttribute("data-precedence"),i=n.get(r)||a,i===a&&n.set(null,l),n.set(r,l),this.count++,a=pu.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),i?i.parentNode.insertBefore(l,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var hr={$$typeof:Mn,Provider:null,Consumer:null,_currentValue:za,_currentValue2:za,_threadCount:0};function Gw(e,t,n,a,l,i,r,o,u){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Fc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fc(0),this.hiddenUpdates=Fc(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=i,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=u,this.incompleteTransitions=new Map}function jy(e,t,n,a,l,i,r,o,u,c,s,f){return e=new Gw(e,t,n,r,u,c,s,f,o),t=1,i===!0&&(t|=24),i=Tt(3,null,null,t),e.current=i,i.stateNode=e,t=Md(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:a,isDehydrated:n,cache:t},Nd(i),e}function Yy(e){return e?(e=_l,e):_l}function Vy(e,t,n,a,l,i){l=Yy(l),a.context===null?a.context=l:a.pendingContext=l,a=ua(t),a.payload={element:n},i=i===void 0?null:i,i!==null&&(a.callback=i),n=ca(e,a,t),n!==null&&(yt(n,e,t),Zi(n,e,t))}function lh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lf(e,t){lh(e,t),(e=e.alternate)&&lh(e,t)}function Xy(e){if(e.tag===13||e.tag===31){var t=Wa(e,67108864);t!==null&&yt(t,e,67108864),lf(e,67108864)}}function ih(e){if(e.tag===13||e.tag===31){var t=_t();t=hd(t);var n=Wa(e,t);n!==null&&yt(n,e,t),lf(e,t)}}var vu=!0;function Pw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=2,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function qw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=8,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function rf(e,t,n,a){if(vu){var l=sd(a);if(l===null)ms(e,t,a,bu,n),rh(e,a);else if(jw(l,e,t,n,a))a.stopPropagation();else if(rh(e,a),t&4&&-1<Fw.indexOf(e)){for(;l!==null;){var i=$l(l);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var r=ka(i.pendingLanes);if(r!==0){var o=i;for(o.pendingLanes|=2,o.entangledLanes|=2;r;){var u=1<<31-Mt(r);o.entanglements[1]|=u,r&=~u}hn(i),(J&6)===0&&(uu=Dt()+500,Dr(0,!1))}}break;case 31:case 13:o=Wa(i,2),o!==null&&yt(o,i,2),Nu(),lf(i,2)}if(i=sd(a),i===null&&ms(e,t,a,bu,n),i===l)break;l=i}l!==null&&a.stopPropagation()}else ms(e,t,a,null,n)}}function sd(e){return e=bd(e),of(e)}var bu=null;function of(e){if(bu=null,e=Rl(e),e!==null){var t=vr(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=fh(t),e!==null)return e;e=null}else if(n===31){if(e=gh(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return bu=e,null}function Qy(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Mb()){case yh:return 2;case vh:return 8;case Ko:case _b:return 32;case bh:return 268435456;default:return 32}default:return 32}}var dd=!1,fa=null,ga=null,ma=null,pr=new Map,yr=new Map,ea=[],Fw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function rh(e,t){switch(e){case"focusin":case"focusout":fa=null;break;case"dragenter":case"dragleave":ga=null;break;case"mouseover":case"mouseout":ma=null;break;case"pointerover":case"pointerout":pr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yr.delete(t.pointerId)}}function Ui(e,t,n,a,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[l]},t!==null&&(t=$l(t),t!==null&&Xy(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function jw(e,t,n,a,l){switch(t){case"focusin":return fa=Ui(fa,e,t,n,a,l),!0;case"dragenter":return ga=Ui(ga,e,t,n,a,l),!0;case"mouseover":return ma=Ui(ma,e,t,n,a,l),!0;case"pointerover":var i=l.pointerId;return pr.set(i,Ui(pr.get(i)||null,e,t,n,a,l)),!0;case"gotpointercapture":return i=l.pointerId,yr.set(i,Ui(yr.get(i)||null,e,t,n,a,l)),!0}return!1}function Ky(e){var t=Rl(e.target);if(t!==null){var n=vr(t);if(n!==null){if(t=n.tag,t===13){if(t=fh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===31){if(t=gh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Yo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=sd(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Ms=a,n.target.dispatchEvent(a),Ms=null}else return t=$l(n),t!==null&&Xy(t),e.blockedOn=n,!1;t.shift()}return!0}function oh(e,t,n){Yo(e)&&n.delete(t)}function Yw(){dd=!1,fa!==null&&Yo(fa)&&(fa=null),ga!==null&&Yo(ga)&&(ga=null),ma!==null&&Yo(ma)&&(ma=null),pr.forEach(oh),yr.forEach(oh)}function xo(e,t){e.blockedOn===t&&(e.blockedOn=null,dd||(dd=!0,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,Yw)))}var Mo=null;function uh(e){Mo!==e&&(Mo=e,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,function(){Mo===e&&(Mo=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],l=e[t+2];if(typeof a!="function"){if(of(a||n)===null)continue;break}var i=$l(n);i!==null&&(e.splice(t,3),t-=3,Vs(i,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function Il(e){function t(u){return xo(u,e)}fa!==null&&xo(fa,e),ga!==null&&xo(ga,e),ma!==null&&xo(ma,e),pr.forEach(t),yr.forEach(t);for(var n=0;n<ea.length;n++){var a=ea[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<ea.length&&(n=ea[0],n.blockedOn===null);)Ky(n),n.blockedOn===null&&ea.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],i=n[a+1],r=l[vt]||null;if(typeof i=="function")r||uh(n);else if(r){var o=null;if(i&&i.hasAttribute("formAction")){if(l=i,r=i[vt]||null)o=r.formAction;else if(of(l)!==null)continue}else o=r.action;typeof o=="function"?n[a+1]=o:(n.splice(a,3),a-=3),uh(n)}}}function Zy(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(r){return l=r})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function uf(e){this._internalRoot=e}Lu.prototype.render=uf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(S(409));var n=t.current,a=_t();Vy(n,a,e,t,null,null)};Lu.prototype.unmount=uf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Vy(e.current,2,null,e,null,null),Nu(),t[Jl]=null}};function Lu(e){this._internalRoot=e}Lu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rh();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ea.length&&t!==0&&t<ea[n].priority;n++);ea.splice(n,0,e),n===0&&Ky(e)}};var ch=sh.version;if(ch!=="19.2.8")throw Error(S(527,ch,"19.2.8"));$.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(S(188)):(e=Object.keys(e).join(","),Error(S(268,e)));return e=Sb(t),e=e!==null?mh(e):null,e=e===null?null:e.stateNode,e};var Vw={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Gi=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Gi.isDisabled&&Gi.supportsFiber))try{br=Gi.inject(Vw),xt=Gi}catch{}var Gi;Hu.createRoot=function(e,t){if(!dh(e))throw Error(S(299));var n=!1,a="",l=Pp,i=qp,r=Fp;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=jy(e,1,!1,null,null,n,a,null,l,i,r,Zy),e[Jl]=t.current,tf(e),new uf(t)};Hu.hydrateRoot=function(e,t,n){if(!dh(e))throw Error(S(299));var a=!1,l="",i=Pp,r=qp,o=Fp,u=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(i=n.onUncaughtError),n.onCaughtError!==void 0&&(r=n.onCaughtError),n.onRecoverableError!==void 0&&(o=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=jy(e,1,!0,t,n??null,a,l,u,i,r,o,Zy),t.context=Yy(null),n=t.current,a=_t(),a=hd(a),l=ua(a),l.callback=null,ca(n,l,a),n=a,t.current.lanes=n,wr(t,n),hn(t),e[Jl]=t.current,tf(e),new Lu(t)};Hu.version="19.2.8"});var $y=un((jS,Jy)=>{"use strict";function Iy(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Iy)}catch(e){console.error(e)}}Iy(),Jy.exports=Wy()});var t0=un(zu=>{"use strict";var Xw=Symbol.for("react.transitional.element"),Qw=Symbol.for("react.fragment");function e0(e,t,n){var a=null;if(n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),"key"in t){n={};for(var l in t)l!=="key"&&(n[l]=t[l])}else n=t;return t=n.ref,{$$typeof:Xw,type:e,key:a,ref:t!==void 0?t:null,props:n}}zu.Fragment=Qw;zu.jsx=e0;zu.jsxs=e0});var O=un((VS,n0)=>{"use strict";n0.exports=t0()});var Lt=B(ft(),1),s1=B($y(),1);var Wv=B(ft(),1);var qn=B(O(),1);function Kw(e){return{under50:"Under $50",over50:"Over $50",over30:"Over $30",over500:"Over $500","50_100":"$50 - $100","100_200":"$100 - $200","200_500":"$200 - $500"}[e]||e}function a0({activeDealTag:e,activeFreeformTags:t,airedaleTags:n,freeformTags:a,discountAmount:l,onBrandSelect:i,onBrandToggle:r,onDiscountAmountChange:o,onPriceRangeChange:u,onTagClear:c,onFreeformTagClear:s,onFreeformTagToggle:f,priceRange:d,selectedBrands:m}){let v=m.map(b=>({type:"brand",value:b,label:b}));if(e){let b=n.find(h=>h.startsWith(e+":::")||h===e);v.push({type:"category",value:e,label:b?b.split(":::")[1]||b.split(":::")[0]:e})}if(t.forEach(b=>{let h=a.find(g=>g.handle===b);v.push({type:"freeform-tag",value:b,label:h?.label||b})}),d&&d!=="all"&&v.push({type:"price",value:d,label:Kw(d)}),l&&l!=="0"&&l!=="all"&&v.push({type:"discount",value:l,label:`Min ${l}% off`}),v.length===0)return null;let A=b=>{b.type==="brand"&&r?.(b.value),b.type==="category"&&c(),b.type==="freeform-tag"&&f(b.value),b.type==="discount"&&o?.("0"),b.type==="price"&&u?.("all")};return(0,qn.jsxs)("div",{className:"tg-df-active-badges-row",style:{display:"flex",flexWrap:"wrap",gap:"4px",alignItems:"center",marginTop:"10px",marginBottom:"16px"},children:[v.map(b=>(0,qn.jsxs)("span",{className:"tg-df-active-badge",children:[b.label,(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-remove","aria-label":`Remove ${b.label}`,onClick:()=>A(b),children:(0,qn.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,qn.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,qn.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},b.type+"-"+b.value)),v.length>1&&(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-clear-all",onClick:()=>{i?.([]),c(),s(),o?.("0"),u?.("all")},children:"Clear all"})]})}function l0(e){if(!e)return null;let t=e.documentname||e.title||"";!t&&e.documentnametext&&(t=Array.isArray(e.documentnametext)?e.documentnametext[0]:e.documentnametext),!t&&e.articlename&&(t=Array.isArray(e.articlename)?e.articlename[0]:e.articlename),!t&&e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&(t=e.articlesocialtitle[0]);let n=e.strapline||e.articlestrapline||e.subtitle||e.dek||"";!n&&e.image_thumbnail&&e.image_thumbnail.dek&&(n=e.image_thumbnail.dek),Array.isArray(n)&&(n=n[0]||"");let a="";if(e.articlepage)try{let l=e.articlepage;if(typeof l=="string")try{l=JSON.parse(l)}catch{}if(Array.isArray(l)&&l.length>0){let i=l[0];if(typeof i=="string")try{i=JSON.parse(i)}catch{}if(Array.isArray(i)){let r=[];for(let o of i){if(o.type==="featured-product")break;if(o.type==="text"&&o.data)Array.isArray(o.data.paragraphs)?o.data.paragraphs.forEach(u=>{u&&r.push(u.startsWith("<")?u:`<p>${u}<\/p>`)}):typeof o.data.text=="string"&&o.data.text&&r.push(o.data.text.startsWith("<")?o.data.text:`<p>${o.data.text}<\/p>`);else if(o.type==="section"&&o.data){let u=o.data.text||o.data.heading||o.data.title||"";u&&r.push(`<div class="tg-df-article-section-banner"><span>${u}<\/span><\/div>`)}}r.length>0&&(a=r.join(""))}}}catch(l){console.error("Error parsing articlepage",l)}return!a&&e.content?a=typeof e.content=="string"?e.content:"":!a&&e.intro?a=typeof e.intro=="string"?e.intro:"":!a&&e.paragraphs&&(a=(Array.isArray(e.paragraphs)?e.paragraphs:[e.paragraphs]).map(i=>`<p>${i}<\/p>`).join("")),{headline:t,strapline:n,contentHtml:a}}var ii=B(O(),1);function i0({articles:e,selectedArticleId:t}){if(!t)return null;let n=e.find(l=>l.id===t);if(!n)return null;let a=l0(n);return!a||!a.headline&&!a.strapline&&!a.contentHtml?null:(0,ii.jsxs)("div",{className:"tg-df-article-intro-container",id:"tg-df-article-intro",style:{margin:"0 auto 32px",width:"100%",maxWidth:"800px",textAlign:"left",padding:"0 16px"},children:[a.headline&&(0,ii.jsx)("h2",{className:"tg-df-article-headline",id:"tg-df-article-headline",style:{fontSize:"1.75rem",fontWeight:800,color:"#0f172a",marginBottom:"1rem",lineHeight:1.25},children:a.headline}),a.strapline&&(0,ii.jsx)("p",{className:"tg-df-article-strapline",id:"tg-df-article-strapline",style:{fontSize:"1.125rem",fontWeight:600,color:"#334155",marginBottom:"1.25rem",lineHeight:1.4},children:a.strapline}),a.contentHtml&&(0,ii.jsx)("div",{className:"tg-df-article-content",id:"tg-df-article-content",dangerouslySetInnerHTML:{__html:a.contentHtml}})]})}var Fn=B(O(),1);function Zw({articles:e,authorHandle:t,authorName:n}){let a=n||e.length>0&&(e[0].articleauthortext?.[0]||e[0].articleauthor?.[0])||"Author";(t==="all-authors"||n==="all-authors"||n==="All authors")&&(a="All authors");let l=a.trim().split(" ")[0]||"Author";return a==="All authors"&&(l="All authors"),`Shop all ${l==="All authors"?"authors'":l.endsWith("'s")||l.endsWith("\u2019s")?l:`${l}'s`} collections`}function Ww(e){let t=[];return e.documentnametext&&t.push(e.documentnametext),e.documentname&&t.push(e.documentname),e.articlename&&t.push(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&t.push(...e.articlesocialtitle),t.length>0?t.reduce((n,a)=>a&&a.length<n.length?a:n,t[0]):"Article"}function r0({articles:e,authorHandle:t,authorName:n,onChange:a,selectedArticleId:l,shortenedHeadlines:i}){return(0,Fn.jsx)("div",{className:"tg-df-top-bar",id:"tg-df-top-bar",style:{position:"relative",zIndex:100,margin:"0 auto 20px",width:"100%",display:"flex",justifyContent:"center"},children:(0,Fn.jsxs)("div",{className:"tg-df-sort-wrapper",style:{width:"auto",maxWidth:"320px",display:"inline-flex",position:"relative"},children:[(0,Fn.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",width:"14px",height:"14px",color:"var(--tg-df-text-muted)",pointerEvents:"none",zIndex:2},children:(0,Fn.jsx)("path",{d:"M12 2l-10 4.5 10 4.5 10-4.5-10-4.5zm0 6.5l-8-3.6 8-3.6 8 3.6-8 3.6zm-10 6l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5zm0 5l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5z"})}),(0,Fn.jsxs)("select",{className:"tg-df-filter-select tg-df-article-select",style:{width:"100%",maxWidth:"320px",padding:"10px 36px 10px 38px",fontSize:"14px",fontWeight:500,borderRadius:"100px",border:"1px solid var(--tg-df-border)",color:"var(--tg-df-text)",backgroundColor:"var(--tg-df-bg-secondary)",appearance:"none",backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E")`,backgroundRepeat:"no-repeat",backgroundPosition:"right 14px center",textAlign:"left",textAlignLast:"left",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",cursor:"pointer"},value:l||"",onChange:r=>a(r.target.value),children:[(0,Fn.jsx)("option",{value:"",style:{textAlign:"left"},children:Zw({articles:e,authorHandle:t,authorName:n})}),e.map(r=>{let o=i?.[r.id]||Ww(r);return o&&o.length>38&&(o=o.substring(0,36)+"\u2026"),(0,Fn.jsx)("option",{value:r.id,style:{textAlign:"left"},children:o},r.id)})]})]})})}var A0=B(ft(),1);function o0(e,t=new Date){if(!e)return"";let n=new Date(e),a=Math.floor((t.getTime()-n.getTime())/1e3);if(a<60)return"Just now";let l=Math.floor(a/60);if(l<60)return`${l} min${l>1?"s":""} ago`;let i=Math.floor(l/60);if(i<24)return`${i} hr${i>1?"s":""} ago`;let r=Math.floor(i/24);if(r<30)return`${r} day${r>1?"s":""} ago`;let o=Math.floor(r/30);if(o<12)return`${o} mo${o>1?"s":""} ago`;let u=Math.floor(r/365);return`${u} yr${u>1?"s":""} ago`}function Iw(e){return e.replace(/<\/p\s*>/gi," ").replace(/<p[^>]*>/gi," ").replace(/<br\s*\/?>/gi," ").replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim()}function _r(e,t,n){let a="";return n==="short"?a=e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"":a=e.articleauthorlongbio&&e.articleauthorlongbio[t]&&e.articleauthorlongbio[t]!=="null"?e.articleauthorlongbio[t]:e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"",a?Iw(a):""}function u0(e,t){return e.articleauthorrole&&e.articleauthorrole[t]&&e.articleauthorrole[t]!=="null"?e.articleauthorrole[t]:""}function c0(e,t){return e.articleauthormedia&&e.articleauthormedia[t]?e.articleauthormedia[t]:""}function ri(e){if(typeof e!="string"||!e.trim())return"";try{let t=new URL(e);if(t.hostname.toLowerCase()!=="cdn.mos.cms.futurecdn.net")return e;let n=/\.(?:jpe?g|png|webp)$/i;return!n.test(t.pathname)||/-\d+-\d+\.(?:jpe?g|png|webp)$/i.test(t.pathname)?e:(t.pathname=t.pathname.replace(n,"-480-80$&"),t.toString())}catch{return e}}function Uu(e,t=0){if(!e||!e.articleauthorsocialnetworks)return[];let n=e.articleauthorsocialnetworks[t];if(n||(n=e.articleauthorsocialnetworks[0]),!n)return[];let a=null;if(typeof n=="string")try{a=JSON.parse(n)}catch{try{a=JSON.parse(n.replace(/\\"/g,'"'))}catch{}}else typeof n=="object"&&n!==null&&(a=n);if(!a||typeof a!="object")return[];let l=[];for(let[i,r]of Object.entries(a)){if(!r)continue;let o="",u="";if(typeof r=="string"?o=r:typeof r=="object"&&r!==null&&(o=r.url||r.address||r.link||"",u=r.address||""),!o&&!u)continue;let c=i.toLowerCase().trim(),s=o||u;c==="email"?s.startsWith("mailto:")||(s=s.includes("@")?`mailto:${s}`:`mailto:${s}`):!s.startsWith("http://")&&!s.startsWith("https://")&&!s.startsWith("//")&&(s=`https://${s}`);let f=c.charAt(0).toUpperCase()+c.slice(1);c==="linkedin"?f="LinkedIn":c==="youtube"?f="YouTube":c==="tiktok"?f="TikTok":c==="twitch"?f="Twitch":c==="steam"?f="Steam":c==="github"?f="GitHub":c==="rss"?f="RSS":(c==="x"||c==="twitter")&&(f="X (Twitter)"),l.push({key:c,href:s,label:f})}return l}function ee(e){if(!e)return"";let t=String(e);for(let n=0;n<3;n+=1){let a=t.replace(/&/gi,"&").replace(/£/g,"\xA3").replace(/£/gi,"\xA3").replace(/$/g,"$").replace(/&dollar;/gi,"$").replace(/€/g,"\u20AC").replace(/€/gi,"\u20AC").replace(/&#(\d+);/g,(l,i)=>String.fromCharCode(Number(i))).replace(/&#x([0-9a-f]+);/gi,(l,i)=>String.fromCharCode(parseInt(i,16)));if(a===t)break;t=a}return t}var Ee=B(O(),1);function cf({authorUrl:e,deal:t}){if(!t.authorName)return null;let n=ee(String(t.authorName)),a=t.authorRole&&!["null","nul","undefined"].includes(String(t.authorRole).toLowerCase())?` \u2022 ${ee(String(t.authorRole))}`:"";return(0,Ee.jsx)("div",{className:"tg-df-author-line-desktop",style:{padding:"0 0 12px 0"},children:(0,Ee.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[t.authorImage&&(0,Ee.jsx)("img",{src:ri(t.authorImage),alt:n,className:"tg-df-author-img",width:"36",height:"36",style:{borderRadius:"50%",objectFit:"cover",flexShrink:0,aspectRatio:"1 / 1",minWidth:"36px",minHeight:"36px"}}),(0,Ee.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,Ee.jsx)("div",{style:{fontSize:"10px",color:"var(--tg-df-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px",fontWeight:600},children:t.isReviewProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Product tested by:"}):t.isBuyingGuideProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Expert review by:"}):t.isFeatured?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:"Top product"})," ","recommended by:"]}):(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:t.merchant})," ","deal recommended by:"]})}),(0,Ee.jsxs)("div",{style:{fontSize:"11px",color:"var(--tg-df-text)",lineHeight:1.2},children:[(0,Ee.jsx)("strong",{children:(0,Ee.jsx)("a",{href:e,target:"_blank",rel:"noopener",style:{textDecoration:"none",color:"inherit",borderBottom:"1px dotted var(--tg-df-text-muted)"},children:n})}),a,t.modifiedDate?(0,Ee.jsxs)("span",{style:{color:"var(--tg-df-text-muted)"},children:[" ","\u2022 ",o0(t.modifiedDate)]}):""]})]})]})})}var K=B(O(),1);function s0({authorUrl:e,deal:t,hideHawkPrices:n,msrpFormatted:a,sourceArticleUrl:l}){let i=ee(String(t.merchant||"")),r=ee(String(t.currency||""));if(t.isBuyingGuideProduct||t.isReviewProduct){let o=!!t.hasCommerceOffer,u=o&&!t.isCheckPrice,c=!!t.hawkPricePending,s=!!t.isReviewProduct&&!c&&!o,f=n&&o&&Array.isArray(t.hawkListings)?t.hawkListings.filter(m=>m?.merchant&&m?.url).slice(0,4):[],d=f.length>0;return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[c?(0,K.jsx)("div",{className:"tg-df-card-price-group","aria-live":"polite",children:(0,K.jsx)("span",{className:"tg-df-card-price",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"Checking live price\u2026"})}):d?(0,K.jsxs)("div",{className:"tg-df-card-listings",children:[(0,K.jsx)("span",{className:"tg-df-card-listings-title",children:"Today's cheapest prices:"}),(0,K.jsx)("div",{className:"tg-df-card-listings-links",children:f.map((m,v)=>{let A=ee(String(m.merchant));return(0,K.jsx)("a",{"aria-label":`View product at ${A}`,className:"tg-df-card-listing-link hawk-affiliate-link-container","data-fcaw-affiliate-link":"","data-merchant":A,"data-merchant-id":m.merchantId||void 0,"data-model-id":m.modelId||void 0,"data-product-key":m.productKey||void 0,href:m.url,rel:"sponsored nofollow noopener",target:"_blank",children:A},`${m.merchant}-${m.url}-${v}`)})})]}):u?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsxs)("div",{className:"tg-df-card-price-group",children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})]}):s?(0,K.jsx)("div",{className:"tg-df-card-price-group",children:(0,K.jsx)("span",{className:"tg-df-card-price tg-df-card-price--unavailable",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"No retail listing found"})}):null,(0,K.jsx)(cf,{authorUrl:e,deal:t}),!d&&(0,K.jsx)("a",{href:o?t.url:l,"data-fcaw-affiliate-link":o?"":void 0,target:"_blank",rel:o?"sponsored nofollow noopener":"noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},children:o?u?"VIEW DEAL":"CHECK PRICE":"READ REVIEW"})]})}return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[!(t.authorName&&!t.isFeatured)&&(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsx)("div",{className:"tg-df-card-price-group",children:t.isCheckPrice?(0,K.jsx)("span",{className:"tg-df-card-price",style:{fontSize:"15px",fontWeight:500,fontStyle:"italic"},children:"See price at retailer"}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})}),(0,K.jsx)(cf,{authorUrl:e,deal:t}),(0,K.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":"",target:"_blank",rel:"sponsored nofollow noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},"data-model-id":t.modelId||void 0,"data-product-key":t.productKey||void 0,"data-merchant-id":t.merchantId||void 0,children:t.isCheckPrice?"CHECK PRICE":t.isFeatured?"SHOP NOW":"VIEW DEAL"})]})}var Ze=B(O(),1);function d0({couponStatus:e,deal:t,onOpenVouchers:n}){let a=!!t.hasCommerceOffer;return(0,Ze.jsxs)("div",{className:"tg-df-card-image-box",children:[t.buyingGuideBadge?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge tg-df-buying-guide-badge",children:t.buyingGuideBadge}):t.savingLabel&&!t.isCheckPrice?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge",children:ee(t.savingLabel)}):null,(0,Ze.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":a?"":void 0,className:a?"hawk-affiliate-link-deal-widget":void 0,target:"_blank",rel:a?"sponsored nofollow noopener":"noopener",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",height:"100%"},children:(0,Ze.jsx)("img",{src:t.image||void 0,alt:ee(String(t.title||"")),className:"tg-df-card-image",loading:"lazy",onError:l=>{t.fallbackImage&&!l.currentTarget.dataset.fb?(l.currentTarget.dataset.fb="1",l.currentTarget.src=t.fallbackImage):l.currentTarget.style.opacity="0"}})}),(0,Ze.jsxs)("div",{className:"tg-df-card-badges",children:[t.isPrime&&(0,Ze.jsxs)("span",{className:"tg-df-tag tg-df-tag-prime",children:[(0,Ze.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ze.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})," ","Prime"]}),!t.merchant?.toLowerCase().includes("amazon")&&(e==="loading"||e==="has")&&(0,Ze.jsx)("div",{className:"tg-df-coupon-wrapper",style:{display:"inline-flex",alignItems:"center"},children:e==="loading"?(0,Ze.jsx)("div",{className:"tg-df-coupon-spinner"}):(0,Ze.jsxs)("button",{type:"button",className:"tg-df-tag tg-df-tag-coupons",onClick:l=>{l.preventDefault(),n(t.merchant)},children:[(0,Ze.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,Ze.jsx)("path",{d:"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"}),(0,Ze.jsx)("line",{x1:"7",y1:"7",x2:"7.01",y2:"7"})]})," ","Coupons"]})})]})]})}var ct=B(O(),1);function f0({label:e="Tom's Guide:",starRating:t,color:n="#1f69ff"}){if(!t||t<=0)return null;let a=Math.floor(t),l=t-a>=.5?1:0,i=Math.max(0,5-a-l),r=[];for(let o=0;o<a;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:n,stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`f${o}`));l&&r.push((0,ct.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"url(#halfGrad)",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,ct.jsx)("defs",{children:(0,ct.jsxs)("linearGradient",{id:"halfGrad",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,ct.jsx)("stop",{offset:"50%",stopColor:n}),(0,ct.jsx)("stop",{offset:"50%",stopColor:"transparent"})]})}),(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})]},"h"));for(let o=0;o<i;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:n,opacity:"0.35",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`e${o}`));return(0,ct.jsxs)("div",{className:"tg-df-card-stars",style:{display:"flex",alignItems:"center",marginBottom:"8px",fontSize:"13px",fontWeight:600,color:"var(--tg-df-text-muted)"},children:[e&&(0,ct.jsx)("span",{style:{marginRight:"6px"},children:e}),(0,ct.jsx)("div",{style:{display:"flex",gap:"2px"},children:r})]})}var At=B(O(),1);function g0({heading:e,items:t}){return t.length===0?null:(0,At.jsxs)("div",{style:{marginBottom:"10px"},children:[(0,At.jsx)("strong",{style:{display:"block",fontSize:"12px",marginBottom:"3px"},children:e}),(0,At.jsx)("ul",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:0,paddingLeft:"18px"},children:t.map(n=>{let a=ee(String(n));return(0,At.jsx)("li",{children:a},n)})})]})}function m0({cons:e=[],expanded:t,fullReviewUrl:n,onToggle:a,pros:l=[],subtitle:i="",truncateSubtitle:r=!1}){let o=l.length>0||e.length>0,u=ee(i);return!u&&!o?null:(0,At.jsxs)("div",{style:{marginBottom:"12px"},children:[u&&(0,At.jsx)("p",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:"0 0 8px",display:!t&&r?"-webkit-box":"block",WebkitLineClamp:!t&&r?3:void 0,WebkitBoxOrient:!t&&r?"vertical":void 0,overflow:!t&&r?"hidden":void 0},children:u}),t&&o&&(0,At.jsxs)("div",{children:[(0,At.jsx)(g0,{heading:"Pros",items:l}),(0,At.jsx)(g0,{heading:"Cons",items:e})]}),(o||r)&&(0,At.jsxs)("div",{className:"tg-df-review-summary-actions",style:{alignItems:"flex-start",display:"flex",flexDirection:"column",gap:t&&n?"4px":0},children:[t&&n&&(0,At.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"tg-df-review-full-link",style:{alignItems:"center",color:"var(--tg-df-blue)",display:"flex",fontSize:"12px",fontWeight:700,minHeight:"40px",paddingRight:"12px",textDecoration:"underline"},children:"Read our full review"}),(0,At.jsx)("button",{type:"button",onClick:c=>{c.preventDefault(),c.stopPropagation(),a()},className:"tg-df-review-summary-toggle",style:{appearance:"none",background:"transparent",border:"none",color:"#000000",cursor:"pointer",fontFamily:"inherit",fontSize:"11px",fontWeight:700,minHeight:"40px",padding:"0 12px 0 0",textTransform:"uppercase"},children:t?"LESS":"READ MORE"})]})]})}var oi=B(ft(),1);var Br=B(O(),1);function h0({text:e,expanded:t,onToggle:n}){let[a,l]=(0,oi.useState)(!1),i=(0,oi.useRef)(null),r=ee(e);return(0,oi.useEffect)(()=>{i.current&&l(i.current.scrollHeight>i.current.clientHeight||i.current.scrollHeight>60)},[r]),r?(0,Br.jsxs)("div",{style:{marginBottom:"12px",position:"relative"},children:[(0,Br.jsx)("p",{ref:i,style:{fontSize:"13px",color:"var(--tg-df-text-muted)",marginBottom:"0",lineHeight:"1.4",display:t?"inline":"-webkit-box",WebkitLineClamp:t?"unset":3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r}),a&&(0,Br.jsx)("button",{type:"button",onClick:o=>{o.preventDefault(),o.stopPropagation(),n()},style:{display:"block",appearance:"none",border:"none",color:"#000000",fontSize:"11px",fontWeight:700,textTransform:"uppercase",cursor:"pointer",fontFamily:"inherit",position:t?"static":"absolute",bottom:"2px",right:0,background:t?"transparent":"linear-gradient(to right, transparent, #fff 20%, #fff)",padding:t?"0":"0 0 0 16px"},children:t?"LESS":"READ MORE"})]}):null}var p0={pcgamer:"#DC191B",space:"#2E4A7F",tomsguide:"#1F69FF",techradar:"#E40784",golfmonthly:"#FFFFFF",androidcentral:"#1CCC3E",cinemablend:"#FFC033",creativebloq:"#DC361A",cyclingnews:"#371B51",cyclingweekly:"#AE1305",decanter:"#1B1B1B",digitalcameraworld:"#CAEBF2",fitandwell:"#BED100",fourfourtwo:"#AE1006",gamesradar:"#DC361A",guitarplayer:"#FFFFFF",guitarworld:"#DC1F26",homesandgardens:"#185A7D",idealhome:"#CAEBF2",imore:"#FFD600",livescience:"#023953",livingetc:"#FFFFFF",loudersound:"#DC0F17",marieclaireus:"#FFFFFF",marieclaireuk:"#FFFFFF",musicradar:"#006EA9",shortlist:"#2853E0",t3:"#DF0A14",theweek:"#DF0A14",theweekjuniorus:"#10A0B0",tomshardware:"#D8373B",wallpaper:"#FFFFFF",whathifi:"#E02928",whowhatwear:"#FFFFFF",windowscentral:"#CE0E5F",womanandhome:"#2F746E"},Nr={tomsguide:"https://proof.vanilla.tools/media/images/brandLogos/tomsguide.png",techradar:"https://proof.vanilla.tools/media/images/brandLogos/techradar.png",tomshardware:"https://proof.vanilla.tools/media/images/brandLogos/tomshardware.png",pcgamer:"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png",gamesradar:"https://proof.vanilla.tools/media/images/brandLogos/gamesradar.png",creativebloq:"https://proof.vanilla.tools/media/images/brandLogos/creativebloq.png",space:"https://proof.vanilla.tools/media/images/brandLogos/space.png",livescience:"https://proof.vanilla.tools/media/images/brandLogos/livescience.png",cinemablend:"https://proof.vanilla.tools/media/images/brandLogos/cinemablend.png",marieclaireus:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireus.png",marieclaireuk:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireuk.png",homesandgardens:"https://proof.vanilla.tools/media/images/brandLogos/homesandgardens.png",whowhatwear:"https://proof.vanilla.tools/media/images/brandLogos/whowhatwear.png",idealhome:"https://proof.vanilla.tools/media/images/brandLogos/idealhome.png",womanandhome:"https://proof.vanilla.tools/media/images/brandLogos/womanandhome.png",livingetc:"https://proof.vanilla.tools/media/images/brandLogos/livingetc.png",t3:"https://proof.vanilla.tools/media/images/brandLogos/t3.png",whathifi:"https://proof.vanilla.tools/media/images/brandLogos/whathifi.png",digitalcameraworld:"https://proof.vanilla.tools/media/images/brandLogos/digitalcameraworld.png",fitandwell:"https://proof.vanilla.tools/media/images/brandLogos/fitandwell.png",golfmonthly:"https://proof.vanilla.tools/media/images/brandLogos/golfmonthly.png",musicradar:"https://proof.vanilla.tools/media/images/brandLogos/musicradar.png",windowscentral:"https://proof.vanilla.tools/media/images/brandLogos/windowscentral.png",cyclingnews:"https://proof.vanilla.tools/media/images/brandLogos/cyclingnews.png",cyclingweekly:"https://proof.vanilla.tools/media/images/brandLogos/cyclingweekly.png",loudersound:"https://proof.vanilla.tools/media/images/brandLogos/loudersound.png",guitarworld:"https://proof.vanilla.tools/media/images/brandLogos/guitarworld.png",guitarplayer:"https://proof.vanilla.tools/media/images/brandLogos/guitarplayer.png",wallpaper:"https://proof.vanilla.tools/media/images/brandLogos/wallpaper.png",fourfourtwo:"https://proof.vanilla.tools/media/images/brandLogos/fourfourtwo.png",shortlist:"https://proof.vanilla.tools/media/images/brandLogos/shortlist.png",advnture:"https://proof.vanilla.tools/media/images/brandLogos/advnture.png",countrylife:"https://proof.vanilla.tools/media/images/brandLogos/countrylife.png",gardeningknowhow:"https://proof.vanilla.tools/media/images/brandLogos/gardeningknowhow.png",gnomesingardens:"https://proof.vanilla.tools/media/images/brandLogos/gnomesingardens.png",kiplinger:"https://proof.vanilla.tools/media/images/brandLogos/kiplinger.png",moneyweek:"https://proof.vanilla.tools/media/images/brandLogos/moneyweek.png",toptenreviews:"https://proof.vanilla.tools/media/images/brandLogos/toptenreviews.png"},Gu={tomsguide:"Tom's Guide",techradar:"TechRadar",tomshardware:"Tom's Hardware",pcgamer:"PC Gamer",gamesradar:"GamesRadar+",creativebloq:"Creative Bloq",space:"Space",livescience:"Live Science",cinemablend:"CinemaBlend",marieclaireus:"Marie Claire US",marieclaireuk:"Marie Claire UK",homesandgardens:"Homes & Gardens",whowhatwear:"Who What Wear",idealhome:"Ideal Home",womanandhome:"Woman & Home",livingetc:"Living Etc",t3:"T3",whathifi:"What Hi-Fi?",digitalcameraworld:"Digital Camera World",fitandwell:"Fit & Well",golfmonthly:"Golf Monthly",musicradar:"MusicRadar",androidcentral:"Android Central",imore:"iMore",windowscentral:"Windows Central",cyclingnews:"Cycling News",cyclingweekly:"Cycling Weekly",loudersound:"Louder Sound",guitarworld:"Guitar World",guitarplayer:"Guitar Player",theweek:"The Week",theweekjuniorus:"The Week Junior US",wallpaper:"Wallpaper",decanter:"Decanter",fourfourtwo:"FourFourTwo",shortlist:"ShortList",advnture:"Advnture",countrylife:"Country Life",gardeningknowhow:"Gardening Know How",gnomesingardens:"Gnomes in Gardens",kiplinger:"Kiplinger",moneyweek:"Money Week",toptenreviews:"Top 10 Reviews"},y0={pcgamer:[{key:"steam",href:"https://steamcommunity.com/groups/pcgamer",label:"PC Gamer on Steam"},{key:"x",href:"https://twitter.com/pcgamer",label:"PC Gamer on X"},{key:"facebook",href:"https://www.facebook.com/pcgamermagazine",label:"PC Gamer on Facebook"},{key:"instagram",href:"https://www.instagram.com/pcgamer_mag/?hl=en",label:"PC Gamer on Instagram"},{key:"youtube",href:"https://www.youtube.com/user/pcgamer",label:"PC Gamer on YouTube"},{key:"twitch",href:"https://www.twitch.tv/pcgamer",label:"PC Gamer on Twitch"},{key:"tiktok",href:"https://www.tiktok.com/@pcgamer_mag?lang=en",label:"PC Gamer on TikTok"}],homesandgardens:[{key:"instagram",href:"https://www.instagram.com/homesandgardensofficial",label:"Homes & Gardens on Instagram"},{key:"facebook",href:"https://www.facebook.com/homesandgardens/",label:"Homes & Gardens on Facebook"},{key:"x",href:"https://x.com/homesandgardens",label:"Homes & Gardens on X"},{key:"tiktok",href:"https://www.tiktok.com/@homesandgardensofficial",label:"Homes & Gardens on TikTok"},{key:"pinterest",href:"https://pinterest.com/homesgardensofficial/",label:"Homes & Gardens on Pinterest"}],whowhatwear:[{key:"x",href:"https://twitter.com/WhoWhatWear",label:"Who What Wear on X"},{key:"instagram",href:"https://www.instagram.com/whowhatwear/",label:"Who What Wear on Instagram"},{key:"facebook",href:"https://www.facebook.com/WhoWhatWear/",label:"Who What Wear on Facebook"},{key:"pinterest",href:"https://www.pinterest.co.uk/whowhatwearuk/",label:"Who What Wear on Pinterest"},{key:"tiktok",href:"https://www.tiktok.com/@whowhatwear.uk",label:"Who What Wear on TikTok"}]};var Ot=B(O(),1);function v0(e){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").trim().toLowerCase()}function Jw(e){let t=ee(String(e.brand||"")).trim(),n=ee(String(e.productName||e.title||"")).trim(),a=v0(t),l=v0(n);return a.length>0&&l.startsWith(a)&&!/^[a-z0-9]/.test(l.slice(a.length))||!t?n:`${t} ${n}`.trim()}function b0({couponStatus:e,deal:t,editorMode:n,hideHawkPrices:a,isDescriptionExpanded:l,isSelected:i,onDescriptionToggle:r,onOpenVouchers:o,onSelectionChange:u,website:c}){let s=ee(String(t.currency||"")),f=t.rawMsrp?s+t.rawMsrp:null,d=Jw(t),m=ee(String(t.title||"")),v=Gu[c||"tomsguide"]||c||"Tom's Guide",A=(c||"tomsguide").includes(".")?(c||"").startsWith("http")?c:`https://${c}`:`https://www.${c||"tomsguide"}.com`,b=(t.documentUrl||"").replace(/^\/+/,""),h=b.startsWith("http://")||b.startsWith("https://")?b:`${A}/${b}`,g=String(t.sourceArticleUrl||t.documentUrl||t.url||"").replace(/^\/+/,""),p=g.startsWith("http://")||g.startsWith("https://")?g:`${A}/${g}`,y=!!t.hasCommerceOffer;return(0,Ot.jsxs)("div",{className:"tg-df-card","data-brand":t.modelBrand||t.brand||void 0,"data-currency":t.isoCurrencyCode||s||void 0,"data-deal-id":t.externalProductId||t.id||void 0,"data-merchant":t.merchant||void 0,"data-merchant-id":t.merchantId||void 0,"data-model-id":t.modelId||void 0,"data-previous-price":t.rawMsrp||void 0,"data-price":t.rawPrice||void 0,"data-product-key":t.productKey||void 0,"data-product-name":t.productName||t.title||void 0,"data-review-product":t.isReviewProduct?"true":void 0,"data-source-article-url":t.isReviewProduct?p:void 0,children:[n&&(0,Ot.jsx)("input",{type:"checkbox",className:"tg-df-deal-checkbox",checked:i,onChange:C=>u(C.target.checked)}),(0,Ot.jsx)(d0,{couponStatus:e,deal:t,onOpenVouchers:o}),(0,Ot.jsxs)("div",{className:"tg-df-card-body",children:[(0,Ot.jsx)("h3",{className:"tg-df-card-title",title:m,children:(0,Ot.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":y?"":void 0,className:y?"hawk-affiliate-link-container":void 0,target:"_blank",rel:y?"sponsored nofollow noopener":"noopener",style:{textDecoration:"none",color:"inherit"},children:(0,Ot.jsx)("strong",{children:d})})}),(0,Ot.jsx)(f0,{label:t.isBuyingGuideProduct?"":`${v} rating:`,starRating:t.starRating,color:t.isReviewProduct?"var(--tg-df-blue)":void 0}),t.isBuyingGuideProduct||t.isReviewProduct?(0,Ot.jsx)(m0,{cons:t.cons,expanded:l,fullReviewUrl:t.isReviewProduct&&g?p:void 0,onToggle:r,pros:t.pros,subtitle:t.isReviewProduct?t.description:t.subtitle,truncateSubtitle:t.isReviewProduct}):t.description?(0,Ot.jsx)(h0,{text:t.description,expanded:l,onToggle:r}):null,(0,Ot.jsx)(s0,{authorUrl:h,deal:t,hideHawkPrices:a,msrpFormatted:f,sourceArticleUrl:p})]})]})}var ce=B(O(),1);function $w({activeDealTag:e,activeFreeformTags:t=[],query:n,selectedBrands:a=[]}){let l=o=>{let u=String(o||"").trim();return u&&u.toLowerCase()!=="everything"?u:""},r=(t.length>0?t:e?[e]:a.length>0?a:[n]).map(l).filter(Boolean).map(o=>o.replace(/\s+deals?$/i,"").trim()).filter((o,u,c)=>c.findIndex(s=>s.toLowerCase()===o.toLowerCase())===u);return r.length<=1?r[0]||"":`${r.slice(0,-1).join(", ")} or ${r.at(-1)}`}function e2(){return(0,ce.jsx)(ce.Fragment,{children:Array.from({length:6}).map((e,t)=>(0,ce.jsxs)("div",{className:"tg-df-card",children:[(0,ce.jsx)("div",{className:"tg-df-card-image-box tg-df-skeleton"}),(0,ce.jsxs)("div",{className:"tg-df-card-body",children:[(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short",style:{marginBottom:"24px"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title",style:{width:"80%"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short"}),(0,ce.jsx)("div",{className:"tg-df-card-cta tg-df-skeleton",style:{width:"100%",height:"40px",marginTop:"auto",border:"none"}})]})]},t))})}function t2(e,t){return{"@context":"https://schema.org","@type":"ItemList",itemListElement:e.slice(0,t).map((n,a)=>{let l="USD";return n.currency==="\xA3"?l="GBP":n.currency==="\u20AC"?l="EUR":n.currency==="A$"?l="AUD":n.currency==="CA$"&&(l="CAD"),{"@type":"ListItem",position:a+1,item:{"@type":"Product",name:n.title,image:n.image||"",description:n.description||"",brand:{"@type":"Brand",name:n.brand||""},offers:{"@type":"Offer",priceCurrency:l,price:n.rawPrice||0,url:n.url||"",seller:{"@type":"Organization",name:n.merchant||""}}}}}).filter(n=>n.item.name)}}function w0({activeDealTag:e,activeFreeformTags:t,couponMap:n,deals:a,displayCount:l,editorMode:i,error:r,expandedDealIds:o,hasMore:u,hideHawkPrices:c,loading:s,loadingMore:f,loadMoreStartCount:d,onDescriptionToggle:m,onLoadMore:v,onOpenVouchers:A,query:b,recentDealsOnly:h,selectedBrands:g,selectedDeals:p,setSelectedDeals:y,website:C}){let R=$w({activeDealTag:e,activeFreeformTags:t,query:b,selectedBrands:g}),T=f&&d!=null?d:l,M=!f&&d!=null&&d<T?d:null,w=D=>D.map(k=>(0,ce.jsx)(A0.default.Fragment,{children:(0,ce.jsx)(b0,{couponStatus:n[k.merchant],deal:k,editorMode:i,hideHawkPrices:c,isDescriptionExpanded:o.has(k.id),isSelected:p.has(k.id),onDescriptionToggle:()=>m(k.id),onOpenVouchers:A,onSelectionChange:se=>{let I=new Map(p);se?I.set(k.id,k):I.delete(k.id),y(I)},website:C})},k.id));return(0,ce.jsx)("div",{className:"tg-df-grid-wrapper",children:(0,ce.jsx)("div",{className:"tg-df-grid article-body tg-df-grid-auto",id:"tg-df-grid",children:s?(0,ce.jsx)(e2,{}):r?(0,ce.jsx)("div",{className:"tg-df-message",children:"Failed to load deals. Please try again."}):a.length===0?(0,ce.jsx)("div",{className:"tg-df-message",children:h?`No ${R?`${R} `:""}deals found from the last 30 days.`:!b||b.length<=2||b.toLowerCase()==="everything"?"No deals found for this author.":`No savings squad match your search for "${b}".`}):(0,ce.jsxs)(ce.Fragment,{children:[w(a.slice(0,M??T)),M!=null&&(0,ce.jsx)("div",{"aria-live":"polite",className:"tg-df-load-more-boundary",style:{alignItems:"center",color:"var(--tg-df-text-muted)",display:"flex",fontSize:"13px",fontWeight:600,gridColumn:"1 / -1",justifyContent:"center",marginTop:"16px",minHeight:"40px",overflowAnchor:"none"},children:"More products"}),M!=null&&w(a.slice(M,T)),u&&(0,ce.jsx)("div",{className:"tg-df-load-more-control",style:{width:"100%",display:"flex",justifyContent:"center",marginTop:"16px",gridColumn:"1 / -1",overflowAnchor:"none"},children:(0,ce.jsx)("button",{type:"button",className:"tg-df-tag-outline",style:{padding:"8px 24px",borderRadius:"100px",fontWeight:600,fontSize:"14px",cursor:"pointer"},"aria-busy":f,disabled:f,onClick:D=>{D.preventDefault(),D.stopPropagation(),v()},children:f?"Loading more products\u2026":"Load More"})}),a.length>0&&(0,ce.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t2(a,T))}})]})})})}var S0=B(O(),1);var pn=B(ft(),1),nn=B(O(),1);function Pu({onScrollLeft:e,onScrollRight:t,showLeft:n,showRight:a}){return(0,nn.jsxs)(nn.Fragment,{children:[(0,nn.jsx)("button",{"aria-label":"Scroll left",className:"tg-df-scroll-btn left tg-df-desktop-only",onClick:e,style:{display:n?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,nn.jsx)("button",{"aria-label":"Scroll right",className:"tg-df-scroll-btn right tg-df-desktop-only",onClick:t,style:{display:a?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})}function qu(e){let t=(0,pn.useRef)(null),[n,a]=(0,pn.useState)(!1),[l,i]=(0,pn.useState)(!1),r=(0,pn.useCallback)(()=>{let u=t.current;u&&(a(u.scrollLeft>1),i(Math.ceil(u.scrollLeft+u.clientWidth)<u.scrollWidth-1))},[]);(0,pn.useLayoutEffect)(()=>{let u=t.current;if(!u)return;r();let c=requestAnimationFrame(r),s=typeof ResizeObserver>"u"?null:new ResizeObserver(r);return s?.observe(u),()=>{cancelAnimationFrame(c),s?.disconnect()}},[e,r]);let o=(0,pn.useCallback)(u=>{t.current?.scrollBy({left:u,behavior:"smooth"})},[]);return{onScroll:r,railRef:t,scrollLeft:()=>o(-240),scrollRight:()=>o(240),showLeft:n,showRight:l}}var jn=B(O(),1);function ui({containerClassName:e,itemClassName:t,items:n,loading:a,loadingKey:l,onItemClick:i,rowClassName:r,showCounters:o}){let u=qu(n.length);return n.length===0&&!a?null:(0,jn.jsxs)("div",{className:e,style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[n.length>0&&(0,jn.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,jn.jsx)("div",{className:r,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none"},onScroll:u.onScroll,children:n.length>0?n.map(c=>(0,jn.jsxs)("button",{className:t,onClick:()=>i(c.key),style:{border:"none",borderRight:"1px solid var(--tg-df-border)",padding:"12px 20px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"1px",cursor:"pointer",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:"6px",...t==="tg-df-brand-row-item"?{transition:"all 0.2s ease"}:{},background:c.selected?"var(--tg-df-bg-secondary)":"var(--tg-df-bg)",color:c.selected?"var(--tg-df-text-primary)":"var(--tg-df-text-muted)",fontWeight:c.selected?600:500},children:[c.label," ",l===c.key&&(0,jn.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading",style:{borderWidth:"2px",height:"12px",width:"12px"}}),o!==!1&&(0,jn.jsx)("span",{style:{color:"var(--tg-df-blue)",fontSize:"10px",...t==="tg-df-brand-row-item"?{fontWeight:400}:{}},children:c.count})]},c.key)):[1,2,3,4,5].map(c=>(0,jn.jsx)("div",{className:"tg-df-skeleton",style:{height:"36px",width:"80px",borderRadius:"18px",flexShrink:0,margin:"8px 12px"}},`${r}-skeleton-${c}`))})]})}var R0=B(O(),1);function C0({airedaleBrands:e,brands:t,loading:n,refreshing:a,onBrandToggle:l,selectedBrands:i,showAuthorCounters:r}){let o=e.length>0?e:t||[],u=o.slice(0,15).map(c=>({count:c.count||0,key:c.formatted_value,label:c.formatted_value,selected:i?.includes(c.formatted_value)||!1}));return(0,R0.jsx)(ui,{containerClassName:"tg-df-brands-row-container",itemClassName:"tg-df-brand-row-item",items:u,loading:n&&o.length===0,loadingKey:a?i?.[0]:null,onItemClick:c=>l?.(c),rowClassName:"tg-df-brands-row",showCounters:r})}var E0=B(O(),1);function T0({activeDealTag:e,airedaleTagCounts:t,airedaleTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>{let c=u.split(":::"),s=c[0];return{count:t[u]||0,key:s,label:c[1]||u,selected:e===s}});return(0,E0.jsx)(ui,{containerClassName:"tg-df-categories-row-container",itemClassName:"tg-df-category-row-item",items:o,loading:a&&n.length===0,loadingKey:l?e:null,onItemClick:i,rowClassName:"tg-df-categories-row",showCounters:r})}var x0=B(O(),1);function D0({activeFreeformTags:e,freeformTagCounts:t,freeformTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>({count:t[u.handle]||0,key:u.handle,label:u.label,selected:e.includes(u.handle)}));return(0,x0.jsx)(ui,{containerClassName:"tg-df-freeform-tags-row-container",itemClassName:"tg-df-freeform-tag-row-item",items:o,loading:a&&n.length===0,loadingKey:l&&e.at(-1)||null,onItemClick:i,rowClassName:"tg-df-freeform-tags-row",showCounters:r})}var _e=B(O(),1),n2=4;function M0({authors:e,clickedAuthorOverride:t,loading:n,refreshing:a,onAuthorClick:l,overriddenAuthorHandle:i,overriddenAuthorName:r,website:o}){let u=qu(e.length);return e.length===0&&!n?null:(0,_e.jsxs)("div",{className:"tg-df-authors-row-container",style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[e.length>0&&(0,_e.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,_e.jsx)("div",{className:"tg-df-authors-row tg-df-mobile-authors",onScroll:u.onScroll,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",gap:"24px",padding:"4px 16px 2px 16px",alignItems:"flex-start"},children:e.length>0?e.map((c,s)=>{let f=Nr[c.brandKey]||Nr[o||"tomsguide"],d=t&&(i===c.handle||r===c.fullName);return(0,_e.jsxs)("div",{className:"tg-df-author-row-item",onClick:()=>l(c),style:{cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px",opacity:t?d?1:.4:1},children:[(0,_e.jsxs)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px",borderRadius:"50%",boxShadow:d?"0 0 0 3px var(--tg-df-blue, #1F69FF)":"none"},children:[(0,_e.jsx)("img",{src:ri(c.image),alt:c.fullName,decoding:"async",loading:s<n2?"eager":"lazy",style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover",filter:t&&!d?"grayscale(100%)":"none"}}),d&&(0,_e.jsx)("span",{"aria-label":`Clear ${c.fullName} selection`,className:"tg-df-author-clear-badge",title:"Click again to clear selection",style:{alignItems:"center",backgroundColor:"#dc2626",border:"2px solid var(--tg-df-bg, #fff)",borderRadius:"50%",boxShadow:"0 1px 3px rgb(0 0 0 / 25%)",color:"#fff",display:"flex",fontSize:"15px",fontWeight:700,height:"20px",justifyContent:"center",lineHeight:1,position:"absolute",right:"-5px",top:"-5px",width:"20px",zIndex:1},children:(0,_e.jsx)("span",{"aria-hidden":"true",style:{display:"block",transform:"translateY(-1px)"},children:"\xD7"})}),f&&(0,_e.jsx)("img",{src:f,alt:"",className:"tg-df-author-brand-logo",decoding:"async",loading:"lazy",style:{position:"absolute",bottom:"-4px",right:"-4px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid var(--tg-df-bg, #fff)",backgroundColor:"#000",objectFit:"contain",filter:t&&!d?"grayscale(100%)":"none"}})]}),(0,_e.jsxs)("div",{style:{textAlign:"center"},children:[(0,_e.jsxs)("div",{className:"tg-df-author-row-name",style:{fontSize:"13px",fontWeight:700,color:"var(--tg-df-text)",lineHeight:"1.2"},children:[c.name,a&&d&&(0,_e.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading author products",style:{borderWidth:"2px",display:"inline-block",height:"11px",marginLeft:"4px",width:"11px"}})]}),c.role&&(0,_e.jsx)("div",{className:"tg-df-author-row-role",style:{fontSize:"11px",color:"var(--tg-df-text-muted)",lineHeight:"1.2",marginTop:"2px",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word"},children:c.role})]})]},c.handle)}):[1,2,3,4].map(c=>(0,_e.jsxs)("div",{className:"tg-df-author-row-item",style:{display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px"},children:[(0,_e.jsx)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px"},children:(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),(0,_e.jsxs)("div",{style:{textAlign:"center",width:"100%"},children:[(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"12px",width:"80%",margin:"0 auto 4px auto",borderRadius:"2px"}}),(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"10px",width:"60%",margin:"0 auto",borderRadius:"2px"}})]})]},`author-skeleton-${c}`))})]})}var Ja=B(O(),1);function _0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,freeformTagCounts:i,freeformTags:r,allAuthorsList:o,brands:u,clickedAuthorOverride:c,loading:s,refreshing:f,onAuthorClick:d,onBrandToggle:m,onTagClick:v,onFreeformTagClick:A,overriddenAuthorHandle:b,overriddenAuthorName:h,selectedBrands:g,showAuthorRail:p,showAuthorCounters:y,showBrandRail:C,showCategoryRail:R,showFreeformTagRail:T,website:M}){let w=R!==!1&&l.length>0||T!==!1&&r.length>0||C!==!1&&(n.length>0||!!u?.length)||p&&o.length>0;return!(p||R!==!1||T!==!1||C!==!1)||!w&&!s?null:(0,Ja.jsxs)("div",{id:"tg-df-spreadsheet-filters",style:{display:"block",marginBottom:"16px"},children:[p&&(0,Ja.jsx)(M0,{authors:o,clickedAuthorOverride:c,loading:s&&o.length===0,refreshing:f,onAuthorClick:d,overriddenAuthorHandle:b,overriddenAuthorName:h,website:M}),R!==!1&&(0,Ja.jsx)(T0,{activeDealTag:e,airedaleTagCounts:a,airedaleTags:l,loading:s,refreshing:f,onTagClick:v,showAuthorCounters:y}),T!==!1&&(0,Ja.jsx)(D0,{activeFreeformTags:t,freeformTagCounts:i,freeformTags:r,loading:s,refreshing:f,onTagClick:A,showAuthorCounters:y}),C!==!1&&(0,Ja.jsx)(C0,{airedaleBrands:n,brands:u,loading:s,refreshing:f,onBrandToggle:m,selectedBrands:g,showAuthorCounters:y})]})}var O0=B(ft(),1);var B0=[{value:"date_desc",label:"Most recent"},{value:"rating_desc",label:"Highest rating"},{value:"scored_first",label:"Scored products first"}];function Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}){return!!(a&&e!==!0&&t===!1&&n===!1)}function Fu({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a,lightweightReviewDelivery:l,showPriceDiscountFilters:i,showReviewSort:r}){return!!(l&&i===!1&&r===!1&&Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}))}function ju(e=!0){return e?B0:B0.filter(t=>t.value!=="scored_first")}function wa(e,t=!0){return!t&&e==="scored_first"?"date_desc":e||"date_desc"}var H=B(O(),1),N0=[{value:"all",label:"All Prices",shortLabel:""},{value:"under50",label:"Under $50",shortLabel:"< $50"},{value:"50_100",label:"$50 - $100",shortLabel:"$50-$100"},{value:"100_200",label:"$100 - $200",shortLabel:"$100-$200"},{value:"200_500",label:"$200 - $500",shortLabel:"$200-$500"},{value:"over500",label:"Over $500",shortLabel:"> $500"}],a2=[{value:"0",label:"Any discount"},...[5,10,15,20,25,30,40,50,60,70].map(e=>({value:String(e),label:`Min ${e}% off`}))];function l2({open:e}){return(0,H.jsx)("svg",{"aria-hidden":"true",className:e?"is-open":void 0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("path",{d:"m6 9 6 6 6-6"})})}function Yn(){return(0,H.jsx)("svg",{"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function k0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,brands:i,discountAmount:r,enabled:o,freeformTagCounts:u,freeformTags:c,includeScoredFirst:s,onBrandSelect:f,onBrandToggle:d,onDiscountAmountChange:m,onFreeformTagClear:v,onFreeformTagToggle:A,onPriceRangeChange:b,onReviewSortChange:h,onTagClear:g,onTagClick:p,priceRange:y,reviewSort:C,selectedBrands:R,showCounters:T,showBrandRail:M,showCategoryRail:w,showFreeformTagRail:D,showPriceDiscountFilters:k,showReviewSort:se}){let[I,j]=(0,O0.useState)(null);if(!o)return null;let He=l.map(x=>{let P=x.split(":::");return{count:a[x]||0,handle:P[0],label:P[1]||x}}),ze=n.length>0?n:i||[],St=He.find(x=>x.handle===e),Ie=y||"all",rn=!r||r==="all"?"0":r,Be=N0.find(x=>x.value===Ie),Je=k!==!1,nt=wa(C,s),X=ju(s),de=nt==="rating_desc"?"Highest rating":nt==="scored_first"?"Scored first":"Most recent",$e=x=>{j(P=>P===x?null:x)},Z=[];return w!==!1&&Z.push({active:!!e,label:`CATEGORIES${St?` (${St.label})`:""}`,menu:"categories"}),D!==!1&&Z.push({active:t.length>0,label:`KEYWORDS${t.length>0?` (${t.length})`:""}`,menu:"keywords"}),M!==!1&&Z.push({active:R.length>0,label:`BRANDS${R.length>0?` (${R.length})`:""}`,menu:"brands"}),Je&&Z.push({active:Ie!=="all",label:`PRICES${Be?.shortLabel?` (${Be.shortLabel})`:""}`,menu:"prices"}),(Je||se)&&Z.push({active:se?nt!=="date_desc":rn!=="0",label:se?`SORT REVIEWS (${de})`:`DISCOUNTS${rn!=="0"?` (${rn}%+)`:""}`,menu:se?"review-sort":"discounts"}),(0,H.jsxs)("div",{className:"tg-df-mobile-2x2-container",children:[(0,H.jsx)("div",{className:`tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--${Z.length%2===0?"even":"odd"}`,children:Z.map(x=>(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-grid-cell${x.active?" has-active-filter":""}${I===x.menu?" active":""}`,"aria-expanded":I===x.menu,onClick:()=>$e(x.menu),children:[(0,H.jsx)("span",{children:x.label}),(0,H.jsx)(l2,{open:I===x.menu})]},x.menu))}),w!==!1&&I==="categories"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${e?"":" selected"}`,onClick:()=>{g(),j(null)},children:[(0,H.jsx)("span",{children:"All Categories"}),!e&&(0,H.jsx)(Yn,{})]}),He.map(x=>{let P=e===x.handle;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{p(x.handle),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},x.handle)})]}),M!==!1&&I==="brands"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${R.length===0?" selected":""}`,onClick:()=>f?.([]),children:[(0,H.jsx)("span",{children:"All Brands"}),R.length===0&&(0,H.jsx)(Yn,{})]}),ze.map(x=>{let P=x.formatted_value,Q=R.includes(P);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${Q?" selected":""}`,onClick:()=>d?.(P),children:[(0,H.jsx)("span",{children:P}),Q?(0,H.jsx)(Yn,{}):T!==!1&&x.count?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},P)})]}),D!==!1&&I==="keywords"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${t.length===0?" selected":""}`,onClick:()=>{v(),j(null)},children:[(0,H.jsx)("span",{children:"All Keywords"}),t.length===0&&(0,H.jsx)(Yn,{})]}),c.map(x=>{let P=t.includes(x.handle);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>A(x.handle),children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1&&u[x.handle]?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:u[x.handle]}):null]},x.handle)})]}),I==="prices"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:N0.map(x=>{let P=Ie===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{b?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="discounts"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:a2.map(x=>{let P=rn===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{m?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="review-sort"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:X.map(x=>{let P=nt===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{h?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})})]})}var $a=B(ft(),1);var W=B(O(),1);function L0({airedaleBrands:e,airedaleTags:t,discountAmount:n,hidden:a,includeScoredFirst:l,onDiscountAmountChange:i,onPriceRangeChange:r,onReviewSortChange:o,priceRange:u,reviewSort:c,showReviewSort:s,showPriceDiscountFilters:f}){let d=(0,$a.useRef)(null),[m,v]=(0,$a.useState)(!1),[A,b]=(0,$a.useState)(!1),h=ju(l),g=wa(c,l),p=()=>{if(!d.current)return;let{scrollLeft:y,scrollWidth:C,clientWidth:R}=d.current;v(y>0),b(Math.ceil(y+R)<C-5)};return(0,$a.useEffect)(()=>(p(),window.addEventListener("resize",p),setTimeout(p,100),setTimeout(()=>{document.querySelector(".tg-df-categories-row")?.dispatchEvent(new Event("scroll")),document.querySelector(".tg-df-brands-row")?.dispatchEvent(new Event("scroll"))},150),()=>window.removeEventListener("resize",p)),[t,e]),(0,W.jsx)("div",{className:"tg-df-controls",id:"tg-df-controls",style:{display:a?"none":"flex",marginTop:"12px",marginBottom:"16px",justifyContent:"center"},children:(0,W.jsxs)("div",{className:"tg-df-filters-container",style:{position:"relative",width:"100%",maxWidth:"800px",margin:"0 auto"},children:[(0,W.jsx)("button",{className:"tg-df-scroll-btn left",style:{display:m?"flex":"none"},onClick:()=>d.current?.scrollBy({left:-200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,W.jsx)("button",{className:"tg-df-scroll-btn right",style:{display:A?"flex":"none"},onClick:()=>d.current?.scrollBy({left:200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M9 18l6-6-6-6"})})}),(0,W.jsxs)("div",{className:"tg-df-filters",ref:d,onScroll:p,children:[(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-legacy-price-wrapper",style:{display:f!==!1?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-price-filter","aria-label":"Filter Prices",value:u||"all",onChange:y=>r?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"All Prices"}),(0,W.jsx)("option",{value:"under50",children:"Under $50"}),(0,W.jsx)("option",{value:"50_100",children:"$50 - $100"}),(0,W.jsx)("option",{value:"100_200",children:"$100 - $200"}),(0,W.jsx)("option",{value:"200_500",children:"$200 - $500"}),(0,W.jsx)("option",{value:"over500",children:"Over $500"})]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-discount-filter-wrapper",style:{display:f!==!1&&!s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-discount-filter","aria-label":"Discount Amount",value:n||"all",onChange:y=>i?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"Any discount"}),[5,10,15,20,25,30,40,50,60,70].map(y=>(0,W.jsxs)("option",{value:y,children:["Min ",y,"%"]},y))]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-review-sort-wrapper",style:{display:s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M4 7h16M7 12h10m-7 5h4"})}),(0,W.jsx)("select",{className:"tg-df-filter-select",id:"tg-df-review-sort","aria-label":"Sort Reviews",value:g,onChange:y=>o?.(y.target.value),children:h.map(y=>(0,W.jsx)("option",{value:y.value,children:y.label},y.value))})]})]})]})})}var be=B(ft(),1);function kr(e,t){return e.filter(n=>{let a=n.handle.toLowerCase(),l=n.fullName.toLowerCase(),i=n.name.toLowerCase();return t.some(r=>{let o=r.articleauthorhandle||[],u=r.articleauthor||[],c=r.articleauthortext||[];return[...o,...u,...c].some(s=>{let f=String(s||"").toLowerCase();return f===a||f===l||f===i})})})}function Yu(e,t){return e.map((n,a)=>({index:a,profile:n,productCount:t[n.handle]||0})).sort((n,a)=>a.productCount-n.productCount||n.index-a.index).map(({profile:n})=>n)}function Vu(e,t){return e==="all-authors"||t==="all-authors"||t==="All authors"||!e&&!t}function Xu(e,t,n){let a=e;if((t||n)&&t!=="all-authors"&&n!=="all-authors"&&n!=="All authors"){if(t){let l=t.toLowerCase(),i=e.filter(r=>r.articleauthorhandle&&r.articleauthorhandle.some(o=>o.toLowerCase()===l));if(i.length>0)a=i;else if(n){let r=n.toLowerCase(),o=e.filter(u=>u.articleauthor&&u.articleauthor.some(c=>c.toLowerCase()===r));o.length>0&&(a=o)}}else if(n){let l=n.toLowerCase();a=e.filter(i=>i.articleauthor&&i.articleauthor.some(r=>r.toLowerCase()===l))}}return a}function sf(e,t,n){let a=0;if(t&&e.articleauthorhandle){let l=e.articleauthorhandle.findIndex(i=>i.toLowerCase()===t.toLowerCase());l>=0&&(a=l)}else if(n&&e.articleauthor){let l=e.articleauthor.findIndex(i=>i.toLowerCase()===n.toLowerCase());l>=0&&(a=l)}return a}function Qu(e,t,n){let a=sf(e,t,n),l=i=>typeof i=="string"?ee(i):i||"";return{authorName:e.articleauthortext?l(e.articleauthortext[a]):e.articleauthor?l(e.articleauthor[a]):"",authorRole:e.articleauthorrole?l(e.articleauthorrole[a]):"",authorImage:e.articleauthormedia?e.articleauthormedia[a]:""}}function Lr(e,t){let n=new Map;return e.forEach(a=>{if(!a.articleauthor)return;let l=t;if(a.documenturl)try{let f=new URL(a.documenturl).hostname.replace("www.","").split(".");f.length>0&&(l=f[0].toLowerCase())}catch{}let i=a.articleauthorhandle||[],r=a.articleauthor||[],o=a.articleauthortext||[],u=a.articleauthorrole||[],c=a.articleauthormedia||[];r.forEach((s,f)=>{if(!s||s==="null"||s.toLowerCase()==="all authors")return;let d=i[f]&&i[f]!=="null"?i[f]:s.toLowerCase().replace(/\s+/g,"-");if(!d||d==="null")return;let m=o[f]&&o[f]!=="null"?o[f]:s,v=u[f]&&u[f]!=="null"?u[f]:"",A=ee(String(m)),b=ee(String(v)),h=c[f]&&c[f]!=="null"?c[f]:"",g=A.split(" ")[0],p=_r(a,f,"short"),y=_r(a,f,"long"),C=Uu(a,f),R=n.get(d);!R&&A&&h?n.set(d,{...y?{bioLong:y}:{},...p?{bioShort:p}:{},name:g,fullName:A,handle:d,role:b,image:h,brandKey:l,...C.length>0?{socialNetworks:C}:{}}):R&&(!R.bioShort&&p&&(R.bioShort=p),!R.bioLong&&y&&(R.bioLong=y),!R.socialNetworks?.length&&C.length>0&&(R.socialNetworks=C))})}),Array.from(n.values())}var E=B(O(),1);function z0(e){let t=(0,be.useRef)(""),n=(0,be.useRef)(null),a=(0,be.useCallback)(()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null)},[]),l=(0,be.useCallback)(r=>{a(),t.current=r},[a]),i=(0,be.useCallback)((r,o,u=!1)=>{if(!e)return;if(r===t.current){a();return}let c=()=>{n.current=null,t.current=r,e(o)};a(),u?c():n.current=window.setTimeout(c,350)},[a,e]);return(0,be.useEffect)(()=>a,[a]),{save:i,synchronise:l}}function H0({contentKey:e,defaultText:t,kind:n,onChange:a,value:l}){let i=(0,be.useRef)(null),r=(0,be.useRef)(e),[o,u]=(0,be.useState)(!1),c=l??t,s=!!a,{save:f,synchronise:d}=z0(a);(0,be.useLayoutEffect)(()=>{let g=r.current!==e;i.current&&(g||document.activeElement!==i.current)&&(i.current.innerHTML!==c&&(i.current.innerHTML=c),d(c)),r.current=e},[e,d,c]);let m=(g=!1)=>{if(!i.current)return;let p=i.current.innerHTML;f(p,p===t?void 0:p,g)},v=(g,p)=>{document.execCommand(g,!1,p),m(!0)},A=n==="kicker"?{fontSize:"0.875rem",color:"#6B7280",fontStyle:"normal",margin:"0 0 0.25rem 0"}:{fontSize:"2.25rem",fontWeight:300,color:"#111827",margin:"0 0 0.25rem 0",lineHeight:1.1,letterSpacing:"-0.02em"},b=n==="kicker"?"tg-df-author-curated-by tg-df-author-kicker":"tg-df-author-name",h=()=>n==="kicker"?(0,E.jsx)("p",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}}):(0,E.jsx)("h2",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}});return s?(0,E.jsxs)("div",{className:"tg-df-author-header-text-shell",style:{position:"relative"},children:[o&&(0,E.jsxs)("div",{className:"tg-df-author-header-text-toolbar",role:"toolbar","aria-label":`${n==="kicker"?"Shop by text":"Site or author name"} formatting`,style:{display:"flex",justifyContent:"center",alignItems:"center",gap:"0.25rem",margin:"0 auto 0.375rem",width:"fit-content",padding:"0.25rem 0.5rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",fontSize:"11px",zIndex:10},children:[(0,E.jsx)("span",{style:{color:"#64748b",padding:"2px 2px 2px 0"},children:"Editing"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("bold"),title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("italic"),title:"Italic",children:(0,E.jsx)("em",{children:"I"})}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{let g=prompt("Enter URL:");g&&v("createLink",g)},title:"Add link",children:"\u{1F517}"}),l!==void 0&&(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{i.current&&(i.current.innerHTML=t),d(t),a?.(void 0)},title:"Restore default",children:"Reset"})]}),h()]}):h()}function i2({contentKey:e,initialBio:t,defaultPlaceholder:n,onBioChange:a,stabilizeHeight:l=!1}){let r=(0,be.useRef)(null),o=(0,be.useRef)(e),u=(0,be.useRef)(n),c=(0,be.useRef)(!1),[s,f]=(0,be.useState)(!1),[d,m]=(0,be.useState)(!1),[v,A]=(0,be.useState)(!1),b=t||n,h=l&&b.replace(/<[^>]*>/g,"").trim().length>240,g=!!a,{save:p,synchronise:y}=z0(a);(0,be.useLayoutEffect)(()=>{let w=o.current!==e,D=u.current!==n;w&&(c.current=!1);let k=!t&&D&&!c.current;r.current&&(w||document.activeElement!==r.current||k)&&(r.current.innerHTML!==b&&(r.current.innerHTML=b),y(b)),o.current=e,u.current=n},[b,e,n,t,y]),(0,be.useLayoutEffect)(()=>{m(!1)},[e]),(0,be.useLayoutEffect)(()=>{if(!h||!r.current){A(!1);return}let w=r.current,D=()=>{A(w.scrollHeight>w.clientHeight+1)};if(D(),typeof ResizeObserver>"u")return;let k=new ResizeObserver(D);return k.observe(w),()=>k.disconnect()},[b,e,d,h]);let C=(w,D=null)=>{if(c.current=!0,document.execCommand(w,!1,D||void 0),r.current){let k=r.current.innerHTML;p(k,k===n?"":k,!0)}},R=(w=!1)=>{if(!r.current)return;let D=r.current.innerHTML;p(D,D===n?"":D,w)};return(0,E.jsxs)("div",{style:{position:"relative",maxWidth:"42rem",margin:"0 auto 0.5rem auto",padding:"0.25rem 0.5rem"},className:`tg-df-author-bio-shell${l?" tg-df-author-bio-shell--stable":""}`,children:[g&&s&&(0,E.jsxs)("div",{role:"toolbar","aria-label":"Introduction text formatting",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"0.375rem",marginBottom:"0.5rem",padding:"0.25rem 0.625rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",width:"fit-content",margin:"0 auto 0.5rem auto",fontSize:"12px",userSelect:"none",zIndex:10},children:[(0,E.jsx)("span",{style:{fontSize:"11px",color:"#64748b",fontWeight:500,marginRight:"2px"},children:"Editing \u2014 saves when you click away"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("bold"),style:{fontWeight:"bold",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("italic"),style:{fontStyle:"italic",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Italic",children:"I"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>{let w=prompt("Enter URL:");w&&C("createLink",w)},style:{padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Add Link",children:"\u{1F517}"}),t&&(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:w=>{w.preventDefault(),w.stopPropagation(),r.current&&(r.current.innerHTML=n),c.current=!1,y(n),a&&a("")},style:{fontSize:"10px",padding:"2px 8px",borderRadius:"4px",background:"#fee2e2",color:"#991b1b",cursor:"pointer",border:"1px solid #fca5a5"},title:"Reset Bio",children:"Reset"})]}),(0,E.jsx)("div",{ref:r,contentEditable:g?!0:void 0,suppressContentEditableWarning:g,onFocus:g?()=>{f(!0)}:void 0,onBlur:g?()=>{f(!1),R(!0),c.current=!1}:void 0,onInput:g?()=>{c.current=!0}:void 0,className:`tg-df-author-bio ${g?"wysiwyg-bio-editable":"tg-df-author-bio--static"}${h?d?" tg-df-author-bio--expanded":" tg-df-author-bio--clamped":""}`,style:{color:"#4b5563",lineHeight:1.6,fontWeight:300,fontSize:"0.9375rem",textAlign:"center",outline:g&&s?"2px solid #3b82f6":"none",borderRadius:"6px",padding:"0.375rem 0.5rem",cursor:g?"text":"default",transition:"all 0.15s ease-in-out"}}),h?(0,E.jsx)("div",{className:"tg-df-author-bio-toggle-slot",children:(0,E.jsx)("button",{type:"button",className:"tg-df-author-bio-toggle","aria-expanded":d,onClick:()=>m(w=>!w),style:{visibility:v||d?"visible":"hidden"},children:d?"Show less":"Read more"})}):null]})}function r2(e){let t=(e||"").toLowerCase();return t==="linkedin"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"})}):t==="twitter"||t==="x"?(0,E.jsx)("svg",{className:"icon-svg",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,E.jsx)("path",{fill:"currentColor",d:"M18 2h4l-8 9 9 11h-7l-5-7-6 7H2l7-9L1 2h7l5 6zm-1 18h2L7 4H5z"})}):t==="email"||t==="mail"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),(0,E.jsx)("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}):t==="instagram"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"5",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"12",cy:"12",r:"4.25",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"17.4",cy:"6.7",r:"1.25",fill:"currentColor"})]}):t==="steam"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("circle",{fill:"#0f1618",cx:"12",cy:"12",r:"12"}),(0,E.jsx)("path",{d:"m18.22 8.9a2.269 2.269 0 1 1 -2.27-2.265 2.267 2.267 0 0 1 2.27 2.265zm2.258.005a4.534 4.534 0 0 1 -4.533 4.526h-.1l-4.087 2.911v.161a3.4 3.4 0 0 1 -6.74.669l-4.549-1.879c-.032-.109-.057-.219-.085-.329a11.973 11.973 0 0 1 -.384-2.964c0-.214.02-.423.032-.635 0-.1.008-.206.016-.308l6.394 2.643a3.385 3.385 0 0 1 1.915-.591c.065 0 .127 0 .191.005l2.865-4.145v-.062a4.533 4.533 0 0 1 9.066 0zm-9.763 6.618a2.55 2.55 0 0 0 -3.262-1.411l1.525.63a1.877 1.877 0 1 1 -1.446 3.464l-1.475-.606a2.529 2.529 0 0 0 1.315 1.25 2.559 2.559 0 0 0 3.339-1.374 2.526 2.526 0 0 0 .004-1.951zm8.251-6.618a3.021 3.021 0 1 0 -3.021 3.015 3.022 3.022 0 0 0 3.021-3.013z",fill:"#fff"})]}):t==="youtube"?(0,E.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})}):t==="twitch"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"m24 12a12 12 0 1 1 -12-12 12 12 0 0 1 12 12z",fill:"#111"}),(0,E.jsx)("path",{d:"m12.308 17.167-1.833 1.833h-1.818v-1.833h-3.357v-9.733l.925-2.434h12.475v8.517l-3.648 3.65zm5.175-10.95h-10.043v8.824h2.743v1.833l1.817-1.833h3.342l2.14-2.126zm-5.483 6.083v-3.65h-1.218v3.65zm3.342 0v-3.65h-1.216v3.65z",fill:"#fff"})]}):t==="facebook"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m13.079 19h-2.9v-7h-1.441v-2.408h1.442v-1.456c0-1.96.813-3.136 3.136-3.136h1.933v2.408h-1.2c-.91 0-.965.35-.965.966v1.218h2.183l-.257 2.408h-1.931z",fill:"currentColor"})}):t==="pinterest"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.336 5c-3.822 0-5.754 2.744-5.754 5.025a3.065 3.065 0 0 0 1.652 3.066.279.279 0 0 0 .407-.2l.154-.644a.373.373 0 0 0-.113-.448 2.341 2.341 0 0 1-.532-1.582 3.812 3.812 0 0 1 3.961-3.849 3.009 3.009 0 0 1 3.346 3.08c0 2.323-1.022 4.283-2.547 4.283a1.253 1.253 0 0 1-1.273-1.554 17.616 17.616 0 0 0 .713-2.856 1.081 1.081 0 0 0-1.092-1.2c-.854 0-1.553.881-1.553 2.071a2.954 2.954 0 0 0 .266 1.274l-1.038 4.383a9.389 9.389 0 0 0-.027 3.065.109.109 0 0 0 .2.042 8.737 8.737 0 0 0 1.457-2.631l.561-2.212a2.3 2.3 0 0 0 1.959 1.008c2.59 0 4.34-2.366 4.34-5.516a4.8 4.8 0 0 0-5.087-4.605z",fill:"currentColor"})}):t==="substack"?(0,E.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z"})}):t==="threads"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12.186 24h-.007c-3.582-.024-6.332-1.22-8.173-3.555C2.26 18.212 1.5 15.228 1.5 11.83 1.5 8.16 2.673 5.097 4.902 2.935 7.026.877 10.02 0 13.565 0c3.784 0 6.81 1.028 8.995 3.056 2.008 1.862 3.013 4.417 2.91 7.391-.122 3.518-1.57 6.136-4.304 7.781-1.892 1.138-4.103 1.62-6.57 1.433-.122.392-.266.769-.434 1.127-.514 1.096-1.18 1.96-1.982 2.569-.884.67-1.933 1.01-3.118 1.01-1.34 0-2.42-.42-3.21-1.248-.78-.82-1.17-1.89-1.17-3.18 0-1.512.52-2.73 1.545-3.62 1.018-.883 2.45-1.33 4.258-1.33.56 0 1.11.04 1.63.12-.04-.53-.13-1.02-.27-1.46-.26-.81-.71-1.45-1.34-1.92-.62-.47-1.42-.71-2.38-.71-1.09 0-2.02.29-2.77.87-.29.22-.68.17-.9-.12l-.76-1.03c-.22-.3-.16-.71.13-.93C7.43 5.37 8.95 4.9 10.8 4.9c1.64 0 2.99.41 4.02 1.22 1.04.81 1.73 1.93 2.06 3.33.15.65.25 1.42.3 2.31 1.68-.31 3.05-1.05 4.08-2.2 1.01-1.13 1.52-2.58 1.52-4.31 0-2.43-.84-4.32-2.5-5.62C18.63 1.32 16.32.5 13.56.5c-3.03 0-5.54.73-7.27 2.21C4.48 4.27 3.5 6.78 3.5 10c0 3.1.66 5.62 1.96 7.49 1.34 1.93 3.38 2.92 6.07 2.95 1.76.02 3.32-.34 4.64-1.07.28-.15.63-.05.78.22l.55.98c.15.28.05.63-.22.78-1.63.9-3.55 1.35-5.7 1.35z"})}):t==="tiktok"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.308 5.012c.763-.012 1.522 0 2.281-.012a3.636 3.636 0 0 0 1.02 2.434 4.12 4.12 0 0 0 2.473 1.043v2.349a6.177 6.177 0 0 1-2.449-.564 7.207 7.207 0 0 1-.947-.543c0 1.705.008 3.406-.01 5.105a4.442 4.442 0 0 1-.789 2.3 4.343 4.343 0 0 1-3.448 1.872 4.254 4.254 0 0 1-2.379-.6 4.393 4.393 0 0 1-2.127-3.331c-.014-.292-.019-.584-.007-.868a4.395 4.395 0 0 1 5.091-3.9c.013.864-.021 1.727-.021 2.591a2.007 2.007 0 0 0-2.558 1.237 2.316 2.316 0 0 0-.079.939 1.992 1.992 0 0 0 3.658.736 1.39 1.39 0 0 0 .239-.62c.057-1.043.034-2.082.041-3.126.006-2.351-.007-4.7.011-7.041z",fill:"currentColor"})}):t==="bluesky"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.879.139 2.588-.02 3.868.002 5.03c.08 4.201 1.84 10.024 3.931 12.397 2.091 2.373 4.545 1.573 5.467.927.817-.573 1.564-1.611 2.6-2.92 1.036 1.309 1.783 2.347 2.6 2.92.922.646 3.376 1.446 5.467-.927 2.091-2.373 3.851-8.196 3.931-12.397.022-1.162-.137-2.442-.9-3.151-.659-.613-1.664-.935-4.3-1.074C16.046 4.747 13.087 8.686 12 10.8z"})}):t==="github"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})}):t==="rss"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M4 11a9 9 0 0 1 9 9"}),(0,E.jsx)("path",{d:"M4 4a16 16 0 0 1 16 16"}),(0,E.jsx)("circle",{cx:"5",cy:"19",r:"1"})]}):(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,E.jsx)("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),(0,E.jsx)("path",{d:"M2 12h20"})]})}function U0({authorCount:e=0,authorArticlesList:t,authorBioLength:n,customBio:a,customHeaderKicker:l,customHeaderTitle:i,effectiveAuthorHandle:r,effectiveAuthorName:o,isReviewWidget:u=!1,onBioChange:c,onHeaderKickerChange:s,onHeaderTitleChange:f,selectedProfile:d,showAuthorBio:m=!0,showAuthorIdentity:v=!0,showSocialButtons:A=!0,stabilizeBio:b=!1,totalDealCount:h=0,website:g}){let p=Vu(r,o),y=g||"tomsguide",C=Gu[y]||y,R=Nr[y],T=r?.toLowerCase(),M=o?.toLowerCase(),w=t.find(Be=>T&&Be.articleauthorhandle?.some(Je=>Je?.toLowerCase()===T)||M&&Be.articleauthor?.some(Je=>Je?.toLowerCase()===M))||null,D=w?sf(w,r,o):0,k=d?.image||(w?c0(w,D):""),se=d?n==="short"?d.bioShort||"":d.bioLong||d.bioShort||"":w?_r(w,D,n):"",I=p?`Our team is dedicated to researching, reviewing and recommending the latest and best products in all the categories that matter to you. Below you can shop the latest ${h} ${u?"review ":""}recommendations from ${e} ${C} ${u?"editor tests":"editors"}.`:se||`Handpicked deals and recommendations curated by ${o||"our expert editorial team"}.`,j=d?.role||"",He=p?y0[y]||[]:d?.socialNetworks||[];!p&&w&&(j||(j=u0(w,D)),He.length===0&&(He=Uu(w,D)));let ze=d?.fullName||o||"Author Name",St=p?`site:${y}`:`author:${d?.handle||r||ze}`,Ie=A&&He.length>0,rn=!p&&!!j||Ie;return(0,E.jsxs)("div",{className:"tg-df-author-card",style:{textAlign:"center",padding:"1.75rem 1rem 0.25rem 1rem",margin:"0 auto",maxWidth:"48rem"},children:[v&&(p?(0,E.jsx)("div",{className:"tg-df-author-media-slot tg-df-author-image-container",style:{margin:"0 auto 0.75rem auto",textAlign:"center",minHeight:"180px",display:"flex",alignItems:"center",justifyContent:"center"},children:R?(0,E.jsx)("img",{src:R,alt:C,className:"tg-df-site-logo",style:{maxHeight:"150px",maxWidth:"520px",objectFit:"contain",margin:"0 auto",display:"block"}}):(0,E.jsx)("div",{style:{fontSize:"1.75rem",fontWeight:700,color:"#111827"},children:C})}):(0,E.jsx)("div",{className:"tg-df-author-media-slot",children:(0,E.jsxs)("div",{className:"tg-df-author-profile-image-wrapper",children:[k?(0,E.jsx)("img",{src:ri(k),alt:ze,className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",objectFit:"cover",display:"block"}}):(0,E.jsx)("div",{className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",background:"#e2e8f0",display:"block"}}),R?(0,E.jsx)("img",{src:R,alt:"",className:"tg-df-author-profile-brand-logo"}):null]})})),v&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(H0,{contentKey:`${St}:kicker`,defaultText:u?"Reviews shop by":"Shop by",kind:"kicker",onChange:s,value:l}),(0,E.jsx)(H0,{contentKey:`${St}:title`,defaultText:p?C:ze,kind:"title",onChange:f,value:i}),rn&&(0,E.jsxs)("div",{className:`tg-df-author-meta-slot${p?" tg-df-author-meta-slot--site":""}${Ie?"":" tg-df-author-meta-slot--no-social"}`,children:[!p&&j?(0,E.jsx)("div",{className:"tg-df-author-role",id:"tg-df-author-role-display",style:{fontSize:"0.9375rem",fontWeight:500,color:"var(--tg-df-blue, #1F69FF)",margin:"0 0 0.5rem 0",lineHeight:1.3},children:j}):null,Ie?(0,E.jsx)("div",{className:"tg-df-author-social-links",children:He.map(Be=>(0,E.jsx)("a",{href:Be.href,target:"_blank",rel:"noopener noreferrer",title:Be.label,"aria-label":Be.label,className:"tg-df-author-social-btn","data-social-key":Be.key.toLowerCase(),children:r2(Be.key)},Be.key))}):null]})]}),m&&(0,E.jsx)(i2,{contentKey:St,initialBio:a,defaultPlaceholder:I,onBioChange:c,stabilizeHeight:b})]})}var te=B(O(),1);function df(e){if(!e||typeof e!="object")return"";if(e.type==="voucher_code"&&e.display_value)return e.display_value;let t=Array.isArray(e)?e:Object.keys(e).filter(n=>Object.prototype.hasOwnProperty.call(e,n)).map(n=>e[n]);for(let n of t){let a=df(n);if(a)return a}return""}function o2({endTime:e}){if(!e)return null;let t=e;!isNaN(Number(t))&&String(t).length===10&&(t=Number(t)*1e3);let n=new Date(t),a=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"});return(0,te.jsxs)("span",{className:"tg-df-voucher-expiry",children:[(0,te.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginRight:"4px"},children:[(0,te.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,te.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"Expires ",a.format(n)]})}function G0({error:e,loading:t,merchant:n,onClose:a,vouchers:l}){return(0,te.jsx)("div",{className:`tg-df-modal-backdrop ${n?"active":""}`,onClick:i=>{i.target===i.currentTarget&&a()},children:(0,te.jsxs)("div",{className:"tg-df-modal",children:[(0,te.jsxs)("div",{className:"tg-df-modal-header",children:[(0,te.jsx)("h3",{className:"tg-df-modal-title",children:n?`${n} Coupons & Deals`:"Available Coupons & Deals"}),(0,te.jsx)("button",{className:"tg-df-modal-close",onClick:a,children:(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,te.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,te.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),(0,te.jsx)("div",{className:"tg-df-modal-body",children:t?(0,te.jsx)("div",{className:"tg-df-message",children:(0,te.jsx)("div",{className:"tg-df-coupon-spinner",style:{width:"24px",height:"24px",borderColor:"#ccc",borderTopColor:"#3b82f6"}})}):e?(0,te.jsx)("div",{className:"tg-df-message",children:"Failed to load vouchers."}):l.length===0?(0,te.jsxs)("div",{className:"tg-df-message",children:["No active vouchers found for ",n,"."]}):l.map((i,r)=>{let o=i.offer?.name||i.offer?.title||i.name||i.title||i.model_name||"Voucher",u=i.offer?.link||i.offer?.url||i.link||i.url||"#",c=i.merchant,s=Array.isArray(c)?c[0]?.logo_url||"":c?.logo_url||"",f=df(i.offer)||df(i)||i.offer?.voucher_code||i.voucher_code||"",d=i.offer?.end_time||i.end_time||"";return(0,te.jsxs)("a",{href:u,target:"_blank",rel:"noopener nofollow",className:"tg-df-voucher-item",children:[s?(0,te.jsx)("img",{src:s,alt:"Logo",className:"tg-df-voucher-logo"}):(0,te.jsx)("div",{className:"tg-df-voucher-logo",style:{background:"#e2e8f0"}}),(0,te.jsxs)("div",{className:"tg-df-voucher-content",children:[(0,te.jsx)("h4",{className:"tg-df-voucher-title",children:o}),(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginTop:"8px"},children:[f&&(0,te.jsxs)("span",{className:"tg-df-voucher-code",title:"Copy to clipboard",onClick:m=>{m.preventDefault(),m.stopPropagation();let v=m.currentTarget;navigator.clipboard.writeText(f).then(()=>{v.classList.add("copied");let A=v.querySelector(".tg-df-voucher-code-text"),b=v.querySelector(".tg-df-voucher-copy-icon"),h=A.innerText,g=b.innerHTML;A.innerText="Copied!",b.innerHTML='<polyline points="20 6 9 17 4 12"><\/polyline>',setTimeout(()=>{v.classList.remove("copied"),A&&(A.innerText=h),b&&(b.innerHTML=g)},2e3)})},children:[(0,te.jsx)("span",{className:"tg-df-voucher-code-text",children:f}),(0,te.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:"6px",flexShrink:0},className:"tg-df-voucher-copy-icon",children:[(0,te.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,te.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})]}),d&&(0,te.jsx)(o2,{endTime:d})]})]})]},r)})})]})})}var N=B(ft(),1);function ci(e){if(!e||!e.articlepage)return[];try{let t=e.articlepage;if(!Array.isArray(t))return typeof t=="string"?JSON.parse(t):t;if(t.length===0)return[];let n=t[0];return typeof n=="string"?JSON.parse(n):Array.isArray(n)?n:n&&typeof n=="object"&&"type"in n?t:n}catch{return[]}}function si(e,t=!1,{includeCollections:n=!0,includeDeals:a=!0}={}){let l=t?e.filter(r=>r.type==="buying-guide"):[];if(l.length>0)return l;let i=e.filter(r=>r.type==="deal"||r.type==="featured-product");return a&&!n&&!t?i.filter(r=>r.type==="deal"):i}function di(e,t){if(!t||t.length===0)return!0;let n=e&&(e.brand||e.retailer)||"";if(!n)return!1;let a=n.replace(/^\d+\.\s*/,"").trim().toLowerCase();return t.some(l=>{let i=l.trim().toLowerCase();return a===i||a.startsWith(`${i} `)||a.includes(i)||i.includes(a)})}function wt(e){return!e||e==="auto"?"US":e}function an(e){return e==="GB"||e==="UK"?"GBP":e==="AU"?"AUD":e==="CA"?"CAD":["DE","FR","IT","ES","NL"].includes(e)?"EUR":"USD"}function P0(e,t){if(e.isBuyingGuideProduct||e.isReviewProduct)return!0;if(t==="unavailable")return!1;let n=String(e.isoCurrency||e.currency||"").trim().toUpperCase();return({$:"USD",A$:"AUD",CA$:"CAD","\xA3":"GBP","\u20AC":"EUR"}[n]||n)===an(t)}function fi(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=a?n.currency||(n.price&&typeof n.price=="object"?n.price.currency:""):l.currency||(typeof l=="string"?l:"")||n.currency||"";!i&&n.variants&&n.variants.length>0&&(i=n.variants[0].currency||"");let r="$",o="USD",u=(i||"").toString().toUpperCase().trim();return u==="GBP"||u==="\xA3"||u.includes("POUND")||u.includes("163")?(r="\xA3",o="GBP"):u==="EUR"||u==="\u20AC"||u.includes("EURO")||u.includes("8364")?(r="\u20AC",o="EUR"):u==="AUD"||u==="A$"?(r="A$",o="AUD"):u==="CAD"||u==="CA$"?(r="CA$",o="CAD"):u==="USD"||u==="$"||u.includes("DOLLAR")||u.includes("36")?(r="$",o="USD"):(o=an(t),o==="GBP"?r="\xA3":o==="AUD"?r="A$":o==="CAD"?r="CA$":o==="EUR"&&(r="\u20AC")),{isoCurr:o,currencyStr:r}}function Ku(e){let t=e.data||{},n=e.type==="featured-product",a=t.price||{},l=0,i=0;return n?(l=typeof a=="number"?a:a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):t.msrp?parseFloat(t.msrp):0):(l=a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):0),{rawPrice:l,rawMsrp:i}}function Sa(e,t){if(!t||t==="all"||e<=0)return!0;if(t==="under50"&&e>=50||t==="over50"&&e<=50||t==="over30"&&e<=30||t==="over500"&&e<=500)return!1;if(t.includes("_")){let[n,a]=t.split("_").map(Number);if(n&&e<n||a&&e>a)return!1}return!0}function Ca(e,t,n){if(!n||n==="0"||n==="all")return!0;let a=parseInt(n);return!(!isNaN(a)&&a>0&&(!t||t<=e||Math.round((1-e/t)*100)<a))}var Zu=[0,50,100,150,200,250,300,350,400,450],ff={parameter:"articleControlTag",value:"type_buying_guide"},u2={includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"}]},c2={pcgamer:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["deals","type_deal","channel_gaming_hardware"]}],buyingGuideScopes:[ff]},homesandgardens:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"sig-product-collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"van-hawk-collection-widget",inventoryKind:"collections"},{parameter:"articleControlTag",value:"shopping",requiredArticleType:"news",inventoryKind:"collections"},{parameter:"articleType",value:"deals",inventoryKind:"deals"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["shopping","type_deal"],inventoryKind:"deals"}],buyingGuideScopes:[{parameter:"articleType",value:"buying guide"},ff]},whowhatwear:{includeAllContent:!0,pageStarts:Zu,scopes:[{}]}};function Wu(e,{includeBuyingGuideProducts:t=!1,includeCollections:n=!0,includeDeals:a=!0}={}){let l=c2[e]||u2;if(l.includeAllContent)return l;let i=l.scopes.filter(r=>r.inventoryKind==="collections"?n:r.inventoryKind==="deals"?a:r.value==="sig-product-collection"?n:a);return t?{...l,scopes:[...i,...l.buyingGuideScopes||[ff]]}:{...l,scopes:i}}function gf(e){if(Array.isArray(e))return e;let t=e.data;return t&&Array.isArray(t)?t:[]}function q0(e){let t=new Set;return e.filter(n=>{let a=n.id||n.articleid||n.url;return!a||t.has(a)?!1:(t.add(a),!0)})}function Zt(e){return typeof e.articletype=="string"?e.articletype.toLowerCase():Array.isArray(e.articletype)&&e.articletype.length>0?e.articletype[0].toLowerCase():""}function Hr(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]/g,"")}function mf(e){return[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]].map(Hr)}function s2(e){return Zt(e)==="review"&&mf(e).some(t=>t.includes("channelgaminghardware"))}function F0(e,t,n){let a=Zt(e),l=mf(e),i=c=>l.some(s=>s.includes(c)),r=a==="news"&&i("shopping")&&i("deal")&&i("typedeal"),o=a==="deals"||r,u=a==="collection"||i("sigproductcollection")||i("vanhawkcollectionwidget")||a==="news"&&i("shopping")&&!r||a==="idea"&&i("shopping")&&(i("sigproductcollection")||i("vanhawkcollectionwidget"));return t&&o||n&&u}function el(e,t=!0,n=!0,a){if(a==="homesandgardens")return F0(e,t,n);let l=Zt(e),i=mf(e),r=l==="deals"||i.some(u=>u.includes("typedeal")),o=i.some(u=>u.includes("sigproductcollection"));return t&&r||n&&o}function j0(e,t,n=!1,a=!1,l=!0,i=!0){if(a&&Zt(e)==="review")return t!=="pcgamer"||s2(e);if(t==="homesandgardens")return Zt(e)==="buying guide"?n:F0(e,i,l);let r=Wu(t,{includeBuyingGuideProducts:n,includeCollections:l,includeDeals:i});if(r.includeAllContent)return i&&l?!0:n||el(e,i,l);let o=Zt(e),u=[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]],c=f=>!f.requiredArticleType||o===f.requiredArticleType.toLowerCase(),s=f=>!f.requiredControlTags||f.requiredControlTags.every(d=>u.some(m=>typeof m=="string"&&Hr(m).includes(Hr(d))));return r.scopes.some(f=>!c(f)||!s(f)?!1:f.parameter==="articleType"?o===f.value.toLowerCase():f.parameter==="articleControlTag"?u.some(d=>typeof d=="string"&&Hr(d).includes(Hr(f.value))):!1)}function hf(e,t){let n=e.map(a=>({...a}));return t.filter(a=>(a.isBuyingGuideProduct||a.isReviewProduct)&&a.brand).forEach(a=>{let l=String(a.brand).trim();if(!l)return;let i=n.find(r=>r.formatted_value.toLowerCase()===l.toLowerCase());i?i.count++:n.push({formatted_value:l,count:1})}),n.sort((a,l)=>l.count-a.count)}function Iu(e,t){let n={};return e.forEach(a=>{if(!a.articlepage)return;let l=ci(a),i=si(l,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});(t.includeDeals===!1||t.includeCollections===!1)&&!i.some(r=>r.type==="buying-guide")&&!el(a,t.includeDeals,t.includeCollections,t.website)||i.forEach(r=>{if(fi(r,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:o,rawMsrp:u}=Ku(r);if(!Sa(o,t.priceRange)||!Ca(o,u,t.discountAmount))return;let c=r.data||{},s=c.brand||c.retailer;if(!s)return;let f=s.replace(/^\d+\.\s*/,"").trim(),d=f.toLowerCase(),m=Object.keys(n).find(v=>v.toLowerCase()===d);m?n[m]++:(f===f.toLowerCase()&&(f=f.replace(/\b\w/g,v=>v.toUpperCase())),n[f]=1)})}),Object.keys(n).map(a=>({formatted_value:a,count:n[a]})).sort((a,l)=>l.count-a.count)}function d2(e){return String(e||"").trim().toLowerCase()}function Ju(e){return(Array.isArray(e)?e:[e]).map(d2).filter(Boolean)}function pf(e){let t=Ju(e.articletype),n=[...Ju(e.articlecontroltag),...Ju(e.articletagtypetaghandle)];return t.includes("deals")||n.some(a=>a.replace(/[\s-]+/g,"_")==="type_deal")}function V0(e){let t=Array.isArray(e)?e[0]:e,n=new Date(String(t||"")).getTime();return Number.isFinite(n)?n:null}function f2(e){for(let t of[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]){let n=V0(t);if(n!==null)return n}return null}function g2(e){for(let t of[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]){let n=V0(t);if(n!==null)return n}return null}function Y0(e){return Ju(e.articletype).includes("review")}function yf(e,t=new Date,n=0){let a=pf(e)?1:Y0(e)?36:n;if(a<=0)return!0;let l=Y0(e)?g2(e):f2(e);if(l===null)return!0;let i=new Date(t);return i.setMonth(i.getMonth()-a),l>=i.getTime()}function tl(e,t,n=0){return e.filter(a=>yf(a,t,n))}var m2=15;function Q0(e){return Array.isArray(e.articlemedia)?e.articlemedia[0]:""}function zr(e){return Array.isArray(e.documenturl)?e.documenturl[0]:e.documenturl||""}function h2(e){return kt(String(e||"").replace(/^\d+\.\s*/,"").trim())}function tt(e){return Array.isArray(e)?e.map(tt).find(Boolean)||"":typeof e=="string"||typeof e=="number"?String(e).trim():""}function vf(e,t=!1){return(t?[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]:[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]).map(tt).find(Boolean)||""}function p2(e,t,n){let a=tt(e).match(/^\s*(\d+)\s*[.)]\s*/)?.[1];return a||[t.rank,t.position,t.number,t.productNumber,t.product_number].map(tt).map(i=>i.match(/^\s*(\d+)\s*$/)?.[1]||"").find(Boolean)||String(n+1)}function y2(e){let t=tt(e);try{t=new URL(t).pathname}catch{}return t=t.split(/[?#]/)[0].split("/").filter(Boolean).at(-1)||"",t.split(/[-_]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function v2(e){return tt(e.documenthandle)||tt(e.document_handle)||zr(e)||tt(e.documentname)||tt(e.documentnametext)}function b2(e,t){if(!t)return"";let n=t.length>m2?"Ranked":t;return`#${e} ${n}`}function A2(e){if(typeof e=="object"&&e)return String(e["data-model-name"]||"");try{return String(JSON.parse(String(e||""))["data-model-name"]||"")}catch{return""}}function w2(e){let t=e.brand||e.productBrand||e.manufacturer||e.maker||"";return typeof t=="string"?kt(t.replace(/^\d+\.\s*/,"").trim()):""}function S2(e){let t=e.price&&typeof e.price=="object"?e.price:{},n=Number(t.salePrice||t.price||e.salePrice||e.current_price||(typeof e.price=="number"?e.price:0)),a=Number(t.wasPrice||t.msrp||e.was_price||e.msrp||0),l=e.url||e.link?.url||e.link?.href||"";return{currency:t.currency||e.currency||"",rawMsrp:Number.isFinite(a)?a:0,rawPrice:Number.isFinite(n)?n:0,url:l}}function bf(e){let t=e?.review||{},n=t.rating??t.starRating??t.score??e?.rating??e?.starRating??e?.score,a=Number(n);if(!Number.isFinite(a)||a<=0)return null;let l=a>5?a/20:a;return Math.min(l,5)}function K0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,imageUrl:i}){let r=t.data||{},o=r.review||{},u=h2(r.title),c=p2(r.title,r,a),s=y2(v2(e)),f=zr(e),d=S2(r),m=!!d.url,v=m?d.url:o.url||f,A=i||Q0(e);return{id:`airedale-buying-guide-${n}-${a}`,url:v,image:A,fallbackImage:A,title:u,brand:w2(r),productName:u,merchant:"",rawPrice:d.rawPrice,rawMsrp:d.rawMsrp,price:d.rawPrice>0?String(d.rawPrice):"",msrp:d.rawMsrp>0?String(d.rawMsrp):"",currency:d.currency,isoCurrency:"",isCheckPrice:d.rawPrice<=0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf(r),description:"",text:"",subtitle:kt(r.subtitle||""),pros:Array.isArray(r.pros)?r.pros:[],cons:Array.isArray(r.cons)?r.cons:[],...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:!1,isBuyingGuideProduct:!0,buyingGuideBadge:b2(c,s),hawkModelName:A2(r.hawk),hasCommerceOffer:m,sourceArticleUrl:f}}function C2(e){return gi(e)||tt(e.documentnametext)||tt(e.documentname)}function $u(e){if(Array.isArray(e))return e.map($u).find(Boolean)||"";if(e&&typeof e=="object"){let n=e,a=tt(n["data-widget-type"]||n.dataWidgetType||n.widgetType).toLowerCase(),l=tt(n["data-model-name"]||n.dataModelName||n.modelName);return a==="review"&&l?l:Object.values(n).map($u).find(Boolean)||""}if(typeof e!="string")return"";let t=[e,e.replace(/\\"/g,'"').replace(/\\u0022/gi,'"')];for(let n of t){try{let l=$u(JSON.parse(n));if(l)return l}catch{}let a=n.match(/["']data-widget-type["']\s*:\s*["']review["'][\s\S]{0,1500}?["']data-model-name["']\s*:\s*["']([^"']+)["']/i);if(a?.[1])return a[1].trim()}return""}function gi(e){let t=tt(e.articlehawkmodels);if(t)return t;for(let n of[e.articlepage,e.articlebodypageblock,e.articlepageblock,e.fepjson,e.articlebodyclean]){let a=$u(n);if(a)return a}return""}function X0(e){return(Array.isArray(e)?e:[e]).map(t=>kt(tt(t))).filter(Boolean)}function Z0({article:e,articleIdentity:t,authorProfile:n}){let a=kt(gi(e)),l=kt(C2(e)),i=zr(e),r=Q0(e),o=kt(tt(e.productverdict));return{id:`airedale-review-${t}`,url:i,image:r,fallbackImage:r,title:l,brand:"",productName:l,merchant:"",rawPrice:0,rawMsrp:0,price:"",msrp:"",currency:"",isoCurrency:"",isCheckPrice:!0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf({rating:e.productrating}),description:o,text:o,...n,documentUrl:i,modifiedDate:vf(e,!0),isFeatured:!1,isReviewProduct:!0,hawkModelName:a||l,hasCommerceOffer:!1,sourceArticleUrl:i,pros:X0(e.productpros),cons:X0(e.productcons)}}function kt(e){return typeof e=="string"?ee(e):e}function W0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,currencyString:i,isoCurrency:r,presentation:o,pricing:u}){let c=t.data||{},{isFeatured:s,externalUrl:f,summaryTitle:d,description:m,imageUrl:v,merchantName:A}=o,{rawPrice:b,rawMsrp:h,savingLabel:g}=u;return{id:`airedale-${n}-${a}`,url:f,image:v,fallbackImage:v,title:kt(d),brand:kt(c.brand||""),productName:kt(c.productName||""),merchant:kt(A),rawPrice:b,rawMsrp:h,price:b>0?b.toString():"",msrp:h>0?h.toString():"",currency:i,isoCurrency:r,isCheckPrice:!b,savingLabel:g,savingType:h>b?"amount":"none",isPrime:!1,starRating:bf(c),description:kt(m),text:kt(c.text||""),...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:s,hasCommerceOffer:!!f}}function I0(e,t){let n=t.data||{},a=t.type==="featured-product",l=n.link||{},i=n.image||{};n.brand&&(n.brand=n.brand.replace(/^\d+\.\s*/,"").trim());let r=a?n.url:l.href||null,o=a?n.name||n.brand:n.productName||l.label||(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),u=a?n.strapline||"":n.text||"";if(!a&&!n.productName&&n.text){let f=n.text.split(/<br\s*\/?>/i);if(f.length>1)o=f[0].replace(/<[^>]+>/g,"").trim(),u=f.slice(1).join(" ").replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();else{let d=n.text.match(/<strong>(.*?)<\/strong>/);d&&(o=d[1].replace(/<[^>]+>/g,"").trim(),o.endsWith(":")&&(o=o.slice(0,-1)))}}let c=a?i.mos:i.src||null;c?.startsWith("//")&&(c=`https:${c}`),u=u.replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").replace(/View Deal$/i,"").trim();let s=n.retailer||"";if(!s&&r)try{s=new URL(r).hostname.replace("www.","").split(".")[0],s=s.charAt(0).toUpperCase()+s.slice(1)}catch{}return s||(s="Retailer"),{isFeatured:a,externalUrl:r,summaryTitle:o,description:u,imageUrl:c,merchantName:s}}function J0(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=0,r=0;a?(i=typeof n.salePrice=="number"&&n.salePrice>0?n.salePrice:typeof n.price=="number"?n.price:0,r=typeof n.salePrice=="number"&&typeof n.price=="number"&&n.price>n.salePrice?n.price:0):(i=l.amount?parseFloat(l.amount):0,r=l.amountWas?parseFloat(l.amountWas):0);let o=0,u="";return i>0&&r>i&&(o=parseFloat((r-i).toFixed(2)),u=`Save ${t}${o}`),{rawPrice:i,rawMsrp:r,savingLabel:u}}function R2(e,t){let n=e.indexOf(t);if(n<1)return"";let a=e[n-1]?.data||{},i=a.slides?.[0]?.image||a.image||a;return i?.src||i?.mos||""}function Ur(e,{activeRegionCode:t,targetIso:n,selectedBrands:a,priceRange:l,discountAmount:i,authorHandle:r,authorName:o,createFallbackIdentity:u=Math.random,includeBuyingGuideProducts:c=!1,includeCollections:s=!0,includeDeals:f=!0,includeReviewProducts:d=!1,website:m}){let v=[],A=new Set;return e.forEach(b=>{if(d&&Zt(b)==="review"){v.push(Z0({article:b,articleIdentity:b.id||u(),authorProfile:Qu(b,r,o)}));return}if(!b.articlepage)return;let h=ci(b),g=si(h,c,{includeCollections:s,includeDeals:f});(f===!1||s===!1)&&!g.some(p=>p.type==="buying-guide")&&!el(b,f,s,m)||g.forEach((p,y)=>{if(p.type==="buying-guide"){v.push(K0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),imageUrl:R2(h,p)}));return}let{isoCurr:C,currencyStr:R}=fi(p,t);if(C!==n)return;let T=p.data||{},M=I0(b,p),{externalUrl:w}=M,D=J0(p,R),{rawPrice:k,rawMsrp:se}=D;if(!(a&&a.length>0&&!di(T,a))&&Sa(k,l)&&Ca(k,se,i)){if(w){if(A.has(w))return;A.add(w)}v.push(W0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),currencyString:R,isoCurrency:C,presentation:M,pricing:D}))}})}),v}function mi(e,t){return Ur(e,{...t,selectedBrands:[],priceRange:"all",discountAmount:"0"})}function $0(e,t){return Ur(e,t)}function Gr(e){return(Array.isArray(e)?e:[e]).filter(n=>typeof n=="string").map(n=>n.trim())}function ec(e){return e?.trim().toLowerCase()==="freeform"}function Af(e){return!!e&&!/[^\p{L}\p{N}\s]/u.test(e)}function wf(e){let t=Gr(e.articletag),n=Gr(e.articletaghandle),a=Gr(e.articletagtype),l=new Map;t.forEach((o,u)=>{let c=n[u];!ec(a[u])||!c||!Af(o)||l.set(c.toLowerCase(),{handle:c,label:o,requestValue:o})});let i=Gr(e.articletagtypetag),r=Gr(e.articletagtypetaghandle);return i.forEach((o,u)=>{let[c,...s]=o.split("|"),[f,...d]=(r[u]||"").split("|"),m=s.join("|").trim(),v=d.join("|").trim();!ec(c)||!ec(f)||!v||!Af(m)||l.has(v.toLowerCase())||l.set(v.toLowerCase(),{handle:v,label:m,requestValue:m})}),r.forEach(o=>{let[u,...c]=o.split("|"),s=c.join("|").trim();!ec(u)||!s||!Af(s)||l.has(s.toLowerCase())||l.set(s.toLowerCase(),{handle:s,label:s})}),[...l.values()]}function ev(e,t){if(t)return e.find(n=>n.handle.toLowerCase()===t.toLowerCase())?.requestValue}function hi(e,t){let n=(Array.isArray(t)?t:[t]).filter(a=>typeof a=="string").map(a=>a.trim().toLowerCase()).filter(Boolean);return n.length===0?e:e.filter(a=>wf(a).some(l=>n.includes(l.handle.toLowerCase())))}function T2(e){let t=new Map;return Array.isArray(e.articlecategory)?(e.articlecategory.forEach(n=>{if(typeof n!="string")return;let a=n.trim();a===a.toLowerCase()&&(a=a.replace(/\b\w/g,l=>l.toUpperCase())),a&&!t.has(a.toLowerCase())&&t.set(a.toLowerCase(),{handle:a,label:a})}),[...t.values()]):[]}function tv(e,t,n){let a={},l={},i={};e.forEach(u=>{let c=[];if(t.includeReviewProducts&&Zt(u)==="review"&&c.push(u.id||u.documenturl||u.documenthandle||""),u.articlepage)try{let s=ci(u),f=si(s,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});if((t.includeDeals===!1||t.includeCollections===!1)&&!f.some(d=>d.type==="buying-guide")&&!el(u,t.includeDeals,t.includeCollections,t.website))return;f.forEach(d=>{if(d.type==="buying-guide"){c.push(d.id||JSON.stringify(d.data||{}));return}if(fi(d,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:m,rawMsrp:v}=Ku(d);if(!Sa(m,t.priceRange)||!Ca(m,v,t.discountAmount))return;let A=d.data||{};if(t.selectedBrands&&t.selectedBrands.length>0&&!di(A,t.selectedBrands))return;let h=d.type==="featured-product"?A.primaryLink:A.link,g=A.url||A.link&&A.link.url||h&&h.url;c.push(g||JSON.stringify(A))})}catch{}c.length!==0&&n(u).forEach(s=>{let f=s.handle.toLowerCase(),d=Object.keys(a).find(m=>m.toLowerCase()===f);d||(d=s.handle,a[d]=new Set,l[d]=s.label,i[d]=s.requestValue),c.forEach(m=>a[d].add(m))})});let r={};return Object.keys(a).forEach(u=>{r[u]=a[u].size}),{tags:Object.keys(r).map(u=>({handle:u,label:l[u]||u,requestValue:i[u]})).sort((u,c)=>r[c.handle]-r[u.handle]),tagCounts:r}}function tc(e,t){let{tags:n,tagCounts:a}=tv(e,t,T2);return{tags:n.map(l=>l.label),tagCounts:a}}function nc(e,t){let{tags:n,tagCounts:a}=tv(e,t,wf);return{tags:n,tagCounts:a}}function E2(e,t){return e.documentUrl||e.sourceArticleUrl||e.articleId||`deal-${t}`}function yn(e,t,n){if(t!=="mix"||n!=="date_desc")return e;let a=new Map;e.forEach((o,u)=>{let c=E2(o,u),s=a.get(c)||[];s.push(o),a.set(c,s)});let l=[],i=0,r=!0;for(;r;)r=!1,a.forEach(o=>{let u=o[i];u&&(l.push(u),r=!0)}),i+=1;return l}var nv="compact-v1",D2={brand:"",currency:"",hasCommerceOffer:!1,isoCurrency:"",isCheckPrice:!0,isFeatured:!1,isPrime:!1,merchant:"",merchantId:"",msrp:"",price:"",rawMsrp:0,rawPrice:0,savingLabel:"",savingType:"none"},x2={hasCommerceOffer:!0,hawkPricePending:!1,rawMsrp:0,rawPrice:0};function av(e){return e.map(t=>{if(!t.isReviewProduct)return t;let n=String(t.sourceArticleUrl||t.documentUrl||t.url||""),a=t.fallbackImage??t.image??"",l={...D2,...t,fallbackImage:a,image:t.image??a,sourceArticleUrl:n,documentUrl:t.documentUrl??n,url:t.url??n,title:t.title??t.productName??"",text:t.text??t.description??"",hawkPricePending:t.hawkPricePending??!!t.hawkModelName,pros:t.pros??[],cons:t.cons??[]};return t.hawkRegionalCommerce&&(l.hawkRegionalCommerce=Object.fromEntries(Object.entries(t.hawkRegionalCommerce).map(([i,r])=>{let o=r,u=o.productName??l.productName,c=o.rawPrice??0,s=o.rawMsrp??0;return[i,{...x2,...o,fallbackImage:o.fallbackImage??a,image:o.image??a,productName:u,title:o.title??u??l.title,price:o.price??(c?String(c):""),msrp:o.msrp??(s?String(s):"")}]}))),l})}function ac(e,t,n=100){let a=new Set(e.slice(0,t).map((i,r)=>i.id||`visible-${r}`)),l=e.slice(0,t).filter(i=>i.isReviewProduct).length;return e.filter((i,r)=>{let o=i.id||`visible-${r}`;return a.has(o)?!0:i.isReviewProduct?(l+=1,l<=n):!1})}function lv(e,t){let n=new Map(t.map((a,l)=>[a.id||`enriched-${l}`,a]));return e.map((a,l)=>n.get(a.id||`enriched-${l}`)||a)}var M2=new Set(["deal","featured-product","gallery","buying-guide","text","section"]);function lc(e){return!!e&&typeof e=="object"}function iv(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function rv(e){try{let t=iv(e);if(!Array.isArray(t)||!t[0])return;let n=t[0],a=typeof n=="string"?iv(n):Array.isArray(n)?n:lc(n)&&"type"in n?t:n;if(!Array.isArray(a))return;let l=a.filter(i=>lc(i)&&M2.has(i.type)).map(i=>i.type==="text"&&i.data?{type:"text",data:{paragraphs:Array.isArray(i.data.paragraphs)?i.data.paragraphs.slice(0,3):void 0,text:typeof i.data.text=="string"?i.data.text.slice(0,500):void 0}}:i.type==="section"&&i.data?{type:"section",data:{text:i.data.text,heading:i.data.heading,title:i.data.title}}:i);return l.length>0?[JSON.stringify(l)]:void 0}catch{return}}function ov(e){if(!Array.isArray(e))return[];let t=!1;return e.map(n=>{if(!lc(n))return n;let a=n.articlepage?rv(n.articlepage):void 0,l=!!(n.articleauthormedia||n.articleauthorrole),i=!!(!t&&(n.articleauthorbio||n.articleauthorlongbio||n.articleauthorsocialnetworks));return i&&(t=!0),{id:n.id,articlename:n.articlename,documentname:n.documentname,documentnametext:n.documentnametext,documenthandle:n.documenthandle,articlecategory:n.articlecategory,articletag:n.articletag,articletaghandle:n.articletaghandle,articletagtype:n.articletagtype,articletagtypetag:n.articletagtypetag,articletagtypetaghandle:n.articletagtypetaghandle,articlecontroltag:n.articlecontroltag,articletype:n.articletype,articleauthor:n.articleauthor,articleauthorhandle:n.articleauthorhandle,articleauthortext:n.articleauthortext,...l?{articleauthorrole:n.articleauthorrole,articleauthormedia:n.articleauthormedia}:{},articlestrapline:n.articlestrapline,articlesocialtitle:n.articlesocialtitle,documenturl:n.documenturl,articlemedia:n.articlemedia,articlehawkmodels:n.articlehawkmodels,productrating:n.productrating,productpros:n.productpros,productcons:n.productcons,productverdict:n.productverdict,contentmodifieddate:n.contentmodifieddate,modifieddate:n.modifieddate,createddate:n.createddate,datepublished:n.datepublished,publisheddate:n.publisheddate,...i?{articleauthorbio:n.articleauthorbio,articleauthorlongbio:n.articleauthorlongbio,articleauthorsocialnetworks:n.articleauthorsocialnetworks}:{},...a?{articlepage:a}:{}}})}function uv(e){return Array.isArray(e)?e.map(t=>{if(!lc(t))return t;let n=t.articlepage?rv(t.articlepage):void 0;return{id:t.id,articleid:t.articleid,articlename:t.articlename,documentname:t.documentname,documentnametext:t.documentnametext,documenthandle:t.documenthandle,articleauthor:t.articleauthor,articleauthorhandle:t.articleauthorhandle,articleauthortext:t.articleauthortext,articleauthorrole:t.articleauthorrole,articleauthormedia:t.articleauthormedia,articleauthorbio:t.articleauthorbio,articleauthorlongbio:t.articleauthorlongbio,articleauthorsocialnetworks:t.articleauthorsocialnetworks,articlecategory:t.articlecategory,articletag:t.articletag,articletaghandle:t.articletaghandle,articletagtype:t.articletagtype,articletagtypetag:t.articletagtypetag,articletagtypetaghandle:t.articletagtypetaghandle,articletype:t.articletype,articlestrapline:t.articlestrapline,articlesocialtitle:t.articlesocialtitle,documenturl:t.documenturl,articlemedia:t.articlemedia,articlehawkmodels:t.articlehawkmodels,productrating:t.productrating,productpros:t.productpros,productcons:t.productcons,productverdict:t.productverdict,url:t.url,contentmodifieddate:t.contentmodifieddate,modifieddate:t.modifieddate,createddate:t.createddate,datepublished:t.datepublished,publisheddate:t.publisheddate,content:t.content,dek:t.dek,image_thumbnail:t.image_thumbnail,intro:t.intro,paragraphs:t.paragraphs,strapline:t.strapline,subtitle:t.subtitle,title:t.title,...n?{articlepage:n}:{}}}):[]}function pi(e){if(!e?.modifiedDate)return 0;let t=Array.isArray(e.modifiedDate)?e.modifiedDate[0]:e.modifiedDate,n=new Date(t).getTime();return Number.isNaN(n)?0:n}function nl(e){return e?.hasCommerceOffer===!0?!0:e?.hasCommerceOffer===!1?!1:!!(!e?.isBuyingGuideProduct&&!e?.isReviewProduct&&e?.url)}function ln(e,t,n=!0){let a=!0;t==="date_desc"?e.sort((l,i)=>pi(i)-pi(l)):t==="price_asc"?e.sort((l,i)=>l.rawPrice-i.rawPrice):t==="price_desc"?e.sort((l,i)=>i.rawPrice-l.rawPrice):t==="discount_desc"?e.sort((l,i)=>{let r=l.rawMsrp>l.rawPrice?l.rawMsrp-l.rawPrice:0;return(i.rawMsrp>i.rawPrice?i.rawMsrp-i.rawPrice:0)-r}):t==="rating_desc"?e.sort((l,i)=>{let r=Number(l.starRating)||0;return(Number(i.starRating)||0)-r||pi(i)-pi(l)}):t==="scored_first"?e.sort((l,i)=>{let r=Number(l.starRating)>0?1:0;return(Number(i.starRating)>0?1:0)-r||pi(i)-pi(l)}):a=!1,a&&n&&e.sort((l,i)=>Number(nl(i))-Number(nl(l)))}function cv(e,t,n){let a=e;if(!a&&t){let l=n.find(i=>i.toLowerCase()===t?.toLowerCase());l&&(a=l)}return a}function Pr(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(a=>a.articlecategory&&Array.isArray(a.articlecategory)&&a.articlecategory.some(l=>{if(!l||typeof l!="string")return!1;let i=l.toLowerCase(),r=i.split(":::");return i===n||r[0]===n||i.includes(n)}))}function sv(e){let t=wt(e.region);return{activeRegionCode:t,targetIso:an(t)}}function al(e,t,{discountAmount:n,priceRange:a}={}){let l=!!(a&&a!=="all"),i=!!(n&&n!=="0"&&n!=="all");return!t?.length&&!l&&!i?e:e.filter(r=>!r.isBuyingGuideProduct&&!r.isReviewProduct?!0:t?.length&&!di({brand:r.brand},t)||l&&(!Number(r.rawPrice)||!Sa(Number(r.rawPrice),a))?!1:Ca(Number(r.rawPrice)||0,Number(r.rawMsrp)||0,n))}function _2(e,t){let n=e.articleauthorhandle||[],a=e.articleauthor||[],l=e.articleauthortext||[],i=new Set([t.handle.toLowerCase(),t.fullName.toLowerCase(),t.name.toLowerCase()]);return[...n,...a,...l].some(r=>i.has(String(r||"").toLowerCase()))}function Sf(e,t,n){let a=Object.fromEntries(e.map(l=>[l.handle,0]));return t.forEach(l=>{let i=mi([l],n).length;i!==0&&e.forEach(r=>{_2(l,r)&&(a[r.handle]+=i)})}),a}function Cf(e,t){let n=Xu(e,t.authorHandle,t.authorName),a=t.selectedArticleId?n.filter(A=>A.id===t.selectedArticleId):n,{activeRegionCode:l,targetIso:i}=sv(t),{tags:r,tagCounts:o}=tc(a,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),u=cv(t.activeDealTag,t.query,r),c=Pr(a,u),{tags:s,tagCounts:f}=nc(c,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),d=t.activeFreeformTags?.length?t.activeFreeformTags:t.activeFreeformTag?[t.activeFreeformTag]:[],m=d.flatMap(A=>{let b=s.find(h=>h.handle.toLowerCase()===A.toLowerCase());return b?[b.handle]:[]}),v=t.preserveFreeformTagSelection?d:m;return{activeDealTag:u,activeFreeformTag:v[0]||null,activeFreeformTags:v,activeRegionCode:l,authorArticles:n,freeformTagCounts:f,freeformTags:s,tagCounts:o,tags:r,targetArticles:hi(c,v),targetIso:i}}function ic(e,t,n,a){let l=Iu(e,{activeRegionCode:n,targetIso:a,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),i=Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(i,t.sort,t.prioritiseCommercialProducts);let r=yn(al(i,t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange}),t.productSelection,t.sort).map(o=>(o.isBuyingGuideProduct||o.isReviewProduct)&&o.hawkModelName?{...o,hawkPricePending:!0}:o);return{brands:l,displayedDeals:r,extractedDeals:i}}function dv(e,t){let{activeRegionCode:n,targetIso:a}=sv(t),l=Lr(e,t.website||"tomsguide"),i=e.filter(o=>mi([o],{activeRegionCode:n,targetIso:a,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}).length>0),r=al(Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange});return{authorCount:kr(l,i).length,deals:r}}function fv({allArticles:e,authorArticles:t,inventoryArticles:n,bakeReviewInventory:a,brands:l,couponMap:i,currentDealTag:r,currentFreeformTags:o,displayedDeals:u,options:c,resultCount:s,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}){let h=Lr(e,c.website||"tomsguide"),g=Sf(h,n,{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),selectedBrands:c.selectedBrands,priceRange:c.priceRange,discountAmount:c.discountAmount,includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}),p=kr(h,e.filter(C=>mi([C],{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}).length>0)),y=Number(s)||12;return{activeDealTag:r,activeFreeformTag:o[0]||null,activeFreeformTags:o,allDeals:a?ac(u,y):u,authorArticles:ov(t),authors:Yu(p,g),brands:l,couponMap:i,deals:u.slice(0,y),reviewInventoryBaked:a,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}}function B2(e){return e&&e.widget&&e.widget.data&&Array.isArray(e.widget.data.offers)?e.widget.data.offers:e&&e.data&&Array.isArray(e.data.offers)?e.data.offers:Array.isArray(e)?e:e&&Array.isArray(e.offers)?e.offers:e&&e.offers&&Array.isArray(e.offers.offer)?e.offers.offer:e&&Array.isArray(e.data)?e.data:[]}function gv(e,t,n){let a={...n},l=new Set;return B2(e).forEach(r=>{let o="";r.merchant_name?o=r.merchant_name:r.merchant&&r.merchant[0]&&r.merchant[0].name?o=r.merchant[0].name:r.merchant&&r.merchant.name?o=r.merchant.name:r.retailer&&(o=r.retailer),o&&l.add(o.toLowerCase())}),t.forEach(r=>{a[r]=l.has(r.toLowerCase())?"has":"none"}),a}function mv(e){let t=[];return e?.widget?.data?.offers?t=e.widget.data.offers:e?.data?.offers?t=e.data.offers:Array.isArray(e)?t=e:e?.offers?.offer?t=Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers&&(t=Array.isArray(e.offers)?e.offers:[e.offers]),t}async function hv({couponMap:e,couponUrl:t,fetcher:n=fetch,merchants:a}){if(!t)return e;try{let l=await n(t.toString());return gv(await l.json(),a,e)}catch{let l={...e};return a.forEach(i=>{l[i]="none"}),l}}function pv({enrichingBuyingGuides:e,error:t,loading:n,loadingMore:a,refreshingFeed:l}){return t?"error":a?"loading_more":n?"loading_inventory":l?"refreshing_inventory":e?"enriching_visible_cards":"ready"}function yv(e,t){let n=Xu(tl(e),t.authorHandle,t.authorName),a=wt(t.region),l=an(a),{tags:i,tagCounts:r}=tc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),o=Iu(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),{tags:u,tagCounts:c}=nc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),s=$0(n,{activeRegionCode:a,targetIso:l,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(s,t.sort,t.prioritiseCommercialProducts);let f=yn(s,t.productSelection,t.sort);return{authorArticles:n,brands:o,deals:f,tagCounts:r,tags:i,freeformTagCounts:c,freeformTags:u}}var N2="fc-author-commerce-widget",vn="airedale-feeds";var rc=null;function vv(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Rf(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function Tf(){return rc||(typeof window>"u"||typeof window.indexedDB>"u"?Promise.resolve(null):(rc=new Promise(e=>{let t=window.indexedDB.open(N2,14);t.onupgradeneeded=()=>{let n=t.result;n.objectStoreNames.contains(vn)||n.createObjectStore(vn,{keyPath:"key"})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),rc))}function bv({authorHandle:e,authorName:t,includeBuyingGuideProducts:n,includeCollections:a,includeDeals:l,includeReviewProducts:i,articleCategory:r,articleTag:o,pageStarts:u,reviewPageStarts:c,loadAllReviewPages:s,website:f}){return["v14",f||"tomsguide",e||"",t||"",n?"buying-guides":"",a===!1?"no-collections":"collections",l===!1?"no-deals":"deals",i?"reviews":"",r||"",o||"",u?.join(",")||"",c?.join(",")||"",s===!1?"review-pages-partial":""].map(d=>encodeURIComponent(d)).join("|")}async function O2(e){let t=await Tf();if(!t)return;let n=t.transaction(vn,"readwrite"),a=Rf(n);n.objectStore(vn).delete(e),await a}async function Av(e,t=Date.now()){try{let n=await Tf();if(!n)return null;let a=n.transaction(vn,"readonly"),l=await vv(a.objectStore(vn).get(e));if(!l||l.schemaVersion!==14||!Array.isArray(l.articles)||l.articles.length===0)return null;let i=Math.max(0,t-l.cachedAt);return i>864e5?(O2(e),null):{articles:l.articles,cachedAt:l.cachedAt,isFresh:i<=6e5}}catch{return null}}async function k2(e){let t=e.transaction(vn,"readwrite"),n=Rf(t),a=t.objectStore(vn);(await vv(a.getAll())).sort((i,r)=>r.cachedAt-i.cachedAt).slice(10).forEach(i=>a.delete(i.key)),await n}async function wv(e,t,n=Date.now()){if(t.length!==0)try{let a=await Tf();if(!a)return;let l=a.transaction(vn,"readwrite"),i=Rf(l);l.objectStore(vn).put({articles:t,cachedAt:n,key:e,schemaVersion:14}),await i,await k2(a)}catch{}}var Ef=[];var Mf=[],Df=0;function Sv(){for(;Df<4&&Mf.length>0;){let e=Mf.shift();if(!e)return;Df+=1,e.run().then(e.resolve,e.reject).finally(()=>{Df-=1,Sv()})}}function L2(e){return new Promise((t,n)=>{Mf.push({reject:n,resolve:t,run:e}),Sv()})}function xf(e){Ef.push(e),Ef.length>100&&Ef.shift()}async function oc(e,t,n=4){let a=new Array(e.length),l=0,i=Math.min(Math.max(1,n),e.length);return await Promise.all(Array.from({length:i},async()=>{for(;l<e.length;){let r=l;l+=1,a[r]=await t(e[r],r)}})),a}async function yi(e,t){return L2(async()=>{let n=t.fetcher||fetch,a=Date.now(),l=new AbortController,i=!1,r=()=>l.abort();if(t.signal?.aborted)return xf({durationMs:0,outcome:"aborted",source:t.source,startedAt:a}),{data:null,response:null};t.signal?.addEventListener("abort",r,{once:!0});let o=setTimeout(()=>{i=!0,l.abort()},8e3);try{let u=await n(e,{signal:l.signal}),c=u.ok?await u.json():null;return xf({durationMs:Date.now()-a,outcome:u.ok?"succeeded":"failed",source:t.source,startedAt:a}),{data:c,response:u}}catch{return xf({durationMs:Date.now()-a,outcome:i?"timed_out":t.signal?.aborted?"aborted":"failed",source:t.source,startedAt:a}),{data:null,response:null}}finally{clearTimeout(o),t.signal?.removeEventListener("abort",r)}})}var Bf="https://airedale.futurecdn.net/feeds/feed_1786707986217.json",H2="https://airedale.futurecdn.net/feeds/feed_1786702796175.json",z2="https://airedale.futurecdn.net/feeds/feed_1787582137748.json",U2=2,_f=new Map,Cv=new Map;function Rv(e){let t=new URL(e),n=String(t.searchParams.get("articleType")||"").trim().toLowerCase(),a=String(t.searchParams.get("articleControlTag")||"").replace(/[\s-]+/g,"_").toLowerCase();return n!=="deals"&&a!=="type_deal"?null:(t.searchParams.delete("start"),t.toString())}function G2(e){return!e.response?.ok||e.articles.length<50?!1:!e.articles.some(t=>pf(t)&&!yf(t))}function P2(e){return!e.parameter||!e.value?"":`&${e.parameter}=${encodeURIComponent(e.value)}`}function q2(e,t="",n=!1,a,l,{includeCollections:i=!0,includeDeals:r=!0}={},o){let u=Wu(e,{includeBuyingGuideProducts:n,includeCollections:i,includeDeals:r}),c=a?`&articleCategory=${encodeURIComponent(a)}`:"",s=o?`&articleTag=${encodeURIComponent(o)}`:"";return u.scopes.flatMap(f=>(l||u.pageStarts).map(d=>`${Bf}?site=${e}&limit=${50}&start=${d}${P2(f)}${t}${c}${s}`))}function Tv(e,t="",n,a=0,l){let i=e==="pcgamer"?"&articleControlTag=channel_gaming_hardware":"",r=n?`&articleCategory=${encodeURIComponent(n)}`:"",o=l?`&articleTag=${encodeURIComponent(l)}`:"";return`${H2}?site=${encodeURIComponent(e)}&articleType=review&limit=${50}&start=${a}${i}${t}${r}${o}`}function F2(e,t){return t!=="pcgamer"?e:e.map(n=>{let a=Array.isArray(n.articlecontroltag)?n.articlecontroltag:[];return a.some(l=>String(l).replace(/[^a-z0-9]/gi,"").toLowerCase()==="channelgaminghardware")?n:{...n,articlecontroltag:[...a,"channel_gaming_hardware"]}})}function j2(e,t){return`${z2}?site=${encodeURIComponent(e)}&documentHandle=${encodeURIComponent(t)}&limit=1`}async function Y2(e,t){let n=`${e}|${t}`,a=Cv.get(n);if(a)return a;let l=yi(j2(e,t),{source:"review-model-resolver"}).then(({data:i})=>i?gf(i)[0]:null).then(i=>i?gi(i):"").catch(()=>"");return Cv.set(n,l),l}async function Nf(e,t,n,a="date_desc"){let l=o=>{let u=[o.datepublished,o.publisheddate,o.createddate,o.contentmodifieddate,o.modifieddate].find(s=>s!=null&&String(s).trim()),c=new Date(Array.isArray(u)?u[0]:u).getTime();return Number.isFinite(c)?c:0},i=o=>{let u=Array.isArray(o.productrating)?o.productrating[0]:o.productrating;return Number(u)||0},r=e.filter(o=>Zt(o)==="review"&&!gi(o)&&typeof o.documenthandle=="string"&&o.documenthandle.trim()).sort((o,u)=>{let c=i(o),s=i(u);return a==="rating_desc"?s-c||l(u)-l(o):a==="scored_first"&&+(s>0)-+(c>0)||l(u)-l(o)}).slice(0,n);return await Promise.all(r.map(async o=>{let u=await Y2(t,o.documenthandle);u&&(o.articlehawkmodels=[u])})),e}function xv(e,t){let n=()=>{wv(e,uv(t))};if(typeof window<"u"&&typeof window.requestIdleCallback=="function"){window.requestIdleCallback(n,{timeout:2e3});return}setTimeout(n,0)}function V2(e,t){return e&&e!=="all-authors"?`&articleAuthorHandle=${encodeURIComponent(e)}`:t&&t!=="All authors"&&t!=="all-authors"?`&articleAuthor=${encodeURIComponent(t)}`:""}function X2({articleCategory:e,articleTag:t,authorParameter:n}){return!!(n&&!e&&!t)}async function Mv({authorHandle:e,authorName:t,fallbackAuthorName:n,includeBuyingGuideProducts:a,includeCollections:l,includeDeals:i,includeReviewProducts:r,onProgress:o,articleCategory:u,articleTag:c,pageStarts:s,reviewPageStarts:f,loadAllReviewPages:d,signal:m,throwOnFailure:v,website:A}){let b=A||"tomsguide",h=V2(e,t),g=[],p=!1,y=!0,C=w=>j0(w,b,a,r,l,i),R=()=>q0(g).map(w=>{let D=gi(w);return D&&!String(w.articlehawkmodels||"").trim()?{...w,articlehawkmodels:[D]}:w}).filter(C),T=()=>{let w=R();w.length>0&&o?.(w)};try{let w=q2(b,h,a,u,s,{includeCollections:l,includeDeals:i},c),D=[];r&&(f||[0]).forEach(X=>{let de=Tv(b,h,u,X,c);D.push(de),w.push(de)});let k=async(X,de=D.includes(X)?"review-feed":"author-feed")=>{let $e=await yi(X,{signal:m,source:de});for(let jr=0;jr<U2&&!$e.response?.ok&&!m?.aborted;jr+=1)$e=await yi(X,{signal:m,source:de});let{data:Z,response:x}=$e,P=Z?gf(Z):[],Q=b==="pcgamer"&&de.startsWith("review-feed")?F2(P,b):P,Vn={articles:Q,data:Z,isPcGamerHardwareReviewFeed:b==="pcgamer"&&de.startsWith("review-feed"),response:x,reviewTotalCount:D.includes(X)&&Number(x?.headers.get("x-total-count"))||null};return Q.length>0&&g.push(...Q),Vn},se=w.filter(X=>Number(new URL(X).searchParams.get("start")||0)===0),I=w.filter(X=>!se.includes(X)),j=await oc(se,X=>k(X));T();let He=new Map(se.flatMap((X,de)=>{let $e=Rv(X);return $e?[[$e,j[de]]]:[]})),ze=new Map,St=[];I.forEach(X=>{let de=Rv(X);if(!de){St.push(X);return}ze.set(de,[...ze.get(de)||[],X])});let[Ie,rn]=await Promise.all([oc(St,X=>k(X)),Promise.all([...ze.entries()].map(async([X,de])=>{let $e=[],Z=He.get(X);for(let x of de){if(!Z||!G2(Z))break;let P=await k(x);$e.push(P),Z=P}return $e}))]),Be=[...Ie,...rn.flat()],Je=[...j,...Be];p=Je.length>0&&Je.every(X=>!X.response?.ok);let nt=Je.find(X=>X.reviewTotalCount!==null)?.reviewTotalCount;if(d!==!1&&f&&nt&&nt>f.length*50){let X=new Set(f),de=[];for(let Z=0;Z<nt;Z+=50)X.has(Z)||de.push(Z);let $e=await oc(de,async Z=>await k(Tv(b,h,u,Z,c),"review-feed-page"));Je.push(...$e)}y=Je.every(X=>X.response?.ok)}catch(w){y=!1}if(v&&p)throw new Error("The author feed could not be loaded");let M=R();if(M.length===0&&X2({authorParameter:h,articleCategory:u,articleTag:c}))try{let w=await yi(`${Bf}?site=${b}&limit=150${h}`,{signal:m,source:"author-feed-fallback"});if(!w.response?.ok&&n&&(w=await yi(`${Bf}?site=${b}&limit=150&articleAuthor=${encodeURIComponent(n)}`,{signal:m,source:"author-feed-fallback"})),w.data){let D=w.data,k=Array.isArray(D)?D:D.data||[];k.length>0&&(M=k.slice(0,150))}}catch(w){}return{articles:M.filter(C),complete:!m?.aborted&&y}}function Ev(e,t){let n=_f.get(e);if(n)return n;let a=Mv(t).then(l=>(l.complete&&l.articles.length>0&&xv(e,l.articles),l)).finally(()=>{_f.delete(e)});return _f.set(e,a),a}async function Dv(e,t){let n=await Mv(t);return n.complete&&n.articles.length>0&&xv(e,n.articles),n}async function _v({onBackgroundRefresh:e,onProgress:t,...n}){let a=bv(n),l=await Av(a);return l?(t?.(l.articles),l.isFresh||(n.signal?Dv(a,n):Ev(a,n)).then(({articles:o,complete:u})=>{u&&o.length>0&&e?.(o)}),l.articles):(await(n.signal?Dv(a,{...n,onProgress:t}):Ev(a,{...n,onProgress:t}))).articles}function Of(e,t){let n=e.shipping?.prime===!0,a=e.merchant?.name||e.merchant_name||e.retailer||"Retailer";typeof e.merchant=="string"&&(a=e.merchant);let l=null,i=0,r=String(e.model_id||e.id||"");if(r&&t)if(t[r]&&t[r].score!=null)l=parseFloat(t[r].score);else{let o=Object.values(t).find(u=>String(u.model_id)===r||String(u.id)===r);o&&o.score!=null&&(l=parseFloat(o.score))}return l!=null&&(i=Math.round((l>10?l/20:l/2)*2)/2),{isPrime:n,merchant:a,starRating:i>0?i:null}}function kf(e){let t=String(e.price||e.current_price||"0"),n=String(e.was_price||e.msrp||e.original_price||"0"),a=parseFloat(t.replace(/[^0-9.]/g,""))||0,l=parseFloat(n.replace(/[^0-9.]/g,""))||0,i=a===0||t==="0.00"||t==="0",r=e.currency&&typeof e.currency=="string"?e.currency:e.currency_symbol&&typeof e.currency_symbol=="string"?e.currency_symbol:"$",o=ee(e.percentage_saving_label||"");!o&&l>a&&a>0&&(o=Math.round((l-a)/l*100)+"% OFF");let u=r;return u.includes("&")&&(u.includes("36")?u="$":u.includes("163")||u.includes("pound")?u="\xA3":(u.includes("8364")||u.includes("euro"))&&(u="\u20AC")),{rawPrice:a,rawMsrp:l,currency:u,isCheckPrice:i,savingLabel:o}}function Bv({query:e,region:t,retailer:n,selectedBrands:a,offerType:l,priceRange:i,discountAmount:r,resultCount:o}){let u=new URL("https://search-api.fie.future.net.uk/widget.php");if(u.searchParams.append("model_name",e),t&&t!=="auto"&&u.searchParams.append("area",t),n&&u.searchParams.append("filter_merchant_name",n),a&&a.length>0&&u.searchParams.append("filter_label[text_brand]",a.join(",")),l&&u.searchParams.append("offer",l),i&&i!=="all"){if(i==="under50")u.searchParams.append("filter_max_price","50");else if(i==="over50")u.searchParams.append("filter_min_price","50");else if(i==="over30")u.searchParams.append("filter_min_price","30");else if(i==="over500")u.searchParams.append("filter_min_price","500");else if(i.includes("_")){let[c,s]=i.split("_");c&&u.searchParams.append("filter_min_price",c),s&&u.searchParams.append("filter_max_price",s)}}if(r&&r!=="0"){let c=(100-parseInt(r))/100;u.searchParams.append("min_discount_ratio",c.toString())}return u.searchParams.append("filter_product_types","deals"),u.searchParams.append("rows",String(o||"12")),u}function Nv(e){return e?.widget?.data?.offers?e.widget.data.offers:e?.data?.offers?e.data.offers:Array.isArray(e)?e:e?.offers?.offer?Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers?Array.isArray(e.offers)?e.offers:[e.offers]:[]}function Ov(e){let t=[];return e.forEach(n=>{let a=[];Array.isArray(n.offers)?a=n.offers:Array.isArray(n.offer)?a=n.offer:n.offers&&typeof n.offers=="object"?a=[n.offers]:n.offer&&typeof n.offer=="object"&&(a=[n.offer]),a.length>0?a.forEach(l=>{t.push({...n,...l})}):t.push(n)}),t}function kv(e){return e?.widget?.data?.model_info?e.widget.data.model_info:e?.data?.model_info?e.data.model_info:{}}var Lf=new Map,Q2=3e3,K2=["GB","US"],Lv=6,Z2=["brand","currency","fallbackImage","hasCommerceOffer","hawkPricePending","hawkListings","image","isCheckPrice","merchant","merchantId","modelId","msrp","price","productKey","productName","rawMsrp","rawPrice","savingLabel","title","url"];function Hf(e){return String(e||"").trim().toLowerCase()}function Gv(e){return e==="UK"?"GB":e}function Pv(e,t){let n=String(t||"").trim().toUpperCase(),l={AU:["A$","AUD"],CA:["CA$","CAD"],DE:["\u20AC","EUR"],ES:["\u20AC","EUR"],FR:["\u20AC","EUR"],GB:["\xA3","GBP","GB\xA3"],IT:["\u20AC","EUR"],NL:["\u20AC","EUR"],US:["$","USD","US$"]}[e];return!l||l.includes(n)}function Hv(e,t){return String(e.id||`hawk-deal-${t}`)}function W2(e){return e.map(t=>({...t,hasCommerceOffer:!1,hawkPricePending:!!t.hawkModelName,hawkListings:[],image:t.fallbackImage||t.image||"",isCheckPrice:!0,merchant:"",merchantId:"",msrp:"",price:"",productKey:"",rawMsrp:0,rawPrice:0,savingLabel:"",url:t.sourceArticleUrl||t.documentUrl||t.url}))}function I2(e){return Z2.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}function qv(e){return!!((e.isBuyingGuideProduct||e.isReviewProduct)&&e.hawkModelName)}function J2(e){return e.model_image_url||e.model_image||e.product_image||e.image_url||e.image||""}function Fv(e){return e.link||e.url||e.offer_link||""}function $2(e,t){let n=String(t.model_id||t.id||"");return n&&e[n]?e[n]:Object.values(e).find(a=>String(a?.model_id||a?.id||"")===n)||{}}function eS(e,t,n){let a=e.map(i=>{let r=kf(i),o=Of(i,t),u=Fv(i),c=ee(String(o.merchant||"")).trim();return!u||!c||r.rawPrice<=0||!Pv(n,r.currency)?null:{merchant:c,merchantId:typeof i.merchant=="object"?String(i.merchant?.id||""):"",modelId:String(i.model_id||""),offer:i,productKey:String(i.product_key||""),rawPrice:r.rawPrice,url:u}}).filter(i=>i!==null).sort((i,r)=>i.rawPrice-r.rawPrice||i.merchant.localeCompare(r.merchant)),l=new Set;return a.filter(i=>{let r=i.merchant.toLocaleLowerCase();return l.has(r)?!1:(l.add(r),!0)}).slice(0,4)}async function zv(e,t,n){let a=`${t}|${Hf(e)}`;return Lf.has(a)||Lf.set(a,(async()=>{let l;try{let i=new AbortController;l=setTimeout(()=>i.abort(),Q2);let r=await n(Bv({query:e,region:t,resultCount:12}).toString(),{signal:i.signal});if(!r.ok)return null;let o=await r.json(),u=Ov(Nv(o)),c=Hf(e),s=u.filter(A=>Hf(A.model_name||A.model)===c),f=s.length?s:u,d=f[0]||null;if(!d)return null;let m=kv(o),v=$2(m,d);return{brand:String(v?.brand||d.brand||"").trim(),modelInfo:m,offer:d,offers:f}}catch{return null}finally{l&&clearTimeout(l)}})()),Lf.get(a)}function Uv(e,t,n){return e.map(a=>{let l=String(a.hawkModelName);if(!qv(a)||!t.has(l))return a;let i=t.get(l);if(!i)return{...a,hawkPricePending:!1};let{offer:r}=i.lookup,o=kf(r),u=Of(r,i.lookup.modelInfo),c=J2(r),s=Fv(r),f=ee(String(r.model_name||r.model||a.hawkModelName||a.productName||a.title||"").trim()),d=!!(i.region===n&&s&&Pv(n,o.currency)),m=i.region===n?eS(i.lookup.offers,i.lookup.modelInfo,n).map(({offer:v,...A})=>A):[];return d?{...a,brand:i.lookup.brand||r.brand||a.brand,currency:o.currency||a.currency,fallbackImage:c?a.image:a.fallbackImage,hasCommerceOffer:!0,hawkPricePending:!1,hawkListings:m,image:c||a.image,isCheckPrice:o.isCheckPrice,merchant:u.merchant||a.merchant,merchantId:typeof r.merchant=="object"&&r.merchant?.id||"",modelId:r.model_id||"",msrp:o.rawMsrp>0?String(o.rawMsrp):"",price:o.rawPrice>0?String(o.rawPrice):"",productKey:r.product_key||"",productName:f||a.productName,rawMsrp:o.rawMsrp,rawPrice:o.rawPrice,savingLabel:o.savingLabel,title:f||a.title,url:s||a.url}:{...a,brand:i.lookup.brand||a.brand,fallbackImage:c?a.image:a.fallbackImage,hawkPricePending:!1,image:c||a.image,productName:f||a.productName,title:f||a.title}})}async function vi(e,t,n=fetch,a,l=[],i){let r=Gv(t),o=new Map,u=e.filter(qv).map(f=>String(f.hawkModelName)),c=new Set(u),s=Array.from(new Set([...l.filter(f=>c.has(f)),...u])).slice(0,a);for(let f=0;f<s.length;f+=Lv)await Promise.all(s.slice(f,f+Lv).map(async d=>{let m=await zv(d,r,n),v=m||r==="GB"?null:await zv(d,"GB",n);o.set(d,m?{lookup:m,region:r}:v?{lookup:v,region:"GB"}:null),i?.(Uv(e,o,r))}));return Uv(e,o,r)}async function jv(e,t=fetch){let n=W2(e),a=await Promise.all(K2.map(async i=>[i,await vi(n,i,t)])),l=new Map;return a.forEach(([i,r])=>{r.forEach((o,u)=>{if(!o.hasCommerceOffer)return;let c=Hv(o,u),s=l.get(c)||{};s[i]=I2(o),l.set(c,s)})}),e.map((i,r)=>{let o=l.get(Hv(i,r));return o?{...i,hawkRegionalCommerce:o}:i})}function zf(e,t){let n=Gv(t);return e.map(a=>{let l=a.hawkRegionalCommerce?.[n];return l?{...a,...l,hawkPricePending:!1}:a})}function Yv(e,t){let n=Array.from(new Set(e.map(i=>i.merchant).filter(Boolean))),a={};if(n.forEach(i=>{a[i]="loading"}),n.length===0)return{merchants:n,couponMap:a,couponUrl:null};let l=new URL("https://search-api.fie.future.net.uk/widget.php");return l.searchParams.append("model_name","Everything"),l.searchParams.append("filter_merchant_name",n.join(",")),l.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),l.searchParams.append("sort","voucher"),l.searchParams.append("rows","120"),l.searchParams.append("origin","widgets-clientside"),l.searchParams.append("combine_product_types","1"),l.searchParams.append("language","en-GB"),l.searchParams.append("all_filters","false"),l.searchParams.append("exclude_unlabelled","false"),l.searchParams.append("include_specs","false"),t&&t!=="auto"&&l.searchParams.append("area",t),{merchants:n,couponMap:a,couponUrl:l}}function Vv(e,t){let n=new URL("https://search-api.fie.future.net.uk/widget.php");return n.searchParams.append("model_name","Everything"),n.searchParams.append("language","en-GB"),t&&t!=="auto"&&n.searchParams.append("area",t),n.searchParams.append("combine_product_types","1"),n.searchParams.append("filter_merchant_name",e),n.searchParams.append("all_filters","false"),n.searchParams.append("exclude_unlabelled","false"),n.searchParams.append("include_specs","false"),n.searchParams.append("sort","voucher"),n.searchParams.append("distinct_merchants","natural"),n.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),n.searchParams.append("rows","50"),n.searchParams.append("origin","widgets-clientside"),n}function Uf(e,t,n=!0){if(!e?.length)return e||[];if(t==="date_desc"&&!n)return e;let a=[...e];return ln(a,t,n),a}function uc(e,t,n,a=!0){if(n!=="date_desc"||!e?.length)return t;let l=(c,s)=>String(c.id||s),i=new Map(t.map((c,s)=>[l(c,s),c])),r=new Set,o=e.flatMap((c,s)=>{let f=l(c,s);r.add(f);let d=i.get(f);return d?[d]:[]}),u=t.filter((c,s)=>!r.has(l(c,s)));return a?[...o.filter(nl),...u.filter(nl),...o.filter(c=>!nl(c)),...u.filter(c=>!nl(c))]:[...o,...u]}function Xv({activeDealTag:e,activeFreeformTag:t,clickedAuthorOverride:n,compactEmbed:a,compactInventoryExplored:l,compactLoadRequested:i,initialActiveDealTag:r,initialActiveFreeformTag:o,reviewInventoryBaked:u}){return!!(a&&u&&!n&&!i&&!l&&(!e||e===r)&&(!t||t===o))}var Qv=[0,50,100,150,200,250,300,350,400,450],Gf=4;function Kv(e){return(Array.isArray(e)?e:[e]).reduce((n,a)=>{if(typeof a!="string"||!a.trim())return n;let l=a.trim();return n.some(i=>i.toLowerCase()===l.toLowerCase())?n:[...n,l]},[])}function nS(e,t){return e.length===t.length&&e.every((n,a)=>n===t[a])}function Pf(e){return e.map(t=>t.trim().toLowerCase()).sort().join("|")}function qf(e){let t=e.initialData,n=Fu(e),a=!!(e.preloadReviewInventory&&!n),l=!!(e.preloadReviewInventory&&e.includeReviewProducts&&!e.compactEmbed),i=n?Number(e.resultCount)||12:100,r=n?!1:e.prioritiseCommercialProducts,o=wt(e.region),u=zf(t?.allDeals||t?.deals||[],o).filter(_=>P0(_,o)),c=wa(n?"date_desc":e.sort,!Or(e)),s=!!(e.priceRange&&e.priceRange!=="all")||!!(e.discountAmount&&e.discountAmount!=="0"&&e.discountAmount!=="all"),f=tl(t?.authorArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),d=tl(t?.authorInteractionArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),[m,v]=(0,N.useState)(()=>Uf(u,c,r)),[A,b]=(0,N.useState)(t?.totalDealCount??t?.allDeals?.length??t?.deals?.length??0),[h,g]=(0,N.useState)(t?.totalAuthorCount??t?.authors?.length??0),[p,y]=(0,N.useState)(!t),[C,R]=(0,N.useState)(!1),[T,M]=(0,N.useState)(!1),[w,D]=(0,N.useState)(!1),[k,se]=(0,N.useState)(t?.couponMap||{}),[I,j]=(0,N.useState)(f),[He,ze]=(0,N.useState)(f),[St,Ie]=(0,N.useState)(t?.tags||[]),[rn,Be]=(0,N.useState)(t?.tagCounts||{}),[Je,nt]=(0,N.useState)(t?.freeformTags||[]),[X,de]=(0,N.useState)(t?.freeformTagCounts||{}),[$e,Z]=(0,N.useState)(t?.brands||[]),[x,P]=(0,N.useState)(()=>{let _=t?.activeDealTag||e.query;return _&&_.toLowerCase()!=="everything"?_:null}),[Q,Vn]=(0,N.useState)(()=>Kv(t?.activeFreeformTags||t?.activeFreeformTag)),[jr,bi]=(0,N.useState)(f),[sc,ll]=(0,N.useState)(null),[at,Yr]=(0,N.useState)(!1),[il,Vr]=(0,N.useState)(""),[rl,Xr]=(0,N.useState)(""),[f1,g1]=(0,N.useState)(0),[Wt,dc]=(0,N.useState)(e.resultCount?parseInt(e.resultCount):12),[Xf,fc]=(0,N.useState)(!1),[m1,Qr]=(0,N.useState)(null),[gc,h1]=(0,N.useState)(!1),[mc,p1]=(0,N.useState)([0]),Kr=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`:""),hc=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}|age-${e.editorialMaxAgeMonths||"none"}`:""),y1=(0,N.useRef)(e.website||"tomsguide"),pc=(0,N.useRef)(e.website||"tomsguide"),Qf=(0,N.useRef)(u.length>0),Kf=(0,N.useRef)(null),ol=(0,N.useRef)(new Map),v1=(0,N.useRef)({activeDealTag:String(x||"").trim().toLowerCase(),freeformTags:Pf(Kv(t?.activeFreeformTags||t?.activeFreeformTag)),discountAmount:e.discountAmount,priceRange:e.priceRange}),Xn=(0,N.useRef)(!1),De=(0,N.useRef)(!1),Ai=(0,N.useRef)(!1),Zf=(_,oe,ne=at?il:e.authorHandle,we=at?rl:e.authorName)=>[e.website||"tomsguide",ne||"",we||"",wt(e.region),String(_||"").trim().toLowerCase(),Pf(oe),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),Wf=(_,oe)=>{let ne=v1.current;return!!(e.compactEmbed&&t?.brands?.length&&String(_||"").trim().toLowerCase()===ne.activeDealTag&&Pf(oe)===ne.freeformTags&&e.priceRange===ne.priceRange&&e.discountAmount===ne.discountAmount)},Zr=(_,oe)=>{let ne=ol.current.get(Zf(_,oe));if(ne){Z(ne);return}if(Wf(_,oe)){Z(t?.brands||[]);return}},ul=()=>Xn.current||n?void 0:e.productSelection;(0,N.useEffect)(()=>{ll(null)},[e.authorName,e.authorHandle]),(0,N.useLayoutEffect)(()=>{let _=e.website||"tomsguide";pc.current!==_&&(pc.current=_,v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),ol.current.clear(),se({}),Yr(!1),Vr(""),Xr(""),ll(null),P(null),Vn([]),g(0),b(0),M(!1),fc(!1),Qr(null),Ai.current=!1,R(!0),y(!0))},[e.website]),(0,N.useEffect)(()=>{e.compactEmbed||typeof document>"u"||setTimeout(()=>{document.dispatchEvent(new CustomEvent("processArticle"))},100)},[m,Wt,e.query,x,Q]),(0,N.useEffect)(()=>{e.resultCount&&(dc(parseInt(e.resultCount,10)||12),Qr(null))},[e.resultCount]),(0,N.useEffect)(()=>{Qr(null)},[x,Q,e.authorHandle,e.authorName,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands,e.sort]),(0,N.useEffect)(()=>{if(!t||!e.includeBuyingGuideProducts&&!e.includeReviewProducts||e.compactEmbed&&(De.current||e.refreshDealsOnViewport))return;let _=wt(e.region),oe=zf(t.allDeals||t.deals||[],_);if(_==="unavailable"){let It=oe.map(on=>(on.isBuyingGuideProduct||on.isReviewProduct)&&on.hawkModelName?{...on,hawkPricePending:!1}:on);ln(It,c,r),v(yn(It,ul(),c));return}let ne=al(oe,e.selectedBrands),we=Number(e.resultCount)||12,Ta=typeof navigator>"u"?void 0:navigator.connection,Ea=!Ta?.saveData&&!Ta?.effectiveType?.includes("2g")&&(!e.compactEmbed||!!e.warmInventory),Si=s?ne:t.reviewInventoryBaked?ne.slice(0,Wt+(Ea?we:0)):oe;if(!Si.some(It=>(It.isBuyingGuideProduct||It.isReviewProduct)&&It.hawkModelName))return;let sl=!0;return M(!0),vi(Si,_).then(It=>{if(!sl)return;let on=t.reviewInventoryBaked?lv(oe,It):It,Ir=al(on,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(lt=>(lt.isBuyingGuideProduct||lt.isReviewProduct)&&lt.hawkModelName?{...lt,hawkPricePending:!1}:lt);ln(Ir,c,r),v(yn(Ir,ul(),c)),Z(lt=>t?.brands?.length?lt:hf(lt,It))}).finally(()=>{sl&&M(!1)}),()=>{sl=!1}},[t,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,e.selectedBrands,e.discountAmount,e.priceRange,c,e.productSelection,Wt,e.resultCount,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,x,Q]),(0,N.useEffect)(()=>{let _=!0,oe=new AbortController,ne=Ai.current,we=!e.refreshDealsOnViewport&&Xv({activeDealTag:x,activeFreeformTag:Q[0]||null,clickedAuthorOverride:at,compactEmbed:e.compactEmbed,compactInventoryExplored:De.current,compactLoadRequested:gc,initialActiveDealTag:t?.activeDealTag,initialActiveFreeformTag:t?.activeFreeformTag,reviewInventoryBaked:t?.reviewInventoryBaked}),Ta=u.length>0,Ea=!!(n&&e.compactEmbed&&!De.current),Si=!!(Ea&&e.warmInventory&&I.length===0&&m.length>0),sl=!!(we||e.compactEmbed&&Ta&&I.length===0&&!at&&!gc&&!De.current&&!e.refreshDealsOnViewport&&(!n||!e.warmInventory));return!sl&&!ne&&!Si&&(R(!0),e.compactEmbed&&De.current&&v([])),(async()=>{D(!1),M(!1);let on=m.length>0||St.length>0||Je.length>0||$e.length>0,Ir=sl;try{if(!e.authorName&&!e.authorHandle){v([]),j([]),bi([]),Ie([]),nt([]),Z([]),ll(null),P(null),Vn([]),y(!0);return}let lt=at?il:e.authorHandle,Jr=at?rl:e.authorName,$r=`${e.website||"tomsguide"}|${lt||""}|${Jr||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`,yc=`${$r}|${e.compactEmbed&&x||""}|${e.compactEmbed?Q.join(","):""}|${e.compactEmbed&&De.current?"expanded":e.refreshDealsOnViewport?"viewport-refresh":"initial"}|lightweight-pages-${Ea?mc.join(","):"all"}|age-${e.editorialMaxAgeMonths||"none"}`,Jt=I,$f=St,U1=ev(Je,Q.length===1?Q[0]:null),eg=()=>({activeDealTag:x,activeFreeformTag:Q[0]||null,activeFreeformTags:Q,preserveFreeformTagSelection:!!(e.compactEmbed&&Q.length),authorHandle:lt,authorName:Jr,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,priceRange:e.priceRange,prioritiseCommercialProducts:r,productSelection:ul(),query:e.query,region:e.region,selectedArticleId:sc,selectedBrands:e.selectedBrands,sort:c,website:e.website}),tg=hc.current!==yc||Jt.length===0,Da=[],vc=!1,ng=(me,zt=!1)=>{if(!_||zt&&vc)return;let bn=al(me,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange});ln(bn,c,r);let Di=yn(bn,ul(),c);v(uc(Da,Di,c,r))};if(Ir){y(!1),R(!1);return}if(tg){let me=Kr.current.split("|")[0],zt=e.website||"tomsguide",bn=!!(Kr.current&&me!==zt);!ne&&!Si&&R(!!e.compactEmbed||!on),bn&&(Jt=[],$f=[],v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),se({}),Yr(!1),Vr(""),Xr(""),y(!0));let Di=Qf.current&&Kr.current===$r&&Jt.length===0&&!De.current;Qf.current=!1,!Di&&!on&&y(!0);let lo=Ba=>{if(!_||Ba.length===0)return;let fe=eg(),it=Cf(Ba,fe),{displayedDeals:io}=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);io.length!==0&&(Da=io,v(Da),y(!1),e.includeReviewProducts&&Nf(it.targetArticles,e.website||"tomsguide",Math.min(Wt,Gf),c).then(()=>{if(!_||vc)return;let An=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);Da=An.displayedDeals,v(Da);let xi=An.displayedDeals.filter(dt=>dt.isReviewProduct&&dt.hawkModelName).slice(0,Gf).map(dt=>String(dt.hawkModelName));vi(An.extractedDeals,it.activeRegionCode,void 0,Gf,xi,dt=>ng(dt,!0))}))};if(Jt=await _v({authorHandle:lt,authorName:Jr,fallbackAuthorName:e.authorName,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,articleCategory:e.compactEmbed&&x||void 0,articleTag:e.compactEmbed?U1:void 0,pageStarts:e.compactEmbed&&!e.warmInventory&&!De.current?[0]:void 0,reviewPageStarts:e.includeReviewProducts?Ea?mc:!e.compactEmbed||De.current?Qv:void 0:void 0,loadAllReviewPages:!Ea,throwOnFailure:!!(e.compactEmbed&&De.current),onBackgroundRefresh:Ba=>{if(!_||hc.current!==yc)return;let fe=tl(Ba,void 0,Number(e.editorialMaxAgeMonths)||0);j(fe),at||ze(fe),g1(it=>it+1)},onProgress:lo,signal:oe.signal,website:e.website}),!_)return;if(Jt=tl(Jt,void 0,Number(e.editorialMaxAgeMonths)||0),Kr.current=$r,hc.current=yc,Di&&Jt.length===0){y(!1);return}_&&(j(Jt),at||ze(Jt),R(!1))}let eo=eg(),G1=Cf(Jt,eo),{activeDealTag:xa,activeRegionCode:Ci,authorArticles:ag,activeFreeformTags:Ma,freeformTagCounts:lg,freeformTags:to,tagCounts:ig,tags:Ri,targetArticles:_a,targetIso:P1}=G1,Ti=e.compactEmbed&&x&&!xa?x:xa,Ei=e.compactEmbed&&Q.length>0&&Ma.length===0?Q:Ma,q1=Ri.length>0?Ri:Ti?[Ti]:Ri,F1=to.length>0?to:Ei.length>0?t?.freeformTags?.filter(me=>Ei.includes(me.handle))||[]:to,j1={...ig,...Ti&&!xa?{[Ti]:0}:{}},Y1={...lg,...Object.fromEntries(Ma.length===0?Ei.map(me=>[me,0]):[])},no=Zf(xa,Ma,lt,Jr),rg=[$r,Ci,xa||"",Ma.join(","),e.selectedBrands.join(","),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),dl=null,fl=null;if(!at){let me=Kf.current;if(me?.key===rg&&me.articleCount===_a.length)dl=me.deals.length,fl=me.authorCount;else{let zt=dv(_a,eo);dl=zt.deals.length,fl=zt.authorCount,Kf.current={articleCount:_a.length,authorCount:fl,deals:zt.deals,key:rg}}}$f=Ri;let Ht;_&&(Ie(q1),Be(j1),nt(F1),de(Y1)),e.includeReviewProducts&&await Nf(_a,e.website||"tomsguide",l?Math.min(_a.length,i):Wt,c);let{brands:bc,displayedDeals:Ac,extractedDeals:ao}=ic(_a,eo,Ci,P1),{merchants:V1,couponMap:wc,couponUrl:X1}=Yv(Ac,e.region);_&&se(wc);let Q1=me=>{!_||!Ht||(Ht={...Ht,couponMap:me},window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht))};if(hv({couponMap:wc,couponUrl:X1,merchants:V1}).then(me=>{_&&(se(me),Q1(me))}),_){tg&&P(Ti),nS(Q,Ei)||Vn(Ei),bi(ag);let me=uc(Da,Ac,c,r);if(vc=!0,v(me),dl!==null){let zt=t?.totalDealCount||0,bn=Ea&&zt>dl;b(bn?zt:dl),g(bn?Math.max(t?.totalAuthorCount||0,fl||0):fl||0)}!ol.current.has(no)&&Wf(xa,Ma)&&ol.current.set(no,t?.brands||[]),Z(ol.current.get(no)||bc),y(!1),Ht=fv({allArticles:Jt,authorArticles:ag,bakeReviewInventory:a&&!e.compactEmbed,brands:bc,couponMap:wc,currentDealTag:xa,currentFreeformTags:Ma,displayedDeals:me,inventoryArticles:_a,options:eo,resultCount:e.resultCount,tagCounts:ig,tags:Ri,freeformTagCounts:lg,freeformTags:to,totalAuthorCount:fl??h,totalDealCount:dl??A}),window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht)}if((e.includeBuyingGuideProducts||e.includeReviewProducts)&&Ci!=="unavailable"){let me=Wt,zt=l?ao.filter(fe=>fe.isReviewProduct&&fe.hawkModelName).slice(0,i).map(fe=>String(fe.hawkModelName)):[],bn=Ac.filter(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName).map(fe=>String(fe.hawkModelName));ao.some(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName)&&M(!0);let lo=vi(ao,Ci,void 0,s?void 0:e.includeReviewProducts?l?i:me:void 0,[...zt,...bn],ng).then(async fe=>{if(!_)return;let it=al(fe,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(dt=>(dt.isBuyingGuideProduct||dt.isReviewProduct)&&dt.hawkModelName?{...dt,hawkPricePending:!1}:dt);ln(it,c,r);let io=yn(it,ul(),c),An=uc(Da,io,c,r),xi=hf(bc,fe);if(ol.current.set(no,xi),v(An),Z(xi),s&&b(it.length),Ht){let dt=a&&!e.compactEmbed,og=l,ug=dt?ac(An,Number(e.resultCount)||12):og?An.slice(0,i):An,K1=og?await jv(ug):ug;if(!_)return;let Sc={...Ht,allDeals:K1,deals:An.slice(0,me),brands:xi,totalDealCount:s?it.length:Ht.totalDealCount};Ht=Sc,window.__AUTHOR_PRELOAD_DATA__=Sc,e.onDataLoaded&&e.onDataLoaded(Sc)}}).finally(()=>{_&&M(!1)}),Ba=ao.slice(me,me+(Number(e.resultCount)||12));e.includeReviewProducts&&e.warmInventory&&!s&&!ne&&Ba.some(fe=>fe.hawkModelName)&&lo.then(()=>{_&&vi(Ba,Ci)}),ne&&await lo}}catch(lt){_&&D(!0)}finally{_&&(y(!1),R(!1),fc(!1),Ai.current=!1)}})(),()=>{_=!1,oe.abort()}},[e.query,e.region,e.selectedBrands,e.website,e.resultCount,Wt,c,e.priceRange,e.discountAmount,x,Q,e.authorName,e.authorHandle,e.website,e.authorBioLength,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,s,a,l,i,r,n,mc,e.productSelection,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,e.editorialMaxAgeMonths,sc,at,il,rl,f1,gc]);let Wr=e.website||"tomsguide",st=pc.current!==Wr,Ra=(0,N.useMemo)(()=>st?[]:y1.current===Wr&&t?.authors?t.authors:Lr(He.length>0?He:I,Wr),[I,Wr,He,t?.authors,st]),b1=at?il:e.authorHandle,A1=at?rl:e.authorName,w1=Ra.find(_=>_.handle===b1||_.fullName===A1),cl=He.length>0?He:I,If=(0,N.useMemo)(()=>{if(cl.length===0)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q),we=Sf(Ra,ne,{activeRegionCode:_,targetIso:oe,selectedBrands:e.selectedBrands,priceRange:e.priceRange,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website});return Yu(Ra,we)},[x,Q,Ra,cl,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands]),S1=(0,N.useMemo)(()=>{if(st)return[];if(cl.length===0&&t?.authors?.length||e.compactEmbed&&!x&&Q.length===0&&t?.authors?.length)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q).filter(we=>mi([we],{activeRegionCode:_,targetIso:oe,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website}).length>0);return kr(If,ne)},[x,Q,cl,st,at,t?.authors?.length,e.compactEmbed,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,If,e.website]),Jf=(_,oe)=>{let ne=He.length>0?He:I.length>0?I:d;if(ne.length===0)return;let we=yv(ne,{authorHandle:_,authorName:oe,discountAmount:e.discountAmount,priceRange:e.priceRange,region:e.region,selectedBrands:e.selectedBrands,sort:c,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,prioritiseCommercialProducts:r,website:e.website,productSelection:void 0});ll(null),P(null),Vn([]),bi(we.authorArticles),Ie(we.tags),Be(we.tagCounts),nt(we.freeformTags),de(we.freeformTagCounts),Z(we.brands),v(we.deals),y(!1)},C1=()=>{!e.compactEmbed||!t||(v(yn(Uf(t.deals||t.allDeals||[],c,r),ul(),c)),Ie(t.tags||[]),Be(t.tagCounts||{}),nt(t.freeformTags||[]),de(t.freeformTagCounts||{}),Z(t.brands||[]),se(t.couponMap||{}),g(t.totalAuthorCount??t.authors?.length??0),b(t.totalDealCount??t.deals?.length??t.allDeals?.length??0))},R1=_=>{Xn.current=!0,De.current=!0,R(!0),at&&(il===_.handle||rl===_.fullName)?(e.compactEmbed&&t?C1():Jf(e.authorHandle,e.authorName),Yr(!1),Vr(""),Xr("")):(Jf(_.handle,_.fullName),Yr(!0),Vr(_.handle),Xr(_.fullName)),e.onQueryChange?.("")},T1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=x===_?null:_;Zr(oe,Q),P(oe),e.onQueryChange?.("")},E1=()=>{Xn.current=!0,De.current=!0,R(!0)},D1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(null,Q),P(null),e.onQueryChange?.("")},x1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=Q.some(ne=>ne.toLowerCase()===_.toLowerCase())?Q.filter(ne=>ne.toLowerCase()!==_.toLowerCase()):[...Q,_];Zr(x,oe),Vn(oe)},M1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(x,[]),Vn([])},_1=_=>{Xn.current=!0,De.current=!0,R(!0),ll(_)},B1=()=>{if(Ai.current)return;Ai.current=!0,fc(!0);let _=Wt+(e.resultCount?parseInt(e.resultCount,10):12);!!(n&&e.compactEmbed&&!De.current)&&I.length>0&&m.length<_&&p1(we=>{let Ta=Qv[we.length];return Ta===void 0?we:[...we,Ta]}),dc(we=>(Qr(we),we+(e.resultCount?parseInt(e.resultCount,10):12)));let ne=!!(t?.reviewInventoryBaked&&m.length>Wt);e.compactEmbed&&I.length===0&&!ne&&(R(!0),h1(!0))},wi=e.compactEmbed&&!e.refreshDealsOnViewport,N1=wi&&t?.tags?.length?t.tags:St,O1=wi&&t?.tags?.length?t.tagCounts||{}:rn,k1=wi&&!De.current&&t?.brands?.length?t.brands:$e,L1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTags:Je,H1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTagCounts||{}:X,z1=pv({enrichingBuyingGuides:T,error:w,loading:p,loadingMore:Xf,refreshingFeed:C});return{activeDealTag:x,activeFreeformTags:Q,airedaleBrands:st?[]:k1,airedaleTagCounts:st?{}:O1,airedaleTags:st?[]:N1,airedaleFreeformTagCounts:st?{}:H1,airedaleFreeformTags:st?[]:L1,allAuthorsList:S1,authorArticlesList:st?[]:jr,clickedAuthorOverride:at,couponMap:k,deals:st?[]:m,displayCount:Wt,error:w,enrichingBuyingGuides:T,effectiveAuthorProfile:st?void 0:w1,loading:p,loadingMore:Xf,loadMoreStartCount:m1,markProductSelectionInteracted:E1,hasMore:m.length>Wt||!!e.compactEmbed&&A>m.length,loadMore:B1,refreshingFeed:C,overriddenAuthorHandle:il,overriddenAuthorName:rl,selectedArticleId:sc,setActiveDealTag:P,clearDealTag:D1,clearFreeformTags:M1,selectArticle:_1,setDisplayCount:dc,setSelectedArticleId:ll,status:z1,toggleAuthorOverride:R1,toggleDealTag:T1,toggleFreeformTag:x1,totalAuthorCount:st?0:h,totalDealCount:st?0:A}}var aS=B(ft(),1);var Fr=B(ft(),1);function Zv(e){let[t,n]=(0,Fr.useState)(null),[a,l]=(0,Fr.useState)([]),[i,r]=(0,Fr.useState)(!1),[o,u]=(0,Fr.useState)(!1);return{close:()=>n(null),error:o,loading:i,merchant:t,open:async f=>{n(f),r(!0),u(!1),l([]);try{let d=Vv(f,e),m=await fetch(d.toString());if(!m.ok)throw new Error("API Error");l(mv(await m.json()))}catch(d){u(!0)}finally{r(!1)}},vouchers:a}}var je=B(O(),1);function lS(e){return new Set(e.map(t=>Array.isArray(t.authorName)?t.authorName[0]:t.authorName).map(t=>String(t||"").trim().toLowerCase()).filter(Boolean)).size}var iS=new Map,rS=()=>{};function Iv({data:e,editorBar:t,editorMode:n=!1,props:a,selectedDeals:l=iS,setSelectedDeals:i=rS}){let r=Zv(a.region),[o,u]=(0,Wv.useState)(new Set),c=p0[a.website||""]||"#1F69FF",s=a.backgroundColor?a.backgroundColor==="white"?"#ffffff":a.backgroundColor==="transparent"?"transparent":a.backgroundColor==="light_blue"?"#E7F0FF":void 0:void 0,f=Vu(a.authorHandle,a.authorName),d=Or(a),m=Fu(a),v=wa(m?"date_desc":a.sort,!d),A=!!(a.showReviewSort&&a.includeReviewProducts),b=a.showPriceDiscountFilters!==!1||A,h=!a.authorFullBleed,g=!e.clickedAuthorOverride,p=e.totalDealCount||e.deals.length,y=e.totalAuthorCount||lS(e.deals),C=e.status==="loading_inventory"||e.status==="refreshing_inventory"||e.status==="enriching_visible_cards",R=e.status==="loading_inventory"||(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards")&&e.deals.length===0,M=!!(a.showReviewSort&&a.includeReviewProducts&&(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards"))?"Loading and sorting available review products":e.status==="enriching_visible_cards"?"Adding live product images and prices":e.status==="refreshing_inventory"?"Updating products":`Loading ${a.website||"site"} authors and products`,w=j=>{e.markProductSelectionInteracted(),a.onBrandToggle?.(j)},D=j=>{e.markProductSelectionInteracted(),a.onBrandSelect?.(j)},k=j=>{e.markProductSelectionInteracted(),a.onPriceRangeChange?.(j)},se=j=>{e.markProductSelectionInteracted(),a.onDiscountAmountChange?.(j)},I=j=>{e.markProductSelectionInteracted(),a.onSortChange?.(j)};return(0,je.jsx)("div",{className:"tg-df-widget-host",style:{"--tg-df-blue":c.toUpperCase()==="#FFFFFF"?"#000000":c},"data-vizualizer-embed":"true","data-tg-df-full-bleed":a.authorFullBleed?"true":"false","data-tg-df-mobile-dropdowns":a.mobileDropdowns?"true":"false","data-tg-df-sticky-mobile-filters":a.stickyMobileFilters===!1?"false":"true",children:(0,je.jsxs)("div",{className:"tg-df-container article-body",style:a.backgroundColor?{backgroundColor:s}:void 0,children:[(a.showAuthorIdentity!==!1||a.showAuthorBio!==!1)&&(0,je.jsx)("div",{className:"tg-df-author-embed",style:{width:"100%",fontFamily:"inherit"},children:(0,je.jsx)("div",{className:"tg-df-author-section",style:{display:"block",opacity:1,overflow:"visible",background:"transparent",border:"none"},children:(0,je.jsx)(U0,{authorArticlesList:e.authorArticlesList,authorBioLength:a.authorBioLength,customBio:g?a.customBio:void 0,customHeaderKicker:a.customHeaderKicker,customHeaderTitle:a.customHeaderTitle,effectiveAuthorHandle:e.clickedAuthorOverride?e.overriddenAuthorHandle:a.authorHandle,effectiveAuthorName:e.clickedAuthorOverride?e.overriddenAuthorName:a.authorName,isReviewWidget:d,onBioChange:g?a.onBioChange:void 0,onHeaderKickerChange:a.onHeaderKickerChange,onHeaderTitleChange:a.onHeaderTitleChange,selectedProfile:e.effectiveAuthorProfile,showAuthorBio:a.showAuthorBio,showAuthorIdentity:a.showAuthorIdentity,showSocialButtons:a.showSocialButtons,stabilizeBio:f,authorCount:y,totalDealCount:p,website:a.website})})}),t,a.showCollectionsDropdown&&(0,je.jsx)(r0,{articles:e.authorArticlesList,authorHandle:a.authorHandle,authorName:a.authorName||a.author,onChange:e.selectArticle,selectedArticleId:e.selectedArticleId,shortenedHeadlines:a.shortenedHeadlines}),C&&(0,je.jsxs)("div",{role:"status","aria-live":"polite","aria-label":M,style:{alignItems:"center",display:"flex",justifyContent:"center",marginBottom:"16px",minHeight:"72px"},children:[(0,je.jsx)("span",{className:"tg-df-coupon-spinner","aria-hidden":"true",style:{borderWidth:"3px",height:"24px",width:"24px"}}),(0,je.jsxs)("span",{style:{color:"#4B5563",fontSize:"14px",marginLeft:"10px"},children:[M,"\u2026"]})]}),(0,je.jsx)(_0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,allAuthorsList:e.allAuthorsList,brands:a.brands,clickedAuthorOverride:e.clickedAuthorOverride,loading:e.loading,refreshing:e.refreshingFeed,onAuthorClick:e.toggleAuthorOverride,onBrandToggle:w,onFreeformTagClick:e.toggleFreeformTag,onTagClick:e.toggleDealTag,overriddenAuthorHandle:e.overriddenAuthorHandle,overriddenAuthorName:e.overriddenAuthorName,selectedBrands:a.selectedBrands,showAuthorRail:f&&a.showAuthorRail!==!1,showAuthorCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,website:a.website}),(0,je.jsx)(k0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,brands:a.brands,discountAmount:a.discountAmount,enabled:a.mobileDropdowns||h,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,onPriceRangeChange:k,onReviewSortChange:I,onTagClear:e.clearDealTag,onTagClick:e.toggleDealTag,priceRange:a.priceRange,reviewSort:v,selectedBrands:a.selectedBrands||[],showCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),b&&(0,je.jsx)(L0,{airedaleBrands:e.airedaleBrands,airedaleTags:e.airedaleTags,discountAmount:a.discountAmount,hidden:!!e.selectedArticleId,onDiscountAmountChange:se,onPriceRangeChange:k,onReviewSortChange:I,priceRange:a.priceRange,reviewSort:v,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),(0,je.jsx)(i0,{articles:e.authorArticlesList,selectedArticleId:e.selectedArticleId}),(a.showCategoryRail!==!1||a.showFreeformTagRail!==!1||a.showBrandRail!==!1)&&(0,je.jsx)(a0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleTags:e.airedaleTags,freeformTags:e.airedaleFreeformTags,discountAmount:a.discountAmount,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onPriceRangeChange:k,onTagClear:e.clearDealTag,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,priceRange:a.priceRange,selectedBrands:a.selectedBrands||[]}),(0,je.jsx)(w0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,couponMap:e.couponMap,deals:e.deals,displayCount:e.displayCount,editorMode:n,error:e.error,expandedDealIds:o,hasMore:e.hasMore,hideHawkPrices:a.hideHawkPrices,loading:R,loadingMore:e.loadingMore,loadMoreStartCount:e.loadMoreStartCount,onDescriptionToggle:j=>u(He=>{let ze=new Set(He);return ze.has(j)?ze.delete(j):ze.add(j),ze}),onLoadMore:e.loadMore,onOpenVouchers:r.open,query:a.query,recentDealsOnly:!!(a.includeDeals&&!a.includeCollections&&!a.includeBuyingGuideProducts&&!a.includeReviewProducts),selectedBrands:a.selectedBrands,selectedDeals:l,setSelectedDeals:i,website:a.website}),(0,je.jsx)(G0,{error:r.error,loading:r.loading,merchant:r.merchant,onClose:r.close,vouchers:r.vouchers})]})})}var $v=B(O(),1),Jv=e=>{let t={...e,editorMode:!1},n=qf(t);return(0,$v.jsx)(Iv,{data:n,props:t})};var U={authorBioLength:"short",authorFullBleed:!0,authorHandle:"all-authors",authorName:"All authors",backgroundColor:"transparent",customBio:"",customHeaderKicker:void 0,customHeaderTitle:void 0,discountAmount:"0",editorMode:!1,editorialMaxAgeMonths:"12",includeBuyingGuideProducts:!0,includeCollections:!0,includeDeals:!0,includeReviewProducts:!1,mobileDropdowns:!0,stickyMobileFilters:!0,offerType:"",preloadReviewInventory:!1,lightweightReviewDelivery:!1,hideHawkPrices:!1,prioritiseCommercialProducts:!0,priceRange:"all",productSelection:"latest",query:"Everything",region:"auto",resultCount:"12",retailer:"",selectedBrands:[],showAuthorBio:!0,showAuthorCounters:!0,showAuthorIdentity:!0,showAuthorRail:!0,showBrandRail:!0,showCategoryRail:!0,showCollectionsDropdown:!1,showPriceDiscountFilters:!0,showReviewSort:!1,showSocialButtons:!0,showCountdown:!1,showHeaderDetails:!0,showFreeformTagRail:!0,sort:"date_desc",viewMode:"author",website:"whowhatwear",widgetSubtitle:"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.",widgetTitle:"Top Deals Handpicked by Our Editors"};function We(e,t){return typeof e=="string"?e:t}function Ae(e,t){return typeof e=="boolean"?e:t}function e1(e){let t=e||{},n=t.authorBioLength==="long"?"long":"short",a=t.productSelection==="mix"?"mix":"latest";return{...U,...t,authorBioLength:n,authorFullBleed:Ae(t.authorFullBleed,U.authorFullBleed),authorHandle:We(t.authorHandle,U.authorHandle),authorName:We(t.authorName,U.authorName),backgroundColor:We(t.backgroundColor,U.backgroundColor),customBio:We(t.customBio,U.customBio),customHeaderKicker:typeof t.customHeaderKicker=="string"?t.customHeaderKicker:void 0,customHeaderTitle:typeof t.customHeaderTitle=="string"?t.customHeaderTitle:void 0,discountAmount:We(t.discountAmount,U.discountAmount),editorMode:Ae(t.editorMode,U.editorMode),editorialMaxAgeMonths:We(t.editorialMaxAgeMonths,U.editorialMaxAgeMonths),includeBuyingGuideProducts:Ae(t.includeBuyingGuideProducts,U.includeBuyingGuideProducts),includeCollections:Ae(t.includeCollections,U.includeCollections),includeDeals:Ae(t.includeDeals,U.includeDeals),includeReviewProducts:Ae(t.includeReviewProducts,U.includeReviewProducts),mobileDropdowns:Ae(t.mobileDropdowns,U.mobileDropdowns),stickyMobileFilters:Ae(t.stickyMobileFilters,U.stickyMobileFilters),offerType:We(t.offerType,U.offerType),preloadReviewInventory:Ae(t.preloadReviewInventory,U.preloadReviewInventory),lightweightReviewDelivery:Ae(t.lightweightReviewDelivery,U.lightweightReviewDelivery),hideHawkPrices:Ae(t.hideHawkPrices,U.hideHawkPrices),prioritiseCommercialProducts:Ae(t.prioritiseCommercialProducts,U.prioritiseCommercialProducts),priceRange:We(t.priceRange,U.priceRange),productSelection:a,query:We(t.query,U.query),region:We(t.region,U.region),resultCount:We(t.resultCount,U.resultCount),retailer:We(t.retailer,U.retailer),selectedBrands:Array.isArray(t.selectedBrands)?t.selectedBrands.filter(l=>typeof l=="string"):[],showAuthorBio:Ae(t.showAuthorBio,U.showAuthorBio),showAuthorCounters:Ae(t.showAuthorCounters,U.showAuthorCounters),showAuthorIdentity:Ae(t.showAuthorIdentity,U.showAuthorIdentity),showAuthorRail:Ae(t.showAuthorRail,U.showAuthorRail),showBrandRail:Ae(t.showBrandRail,U.showBrandRail),showCategoryRail:Ae(t.showCategoryRail,U.showCategoryRail),showCollectionsDropdown:Ae(t.showCollectionsDropdown,U.showCollectionsDropdown),showPriceDiscountFilters:Ae(t.showPriceDiscountFilters,U.showPriceDiscountFilters),showReviewSort:Ae(t.showReviewSort,U.showReviewSort),showSocialButtons:Ae(t.showSocialButtons,U.showSocialButtons),showCountdown:Ae(t.showCountdown,U.showCountdown),showHeaderDetails:Ae(t.showHeaderDetails,U.showHeaderDetails),showFreeformTagRail:Ae(t.showFreeformTagRail,U.showFreeformTagRail),sort:We(t.sort,U.sort),viewMode:We(t.viewMode,U.viewMode),website:We(t.website,U.website),widgetSubtitle:We(t.widgetSubtitle,U.widgetSubtitle),widgetTitle:We(t.widgetTitle,U.widgetTitle)}}function t1(e,t={}){return{...e,brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}}function n1(e,t){try{window.hawk?.analytics?.freyr?.push({name:e,data:t}),window.dispatchEvent(new CustomEvent("hawk-analytics-update")),window.freyr?.cmd.push(()=>{window.freyr?.pushAndUpdate?.(e,t)})}catch{}}function a1(){window.dataLayer=window.dataLayer||[],window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.hawk=window.hawk||{},window.hawk.analytics=window.hawk.analytics||{},window.hawk.analytics.freyr=window.hawk.analytics.freyr||[],window.freyr=window.freyr||{cmd:[]},window.freyr.cmd=window.freyr.cmd||[];let e="https://freyr.futurecdn.net/freyr.js",t=window.location.hostname;if(!(window.navigator.webdriver||window.navigator.userAgent.includes("Headless"))&&!!t&&t!=="localhost"&&t!=="127.0.0.1"&&!t.includes("run.app")&&!document.querySelector(`script[src="${e}"]`)){let l=document.createElement("script");l.src=e,l.async=!0,document.head.appendChild(l)}}function oS(e){let t=Number.parseFloat(e.rawPrice||e.price)||null,n=Number.parseFloat(e.rawMsrp||e.msrp)||null;return{product:{primary:{id:e.externalProductId||e.id||e.matchId||null,name:e.productName||e.title||"",type:"deal",price:t,previousPrice:n,currency:e.isoCurrencyCode||e.currency||"USD",preorder:!1,labels:e.modelBrand||e.brand?[{type:"brand",value:e.modelBrand||e.brand}]:[],link:e.url||null,originalLink:e.originalLink||e.url||null,revenueId:e.revenueId||null,startTime:null,endTime:null,voucherCode:null,voucherAudience:null,voucherPercentageSaving:n&&t&&n>t?Math.round((1-t/n)*100):null,voucherMoneySaving:null,voucherType:null,offerExclusive:!1,offerScope:null,globalId:e.productKey||null,inStock:e.inStock!==!1,contractProvider:null,contractMinutes:null,contractTexts:null,contractData:null,contractLength:null,contractMonthlyPrice:null,contractCurrency:e.isoCurrencyCode||e.currency||"USD"}},merchant:{id:e.merchantId||null,name:e.merchant||"Retailer",url:e.merchantUrl||null,network:e.merchantNetwork||null},model:{id:e.modelId||null,brand:e.modelBrand||e.brand||null,name:e.productName||e.title||"",parent:e.modelParent||null}}}var uS=new Set(["subid1","ascsubtag","clickref","u1"]);function cS(e){return e.match(/(?:^|[-_])(\d{10,})(?=$|[-_])/)?.[1]||null}function sS(e){let t=new Set,n=a=>{if(!a||t.has(a))return null;t.add(a);let l;try{l=new URL(a)}catch{return null}for(let[i,r]of l.searchParams)if(uS.has(i.toLowerCase())){let o=cS(r);if(o)return o}for(let i of l.searchParams.values())if(/^https?:\/\//i.test(i)){let r=n(i);if(r)return r}return null};return n(e)}function l1({areaClicked:e,clickType:t,deals:n,index:a,queryName:l}){let i={event:"hawkEvent",category:"Affiliates",affiliate:{action:{type:t,id:"author-widget",event:t==="appeared"?"viewed":"Click from",timestamp:Date.now()},component:{flag:"Editor",product:"deals",category:"Signal Deal Finder Author widget",type:t==="appeared"?"review":"signal product",label:l||n[0]?.productName||n[0]?.title||"",index:a??-1,linkCount:n.length,blockLayout:"",areaClicked:e}},products:n.slice(0,20).map(oS),reviews:[],_clear:!0,"gtm.uniqueEventId":Date.now()%1e4};n1("hawkEvent",i)}function i1(e,t){e.length&&l1({areaClicked:"",clickType:"appeared",deals:e,index:null,queryName:t})}function r1(e,t){if(e?.deals?.length)return e.deals;let n=Number(t)||12;return e?.allDeals?.slice(0,n)||[]}function o1(e){e.addEventListener("click",t=>{let n=t.target;if(!(n instanceof Element))return;let a=n.closest("a[data-fcaw-affiliate-link][href], a.hawk-affiliate-link-deal-widget[href], a.hawk-affiliate-link-container[href], a.hawk-affiliate-link-deal-button[href]"),l=n.closest(".tg-df-card"),i=!!(!a?.dataset.fcawRevenueId&&(a?.hasAttribute("data-hl-processed")||a?.hasAttribute("data-fcaw-hawklinks-requested")));a&&l&&!i&&l1({areaClicked:"Signal Product Card",clickType:"retailer",deals:[{brand:l.dataset.brand,currency:l.dataset.currency,id:l.dataset.dealId,merchant:a.dataset.merchant||l.dataset.merchant,merchantId:a.dataset.merchantId||l.dataset.merchantId,modelId:a.dataset.modelId||l.dataset.modelId,productKey:a.dataset.productKey||l.dataset.productKey,rawMsrp:l.dataset.previousPrice,rawPrice:l.dataset.price,originalLink:a.dataset.fcawOriginalLink||a.href,revenueId:a.dataset.fcawRevenueId||sS(a.href),title:l.dataset.productName,url:a.href}],index:Array.from(e.querySelectorAll(".tg-df-card")).indexOf(l)});let r=n.closest('button, select, [role="button"]');r&&n1("elementInteraction",{element:{action:"click",id:r.id||void 0,class:r.className||void 0,name:r.getAttribute("name")||r.getAttribute("aria-label")||void 0,text:r.textContent?.trim()||void 0,label:r.getAttribute("aria-label")||void 0}})})}var Vf=B(O(),1),dS='fc-author-commerce-widget[data-fcaw-version="1"]',fS="(max-width: 599px)",gS=600,mS='[class*="membership-expandable-banner"]',hS=/^jump\s+to\b/i,jf="data-fcaw-jump-navigation-suppressed",pS=50,yS=1e4,vS=["[data-sticky-header]","[data-header-sticky]",'[role="banner"]',".navigation__container",".site-header",".main-header",".header__container",'[class*="membership-expandable-banner"] [class*="skinny-banner"]','[class*="membership-expandable-banner"] [id="skinnyBanner"]',"nav","header"].join(","),bS=`  :host {    display: block !important;    width: 100% !important;    min-width: 0 !important;    max-width: none !important;    isolation: isolate !important;    contain: style !important;  }  :host([data-fcaw-full-bleed="true"]) {    width: min(      1200px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1200px !important;    margin-left: var(      --fcaw-full-bleed-offset,      calc(50% - min(600px, 50vw))    ) !important;    margin-right: 0 !important;    position: relative !important;  }  :host([data-fcaw-full-bleed="true"]) #tg-df-spreadsheet-filters {    width: min(      1500px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1500px !important;    margin-left: calc(      (        100% -        min(1500px, var(--fcaw-viewport-width, 100vw))      ) / 2    ) !important;    margin-right: 0 !important;  }  :host, :host *, :host *::before, :host *::after {    box-sizing: border-box;  }`,Ff=new WeakMap;function AS(){if(document.querySelector("style[data-fcaw-jump-navigation-protection]"))return;let e=document.createElement("style");e.setAttribute("data-fcaw-jump-navigation-protection",""),e.textContent=`    [${jf}="true"] {      opacity: 0 !important;      pointer-events: none !important;      visibility: hidden !important;    }  `,document.head.appendChild(e)}function wS(){let e=Array.from(document.querySelectorAll("span, p, div, strong, b")).filter(n=>n.childElementCount===0&&hS.test(n.textContent?.trim()||"")),t=new Set;for(let n of e)for(let a=n.parentElement;a&&a!==document.body;a=a.parentElement)if(getComputedStyle(a).position==="sticky"){t.add(a);break}return[...t]}function SS(e,t,n){let a=Ff.get(e)||new Set;n?a.add(t):a.delete(t),a.size>0?(Ff.set(e,a),e.setAttribute(jf,"true")):(Ff.delete(e),e.removeAttribute(jf))}function CS(e){if(e.dataset.fcawFullBleed!=="true"||typeof IntersectionObserver>"u")return;let t=wS().filter(a=>!a.contains(e));if(t.length===0)return;AS(),new IntersectionObserver(([a])=>{t.forEach(l=>SS(l,e,a.isIntersecting))},{threshold:0}).observe(e)}function RS({host:e,initialData:t,initialProps:n}){let[a]=(0,Lt.useState)(d1),l=DS(t,a),[i,r]=(0,Lt.useState)(n.query),[o,u]=(0,Lt.useState)(n.selectedBrands),[c,s]=(0,Lt.useState)(n.priceRange),[f,d]=(0,Lt.useState)(n.discountAmount),[m,v]=(0,Lt.useState)(n.sort),[A,b]=(0,Lt.useState)(!1),h=!!(A&&n.compactEmbed&&n.includeDeals!==!1),g=(0,Lt.useRef)(!1);return(0,Lt.useEffect)(()=>{let p=()=>{g.current||(g.current=!0,i1(r1(l,n.resultCount),n.query))};if(typeof IntersectionObserver>"u"){p();return}let y=new IntersectionObserver(([C])=>{C?.isIntersecting&&(p(),y.disconnect())},{threshold:.1});return y.observe(e),()=>y.disconnect()},[e,l,n.query]),(0,Lt.useEffect)(()=>{if(typeof IntersectionObserver>"u"){b(!0);return}let p=new IntersectionObserver(([y])=>{y?.isIntersecting&&(b(!0),p.disconnect())},{rootMargin:"800px 0px"});return p.observe(e),()=>p.disconnect()},[e]),(0,Vf.jsx)(Jv,{...n,region:a||"unavailable",initialData:l,warmInventory:A,refreshDealsOnViewport:h,query:i,selectedBrands:o,priceRange:c,discountAmount:f,sort:m,editorMode:!1,onQueryChange:r,onBrandSelect:u,onBrandToggle:p=>u(y=>y.includes(p)?y.filter(C=>C!==p):[...y,p]),onPriceRangeChange:s,onDiscountAmountChange:d,onSortChange:v})}function TS(e){try{let t=document.cookie.match(new RegExp(`(?:^|;\\s*)${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}catch{return}}function cc(e){let n=String(e||"").trim().toUpperCase().replace("_","-").split("-").at(-1);return n==="UK"?"GB":["US","GB","AU","CA","DE","FR","IT","ES","NL"].includes(n||"")?n:void 0}function d1(){let e=new URLSearchParams(window.location.search).get("area");return cc(e)||cc(TS("FTR_Country_Code"))||cc(document.documentElement.getAttribute("data-locale"))||cc(window.navigator.language)}function u1(e,t){let n=e.querySelector(t);if(n?.textContent)try{return JSON.parse(n.textContent)}catch(a){console.warn("Author widget configuration could not be parsed.",a);return}}function ES(e){return e?.reviewInventoryFormat!==nv||!e.allDeals?e:{...e,allDeals:av(e.allDeals)}}function DS(e,t){let n=t?e?.regionalDealManifests?.[t]:void 0;if(!n)return e;let a=e?.regionalDealRailData?.[t];return{...e,allDeals:void 0,deals:n,...a}}function c1(e){e.querySelectorAll("a[href]").forEach(t=>{(t.hasAttribute("data-fcaw-affiliate-link")||t.classList.contains("hawk-affiliate-link-deal-widget")||t.classList.contains("hawk-affiliate-link-container")||t.classList.contains("hawk-affiliate-link-deal-button"))&&(t.rel="sponsored nofollow noopener")})}function xS(e){let t=e.closest(".tg-df-card"),n=t?.dataset.fcawRevenueId||e.dataset.fcawRevenueId;if(n)return n;let a=[window.location.href,t?.dataset.productName||"",t?.dataset.merchant||"",t?.dataset.modelId||"",new Date().toDateString(),"tomsguide"].join("|"),l=0;for(let r=0;r<a.length;r+=1)l=(l<<5)-l+a.charCodeAt(r),l|=0;let i=String(Math.abs(l));for(;i.length<19;)l=(l<<5)-l+i.length,l|=0,i+=String(Math.abs(l));return i=i.slice(0,19),t&&(t.dataset.fcawRevenueId=i),i}function MS(e){let t=e.dataset.fcawOriginalLink||e.href;if(!t.includes("hawk-custom-tracking"))return!1;let n=d1();if(!n)return!1;let a=xS(e);return e.dataset.fcawOriginalLink=t,e.dataset.fcawRevenueId=a,e.href=t.replaceAll("hawk-custom-tracking",`tomsguide-${n.toLowerCase()}-${a}`),e.setAttribute("data-fcaw-hawklinks-requested","true"),!0}function _S(){return!!window.hawklinks?.version}function BS(e){let t=!1,n,a,l=()=>Array.from(e.querySelectorAll(".article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-widget[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-container[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-button[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested])")),i=()=>{t=!1;let u=l();if(u.length===0)return;let c=u.filter(s=>!MS(s));if(c.length!==0){if(!_S()){let s=Date.now();a??=s,!n&&s-a<yS&&(n=window.setTimeout(()=>{n=void 0,r()},pS));return}a=void 0,c.forEach(s=>s.setAttribute("data-fcaw-hawklinks-requested","true")),document.dispatchEvent(new CustomEvent("processArticle",{detail:{element:e}}))}},r=()=>{t||(t=!0,window.setTimeout(i,0))},o=new MutationObserver(r);return o.observe(e,{attributes:!0,attributeFilter:["href"],childList:!0,subtree:!0}),r(),()=>{o.disconnect(),n&&window.clearTimeout(n)}}function NS(e){if(e.dataset.fcawFullBleed!=="true")return;let t=()=>{let n=document.documentElement.clientWidth||window.innerWidth,a=Math.min(1200,n),l=Math.max(0,(n-a)/2),i=e.parentElement?.getBoundingClientRect().left||0;e.style.setProperty("--fcaw-full-bleed-offset",`${l-i}px`),e.style.setProperty("--fcaw-viewport-width",`${n}px`)};t(),window.addEventListener("resize",t,{passive:!0}),typeof ResizeObserver<"u"&&e.parentElement&&new ResizeObserver(t).observe(e.parentElement)}function OS(e){let t=window.matchMedia(fS),n=!1,a=new Set,l=new Map,i,r=()=>t.matches||e.getBoundingClientRect().width<gS,o=()=>{n||(n=!0,window.requestAnimationFrame(s))},u=()=>{if(typeof MutationObserver>"u")return;let f=new Set(Array.from(document.querySelectorAll(mS)));l.forEach((d,m)=>{f.has(m)&&m.isConnected||(d.disconnect(),l.delete(m))}),f.forEach(d=>{if(l.has(d))return;let m=new MutationObserver(o);m.observe(d,{attributes:!0,attributeFilter:["class","style"],childList:!0,subtree:!0}),l.set(d,m)})},c=f=>{let d=new Set(f);a.forEach(m=>{d.has(m)||(i?.unobserve(m),m.removeEventListener("transitionend",o),a.delete(m))}),f.forEach(m=>{a.has(m)||(i?.observe(m),m.addEventListener("transitionend",o),a.add(m))})},s=()=>{if(n=!1,u(),!r()){c([]),e.style.removeProperty("--fcaw-mobile-sticky-offset");return}let f=Number.parseFloat(getComputedStyle(e).getPropertyValue("--fcaw-publisher-sticky-offset"));if(Number.isFinite(f)&&f>=0){c([]),e.style.setProperty("--fcaw-mobile-sticky-offset",`${f}px`);return}let d=Array.from(document.querySelectorAll(vS)).filter(v=>{if(v.contains(e))return!1;let A=getComputedStyle(v).position;return A==="fixed"||A==="sticky"});c(d);let m=d.reduce((v,A)=>{let b=A.getBoundingClientRect();return b.top>2||b.bottom<=0||b.height<=0||b.height>window.innerHeight*.5?v:Math.max(v,b.bottom)},0);e.style.setProperty("--fcaw-mobile-sticky-offset",`${Math.ceil(m)}px`)};return typeof ResizeObserver<"u"&&(i=new ResizeObserver(o),i.observe(e)),s(),window.addEventListener("scroll",o,{capture:!0,passive:!0}),window.addEventListener("resize",o,{passive:!0}),t.addEventListener?.("change",o),()=>{window.removeEventListener("scroll",o,!0),window.removeEventListener("resize",o),t.removeEventListener?.("change",o),i?.disconnect(),a.forEach(f=>f.removeEventListener("transitionend",o)),a.clear(),l.forEach(f=>f.disconnect()),l.clear()}}function kS(e){if(e.dataset.fcawEnhanced==="true")return;let t=u1(e,"script[data-fcaw-config]");if(!t)return;let n={...t1(e1(t),{brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}),compactEmbed:t.compactEmbed,editorMode:!1,warmInventory:t.warmInventory},a=u1(e,"script[data-fcaw-preload]"),l=ES(a),i=e.querySelector("[data-fcaw-fallback]");if(!i)return;NS(e),CS(e),n.stickyMobileFilters!==!1&&OS(e),c1(i);let r=e.shadowRoot||e.attachShadow({mode:"open"}),o=e.querySelector(":scope > style[data-fcaw-host-protection]");if(o&&r.appendChild(o),!r.querySelector("style[data-fcaw-shadow-protection]")){let c=document.createElement("style");c.setAttribute("data-fcaw-shadow-protection",""),c.textContent=bS,r.appendChild(c)}i.querySelectorAll(":scope > style").forEach(c=>{r.appendChild(c)});let u=document.createElement("div");for(u.setAttribute("data-fcaw-mount","");i.firstChild;)u.appendChild(i.firstChild);i.remove(),r.appendChild(u),e.dataset.fcawEnhanced="true",a1(),e.dataset.fcawAnalyticsReady="true",o1(r),BS(r),(0,s1.createRoot)(u).render((0,Vf.jsx)(RS,{host:e,initialData:l,initialProps:n})),window.setTimeout(()=>c1(r),0)}function Yf(){document.querySelectorAll(dS).forEach(kS)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yf,{once:!0}):Yf();new MutationObserver(Yf).observe(document.documentElement,{childList:!0,subtree:!0});})();/*! Bundled license information:react/cjs/react.production.js:  (**   * @license React   * react.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)scheduler/cjs/scheduler.production.js:  (**   * @license React   * scheduler.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom.production.js:  (**   * @license React   * react-dom.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom-client.production.js:  (**   * @license React   * react-dom-client.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react/cjs/react-jsx-runtime.production.js:  (**   * @license React   * react-jsx-runtime.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)*/</script></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-black-friday-gaming-mouse-deals-in-the-uk"><span>Black Friday gaming mouse deals in the UK</span></h2><h2 id="where-are-the-best-black-friday-gaming-keyboard-mouse-and-controller-deals-in-the-uk">Where are the best Black Friday gaming keyboard, mouse, and controller deals in the UK?</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.co.uk/s?k=gaming+mice&crid=LB80KGTDLNUC&sprefix=gaming+mice%2Caps%2C142&ref=nb_sb_noss_1" target="_blank">Big discounts on top-brand gaming mice</a></li><li><strong>Overclockers:</strong> <a href="https://www.overclockers.co.uk/peripherals/mice/gaming-mice" target="_blank">Over 100 gaming mice to choose from</a></li><li><strong>Scan:</strong> <a href="https://www.scan.co.uk/search?q=gaming+mice" target="_blank">Gaming mice from just £18</a></li><li><strong>Box: </strong><a href="https://box.co.uk/gaming-mice" target="_blank">Gaming mice from Asus, Logitech, and Razer</a></li><li><strong>Currys:</strong> <a href="https://www.currys.co.uk/search?q=gaming%20mice" target="_blank">Mice from as little as £15</a></li><li><strong>Argos: </strong><a href="https://www.argos.co.uk/search/gaming-mice/?clickOrigin=searchbar:search:term:gaming+mice" target="_blank">Good prices on budget to high-end mice</a></li></ul><div class="product"><a data-dimension112="5004de9a-cf92-11f1-acab-5142bbf7f75b" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="£22.99" href="https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1401px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qgFqUinn2HCKHEThJ47QpC" name="1636734797.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1401" height="1401" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/" target="_blank" rel="nofollow" data-dimension112="5004de9a-cf92-11f1-acab-5142bbf7f75b" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="£22.99">G203 | Wired: was £30.99 now £22.99</a></strong><br>Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.</p><p><strong>Key specs: Wired | 8,000 DPI | Right-handed</strong><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/" target="_blank" rel="nofollow" data-dimension112="5004de9a-cf92-11f1-acab-5142bbf7f75b" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="£22.99">View Deal</a></p></div><div class="product"><a data-dimension112="5004df08-cf92-11f1-8586-93ae7592b3d7" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="£69.97" href="https://www.amazon.co.uk/Corsair-SABRE-Ultralight-Wireless-Gaming/dp/B0FPDBK2M6" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4AaJcaYRutRHqs8C5qjfye" name="Sabre V2 Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4AaJcaYRutRHqs8C5qjfye-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Corsair-SABRE-Ultralight-Wireless-Gaming/dp/B0FPDBK2M6" target="_blank" rel="nofollow" data-dimension112="5004df08-cf92-11f1-8586-93ae7592b3d7" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="£69.97">Sabre V2 Pro: was £89.99 now £69.97</a></strong><br>Getting a <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/" target="_blank">92% from our Jacob Fox</a> last year, this ultra-light gaming mouse is a bit of a beast. It's light, sturdy and comes with a great sensor too. </p><p><strong>Key specs: 33K sensor | Wireless | 36 g weight | 8,000 Hz</strong><a class="view-deal button" href="https://www.amazon.co.uk/Corsair-SABRE-Ultralight-Wireless-Gaming/dp/B0FPDBK2M6" target="_blank" rel="nofollow" data-dimension112="5004df08-cf92-11f1-8586-93ae7592b3d7" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="£69.97">View Deal</a></p></div><div class="product"><a data-dimension112="5004df76-cf92-11f1-b5d0-2b9f044089db" data-action="Deal Block" data-label="Viper V3 Pro SE | Wireless" data-dimension48="Viper V3 Pro SE | Wireless" data-dimension25="£69.97" href="https://www.amazon.co.uk/Razer-Viper-Pro-Ultra-lightweight-lightweight/dp/B0FT8DX8CD" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xR8QJpjHGx27FS3pZnYBj7" name="1790601520.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xR8QJpjHGx27FS3pZnYBj7-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1509" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Razer-Viper-Pro-Ultra-lightweight-lightweight/dp/B0FT8DX8CD" target="_blank" rel="nofollow" data-dimension112="5004df76-cf92-11f1-b5d0-2b9f044089db" data-action="Deal Block" data-label="Viper V3 Pro SE | Wireless" data-dimension48="Viper V3 Pro SE | Wireless" data-dimension25="£69.97">Viper V3 Pro SE | Wireless: was £99.99 now £69.97</a></strong><br>Razer doesn't play around with its compact Viper line-up. The V3 Pro SE is pretty light, feels great in hand, and tracks your movement like any other high-end mouse. This is identical to the standard Viper V3 Pro except that it only comes with a 1,000 Hz dongle out of the box, and you need to purchase a separate dongle if you want battery sapping 8K polling. It's still top-tier and a lot cheaper than the newer V4 Pro now.</p><p><strong>Key specs: 6 buttons | 35K DPI | 8,000 Hz | 70 g</strong><a class="view-deal button" href="https://www.amazon.co.uk/Razer-Viper-Pro-Ultra-lightweight-lightweight/dp/B0FT8DX8CD" target="_blank" rel="nofollow" data-dimension112="5004df76-cf92-11f1-b5d0-2b9f044089db" data-action="Deal Block" data-label="Viper V3 Pro SE | Wireless" data-dimension48="Viper V3 Pro SE | Wireless" data-dimension25="£69.97">View Deal</a></p></div><div class="product"><a data-dimension112="5004dfe4-cf92-11f1-8071-5b86bbb8b42f" data-action="Deal Block" data-label="Aerox 3 | Wireless" data-dimension48="Aerox 3 | Wireless" data-dimension25="£85.83" href="https://www.amazon.co.uk/SteelSeries-Aerox-Wireless-TrueMove-Optical/dp/B0GNMGXRF8/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1433px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="43md8LJJA69Nb4NXj4Aq6f" name="1790601815.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/43md8LJJA69Nb4NXj4Aq6f-1920-80.jpg" mos="" align="middle" fullscreen="" width="1433" height="1433" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/SteelSeries-Aerox-Wireless-TrueMove-Optical/dp/B0GNMGXRF8/?th=1" target="_blank" rel="nofollow" data-dimension112="5004dfe4-cf92-11f1-8071-5b86bbb8b42f" data-action="Deal Block" data-label="Aerox 3 | Wireless" data-dimension48="Aerox 3 | Wireless" data-dimension25="£85.83">Aerox 3 | Wireless: was £99.99 now £85.83</a></strong><br>The SteelSeries Aerox 3 might be lightweight with its honeycombed design, but it's certainly not light on features. With a 200-hour battery life, dual connectivity, and AquaBarrier protection to ensure water, dust and dirt resistance, this is a mouse designed to take some abuse and keep on trucking.</p><p><strong>Key specs: Wireless | 18,000 DPI | Right-handed</strong><a class="view-deal button" href="https://www.amazon.co.uk/SteelSeries-Aerox-Wireless-TrueMove-Optical/dp/B0GNMGXRF8/?th=1" target="_blank" rel="nofollow" data-dimension112="5004dfe4-cf92-11f1-8071-5b86bbb8b42f" data-action="Deal Block" data-label="Aerox 3 | Wireless" data-dimension48="Aerox 3 | Wireless" data-dimension25="£85.83">View Deal</a></p></div><div class="product"><a data-dimension112="5004e052-cf92-11f1-99f8-2377e4734c93" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="£98.45" href="https://www.amazon.co.uk/Logitech-Lightspeed-Left-Handed-Customisable-Switchable-Black/dp/B0DBZGCQHX/ref=sr_1_5" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1206px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="8LsAaks2QtDi5D9rVtv4Yc" name="1781520515.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/8LsAaks2QtDi5D9rVtv4Yc-1920-80.jpg" mos="" align="middle" fullscreen="" width="1206" height="1206" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-Lightspeed-Left-Handed-Customisable-Switchable-Black/dp/B0DBZGCQHX/ref=sr_1_5" target="_blank" rel="nofollow" data-dimension112="5004e052-cf92-11f1-99f8-2377e4734c93" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="£98.45">G Pro 2 Lightspeed | Wireless: was £109.99 now £98.45</a></strong><br>A great 44K DPI sensor with an ambidextrous shape, the G Pro was our first love before the Superlight showed up. It's still a wicked shape and plenty capable for gaming. This one may drop further as while it is a good price today, it has been a touch cheaper in recent months.</p><p><strong>Key specs: Ambidextrous | 44K DPI | Wireless</strong><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-Lightspeed-Left-Handed-Customisable-Switchable-Black/dp/B0DBZGCQHX/ref=sr_1_5" target="_blank" rel="nofollow" data-dimension112="5004e052-cf92-11f1-99f8-2377e4734c93" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="£98.45">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've found these two 32 GB RTX 5070 gaming PCs going for $1,700, but it's not the easiest of choices ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The HP Omen 35L with the RTX 5080 I wrote about yesterday was pretty eye-popping, but <a href="https://www.pcgamer.com/hardware/you-can-get-the-hp-omen-35l-gaming-pc-with-an-rtx-5080-for-a-whopping-44-percent-off/" target="_blank">at $2,800, it's still too rich for my blood</a>. A 44% discount is nice, but I would still struggle to justify dropping three grand on even a prebuilt of this calibre. And I bet I'm far from the only one.</p><p>Never fear, though—if you have slightly less deep pockets but still want a 50-series prebuilt gaming PC, I've found two more deals with 32 GB of RAM for your consideration. Picking between the two, however, might be a touch difficult.</p><h3 class="article-body__section" id="section-quick-list"><span>Quick list</span></h3><ul><li><strong>Skytech Gaming PC Desktop | </strong><a href="https://www.amazon.com/dp/B0H9K33K4R" target="_blank"><strong>RTX 5070 | $1,700 (save $200)</strong></a></li><li><strong>MSI Codex R2 Gaming Desktop | </strong><a href="https://www.walmart.com/ip/msi-Codex-R2-Gaming-Desktop-Intel-Core-i5-14400F-Geforce-RTX-5070-32GB-DDR5-1TB-m-2-NVMe-SSD-80-Gold-PSU-WiFi-6E-Air-Cooling-Windows-11-Home-D14NVP5/20046572526" target="_blank"><strong>RTX 5070 | $1,700</strong></a></li></ul><h2 class="article-body__section" id="section-rtx-5070-gaming-pc-deal-1"><span>RTX 5070 gaming PC deal #1</span></h2><div class="product"><a data-dimension112="6e57fcde-c3cf-11f1-8156-4f54987674d9" data-action="Deal Block" data-label="PC Desktop | RTX 5070 | 32 GB DDR4" data-dimension48="PC Desktop | RTX 5070 | 32 GB DDR4" data-dimension25="$1699.99" href="https://www.amazon.com/dp/B0H9K33K4R" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:400px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="7k8TgxT6ZMn5gqTMFhtsWF" name="Skytech Gaming PC Desktop _ RTX 5070 product image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/7k8TgxT6ZMn5gqTMFhtsWF-1920-80.jpg" mos="" align="middle" fullscreen="" width="400" height="400" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0H9K33K4R" target="_blank" rel="nofollow" data-dimension112="6e57fcde-c3cf-11f1-8156-4f54987674d9" data-action="Deal Block" data-label="PC Desktop | RTX 5070 | 32 GB DDR4" data-dimension48="PC Desktop | RTX 5070 | 32 GB DDR4" data-dimension25="$1699.99">PC Desktop | RTX 5070 | 32 GB DDR4: was $1899.99 now $1699.99</a></strong><br>It's tough to get 32 GB of RAM at a reasonable price full stop, even if it is DDR4. Combined with the RTX 5070, this is a well-priced machine in today's market. You might want to hold off on upgrading the memory for the time being though.</p><p><strong>Key specs: Intel i7 14700F | RTX 5070 | 32 GB DDR4 | 1 TB SSD</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0H9K33K4R" target="_blank" rel="nofollow" data-dimension112="6e57fcde-c3cf-11f1-8156-4f54987674d9" data-action="Deal Block" data-label="PC Desktop | RTX 5070 | 32 GB DDR4" data-dimension48="PC Desktop | RTX 5070 | 32 GB DDR4" data-dimension25="$1699.99">View Deal</a></p></div><p>The first machine that piqued my keen was a Skytech Gaming prebuilt. This bad boy boasts an RTX 5070, 1 TB of SSD storage, and even 32 GB of RAM <a href="https://www.amazon.com/dp/B0H9K33K4R" target="_blank">for $1,700 from Amazon</a>. Obviously, that's not the full story and the bigger picture is not without caveats.</p><p>Let's get this out of the way: that's 32 GB of DDR4. That's still not awful given these times of memory supply crisis, but it's still not DDR5. Such an offering is perked up a bit by the inclusion of the <a href="https://www.pcgamer.com/intel-core-i7-14700k-review/" target="_blank">Intel Core i7 14700F processor</a>, which remains great for gaming.</p><h2 class="article-body__section" id="section-rtx-5070-gaming-pc-deal-2"><span>RTX 5070 gaming PC deal #2</span></h2><div class="product"><a data-dimension112="a0010d52-c3cf-11f1-985e-579c686b0177" data-action="Deal Block" data-label="Codex R2 | RTX 5070 | 32 GB DDR5" data-dimension48="Codex R2 | RTX 5070 | 32 GB DDR5" data-dimension25="$1699.99" href="https://www.walmart.com/ip/msi-Codex-R2-Gaming-Desktop-Intel-Core-i5-14400F-Geforce-RTX-5070-32GB-DDR5-1TB-m-2-NVMe-SSD-80-Gold-PSU-WiFi-6E-Air-Cooling-Windows-11-Home-D14NVP5/20046572526" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="XQqQ7GGDkzM97jKMLwEQfB" name="Codex R2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/XQqQ7GGDkzM97jKMLwEQfB-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/msi-Codex-R2-Gaming-Desktop-Intel-Core-i5-14400F-Geforce-RTX-5070-32GB-DDR5-1TB-m-2-NVMe-SSD-80-Gold-PSU-WiFi-6E-Air-Cooling-Windows-11-Home-D14NVP5/20046572526" target="_blank" rel="nofollow" data-dimension112="a0010d52-c3cf-11f1-985e-579c686b0177" data-action="Deal Block" data-label="Codex R2 | RTX 5070 | 32 GB DDR5" data-dimension48="Codex R2 | RTX 5070 | 32 GB DDR5" data-dimension25="$1699.99">Codex R2 | RTX 5070 | 32 GB DDR5: $1699.99</a></strong><br>A tidy look and a tidy price for a full-on RTX 5070 rig, what with everything going on with pricing right now. Especially so when you consider it comes with 32 GB of DDR5 memory. Not too shabby—but the processor is a little lightweight.</p><p><strong>Key specs: Core i5 14400F | RTX 5070 | 32 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.walmart.com/ip/msi-Codex-R2-Gaming-Desktop-Intel-Core-i5-14400F-Geforce-RTX-5070-32GB-DDR5-1TB-m-2-NVMe-SSD-80-Gold-PSU-WiFi-6E-Air-Cooling-Windows-11-Home-D14NVP5/20046572526" target="_blank" rel="nofollow" data-dimension112="a0010d52-c3cf-11f1-985e-579c686b0177" data-action="Deal Block" data-label="Codex R2 | RTX 5070 | 32 GB DDR5" data-dimension48="Codex R2 | RTX 5070 | 32 GB DDR5" data-dimension25="$1699.99">View Deal</a></p></div><p>Moving swiftly on to my second suggestion: the MSI Codex R2, <a href="https://www.walmart.com/ip/msi-Codex-R2-Gaming-Desktop-Intel-Core-i5-14400F-Geforce-RTX-5070-32GB-DDR5-1TB-m-2-NVMe-SSD-80-Gold-PSU-WiFi-6E-Air-Cooling-Windows-11-Home-D14NVP5/20046572526" target="_blank">which is also going for $1,700 at Walmart</a>. This is another prebuilt machine rocking an RTX 5070, 1 TB of SSD storage, and 32 GB of <em>DDR5. </em>So, what's the catch?</p><p>It's the processor, which is the <a href="https://www.intel.com/content/www/us/en/products/sku/236777/intel-core-i5-processor-14400f-20m-cache-up-to-4-70-ghz/specifications.html" target="_blank">Intel Core i5-14400F</a>. A successor to the <a href="https://www.pcgamer.com/intel-core-i5-13400f-review-benchmarks/" target="_blank">Core i5 13400F</a>, it's by no means a terrible processor but it is very much a budget option. For sure, many more reasonably priced prebuilts keep costs down by choosing this very CPU.</p><p>That means you've got the option to upgrade the chip down the line, which may be a more cost-effective strategy for some than planning to upgrade to DDR5 in the future (unfortunately, it doesn't appear the memory supply crisis and its runaway prices will be ending any time soon). But the choice is up to you: while gaming PC prices are soaring in general, are you willing to compromise on memory or the CPU?</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-pcs/ive-found-these-two-32-gb-rtx-5070-gaming-pcs-going-for-usd1-700-but-its-not-the-easiest-of-choices/</link>
                                                                            <description>
                            <![CDATA[ DDR4 or DDR5? Big boi Intel chip or punchy little contender? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">i5oLdWBddNBgBrG2iGEbeM</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WSaaSdePEY9Y82bLNFbETQ-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 09 Oct 2026 11:32:05 +0000</pubDate>                                                                                                                                <updated>Fri, 09 Oct 2026 11:32:09 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming PCs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jess Kinghorn ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she&#039;s either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.&amp;nbsp;&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/WSaaSdePEY9Y82bLNFbETQ-1920-80.jpg">
                                                            <media:credit><![CDATA[Skytech Gaming, MSI]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A Skytech Gaming prebuilt PC and the MSI Codex R2 face off in the funky PCG deal void.]]></media:description>                                                            <media:text><![CDATA[A Skytech Gaming prebuilt PC and the MSI Codex R2 face off in the funky PCG deal void.]]></media:text>
                                <media:title type="plain"><![CDATA[A Skytech Gaming prebuilt PC and the MSI Codex R2 face off in the funky PCG deal void.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WSaaSdePEY9Y82bLNFbETQ-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The HP Omen 35L with the RTX 5080 I wrote about yesterday was pretty eye-popping, but <a href="https://www.pcgamer.com/hardware/you-can-get-the-hp-omen-35l-gaming-pc-with-an-rtx-5080-for-a-whopping-44-percent-off/" target="_blank">at $2,800, it's still too rich for my blood</a>. A 44% discount is nice, but I would still struggle to justify dropping three grand on even a prebuilt of this calibre. And I bet I'm far from the only one.</p><p>Never fear, though—if you have slightly less deep pockets but still want a 50-series prebuilt gaming PC, I've found two more deals with 32 GB of RAM for your consideration. Picking between the two, however, might be a touch difficult.</p><h3 class="article-body__section" id="section-quick-list"><span>Quick list</span></h3><ul><li><strong>Skytech Gaming PC Desktop | </strong><a href="https://www.amazon.com/dp/B0H9K33K4R" target="_blank"><strong>RTX 5070 | $1,700 (save $200)</strong></a></li><li><strong>MSI Codex R2 Gaming Desktop | </strong><a href="https://www.walmart.com/ip/msi-Codex-R2-Gaming-Desktop-Intel-Core-i5-14400F-Geforce-RTX-5070-32GB-DDR5-1TB-m-2-NVMe-SSD-80-Gold-PSU-WiFi-6E-Air-Cooling-Windows-11-Home-D14NVP5/20046572526" target="_blank"><strong>RTX 5070 | $1,700</strong></a></li></ul><h2 class="article-body__section" id="section-rtx-5070-gaming-pc-deal-1"><span>RTX 5070 gaming PC deal #1</span></h2><div class="product"><a data-dimension112="6e57fcde-c3cf-11f1-8156-4f54987674d9" data-action="Deal Block" data-label="PC Desktop | RTX 5070 | 32 GB DDR4" data-dimension48="PC Desktop | RTX 5070 | 32 GB DDR4" data-dimension25="$1699.99" href="https://www.amazon.com/dp/B0H9K33K4R" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:400px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="7k8TgxT6ZMn5gqTMFhtsWF" name="Skytech Gaming PC Desktop _ RTX 5070 product image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/7k8TgxT6ZMn5gqTMFhtsWF-1920-80.jpg" mos="" align="middle" fullscreen="" width="400" height="400" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0H9K33K4R" target="_blank" rel="nofollow" data-dimension112="6e57fcde-c3cf-11f1-8156-4f54987674d9" data-action="Deal Block" data-label="PC Desktop | RTX 5070 | 32 GB DDR4" data-dimension48="PC Desktop | RTX 5070 | 32 GB DDR4" data-dimension25="$1699.99">PC Desktop | RTX 5070 | 32 GB DDR4: was $1899.99 now $1699.99</a></strong><br>It's tough to get 32 GB of RAM at a reasonable price full stop, even if it is DDR4. Combined with the RTX 5070, this is a well-priced machine in today's market. You might want to hold off on upgrading the memory for the time being though.</p><p><strong>Key specs: Intel i7 14700F | RTX 5070 | 32 GB DDR4 | 1 TB SSD</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0H9K33K4R" target="_blank" rel="nofollow" data-dimension112="6e57fcde-c3cf-11f1-8156-4f54987674d9" data-action="Deal Block" data-label="PC Desktop | RTX 5070 | 32 GB DDR4" data-dimension48="PC Desktop | RTX 5070 | 32 GB DDR4" data-dimension25="$1699.99">View Deal</a></p></div><p>The first machine that piqued my keen was a Skytech Gaming prebuilt. This bad boy boasts an RTX 5070, 1 TB of SSD storage, and even 32 GB of RAM <a href="https://www.amazon.com/dp/B0H9K33K4R" target="_blank">for $1,700 from Amazon</a>. Obviously, that's not the full story and the bigger picture is not without caveats.</p><p>Let's get this out of the way: that's 32 GB of DDR4. That's still not awful given these times of memory supply crisis, but it's still not DDR5. Such an offering is perked up a bit by the inclusion of the <a href="https://www.pcgamer.com/intel-core-i7-14700k-review/" target="_blank">Intel Core i7 14700F processor</a>, which remains great for gaming.</p><h2 class="article-body__section" id="section-rtx-5070-gaming-pc-deal-2"><span>RTX 5070 gaming PC deal #2</span></h2><div class="product"><a data-dimension112="a0010d52-c3cf-11f1-985e-579c686b0177" data-action="Deal Block" data-label="Codex R2 | RTX 5070 | 32 GB DDR5" data-dimension48="Codex R2 | RTX 5070 | 32 GB DDR5" data-dimension25="$1699.99" href="https://www.walmart.com/ip/msi-Codex-R2-Gaming-Desktop-Intel-Core-i5-14400F-Geforce-RTX-5070-32GB-DDR5-1TB-m-2-NVMe-SSD-80-Gold-PSU-WiFi-6E-Air-Cooling-Windows-11-Home-D14NVP5/20046572526" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="XQqQ7GGDkzM97jKMLwEQfB" name="Codex R2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/XQqQ7GGDkzM97jKMLwEQfB-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/msi-Codex-R2-Gaming-Desktop-Intel-Core-i5-14400F-Geforce-RTX-5070-32GB-DDR5-1TB-m-2-NVMe-SSD-80-Gold-PSU-WiFi-6E-Air-Cooling-Windows-11-Home-D14NVP5/20046572526" target="_blank" rel="nofollow" data-dimension112="a0010d52-c3cf-11f1-985e-579c686b0177" data-action="Deal Block" data-label="Codex R2 | RTX 5070 | 32 GB DDR5" data-dimension48="Codex R2 | RTX 5070 | 32 GB DDR5" data-dimension25="$1699.99">Codex R2 | RTX 5070 | 32 GB DDR5: $1699.99</a></strong><br>A tidy look and a tidy price for a full-on RTX 5070 rig, what with everything going on with pricing right now. Especially so when you consider it comes with 32 GB of DDR5 memory. Not too shabby—but the processor is a little lightweight.</p><p><strong>Key specs: Core i5 14400F | RTX 5070 | 32 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.walmart.com/ip/msi-Codex-R2-Gaming-Desktop-Intel-Core-i5-14400F-Geforce-RTX-5070-32GB-DDR5-1TB-m-2-NVMe-SSD-80-Gold-PSU-WiFi-6E-Air-Cooling-Windows-11-Home-D14NVP5/20046572526" target="_blank" rel="nofollow" data-dimension112="a0010d52-c3cf-11f1-985e-579c686b0177" data-action="Deal Block" data-label="Codex R2 | RTX 5070 | 32 GB DDR5" data-dimension48="Codex R2 | RTX 5070 | 32 GB DDR5" data-dimension25="$1699.99">View Deal</a></p></div><p>Moving swiftly on to my second suggestion: the MSI Codex R2, <a href="https://www.walmart.com/ip/msi-Codex-R2-Gaming-Desktop-Intel-Core-i5-14400F-Geforce-RTX-5070-32GB-DDR5-1TB-m-2-NVMe-SSD-80-Gold-PSU-WiFi-6E-Air-Cooling-Windows-11-Home-D14NVP5/20046572526" target="_blank">which is also going for $1,700 at Walmart</a>. This is another prebuilt machine rocking an RTX 5070, 1 TB of SSD storage, and 32 GB of <em>DDR5. </em>So, what's the catch?</p><p>It's the processor, which is the <a href="https://www.intel.com/content/www/us/en/products/sku/236777/intel-core-i5-processor-14400f-20m-cache-up-to-4-70-ghz/specifications.html" target="_blank">Intel Core i5-14400F</a>. A successor to the <a href="https://www.pcgamer.com/intel-core-i5-13400f-review-benchmarks/" target="_blank">Core i5 13400F</a>, it's by no means a terrible processor but it is very much a budget option. For sure, many more reasonably priced prebuilts keep costs down by choosing this very CPU.</p><p>That means you've got the option to upgrade the chip down the line, which may be a more cost-effective strategy for some than planning to upgrade to DDR5 in the future (unfortunately, it doesn't appear the memory supply crisis and its runaway prices will be ending any time soon). But the choice is up to you: while gaming PC prices are soaring in general, are you willing to compromise on memory or the CPU?</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I thought this budget headset was a bit 'meh' for full price when I reviewed it, but it's actually a steal now it's comfortably under $30 ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="35abd9ea-c0d3-11f1-84b9-77413e09063e" data-action="Deal Block" data-label="GHS Eternal (Black colourway)" data-dimension48="GHS Eternal (Black colourway)" data-dimension25="$26.31" href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="AJ9J3xmw76BBiXYbhAtpX9" name="Gaming headset deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow" data-dimension112="35abd9ea-c0d3-11f1-84b9-77413e09063e" data-action="Deal Block" data-label="GHS Eternal (Black colourway)" data-dimension48="GHS Eternal (Black colourway)" data-dimension25="$26.31">GHS Eternal (Black colourway): was $59.99 now $26.31</a></strong><br>With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. </p><p><strong>Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</strong></p><p><strong>Price check: </strong><a href="https://www.amazon.com/dp/B0GJ18BKXK" target="_blank">Amazon $39.99 (White version)</a><a class="view-deal button" href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow" data-dimension112="35abd9ea-c0d3-11f1-84b9-77413e09063e" data-action="Deal Block" data-label="GHS Eternal (Black colourway)" data-dimension48="GHS Eternal (Black colourway)" data-dimension25="$26.31">View Deal</a></p></div><p>Yes, I'm picky when it comes to hardware—but I also love a great deal. So, as sad as I am to pick up yet more sad black hardware that offers nary a fun colourway, I can justify it if the price is right. With Amazon's Big Prime Deal Days just around the corner, I've found one such bit of kit that is an absolute steal.</p><p>The Glorious GHS Eternal is a wired gaming headset that is already very reasonably priced, but my beady little eyes have just spotted that the black colourway is going <a href="https://www.amazon.com/dp/B0GHZPFZ7R" target="_blank">for very comfortably under 30 bucks at Amazon</a>. If you're on a budget and just need a basic headset that will get your head in the game, you could do much worse than this set of cans.</p><p>I reviewed the <a href="https://www.pcgamer.com/hardware/gaming-headsets/glorious-ghs-eternal-review/" target="_blank">Glorious GHS Eternal</a> not too long ago, and at the time I thought it ticked most of the right boxes for a budget headset though the MSRP left it eating the dust of other options. This pre-Prime Day deal handily swerves around my chief criticism, leaving behind a simply solid set of cans.</p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're curating all the best Prime Day PC gaming deals here</strong></a></li></ul><p>In the office, I tend to reach for this headset's wireless counterpart, the <a href="https://www.pcgamer.com/hardware/gaming-headsets/glorious-ghs-infiniteplay-review/" target="_blank">GHS InfinitePlay</a>. However, both headsets share the same frame, build quality, and unnervingly flexible headband. That means the wired GHS Eternal will sit pretty on your head, on your desk, and can definitely take more than its fair share of tumbles across your office floor.</p><p>Better yet, as a wired gaming headset, you won't have to worry about either latency issues or a battery betraying you during a pivotal play. Add to that a lovely tactile volume knob on the left earcup (not to mention the fact this headset can get decently loud), and this is a solid set of cans for both music listening and gaming.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HbySM3myBsKN8ebDgRk7Ha-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/q9AeaeXvRHGMHEnVbZU4Fa-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/thwsPQPkTdPFHJrrRBNA7B-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WMBqKo2BsbBqzncA9M2n2B-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4VDgxvh6fWTgKQaosphg3B-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>As a budget headset though, you won't find anything in the way of active noise cancelling, for instance—I only feel a little bit guilty about listening to the KPop Demon Hunters soundtrack on repeat while testing these bad boys in the office.</p><p>Mind you, if you're only going to be donning this wired headset in your solitary gamer den, then play on, I say!</p><h2 id="check-out-the-rest-of-amazon-s-gaming-headset-deals">👉 <a href="https://www.amazon.com/s?k=gaming+headset&i=electronics&crid=1F4EWAFE3FPCK&sprefix=gaming+headse%2Celectronics%2C195&ref=nb_sb_noss_2" target="_blank">Check out the rest of Amazon's gaming headset deals</a> 👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-headsets/i-thought-this-budget-headset-was-a-bit-meh-for-full-price-when-i-reviewed-it-but-its-actually-a-steal-now-its-comfortably-under-usd30/</link>
                                                                            <description>
                            <![CDATA[ A breath of fresh air when prices elsewhere in hardware are on the rise. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">sep2UQqfdkJFoGKZwA2TZB</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/BpsTRZzYYQxfrjtZDx6FSA-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 05 Oct 2026 15:54:05 +0000</pubDate>                                                                                                                                <updated>Mon, 05 Oct 2026 15:54:19 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Headsets]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Gaming Audio]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jess Kinghorn ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she&#039;s either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.&amp;nbsp;&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/BpsTRZzYYQxfrjtZDx6FSA-1920-80.jpg">
                                                            <media:credit><![CDATA[Glorious]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Glorious GHS Eternal wired gaming headset in black floats in the funky PCG Prime Day deal void.]]></media:description>                                                            <media:text><![CDATA[The Glorious GHS Eternal wired gaming headset in black floats in the funky PCG Prime Day deal void.]]></media:text>
                                <media:title type="plain"><![CDATA[The Glorious GHS Eternal wired gaming headset in black floats in the funky PCG Prime Day deal void.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/BpsTRZzYYQxfrjtZDx6FSA-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="35abd9ea-c0d3-11f1-84b9-77413e09063e" data-action="Deal Block" data-label="GHS Eternal (Black colourway)" data-dimension48="GHS Eternal (Black colourway)" data-dimension25="$26.31" href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="AJ9J3xmw76BBiXYbhAtpX9" name="Gaming headset deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow" data-dimension112="35abd9ea-c0d3-11f1-84b9-77413e09063e" data-action="Deal Block" data-label="GHS Eternal (Black colourway)" data-dimension48="GHS Eternal (Black colourway)" data-dimension25="$26.31">GHS Eternal (Black colourway): was $59.99 now $26.31</a></strong><br>With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. </p><p><strong>Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</strong></p><p><strong>Price check: </strong><a href="https://www.amazon.com/dp/B0GJ18BKXK" target="_blank">Amazon $39.99 (White version)</a><a class="view-deal button" href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow" data-dimension112="35abd9ea-c0d3-11f1-84b9-77413e09063e" data-action="Deal Block" data-label="GHS Eternal (Black colourway)" data-dimension48="GHS Eternal (Black colourway)" data-dimension25="$26.31">View Deal</a></p></div><p>Yes, I'm picky when it comes to hardware—but I also love a great deal. So, as sad as I am to pick up yet more sad black hardware that offers nary a fun colourway, I can justify it if the price is right. With Amazon's Big Prime Deal Days just around the corner, I've found one such bit of kit that is an absolute steal.</p><p>The Glorious GHS Eternal is a wired gaming headset that is already very reasonably priced, but my beady little eyes have just spotted that the black colourway is going <a href="https://www.amazon.com/dp/B0GHZPFZ7R" target="_blank">for very comfortably under 30 bucks at Amazon</a>. If you're on a budget and just need a basic headset that will get your head in the game, you could do much worse than this set of cans.</p><p>I reviewed the <a href="https://www.pcgamer.com/hardware/gaming-headsets/glorious-ghs-eternal-review/" target="_blank">Glorious GHS Eternal</a> not too long ago, and at the time I thought it ticked most of the right boxes for a budget headset though the MSRP left it eating the dust of other options. This pre-Prime Day deal handily swerves around my chief criticism, leaving behind a simply solid set of cans.</p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're curating all the best Prime Day PC gaming deals here</strong></a></li></ul><p>In the office, I tend to reach for this headset's wireless counterpart, the <a href="https://www.pcgamer.com/hardware/gaming-headsets/glorious-ghs-infiniteplay-review/" target="_blank">GHS InfinitePlay</a>. However, both headsets share the same frame, build quality, and unnervingly flexible headband. That means the wired GHS Eternal will sit pretty on your head, on your desk, and can definitely take more than its fair share of tumbles across your office floor.</p><p>Better yet, as a wired gaming headset, you won't have to worry about either latency issues or a battery betraying you during a pivotal play. Add to that a lovely tactile volume knob on the left earcup (not to mention the fact this headset can get decently loud), and this is a solid set of cans for both music listening and gaming.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HbySM3myBsKN8ebDgRk7Ha-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/q9AeaeXvRHGMHEnVbZU4Fa-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/thwsPQPkTdPFHJrrRBNA7B-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WMBqKo2BsbBqzncA9M2n2B-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4VDgxvh6fWTgKQaosphg3B-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>As a budget headset though, you won't find anything in the way of active noise cancelling, for instance—I only feel a little bit guilty about listening to the KPop Demon Hunters soundtrack on repeat while testing these bad boys in the office.</p><p>Mind you, if you're only going to be donning this wired headset in your solitary gamer den, then play on, I say!</p><h2 id="check-out-the-rest-of-amazon-s-gaming-headset-deals">👉 <a href="https://www.amazon.com/s?k=gaming+headset&i=electronics&crid=1F4EWAFE3FPCK&sprefix=gaming+headse%2Celectronics%2C195&ref=nb_sb_noss_2" target="_blank">Check out the rest of Amazon's gaming headset deals</a> 👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ October Prime Day gaming keyboard deals ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The October Prime Day has been and gone, folks. Even after Amazon's Big Deal Days event, though, there are still discounts flowing in.</p><p>👉<a href="https://www.amazon.com/s?k=gaming+keyboard&crid=25G0ND4TIXQKJ&sprefix=gaming+keyboar%2Caps%2C188&ref=nb_sb_noss_2" target="_blank"><strong>ALL of Amazon's keyboard deals</strong></a>👈<br><strong>👉</strong><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>OUR favorite Prime Day PC gaming deals</strong></a><strong>👈</strong></p><p>We're constantly reviewing and picking out the <a href="https://www.pcgamer.com/best-gaming-keyboard/" target="_blank">best gaming keyboards</a> for our guides, so make sure to check in with us throughout the year to find out which are the right ones for you. In the meantime, though, there are still plenty of tempting options below.</p><h2 id="where-to-find-the-best-prime-day-gaming-keyboard-deals">Where to find the best Prime Day gaming keyboard deals</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.com/s?k=gaming+keyboard" target="_blank"><strong>All the gaming keyboards you could ever want</strong></a></li><li><strong>Walmart:</strong> <a href="https://www.walmart.com/search?q=gaming+keyboard" target="_blank">Quality gaming keyboards, superb savings</a></li><li><strong>Best Buy:</strong> <a href="https://www.bestbuy.com/site/searchpage.jsp?st=gaming+keyboards" target="_blank">Big name keyboards with big value discounts</a></li><li><strong>Newegg:</strong> <a href="https://www.newegg.com/Gaming-Keyboard/SubCategory/ID-3523?cm_sp=Cat_Keyboard-Mice_1-_-VisNav-_-Gaming-Keyboards" target="_blank">Big savings on big brand gaming keyboards</a></li></ul><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-6r4uxnr *:not(svg):not(path) { box-sizing: border-box; }    #widget-6r4uxnr h1, #widget-6r4uxnr p, #widget-6r4uxnr h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-6r4uxnr, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-6r4uxnr); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-6r4uxnr tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-6r4uxnr tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-6r4uxnr td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-6r4uxnr: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-6r4uxnr: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-6r4uxnr td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-6r4uxnr td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-6r4uxnr td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-6r4uxnr td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-6r4uxnr td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-6r4uxnr td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-6r4uxnr: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-6r4uxnr: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-6r4uxnr"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 76 gaming keyboard reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Gaming Keyboards";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%225S3EE8WZfdFfAQPjpW6kCT%22%2C%22title%22%3A%22Razer%20Reclusa%20X%20Mini%2065%25%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Frazer-reclusa-x-mini-65-percent-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-24T11%3A05%3A07Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FYSG4N9J9jHFHRxpSnGamWe.jpg%22%2C%22strapline%22%3A%22A%20budget%20mini%20keeb%20that%20somehow%20manages%20to%20feel%20high-end.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Gaming%20keyboard%22%2C%2265%25%20keyboard%22%2C%22Razer%20Reclusa%20X%20Mini%2065%25%22%2C%22ABS%22%2C%22Keycaps%22%2C%22wired%22%2C%22Magnetic%20switches%22%2C%22budget%22%5D%2C%22score%22%3A89%2C%22summary%22%3A%22A%20budget%20mini%20keeb%20that%20somehow%20manages%20to%20feel%20high-end.%22%7D%2C%7B%22id%22%3A%22tQuFw3eZTfok64xVrrkzoL%22%2C%22title%22%3A%22Be%20Quiet!%20Light%20Mount%20TKL%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fbe-quiet-light-mount-tkl-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-25T11%3A00%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FEKFS9yyRcpyGXg4u2d9d7o.jpg%22%2C%22strapline%22%3A%22A%20very%20welcome%20TKL%20update%20that%20didn't%20quite%20leave%20me%20speechless.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Review%22%2C%22Hardware%22%2C%22Gaming%20keyboard%22%2C%22be%20quiet!%20Light%20Mount%20TKL%22%2C%22be%20quiet!%20Light%20Mount%22%2C%22be%20quiet%22%2C%22mechanical%20keyboard%22%2C%22wired%22%2C%22RGB%22%5D%2C%22score%22%3A79%2C%22summary%22%3A%22A%20very%20welcome%20TKL%20update%20that%20didn't%20quite%20leave%20me%20speechless.%22%7D%2C%7B%22id%22%3A%22KhRJpBCxdh3b5buRuEeCGg%22%2C%22title%22%3A%22Keychron%20K8%20Ultra%208K%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fkeychron-k8-ultra-8k-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-19T13%3A29%3A22Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FM3D77H4ZPSveunoRmPb7od.jpg%22%2C%22strapline%22%3A%22Solid%2C%20dependable%20and%20versatile.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22keyboard%22%2C%22Keyboards%22%2C%22Gaming%20keyboards%22%2C%22Mechanical%20keyboards%22%2C%22Gaming%20keyboard%22%5D%2C%22score%22%3A88%2C%22summary%22%3A%22Solid%2C%20dependable%20and%20versatile.%22%7D%2C%7B%22id%22%3A%229kVBbSgAwuM8VfT4bojfLR%22%2C%22title%22%3A%22Asus%20ROG%20Azoth%20Extreme%20Edition%2020%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fasus-rog-azoth-extreme-edition-20-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-24T16%3A30%3A50Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FqHYtJQiCs2CPfmMExTfbJ9.jpg%22%2C%22strapline%22%3A%22The%20type%20of%20keyboard%20you%20buy%20because%20you%20can%2C%20and%20boy%20does%20it%20shine.%20%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22keyboard%22%2C%22Keyboards%22%2C%22Gaming%20keyboards%22%2C%22analog%20keyboards%22%2C%22Mechanical%20keyboards%22%2C%22Gaming%20keyboard%22%2C%22Hardware%22%2C%22Asus%20ROG%22%2C%22Asus%20ROG%20Azoth%20Extreme%20Edition%2020%22%2C%22special%20edition%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22The%20type%20of%20keyboard%20you%20buy%20because%20you%20can%2C%20and%20boy%20does%20it%20shine.%20%22%7D%2C%7B%22id%22%3A%22iHzgHfbNTjfDwcV3YWffkL%22%2C%22title%22%3A%22Turtle%20Beach%20Command%20Series%20KB7%20TKL%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fturtle-beach-command-series-kb7-tkl-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-30T14%3A06%3A39Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FvKQcrwr43mZvxAaNLbjepM.jpg%22%2C%22strapline%22%3A%22Turtle%20Beach%20puts%20a%20screen%20on%20another%20screenless%20PC%20mainstay.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Turtle%20Beach%22%2C%22Turtle%20Beach%20Command%20Series%20KB7%20TKL%20Hall-Effect%20Wired%20Keyboard%22%2C%22Hardware%22%2C%22Gaming%20keyboard%22%5D%2C%22score%22%3A85%2C%22summary%22%3A%22Turtle%20Beach%20puts%20a%20screen%20on%20another%20screenless%20PC%20mainstay.%22%7D%2C%7B%22id%22%3A%22WcYDEAPJkBRVN7qRVyfkfK%22%2C%22title%22%3A%22Logitech%20G316%20X%20(tactile)%20gaming%20keyboard%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Flogitech-g316-x-tactile-gaming-keyboard-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-29T17%3A02%3A11Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FggaGW6h7dZ2MJfcYJDpjwT.jpg%22%2C%22strapline%22%3A%22Oh%20what%20could%20have%20been.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Logitech%20G316%20X%22%2C%22keyboard%22%2C%22Logitech%22%2C%22Gaming%20keyboard%22%2C%22mechanical%22%2C%22mechanical%20keyboard%22%5D%2C%22score%22%3A61%2C%22summary%22%3A%22Oh%20what%20could%20have%20been.%22%7D%2C%7B%22id%22%3A%22gw8kodEU7U8aFntXGVMRcK%22%2C%22title%22%3A%22Melgeek%20Real81%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fmelgeek-real81-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-18T15%3A54%3A15Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FUQoKbXr85QopFn23S5qEgY.jpg%22%2C%22strapline%22%3A%22A%20competitive%20keyboard%20that%20stumbles%20in%20more%20casual%20settings.%20%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22keyboard%22%2C%22Gaming%20keyboard%22%2C%22MelGeek%22%2C%22Melgeek%20Real%2081%22%2C%22competitive%22%2C%228K%22%2C%228%2C000%20hz%22%2C%22Hardware%22%5D%2C%22score%22%3A69%2C%22summary%22%3A%22A%20competitive%20keyboard%20that%20stumbles%20in%20more%20casual%20settings.%20%22%7D%2C%7B%22id%22%3A%22iSxVKWkNTUgDkFbXRUG259%22%2C%22title%22%3A%22MelGeek%20Centauri%2080%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fmelgeek-centauri-80-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-05-28T15%3A01%3A08Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FNJL54WqHVfV4GetNebzSPL.jpg%22%2C%22strapline%22%3A%22A%20lovely%20keyboard%20I%20couldn't%20actually%20recommend%20buying%2C%20unless%20you're%20a%20big%20space%20nerd%20in%20need%20of%20a%20touchscreen.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22keyboard%22%2C%22Gaming%20keyboard%22%2C%22Review%22%2C%22MelGeek%22%2C%22MelGeek%20Centauri%2080%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20lovely%20keyboard%20I%20couldn't%20actually%20recommend%20buying%2C%20unless%20you're%20a%20big%20space%20nerd%20in%20need%20of%20a%20touchscreen.%22%7D%2C%7B%22id%22%3A%22KAYVxexYi6KWXooFXNjdni%22%2C%22title%22%3A%22Logitech%20G512%20X%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Flogitech-g512-x-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-04-28T07%3A01%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F2CFAqkbavRHGfpd2GuKGoT.jpg%22%2C%22strapline%22%3A%22Logitech's%20first%20foray%20into%20TMR%20switches%20is%20a%20triumph%2C%20and%20easily%20one%20of%20the%20best%20gaming%20keyboards%20I've%20used%20in%20recent%20memory.%20%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22keyboard%22%2C%22Keyboards%22%2C%22Gaming%20keyboards%22%2C%22analog%20keyboards%22%2C%22Mechanical%20keyboards%22%2C%22Gaming%20keyboard%22%2C%22best%20gaming%20keyboard%22%2C%22Logitech%22%2C%22Hardware%22%5D%2C%22score%22%3A90%2C%22summary%22%3A%22Logitech's%20first%20foray%20into%20TMR%20switches%20is%20a%20triumph%2C%20and%20easily%20one%20of%20the%20best%20gaming%20keyboards%20I've%20used%20in%20recent%20memory.%20%22%7D%2C%7B%22id%22%3A%22imTAQLqr4QDeG6qpAUz46V%22%2C%22title%22%3A%22Cherry%20XTRFY%20K5%20Pro%20TMR%20Compact%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fcherry-k5-pro-tmr-compact-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-04-09T10%3A00%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FNGvN2pffCkRzZGxW5VKbQ5.png%22%2C%22strapline%22%3A%22It%20ticks%20all%20of%20the%20right%20boxes%2C%20but%20I%20was%20left%20wanting%20just%20a%20little%20more.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Cherry%22%2C%22Hardware%22%2C%22TMR%22%2C%22Xtrfy%22%2C%22Gaming%20keyboard%22%2C%22Magnetic%20switches%22%5D%2C%22score%22%3A76%2C%22summary%22%3A%22It%20ticks%20all%20of%20the%20right%20boxes%2C%20but%20I%20was%20left%20wanting%20just%20a%20little%20more.%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 104;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Gaming Keyboards Widget"></iframe></div><h2 class="article-body__section" id="section-prime-day-gaming-keyboard-deals"><span>Prime Day gaming keyboard deals</span></h2><div class="product"><a data-dimension112="97cb5a08-bb4f-11f1-8c51-19f219b0e354" data-action="Deal Block" data-label="x NaughShark NS68 | Wired" data-dimension48="x NaughShark NS68 | Wired" data-dimension25="$45.99" href="https://www.amazon.com/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F283459L?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1503px;"><p class="vanilla-image-block" style="padding-top:99.33%;"><img id="cbkcaJ68Pwnf5TvXNiYANj" name="1790608297.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/cbkcaJ68Pwnf5TvXNiYANj-1920-80.jpg" mos="" align="middle" fullscreen="" width="1503" height="1493" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F283459L?th=1" target="_blank" rel="nofollow" data-dimension112="97cb5a08-bb4f-11f1-8c51-19f219b0e354" data-action="Deal Block" data-label="x NaughShark NS68 | Wired" data-dimension48="x NaughShark NS68 | Wired" data-dimension25="$45.99">x NaughShark NS68 | Wired: was $49.99 now $45.99</a></strong><br>An 8 KHz polling rate, Hall effect switches, rapid trigger, and nice double-shot PBT keycaps. The <a href="https://www.pcgamer.com/hardware/gaming-keyboards/gamakay-x-naughshark-ns68-review/" target="_blank">Gamakay x NaughShark NS68</a> is noticeably a cheaper keyboard in feel, but those internals truly are phenomenal. </p><p><strong>Key specs:</strong> <strong>Wired | 8,000 Hz | Hall effect </strong><a class="view-deal button" href="https://www.amazon.com/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F283459L?th=1" target="_blank" rel="nofollow" data-dimension112="97cb5a08-bb4f-11f1-8c51-19f219b0e354" data-action="Deal Block" data-label="x NaughShark NS68 | Wired" data-dimension48="x NaughShark NS68 | Wired" data-dimension25="$45.99">View Deal</a></p></div><div class="product"><a data-dimension112="97cb5a8a-bb4f-11f1-bf4f-3916c3bfff25" data-action="Deal Block" data-label="Reclusa X Mini 65% | Wired" data-dimension48="Reclusa X Mini 65% | Wired" data-dimension25="$49.99" href="https://www.amazon.com/Razer-Reclusa-Hot-Swappable-Mechanical-Keyboard/dp/B0H9CC8JCZ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="DDJyygUrhBvvRA35DZWvy8" name="1790608391.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/DDJyygUrhBvvRA35DZWvy8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1499" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-Reclusa-Hot-Swappable-Mechanical-Keyboard/dp/B0H9CC8JCZ" target="_blank" rel="nofollow" data-dimension112="97cb5a8a-bb4f-11f1-bf4f-3916c3bfff25" data-action="Deal Block" data-label="Reclusa X Mini 65% | Wired" data-dimension48="Reclusa X Mini 65% | Wired" data-dimension25="$49.99">Reclusa X Mini 65% | Wired: $49.99</a></strong><br>Okay, this one's not actually on sale, but we <a href="https://www.pcgamer.com/hardware/gaming-keyboards/razer-reclusa-x-mini-65-percent-review/" target="_blank">reviewed this new Razer budget keyboard very favourably</a> when it launched recently, so it's worth highlighting what a good keyboard it is. It doesn't have the competitive gaming features of the Naughshark above, but if you just want an excellent keyboard for typing and regular ol' gaming action, the build quality on the Reclusa is hard to beat at this price.<br><br><strong>Key specs: Wired USB-A to USB-C | 1,000 Hz | RGB lighting | 65% size </strong><a class="view-deal button" href="https://www.amazon.com/Razer-Reclusa-Hot-Swappable-Mechanical-Keyboard/dp/B0H9CC8JCZ" target="_blank" rel="nofollow" data-dimension112="97cb5a8a-bb4f-11f1-bf4f-3916c3bfff25" data-action="Deal Block" data-label="Reclusa X Mini 65% | Wired" data-dimension48="Reclusa X Mini 65% | Wired" data-dimension25="$49.99">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8f712-bb47-11f1-893f-3f2d56427584" data-action="Deal Block" data-label="Huntsman Mini | Wired" data-dimension48="Huntsman Mini | Wired" data-dimension25="$69.00" href="https://www.amazon.com/Razer-Huntsman-Mini-Gaming-Keyboard/dp/B0FFJDH7GM" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ieEsaMbBWvzjtMBSVc2zHf" name="1698929091.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ieEsaMbBWvzjtMBSVc2zHf-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-Huntsman-Mini-Gaming-Keyboard/dp/B0FFJDH7GM" target="_blank" rel="nofollow" data-dimension112="a9d8f712-bb47-11f1-893f-3f2d56427584" data-action="Deal Block" data-label="Huntsman Mini | Wired" data-dimension48="Huntsman Mini | Wired" data-dimension25="$69.00">Huntsman Mini | Wired: was $129.99 now $69.00</a></strong><br>A teeny-tiny keyboard with impressive credentials. You can customize the lighting to your heart's content with Razer's Chroma RGB lighting, but the headline feature here is the inclusion of optical-mechanical switches. It's also got PBT keys and Razer Hypershift for all your favorite macros.</p><p><strong>Key specs: Tenkeyless | Razer optomechanical switch (clicky or linear) | Chroma RGB lighting</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/site/razer-huntsman-mini-60-wired-optical-clicky-switch-gaming-keyboard-with-chroma-rgb-backlighting-black/6417111.p?skuId=6417111" target="_blank">Best Buy $69.00 (black model)</a><strong></strong><a class="view-deal button" href="https://www.amazon.com/Razer-Huntsman-Mini-Gaming-Keyboard/dp/B0FFJDH7GM" target="_blank" rel="nofollow" data-dimension112="a9d8f712-bb47-11f1-893f-3f2d56427584" data-action="Deal Block" data-label="Huntsman Mini | Wired" data-dimension48="Huntsman Mini | Wired" data-dimension25="$69.00">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8f83e-bb47-11f1-b679-53ec45644ec3" data-action="Deal Block" data-label="ROG Strix Scope X | Wired" data-dimension48="ROG Strix Scope X | Wired" data-dimension25="$85.49" href="https://www.amazon.com/dp/B0FGGZK4X7" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="6QKGW8GFyBNo2hgf3BuQxJ" name="AsusROGStrixScopeIIX" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6QKGW8GFyBNo2hgf3BuQxJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FGGZK4X7" target="_blank" rel="nofollow" data-dimension112="a9d8f83e-bb47-11f1-b679-53ec45644ec3" data-action="Deal Block" data-label="ROG Strix Scope X | Wired" data-dimension48="ROG Strix Scope X | Wired" data-dimension25="$85.49">ROG Strix Scope X | Wired: was $129.99 now $85.49</a></strong><br>This is the full size (and wired) variant of one of our all-time favourite keebs. It's a bit of a desk dominator, but if you don't mind the size and dealing with a cable, it's got a very attractive price. It's got pre-lubed NX Snow V2 linear switches and the switch dampening pads we love so much, so the typing feel should be pretty ace.</p><p><strong>Key specs: Full-size | ROG RX pre-lubed linear linear switches | PBT doubleshot | sound-dampened | wired USB Type-C</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FGGZK4X7" target="_blank" rel="nofollow" data-dimension112="a9d8f83e-bb47-11f1-b679-53ec45644ec3" data-action="Deal Block" data-label="ROG Strix Scope X | Wired" data-dimension48="ROG Strix Scope X | Wired" data-dimension25="$85.49">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8f776-bb47-11f1-a43f-ff8eabc44183" data-action="Deal Block" data-label="G Pro | Wired" data-dimension48="G Pro | Wired" data-dimension25="$85.49" href="https://www.amazon.com/Logitech-Mechanical-Tenkeyless-Detachable-LIGHTSYNC/dp/B07QQB9VCV?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="TdwJBFg7MUjmSDUQybdXCD" name="1698923788.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TdwJBFg7MUjmSDUQybdXCD-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-Mechanical-Tenkeyless-Detachable-LIGHTSYNC/dp/B07QQB9VCV?th=1" target="_blank" rel="nofollow" data-dimension112="a9d8f776-bb47-11f1-a43f-ff8eabc44183" data-action="Deal Block" data-label="G Pro | Wired" data-dimension48="G Pro | Wired" data-dimension25="$85.49">G Pro | Wired: was $119.99 now $85.49</a></strong><br>This Logitech G Pro gives you all the functionality with less of the fuss. It comes with a choice of key switches, a detachable Micro USB cable for easy portability, 3-step angle adjustment and a lot of customization options in the G Hub software. Those backlit keys are on the subtle side of RGB lighting, and the Logitech comes off as a class act for less at this price. </p><p><strong>Key specs: Tenkeyless | Mechanical | Lightsync RGB backlit keys</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/logitech-g-pro-tkl-wired-mechanical-gx-blue-clicky-switch-gaming-keyboard-with-rgb-backlighting-for-pc-black/J7H7ZYXWCJ" target="_blank">Best Buy $119.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-Mechanical-Tenkeyless-Detachable-LIGHTSYNC/dp/B07QQB9VCV?th=1" target="_blank" rel="nofollow" data-dimension112="a9d8f776-bb47-11f1-a43f-ff8eabc44183" data-action="Deal Block" data-label="G Pro | Wired" data-dimension48="G Pro | Wired" data-dimension25="$85.49">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8f7da-bb47-11f1-a3c6-8346dad04957" data-action="Deal Block" data-label="G515 Wireless TKL" data-dimension48="G515 Wireless TKL" data-dimension25="$97.03" href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1504px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="mSngcsZXFHBy4ZVCVYNZF5" name="1781521507.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mSngcsZXFHBy4ZVCVYNZF5-1920-80.jpg" mos="" align="middle" fullscreen="" width="1504" height="1494" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19" target="_blank" rel="nofollow" data-dimension112="a9d8f7da-bb47-11f1-a3c6-8346dad04957" data-action="Deal Block" data-label="G515 Wireless TKL" data-dimension48="G515 Wireless TKL" data-dimension25="$97.03">G515 Wireless TKL: was $159.99 now $97.03</a></strong><br>This compact keyboard is especially affordable in this light purple colorway. We reviewed the <a href="https://www.pcgamer.com/hardware/gaming-keyboards/logitech-g515-rapid-tkl-review/" target="_blank">wired Rapid version with magnetic switches a while back</a> and thought it was a bit expensive for what you get—but this is the wireless version with standard keys for much, much less cash.</p><p><strong>Key specs: Wireless | Low-profile | PBT keycaps</strong><a class="view-deal button" href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19" target="_blank" rel="nofollow" data-dimension112="a9d8f7da-bb47-11f1-a3c6-8346dad04957" data-action="Deal Block" data-label="G515 Wireless TKL" data-dimension48="G515 Wireless TKL" data-dimension25="$97.03">View Deal</a></p></div><div class="product"><a data-dimension112="76c0352c-c180-11f1-ab2c-77eba1e51548" data-action="Deal Block" data-label="MSI GF65" data-dimension48="BlackWidow V4 TKL Wireless" data-dimension25="$99.99" href="https://www.amazon.com/dp/B0FD5276Z6" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="t93oNJaeWt2bWkXRLbSXKa" name="Razerkeeb" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/t93oNJaeWt2bWkXRLbSXKa-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FD5276Z6" target="_blank" rel="nofollow" data-dimension112="76c0352c-c180-11f1-ab2c-77eba1e51548" data-action="Deal Block" data-label="MSI GF65" data-dimension48="BlackWidow V4 TKL Wireless" data-dimension25="$99.99">BlackWidow V4 TKL Wireless: was $149.99 now $99.99</a></strong><br>Gamer aesthetic doesn't make you flinch; on the contrary, you love it? I mean, same. I own a previous version of the BlackWidow, and I love just how clicky it is, plus it's super sturdy. I tend to mash my keys with the force of an angry sledgehammer, but Razer's signature gaming keyboard doesn't bat an eye.</p><p><strong>Key specs:</strong> <strong>TKL | Orange switches | Multi-function roller | 3 control buttons | Hot-swappable | 2.4 GHz, Bluetooth  | Up to 980h battery life</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FD5276Z6" target="_blank" rel="nofollow" data-dimension112="76c0352c-c180-11f1-ab2c-77eba1e51548" data-action="Deal Block" data-label="MSI GF65" data-dimension48="BlackWidow V4 TKL Wireless" data-dimension25="$99.99">View Deal</a></p></div><div class="product"><a data-dimension112="76c035cc-c180-11f1-b931-bfcd87681c8b" data-action="Deal Block" data-label="MSI GF65" data-dimension48="K2 HE Wireless 75%" data-dimension25="$111.99" href="https://www.amazon.com/dp/B0DCVPGB9N" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:81.00%;"><img id="zRyyXmxqYXZ4b7TUXNo9zm" name="61ioq+AEmlL._AC_SL1500_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/zRyyXmxqYXZ4b7TUXNo9zm-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1215" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0DCVPGB9N" target="_blank" rel="nofollow" data-dimension112="76c035cc-c180-11f1-b931-bfcd87681c8b" data-action="Deal Block" data-label="MSI GF65" data-dimension48="K2 HE Wireless 75%" data-dimension25="$111.99">K2 HE Wireless 75%: was $139.99 now $111.99</a></strong><br>I love me a stylish gaming keeb, and this Keychron K2 HE gives you Noctua fan vibes while delivering on the performance front. This isn't the type of keyboard that'll scream "gamer," so you can keep it in your office and pretend that you're a fully functioning member of society while still mashing away until the early hours. We <a href="https://www.pcgamer.com/hardware/gaming-keyboards/keychron-k2-he-review/" target="_blank">liked this one a lot</a>, by the way, so it's not just nice to look at.</p><p><strong>Key specs:</strong> <strong>75% layout | Magnetic sensors | Customizable actuation | 2.4 GHz, Bluetooth 5.2, USB Type-C | 1,000 Hz polling rate</strong></p><p><strong>Price check: </strong><a href="https://www.newegg.com/p/0TP-032N-004N0" target="_blank">Newegg $272.48</a><a class="view-deal button" href="https://www.amazon.com/dp/B0DCVPGB9N" target="_blank" rel="nofollow" data-dimension112="76c035cc-c180-11f1-b931-bfcd87681c8b" data-action="Deal Block" data-label="MSI GF65" data-dimension48="K2 HE Wireless 75%" data-dimension25="$111.99">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8f8fc-bb47-11f1-9b93-8d8521974fb3" data-action="Deal Block" data-label="ROG Strix Scope II 96 RX | Wireless" data-dimension48="ROG Strix Scope II 96 RX | Wireless" data-dimension25="$119.69" href="https://www.amazon.com/ASUS-II-96-RX-Wireless/dp/B0GMZ5Z9G4/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="aBkTkcypaZkMRFHYZ9uCRf" name="1781598708.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/aBkTkcypaZkMRFHYZ9uCRf-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1499" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/ASUS-II-96-RX-Wireless/dp/B0GMZ5Z9G4/" target="_blank" rel="nofollow" data-dimension112="a9d8f8fc-bb47-11f1-9b93-8d8521974fb3" data-action="Deal Block" data-label="ROG Strix Scope II 96 RX | Wireless" data-dimension48="ROG Strix Scope II 96 RX | Wireless" data-dimension25="$119.69">ROG Strix Scope II 96 RX | Wireless: was $179.99 now $119.69</a></strong><br>This is one of the best keyboards going and right now it's at a cracking price. You're getting excellent typing feel, stellar gaming performance, sound dampening that actually works, and a build quality that stands well above most of the competition. The RX version is optical, too, though non-adjustable.</p><p><strong>Key specs: 96% | Wireless | sound dampening</strong><a class="view-deal button" href="https://www.amazon.com/ASUS-II-96-RX-Wireless/dp/B0GMZ5Z9G4/" target="_blank" rel="nofollow" data-dimension112="a9d8f8fc-bb47-11f1-9b93-8d8521974fb3" data-action="Deal Block" data-label="ROG Strix Scope II 96 RX | Wireless" data-dimension48="ROG Strix Scope II 96 RX | Wireless" data-dimension25="$119.69">View Deal</a></p></div><div class="product"><a data-dimension112="3383dc4c-c233-11f1-8932-8d3dada81fac" data-action="Deal Block" data-label="Vanguard Pro 96" data-dimension48="Vanguard Pro 96" data-dimension25="$149.99" href="https://www.amazon.com/Corsair-Vanguard-Magnetic-Mechanical-Keyboard-PC/dp/B0FKHPRZ45" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Srw8Ws3JmR6R9hyH6YomwV" name="Vanguard Pro 96" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Srw8Ws3JmR6R9hyH6YomwV-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Corsair-Vanguard-Magnetic-Mechanical-Keyboard-PC/dp/B0FKHPRZ45" target="_blank" rel="nofollow" data-dimension112="3383dc4c-c233-11f1-8932-8d3dada81fac" data-action="Deal Block" data-label="Vanguard Pro 96" data-dimension48="Vanguard Pro 96" data-dimension25="$149.99">Vanguard Pro 96: was $229.99 now $149.99</a></strong><br>Getting an <a href="https://www.pcgamer.com/hardware/gaming-keyboards/corsair-vanguard-pro-96-review/" target="_blank">85% from us</a> late last year, this keyboard has responsive and powerful Hall effect switches, and it even comes with macro keys and a wrist rest. The price is hefty, and it's only wired but it's a great keeb, nonetheless</p><p><strong>Key specs: Corsair MGX Overdrive switches | wired | PBT doubleshot | Hall effect</strong></p><p><strong>Price check:</strong> <a href="https://www.bestbuy.com/product/corsair-vanguard-pro-96-rgb-wired-magnetic-hall-effect-mgx-linear-96-gaming-keyboard-with-flashtap-socd-rapid-trigger-black/J39TSCPZC5" target="_blank">Best Buy $229.99</a><a class="view-deal button" href="https://www.amazon.com/Corsair-Vanguard-Magnetic-Mechanical-Keyboard-PC/dp/B0FKHPRZ45" target="_blank" rel="nofollow" data-dimension112="3383dc4c-c233-11f1-8932-8d3dada81fac" data-action="Deal Block" data-label="Vanguard Pro 96" data-dimension48="Vanguard Pro 96" data-dimension25="$149.99">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8f960-bb47-11f1-904c-d31a1dd5e324" data-action="Deal Block" data-label="Apex Pro Gen 3 | Wired" data-dimension48="Apex Pro Gen 3 | Wired" data-dimension25="$199.99" href="https://www.amazon.com/SteelSeries-Apex-Pro-TKL-Gen/dp/B0DGZLHN8G" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="SAo3QyrPMzu3j2SfKjWVtZ" name="key" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/SAo3QyrPMzu3j2SfKjWVtZ-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/SteelSeries-Apex-Pro-TKL-Gen/dp/B0DGZLHN8G" target="_blank" rel="nofollow" data-dimension112="a9d8f960-bb47-11f1-904c-d31a1dd5e324" data-action="Deal Block" data-label="Apex Pro Gen 3 | Wired" data-dimension48="Apex Pro Gen 3 | Wired" data-dimension25="$199.99">Apex Pro Gen 3 | Wired: was $239.99 now $199.99</a></strong><br>It's quite a lot of cash for a keyboard, but it shows in not only the tech underneath the keys (like some impressive switches) but also the build quality and extra quality-of-life features. If you're looking for a rapid trigger keyboard to cut fractions off your reaction times, and like the idea of an extra little screen to display in-game information, this is an excellent choice, especially with a tidy discount. </p><p><strong>Key specs: OmniPoint 3.0 HyperMagnetic Switches | Wired | Rapid trigger </strong></p><p><strong>Price check:</strong> <a href="https://www.bestbuy.com/product/steelseries-apex-pro-gen-3-full-size-wired-mechanical-omnipoint-adjustable-gaming-keyboard-with-rapid-tap-black/J3GTVPQWWX" target="_blank">Best Buy $228.99</a><a class="view-deal button" href="https://www.amazon.com/SteelSeries-Apex-Pro-TKL-Gen/dp/B0DGZLHN8G" target="_blank" rel="nofollow" data-dimension112="a9d8f960-bb47-11f1-904c-d31a1dd5e324" data-action="Deal Block" data-label="Apex Pro Gen 3 | Wired" data-dimension48="Apex Pro Gen 3 | Wired" data-dimension25="$199.99">View Deal</a></p></div><div class="product"><a data-dimension112="3383dd1e-c233-11f1-a148-71afe111e854" data-action="Deal Block" data-label="Galleon 100 SD" data-dimension48="Galleon 100 SD" data-dimension25="$284.99" href="https://www.amazon.com/Corsair-Galleon-Mechanical-Gaming-Keyboard/dp/B0G3PN1VS4" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="EbCb4ApJhSjhgtrmpdMSTG" name="Galleon 100 SD" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/EbCb4ApJhSjhgtrmpdMSTG-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>A grand keyboard with a grand price tag, the <a href="https://www.pcgamer.com/hardware/gaming-keyboards/corsair-galleon-100-sd-review/" target="_blank" data-dimension112="3383dd1e-c233-11f1-a148-71afe111e854" data-action="Deal Block" data-label="Galleon 100 SD" data-dimension48="Galleon 100 SD" data-dimension25="$284.99">Corsair Galleon 100 SD</a> is well-built, with a great sound and a built-in Stream Deck. The only major caveats are the price and mediocre USB passthrough.</p><p><strong>Key specs: Full size |  Corsair MLX Pulse switches | Up to 8,000 Hz | Wired</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/corsair-galleon-100-sd-stream-deck-integrated-mechanical-gaming-keyboard-black/J39TSCSCRT" target="_blank">Best Buy $299.99</a><strong></strong><a class="view-deal button" href="https://www.amazon.com/Corsair-Galleon-Mechanical-Gaming-Keyboard/dp/B0G3PN1VS4" target="_blank" rel="nofollow" data-dimension112="3383dd1e-c233-11f1-a148-71afe111e854" data-action="Deal Block" data-label="Galleon 100 SD" data-dimension48="Galleon 100 SD" data-dimension25="$284.99">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8fa0a-bb47-11f1-9430-134d818f0d28" data-action="Deal Block" data-label="ROG Azoth Extreme | Wireless" data-dimension48="ROG Azoth Extreme | Wireless" data-dimension25="$334.99" href="https://www.amazon.com/ASUS-Extreme-Wireless-Mechanical-Keyboard/dp/B0D45ZHYZJ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="govmE7Ga4oRFS7SZ2kqPCi" name="a" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/govmE7Ga4oRFS7SZ2kqPCi-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/ASUS-Extreme-Wireless-Mechanical-Keyboard/dp/B0D45ZHYZJ" target="_blank" rel="nofollow" data-dimension112="a9d8fa0a-bb47-11f1-9430-134d818f0d28" data-action="Deal Block" data-label="ROG Azoth Extreme | Wireless" data-dimension48="ROG Azoth Extreme | Wireless" data-dimension25="$334.99">ROG Azoth Extreme | Wireless: was $499.99 now $334.99</a></strong><br>The Asus ROG Azoth Extreme Wireless is still a pricey 'ol keeb even with a discount. We still liked it a lot in <a href="https://www.pcgamer.com/hardware/gaming-keyboards/asus-rog-azoth-extreme-review/" target="_blank">our review</a>, though, and that's for good reason. It's beautifully constructed, with a super typing feel and useful media controls. </p><p><strong>Key specs: 75% | ROG NX Snow linear switches | Aluminium chassis | OLED screen</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/asus-rog-azoth-extreme-75-wireless-mechanical-gaming-keyboard-with-rog-nx-snow-linear-switches-and-color-oled-touchscreen-black/JJGGLQLYRY/sku/6606308" target="_blank">Best Buy $334.99</a><a class="view-deal button" href="https://www.amazon.com/ASUS-Extreme-Wireless-Mechanical-Keyboard/dp/B0D45ZHYZJ" target="_blank" rel="nofollow" data-dimension112="a9d8fa0a-bb47-11f1-9430-134d818f0d28" data-action="Deal Block" data-label="ROG Azoth Extreme | Wireless" data-dimension48="ROG Azoth Extreme | Wireless" data-dimension25="$334.99">View Deal</a></p></div><h2 id="check-out-all-our-latest-deals-in-any-category-2">Check out all our latest deals in any category:</h2><div class="vizualizer-embed"><fc-author-commerce-widget data-fcaw-version="1" data-fcaw-full-bleed="false">  <style data-fcaw-host-protection>fc-author-commerce-widget[data-fcaw-version="1"] {  display: block !important;  width: 100% !important;  min-width: 0 !important;  max-width: none !important;  isolation: isolate !important;  contain: style !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]{  width: min(    1200px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1200px !important;  margin-left: var(    --fcaw-full-bleed-offset,    calc(50% - min(600px, 50vw))  ) !important;  margin-right: 0 !important;  position: relative !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]  #tg-df-spreadsheet-filters {  width: min(    1500px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1500px !important;  margin-left: calc(    (      100% -      min(1500px, var(--fcaw-viewport-width, 100vw))    ) / 2  ) !important;  margin-right: 0 !important;}fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::before,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::after {  box-sizing: border-box;}</style>  <div data-fcaw-fallback class="fcaw-v1-fallback">    <style>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with 'tg-df-' to prevent CMS style leakage.    */    .tg-df-container { user-select: text; -webkit-user-select: text;      container-type: inline-size;      container-name: tg-df;                  --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]    {      width: min(        1200px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1200px !important;      margin-left: calc(        (          100% -          min(1200px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;      position: relative !important;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]      #tg-df-spreadsheet-filters {      width: min(        1500px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1500px !important;      margin-left: calc(        (          100% -          min(1500px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: var(--tg-df-blue);    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }        .tg-df-filters {      display: flex;      justify-content: center;      width: 100%;      gap: 12px;      margin: 0 auto;      max-width: 42rem;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;      max-width: 280px;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    .tg-df-scroll-btn {      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 4px;    }    .tg-df-scroll-btn.right {      right: 4px;    }    @container tg-df (max-width: 768px) {      .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;      margin: 0 auto;    }    .tg-df-filters {        justify-content: center;        width: 100%;        margin: 0 auto;        margin-bottom: -320px;        padding: 0 0 320px 0;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: calc(100% + 32px);      max-width: none;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;      margin: 0 -16px -16px -16px;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }    .tg-df-buying-guide-badge {      left: auto;      right: 12px;      max-width: calc(100% - 24px);      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges { position: absolute; bottom: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; z-index: 10; }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-card-listings {      margin: 0 0 12px;    }    .tg-df-card-listings-title {      display: block;      color: var(--tg-df-text-muted);      font-size: 11px;      font-weight: 700;      letter-spacing: 0.45px;      line-height: 1.2;      margin-bottom: 4px;      text-transform: uppercase;    }    .tg-df-card-listings-links {      border-top: 1px solid var(--tg-df-border);    }    .tg-df-container .tg-df-card-listing-link {      align-items: center;      border-bottom: 1px solid var(--tg-df-border);      box-sizing: border-box;      color: var(--tg-df-blue);      display: flex;      font-size: 13px;      font-weight: 700;      justify-content: space-between;      line-height: 1.2;      min-height: 34px;      padding: 5px 2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-listing-link::after {      content: '↗';      font-size: 14px;      font-weight: 600;      margin-left: 8px;    }    .tg-df-container .tg-df-card-listing-link:hover,    .tg-df-container .tg-df-card-listing-link:focus-visible {      background: #f8fafc;      color: var(--tg-df-blue);      outline: 2px solid var(--tg-df-blue);      outline-offset: -2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: calc(100% + 32px);      max-width: none;      box-sizing: border-box;      background-color: var(--tg-df-blue);      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;      margin: 0 -16px -16px -16px;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      filter: brightness(0.85);    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /* Optional mobile 2x2 filter grid */    .tg-df-mobile-2x2-container {      display: none;      width: 100%;      margin: 0 0 16px 0;      position: relative;      z-index: 30;    }    .tg-df-mobile-2x2-grid {      display: grid;      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);      width: 100%;      border: 1px solid var(--tg-df-border, #e2e8f0);      background: var(--tg-df-bg, #ffffff);    }    .tg-df-container .tg-df-mobile-grid-cell {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      min-width: 0;      padding: 12px 14px;      font-family: inherit;      font-size: 11px;      font-weight: 600;      line-height: 1.2;      text-transform: uppercase;      letter-spacing: 0.5px;      text-align: left;      color: var(--tg-df-text-muted, #64748b);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-mobile-grid-cell > span {      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }    .tg-df-mobile-grid-cell > svg {      flex: 0 0 auto;      margin-left: 8px;      transition: transform 0.15s ease;    }    .tg-df-mobile-grid-cell > svg.is-open {      transform: rotate(180deg);    }    .tg-df-mobile-grid-cell {      border-bottom: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-grid-cell:nth-child(odd) {      border-right: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-2x2-grid--even .tg-df-mobile-grid-cell:nth-last-child(-n + 2) {      border-bottom: 0;    }    .tg-df-mobile-2x2-grid--odd .tg-df-mobile-grid-cell:last-child {      grid-column: 1 / -1;      border-right: 0;      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-grid-cell.active,    .tg-df-container .tg-df-mobile-grid-cell:hover {      background: var(--tg-df-bg-secondary, #f8fafc);      color: var(--tg-df-text, #0f172a);    }    .tg-df-container .tg-df-mobile-grid-cell.has-active-filter {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;    }    .tg-df-mobile-menu-drawer {      width: 100%;      max-height: 260px;      overflow-y: auto;      overscroll-behavior: contain;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-top: 0;      background: var(--tg-df-bg, #ffffff);      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);    }    .tg-df-container .tg-df-mobile-menu-item {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      width: 100%;      min-height: 42px;      padding: 12px 16px;      font-family: inherit;      font-size: 12px;      font-weight: 500;      line-height: 1.3;      text-align: left;      color: var(--tg-df-text, #0f172a);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-bottom: 1px solid #f1f5f9;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-container .tg-df-mobile-menu-item:last-child {      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-menu-item.selected {      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.08);      font-weight: 600;    }    .tg-df-container .tg-df-mobile-menu-item:hover {      background: var(--tg-df-bg-secondary, #f8fafc);    }    .tg-df-mobile-cell-badge {      display: inline-flex;      align-items: center;      justify-content: center;      padding: 2px 6px;      margin-left: 4px;      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.1);      border-radius: 9999px;      font-size: 10px;      font-weight: 700;    }    @container tg-df (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    @media (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    /* A non-full-bleed desktop embed is constrained to the article column.       Reuse the compact filter grid there instead of squeezing the rails. */    @container tg-df (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    @media (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-mobile-authors { gap: 16px !important; }      .tg-df-mobile-authors .tg-df-author-row-item { width: 56px !important; }      .tg-df-mobile-authors .tg-df-author-img-wrapper { width: 48px !important; height: 48px !important; }      .tg-df-mobile-authors .tg-df-author-brand-logo { width: 18px !important; height: 18px !important; bottom: -2px !important; right: -2px !important; }      .tg-df-mobile-authors .tg-df-author-row-name { font-size: 11px !important; }      .tg-df-mobile-authors .tg-df-author-row-role { font-size: 10px !important; }            .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-controls {        padding: 16px 0 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 8px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    @media (max-width: 599px) {      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }        .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: var(--tg-df-blue);      position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }      .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }        .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;      scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-scroll-left {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: rgba(255, 255, 255, 0.4);      color: var(--tg-df-blue);      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);      border: none;      cursor: pointer;      transition: background-color 0.2s;      margin-top: -4px;      z-index: 10;    }    .tg-df-container .tg-df-carousel-scroll-right {      right: 0;    }    .tg-df-container .tg-df-carousel-scroll-left {      left: 0;    }    .tg-df-container .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-scroll-left:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left {       height: 30px;       width: 30px;       background-color: rgba(255, 255, 255, 0.8);       box-shadow: 0 2px 4px rgba(0,0,0,0.1);       margin-top: 0;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left:hover {       background-color: white;    }    .tg-df-container .tg-df-grid-wrapper {       position: relative;    }    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-left {       background-color: white;       box-shadow: 0 4px 12px rgba(0,0,0,0.15);       top: 40%;       width: 44px;       height: 44px;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }            .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover, .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      width: calc(100% + 24px);      border-radius: 0;      padding: 8px 10px;      margin: auto -12px -12px -12px;      background-color: var(--tg-df-blue);    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; padding-right: 12px; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @media (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }      .tg-df-container .hawk-deal-widget-title-product-title,      .tg-df-container .hawk-deal-widget-title-price,      .tg-df-container .hawk-deal-widget-title-retailer {        font-size: 14px !important;        line-height: 1.35 !important;        font-weight: 700 !important;      }      .tg-df-container .hawk-deal-widget-title-was-price {        font-size: 13px !important;        line-height: 1.35 !important;      }      .tg-df-container .hawk-deal-widget-text-body-main {        font-size: 14px !important;        line-height: 1.35 !important;        margin-bottom: 8px !important;      }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    /* BESPOKE AUTHOR HEADER STYLES - MAX ISOLATION PROTECTION */    .tg-df-author-embed {      width: 100% !important;      font-family: inherit !important;      background: transparent !important;      margin: 0 !important;      padding: 0 !important;      border: none !important;    }    .tg-df-author-section {      display: block !important;      width: 100% !important;      max-width: 100% !important;      opacity: 1 !important;      overflow: visible !important;      background: transparent !important;      border: none !important;      margin: 0 auto !important;      padding: 0 !important;      box-shadow: none !important;    }    .tg-df-author-card {      text-align: center !important;      padding: 1.75rem 1rem 1.25rem 1rem !important;      margin: 0 auto !important;      max-width: 48rem !important;      background: transparent !important;      border: none !important;      border-radius: 0 !important;      box-sizing: border-box !important;      box-shadow: none !important;    }    .tg-df-author-image {      width: 180px !important;      height: 180px !important;      border-radius: 50% !important;      object-fit: cover !important;      margin: 0 auto 0.75rem auto !important;      display: block !important;      border: none !important;      box-shadow: none !important;      max-width: 100% !important;    }    .tg-df-author-media-slot {      width: 100% !important;      height: 180px !important;      min-height: 180px !important;      margin: 0 auto 0.75rem auto !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;    }    .tg-df-author-media-slot .tg-df-author-image {      margin: 0 auto !important;    }    .tg-df-author-profile-image-wrapper {      position: relative !important;      width: 180px !important;      height: 180px !important;      margin: 0 auto 0.75rem auto !important;      flex: 0 0 auto !important;    }    .tg-df-author-profile-brand-logo {      position: absolute !important;      right: 12px !important;      bottom: 12px !important;      width: 42px !important;      height: 42px !important;      padding: 0 !important;      border: 3px solid var(--tg-df-bg, #fff) !important;      border-radius: 50% !important;      background: #000 !important;      object-fit: contain !important;      box-sizing: border-box !important;    }    .tg-df-author-curated-by {      font-size: 0.875rem !important;      color: #6B7280 !important;      font-style: normal !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      line-height: 1.4 !important;    }    .tg-df-author-name {      font-size: 2rem !important;      font-weight: 300 !important;      color: #111827 !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      line-height: 1.1 !important;      letter-spacing: -0.02em !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-role {      font-size: 0.9375rem !important;      font-weight: 500 !important;      color: var(--tg-df-blue, #1F69FF) !important;      margin: 0 0 1.25rem 0 !important;      padding: 0 !important;      line-height: 1.3 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-meta-slot {      width: 100% !important;      min-height: 88px !important;      display: flex !important;      flex-direction: column !important;      align-items: center !important;      justify-content: flex-start !important;    }    .tg-df-author-meta-slot--site {      padding-top: 1rem !important;    }    .tg-df-author-meta-slot--no-social {      min-height: 0 !important;    }    .tg-df-author-meta-slot--no-social .tg-df-author-role {      margin-bottom: 0.5rem !important;    }    .tg-df-author-social-links {      display: flex !important;      flex-wrap: wrap !important;      align-items: center !important;      justify-content: center !important;      gap: 1rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 !important;      max-width: 42rem !important;      width: 100% !important;      list-style: none !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-social-btn {      display: inline-flex !important;      align-items: center !important;      justify-content: center !important;      padding: 0 !important;      border-radius: 50% !important;      background-color: #f2f2f2 !important;      color: #111111 !important;      font-size: 0.8125rem !important;      font-weight: 500 !important;      text-decoration: none !important;      transition: all 0.2s ease !important;      border: 0 !important;      line-height: 1 !important;      box-shadow: none !important;      cursor: pointer !important;      outline: none !important;      margin: 0 !important;      height: 34px !important;      width: 34px !important;      min-width: 34px !important;      box-sizing: border-box !important;    }    .tg-df-author-social-btn:hover {      background-color: #dedede !important;      color: #111111 !important;      transform: translateY(-1px) !important;    }    .tg-df-author-social-btn > svg {      width: 19px !important;      height: 19px !important;      flex-shrink: 0 !important;      display: block !important;      margin: 0 !important;    }    .tg-df-author-social-btn[data-social-key="facebook"] > svg {      transform: scale(1.25) !important;    }    .tg-df-author-social-btn[data-social-key="pinterest"] > svg,    .tg-df-author-social-btn[data-social-key="tiktok"] > svg {      transform: scale(1.2) !important;    }    .tg-df-author-bio {      max-width: 42rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 0.5rem !important;      color: #4b5563 !important;      line-height: 1.6 !important;      font-weight: 300 !important;      font-size: 0.9375rem !important;      text-align: center !important;      background: none !important;      border: none !important;      border-radius: 0 !important;      box-shadow: none !important;      display: block !important;      height: auto !important;      overflow: visible !important;    }    .tg-df-author-bio-shell--stable {      width: 100% !important;      box-sizing: border-box !important;    }    .tg-df-author-bio--clamped {      min-height: 4.8em !important;      height: 4.8em !important;      max-height: 4.8em !important;      display: -webkit-box !important;      -webkit-box-orient: vertical !important;      -webkit-line-clamp: 3 !important;      overflow: hidden !important;    }    .tg-df-author-bio--expanded {      min-height: 4.8em !important;      height: auto !important;      max-height: none !important;      display: block !important;      overflow: visible !important;    }    .tg-df-author-bio--static,    .tg-df-author-bio--static:hover,    .tg-df-author-bio--static:focus,    .tg-df-author-bio--static:focus-visible {      outline: none !important;      box-shadow: none !important;      cursor: default !important;    }    .tg-df-author-bio-toggle-slot {      height: 28px !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;      margin: 0.125rem 0 0 !important;    }    .tg-df-author-bio-toggle {      appearance: none !important;      border: 0 !important;      border-bottom: 1px solid currentColor !important;      border-radius: 0 !important;      padding: 0.125rem 0 !important;      margin: 0 !important;      background: transparent !important;      color: #4b5563 !important;      box-shadow: none !important;      font: inherit !important;      font-size: 0.75rem !important;      font-weight: 600 !important;      line-height: 1.2 !important;      text-decoration: none !important;      text-transform: none !important;      cursor: pointer !important;    }    .tg-df-author-bio a {      color: var(--tg-df-blue, #1F69FF) !important;      text-decoration: underline !important;      font-weight: 400 !important;      background: none !important;      border: none !important;      padding: 0 !important;      margin: 0 !important;      border-radius: 0 !important;      display: inline !important;      box-shadow: none !important;    }    .tg-df-author-bio p,    .tg-df-author-bio div,    .tg-df-author-bio span {      margin: 0 !important;      padding: 0 !important;      color: inherit !important;      font: inherit !important;      line-height: inherit !important;      text-align: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-bio strong,    .tg-df-author-bio b {      font-weight: 600 !important;    }    .tg-df-author-bio em,    .tg-df-author-bio i {      font-style: italic !important;    }    @container tg-df (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @media (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @container tg-df (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @media (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }    @media (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }        .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button {      align-items: center; background-color: var(--tg-df-blue); box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;    }    .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button:hover { filter: brightness(0.85); text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-active-badges-row {      display: flex;      flex-wrap: wrap;      gap: 8px;      align-items: center;      margin-top: 12px;      margin-bottom: 16px;      width: 100%;    }    .tg-df-active-badge {      display: inline-flex;      align-items: center;      gap: 6px;      padding: 8px 14px;      background-color: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border: 1px solid var(--tg-df-blue, #1f69ff);      border-radius: 0px;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;    }    .tg-df-badge-remove {      display: inline-flex;      align-items: center;      justify-content: center;      width: 16px;      height: 16px;      border-radius: 0px;      border: none;      background: rgba(255, 255, 255, 0.25);      color: #ffffff;      cursor: pointer;      padding: 0;      margin-left: 4px;      transition: background-color 0.15s, color 0.15s;    }    .tg-df-badge-remove:hover {      background: rgba(255, 255, 255, 0.45);      color: #ffffff;    }    .tg-df-badge-clear-all {      display: inline-flex;      align-items: center;      justify-content: center;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;      padding: 8px 14px;      color: var(--tg-df-text-muted, #64748b);      cursor: pointer;      background: #ffffff;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-radius: 0px;      transition: all 0.15s ease;    }    .tg-df-badge-clear-all:hover {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border-color: var(--tg-df-blue, #1f69ff);    }    .tg-df-savings-squad-header {      margin-bottom: 24px;      text-align: center;    }    .tg-df-banner-img-desktop {      display: block;      width: 100%;      height: auto;      margin-bottom: 32px;    }    .tg-df-banner-img-mobile {      display: none;      width: 100%;      height: auto;      margin-bottom: 32px;    }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop {        display: none;      }      .tg-df-banner-img-mobile {        display: block;      }    }    .tg-df-header-title {      font-size: 28px;      font-weight: 700;      color: var(--tg-df-text);      margin: 32px 0 12px 0;      line-height: 1.3;    }    .tg-df-header-subtitle {      font-size: 16px;      color: var(--tg-df-text-muted);      margin: 0 0 32px 0;      line-height: 1.5;    }    @container tg-df (max-width: 599px) {      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    @media (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    /* Article Intro Content Styling */    .tg-df-article-content {      font-size: 1rem;      line-height: 1.7;      color: #334155;    }    .tg-df-article-content p {      margin-bottom: 1.25rem;      line-height: 1.7;      font-size: 1rem;      color: #334155;    }    .tg-df-article-content > p:first-of-type::first-letter {      font-size: 3.25rem;      font-weight: 700;      float: left;      line-height: 0.85;      margin-right: 0.5rem;      margin-top: 0.15rem;      color: #0f172a;      font-family: inherit;    }    .tg-df-article-content a {      color: #0066cc;      text-decoration: underline;      font-weight: 500;    }    .tg-df-article-content a:hover {      color: #004499;    }    .tg-df-article-content strong, .tg-df-article-content b {      font-weight: 700;      color: #0f172a;    }    .tg-df-article-section-banner {      border-bottom: 2px solid #e6007e;      margin: 2.25rem 0 1.25rem 0;      position: relative;      clear: both;    }    .tg-df-article-section-banner span {      background-color: #e6007e;      color: #ffffff;      padding: 6px 16px;      font-weight: 700;      font-size: 0.875rem;      text-transform: uppercase;      letter-spacing: 0.05em;      display: inline-block;    }  </style><div class="tg-df-widget-host" data-vizualizer-embed="true" data-tg-df-full-bleed="false" data-tg-df-mobile-dropdowns="true" data-tg-df-sticky-mobile-filters="false" style="--tg-df-blue: #DC191B;"><div class="tg-df-container article-body" style="background-color: transparent;"><div id="tg-df-spreadsheet-filters" style="display: block; margin-bottom: 16px;"><div class="tg-df-categories-row-container" style="border-bottom: 1px solid var(--tg-df-border); position: relative;"><button aria-label="Scroll left" class="tg-df-scroll-btn left tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 18l-6-6 6-6"></path></svg></button><button aria-label="Scroll right" class="tg-df-scroll-btn right tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-categories-row" style="display: flex; overflow-x: auto; scrollbar-width: none;"><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Hardware <span style="color: var(--tg-df-blue); font-size: 10px;">66</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Monitors <span style="color: var(--tg-df-blue); font-size: 10px;">9</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming PCs <span style="color: var(--tg-df-blue); font-size: 10px;">7</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Mice <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Headsets <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Audio <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">SSDs <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Storage <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Laptops <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Controllers <span style="color: var(--tg-df-blue); font-size: 10px;">1</span></button></div></div></div><div class="tg-df-mobile-2x2-container"><div class="tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--odd"><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>CATEGORIES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>PRICES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell has-active-filter" aria-expanded="false"><span>DISCOUNTS (25%+)</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button></div></div><div class="tg-df-controls" id="tg-df-controls" style="display: flex; margin-top: 12px; margin-bottom: 16px; justify-content: center;"><div class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0px auto;"><button class="tg-df-scroll-btn left" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 18l-6-6 6-6"></path></svg></button><button class="tg-df-scroll-btn right" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-filters"><div class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices"><option value="all">All Prices</option><option value="under50">Under $50</option><option value="50_100">$50 - $100</option><option value="100_200">$100 - $200</option><option value="200_500">$200 - $500</option><option value="over500">Over $500</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount"><option value="all">Any discount</option><option value="5">Min 5%</option><option value="10">Min 10%</option><option value="15">Min 15%</option><option value="20">Min 20%</option><option value="25">Min 25%</option><option value="30">Min 30%</option><option value="40">Min 40%</option><option value="50">Min 50%</option><option value="60">Min 60%</option><option value="70">Min 70%</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-review-sort-wrapper" style="display: none;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 7h16M7 12h10m-7 5h4"></path></svg><select class="tg-df-filter-select" id="tg-df-review-sort" aria-label="Sort Reviews"><option value="date_desc">Most recent</option><option value="rating_desc">Highest rating</option><option value="scored_first">Scored products first</option></select></div></div></div></div><div class="tg-df-active-badges-row" style="display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 10px; margin-bottom: 16px;"><span class="tg-df-active-badge">Min 25% off<button type="button" class="tg-df-badge-remove" aria-label="Remove Min 25% off"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></span></div><div class="tg-df-grid-wrapper"><div class="tg-df-grid article-body tg-df-grid-auto" id="tg-df-grid"><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-0" data-merchant="Amazon" data-previous-price="34.99" data-price="25.99" data-product-name="G203 | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $9</span><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G203 | Wired" class="tg-df-card-image" loading="lazy" src="http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G203 | Wired"><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G203 | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>25.99</span></span><span class="tg-df-card-msrp">$34.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Glorious" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-0" data-merchant="Amazon" data-previous-price="59.99" data-price="26.31" data-product-name="GHS Eternal | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33.68</span><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="GHS Eternal | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="GHS Eternal | 40 mm drivers"><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Glorious GHS Eternal | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>26.31</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-1" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed | Wireless"><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-86" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed"><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-87" data-merchant="Bestbuy" data-previous-price="69.99" data-price="34.98" data-product-name="Basilisk V3"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35.01</span><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Basilisk V3" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Basilisk V3"><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Basilisk V3</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>34.98</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-3" data-merchant="Amazon" data-previous-price="69.99" data-price="37.99" data-product-name="G502 Hero | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $32</span><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G502 Hero | Wired" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G502 Hero | Wired"><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G502 Hero | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>37.99</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-80" data-merchant="Amazon" data-previous-price="59.99" data-price="39.79" data-product-name="BlackShark V2 X"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20.2</span><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="BlackShark V2 X" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="BlackShark V2 X"><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer BlackShark V2 X</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.79</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-1" data-merchant="Amazon" data-previous-price="79.99" data-price="39.99" data-product-name="G432 | 50 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $40</span><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G432 | 50 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G432 | 50 mm drivers"><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G432 | 50 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-2" data-merchant="Amazon" data-previous-price="79.99" data-price="44.99" data-product-name="Kraken V4 X | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35</span><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Kraken V4 X | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Kraken V4 X | 40 mm drivers"><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Kraken V4 X | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>44.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Turtle Beach" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-5" data-merchant="Amazon" data-previous-price="99.99" data-price="54.99" data-product-name="Burst II Air | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $45</span><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Burst II Air | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Burst II Air | Wireless"><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Turtle Beach Burst II Air | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>54.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="HyperX" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-5" data-merchant="Amazon" data-previous-price="99.99" data-price="57.99" data-product-name="Cloud III | 53 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $42</span><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Cloud III | 53 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Cloud III | 53 mm drivers"><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>HyperX Cloud III | 53 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>57.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Nothing" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-15" data-merchant="Amazon" data-previous-price="79" data-price="59" data-product-name="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Nothing Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>59</span></span><span class="tg-df-card-msrp">$79</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="KTC" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-40" data-merchant="Newegg" data-previous-price="99.99" data-price="62.49" data-product-name="H24V27"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $37.5</span><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="H24V27" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="H24V27"><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>KTC H24V27</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code &quot;LDSF246&quot; for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>62.49</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Scuf" data-currency="$" data-deal-id="airedale-A97h9Ug45WeF5xPLdcoJyf-0" data-merchant="Amazon" data-previous-price="109.99" data-price="76.99" data-product-name="Valor Pro"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33</span><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Valor Pro" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Valor Pro"><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Scuf Valor Pro</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>76.99</span></span><span class="tg-df-card-msrp">$109.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Jess Kinghorn" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/controllers/the-best-wired-pc-controller-has-been-knocked-down-to-usd77-so-long-as-you-dont-mind-it-in-white" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Jess Kinghorn</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 24 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Acer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-41" data-merchant="Newegg" data-previous-price="129.99" data-price="79.99" data-product-name="AOpen 24KG1Y X3bip"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="AOpen 24KG1Y X3bip" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="AOpen 24KG1Y X3bip"><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Acer AOpen 24KG1Y X3bip</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Asus" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-82" data-merchant="Amazon" data-previous-price="129.99" data-price="79.99" data-product-name="ROG Pelta"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="ROG Pelta" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="ROG Pelta"><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Asus ROG Pelta</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-43" data-merchant="Bestbuy" data-previous-price="149.99" data-price="97.49" data-product-name="MAG 244F"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $52.5</span><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 244F" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 244F"><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 244F</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>97.49</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-UBBZiFU9BXsLfvbZ8d4awf-1" data-merchant="Walmart" data-previous-price="149.99" data-price="99" data-product-name="MAG 255XFV"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50.99</span><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 255XFV" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 255XFV"><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 255XFV</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>99</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Walmart</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/amazon-prime-day-gaming-monitor-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-load-more-control" style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1; overflow-anchor: none;"><button type="button" class="tg-df-tag-outline" aria-busy="false" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More</button></div><script type="application/ld+json">{"@context":"https://schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Product","name":"G203 | Wired","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":25.99,"url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":2,"item":{"@type":"Product","name":"GHS Eternal | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","brand":{"@type":"Brand","name":"Glorious"},"offers":{"@type":"Offer","priceCurrency":"USD","price":26.31,"url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":3,"item":{"@type":"Product","name":"G305 Lightspeed | Wireless","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":4,"item":{"@type":"Product","name":"G305 Lightspeed","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/dp/B07CMS5Q6P","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":5,"item":{"@type":"Product","name":"Basilisk V3","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":34.98,"url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":6,"item":{"@type":"Product","name":"G502 Hero | Wired","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":37.99,"url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":7,"item":{"@type":"Product","name":"BlackShark V2 X","image":"https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg","description":"The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.79,"url":"https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":8,"item":{"@type":"Product","name":"G432 | 50 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg","description":"Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.99,"url":"https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":9,"item":{"@type":"Product","name":"Kraken V4 X | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg","description":"If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":44.99,"url":"https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":10,"item":{"@type":"Product","name":"Burst II Air | Wireless","image":"https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg","description":"We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99","brand":{"@type":"Brand","name":"Turtle Beach"},"offers":{"@type":"Offer","priceCurrency":"USD","price":54.99,"url":"https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":11,"item":{"@type":"Product","name":"Cloud III | 53 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg","description":"We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99","brand":{"@type":"Brand","name":"HyperX"},"offers":{"@type":"Offer","priceCurrency":"USD","price":57.99,"url":"https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":12,"item":{"@type":"Product","name":"Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)","image":"https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png","description":"These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response","brand":{"@type":"Brand","name":"Nothing"},"offers":{"@type":"Offer","priceCurrency":"USD","price":59,"url":"https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":13,"item":{"@type":"Product","name":"H24V27","image":"https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png","description":"This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code "LDSF246" for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA","brand":{"@type":"Brand","name":"KTC"},"offers":{"@type":"Offer","priceCurrency":"USD","price":62.49,"url":"https://www.newegg.com/p/3D4-007C-00016","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":14,"item":{"@type":"Product","name":"Valor Pro","image":"https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png","description":"This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks","brand":{"@type":"Brand","name":"Scuf"},"offers":{"@type":"Offer","priceCurrency":"USD","price":76.99,"url":"https://www.amazon.com/dp/B0DTB3QCS5","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":15,"item":{"@type":"Product","name":"AOpen 24KG1Y X3bip","image":"https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png","description":"With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"Acer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.newegg.com/p/N82E16824011533","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":16,"item":{"@type":"Product","name":"ROG Pelta","image":"https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg","description":"With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life","brand":{"@type":"Brand","name":"Asus"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":17,"item":{"@type":"Product","name":"MAG 244F","image":"https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png","description":"With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":97.49,"url":"https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":18,"item":{"@type":"Product","name":"MAG 255XFV","image":"https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg","description":"You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":99,"url":"https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174","seller":{"@type":"Organization","name":"Walmart"}}}}]}</script></div></div><div class="tg-df-modal-backdrop "><div class="tg-df-modal"><div class="tg-df-modal-header"><h3 class="tg-df-modal-title">Available Coupons & Deals</h3><button class="tg-df-modal-close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="tg-df-modal-body"><div class="tg-df-message">No active vouchers found for .</div></div></div></div></div></div>  </div>  <script type="application/json" data-fcaw-config>{"authorBioLength":"short","authorFullBleed":false,"authorHandle":"all-authors","authorName":"All authors","backgroundColor":"transparent","customBio":"","discountAmount":"25","editorMode":false,"editorialMaxAgeMonths":"0","includeBuyingGuideProducts":false,"includeCollections":false,"includeDeals":true,"includeReviewProducts":false,"mobileDropdowns":true,"stickyMobileFilters":false,"offerType":"","preloadReviewInventory":false,"lightweightReviewDelivery":false,"hideHawkPrices":false,"prioritiseCommercialProducts":true,"priceRange":"all","productSelection":"mix","query":"","region":"auto","resultCount":"6","retailer":"","selectedBrands":[],"showAuthorBio":false,"showAuthorCounters":true,"showAuthorIdentity":false,"showAuthorRail":false,"showBrandRail":false,"showCategoryRail":true,"showCollectionsDropdown":false,"showPriceDiscountFilters":true,"showReviewSort":false,"showSocialButtons":false,"showCountdown":false,"showHeaderDetails":true,"showFreeformTagRail":false,"sort":"price_asc","viewMode":"author","website":"pcgamer","widgetSubtitle":"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.","widgetTitle":"Top Deals Handpicked by Our Editors","brands":[],"shortenedHeadlines":{},"compactEmbed":true}</script>  <script type="application/json" data-fcaw-preload>{"authors":[{"bioLong":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","bioShort":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","name":"James","fullName":"James Bentley","handle":"james-bentley","role":"Hardware writer","image":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","brandKey":"pcgamer"},{"bioLong":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","bioShort":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","name":"Dave","fullName":"Dave James","handle":"dave-james","role":"Editor-in-Chief, Hardware","image":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/not_the_gk","label":"X (Twitter)"},{"key":"email","href":"mailto:dave.james@futurenet.com","label":"Email"}]},{"bioLong":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","bioShort":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","name":"Jacob","fullName":"Jacob Fox","handle":"jacob-fox","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","brandKey":"pcgamer"},{"bioLong":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","bioShort":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","name":"Andy","fullName":"Andy Edser","handle":"andy-edser","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","brandKey":"pcgamer"},{"bioLong":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","bioShort":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","name":"Jess","fullName":"Jess Kinghorn","handle":"jess-kinghorn","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/KoeniginKatze","label":"X (Twitter)"},{"key":"linkedin","href":"https://www.linkedin.com/in/jess-kinghorn","label":"LinkedIn"}]}],"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"activeDealTag":null,"activeFreeformTag":null,"activeFreeformTags":[],"couponMap":{"Amazon":"has","Bestbuy":"none","Newegg":"none","Walmart":"none"},"totalAuthorCount":5,"totalDealCount":56,"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"reviewInventoryBaked":false,"regionalDealManifests":{"US":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-0","url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":25.99,"rawMsrp":34.99,"price":"25.99","msrp":"34.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $9","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362\" target=\"_blank\"\u003eBest Buy $39.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-0","url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","title":"GHS Eternal | 40 mm drivers","brand":"Glorious","productName":"GHS Eternal | 40 mm drivers","merchant":"Amazon","rawPrice":26.31,"rawMsrp":59.99,"price":"26.31","msrp":"59.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $33.68","savingType":"amount","isPrime":false,"starRating":null,"description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","text":"\u003cp\u003eWith a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20 hz - 20 kHz | 255 g\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-1","url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite budget wireless mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR\" target=\"_blank\"\u003eBest Buy $49.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-86","url":"https://www.amazon.com/dp/B07CMS5Q6P","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","title":"G305 Lightspeed","brand":"Logitech","productName":"G305 Lightspeed","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","text":"\u003cp\u003eAlready reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-87","url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","title":"Basilisk V3","brand":"Razer","productName":"Basilisk V3","merchant":"Bestbuy","rawPrice":34.98,"rawMsrp":69.99,"price":"34.98","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $35.01","savingType":"amount","isPrime":false,"starRating":null,"description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","text":"\u003cp\u003eThis mouse might be a few years old, but we scored it highly in \u003ca href=\"https://www.pcgamer.com/razer-basilisk-v3-gaming-mouse-review/\" target=\"_blank\"\u003eour review\u003c/a\u003e in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to \u003ca href=\"https://www.pcgamer.com/hardware/im-ashamed-to-say-that-this-razer-mouse-has-made-me-actually-take-a-shine-to-rgb-and-now-you-can-be-persuaded-too-for-almost-50-percent-off/\" target=\"_blank\"\u003etempt even those who usually hate RGB lighting\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-3","url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":37.99,"rawMsrp":69.99,"price":"37.99","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $32","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","text":"\u003cp\u003eThis is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133\" target=\"_blank\"\u003eBest Buy $69.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true}],"GB":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-10","url":"https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":19.99,"rawMsrp":30.99,"price":"19.99","msrp":"30.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £11","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-11","url":"https://www.amazon.co.uk/Logitech-Wireless-Lightweight-Programmable-compatible/dp/B07CGPZ3ZQ","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":19.99,"rawMsrp":27.99,"price":"19.99","msrp":"27.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £8","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite wireless budget mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays. Key specs: Wireless | 12,000 DPI | Right-handed","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite wireless budget mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-19","url":"https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/","image":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","title":"Quantum 100 | 40 mm drivers","brand":"JBL","productName":"Quantum 100 | 40 mm drivers","merchant":"Amazon","rawPrice":19.99,"rawMsrp":29.99,"price":"19.99","msrp":"29.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £10","savingType":"amount","isPrime":false,"starRating":null,"description":"JBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired","text":"\u003cp\u003eJBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-12","url":"https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":22.01,"rawMsrp":37.79,"price":"22.01","msrp":"37.79","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £15.78","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness. Key specs: Wired | 25,600 DPI | Right-handed","text":"\u003cp\u003eThis is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-23","url":"https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1","image":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","title":"G321 Lightspeed | 40 mm drivers","brand":"Logitech","productName":"G321 Lightspeed | 40 mm drivers","merchant":"Amazon","rawPrice":32.99,"rawMsrp":59.99,"price":"32.99","msrp":"59.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £27","savingType":"amount","isPrime":false,"starRating":null,"description":"This very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in his review. It won't blow you away with bass or features, but at this price it's still worth considering. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless Price check: Currys £42.99","text":"\u003cp\u003eThis very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in \u003ca href=\"https://www.pcgamer.com/hardware/gaming-headsets/logitech-g321-lightspeed-review/\" target=\"_blank\"\u003ehis review\u003c/a\u003e. It won't blow you away with bass or features, but at this price it's still worth considering.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless \u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g321-lightspeed-wireless-bluetooth-gaming-headset-black-10289632.html\" target=\"_blank\"\u003eCurrys £42.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-20","url":"https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/","image":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","title":"G335 | 40 mm drivers","brand":"Logitech","productName":"G335 | 40 mm drivers","merchant":"Amazon","rawPrice":34.99,"rawMsrp":64.99,"price":"34.99","msrp":"64.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £30","savingType":"amount","isPrime":false,"starRating":null,"description":"This Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired Price check: Currys £34.99","text":"\u003cp\u003eThis Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g335-gaming-headset-black-10227173.html\" target=\"_blank\"\u003eCurrys £34.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true}],"AU":[{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-5","url":"https://www.amazon.com.au/JBL-QuantumSOUND-Signature-Comfortable-Breathable/dp/B0D6NLHV8N","image":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","title":"Quantum 100M2","brand":"JBL","productName":"Quantum 100M2","merchant":"Amazon","rawPrice":29,"rawMsrp":59.95,"price":"29","msrp":"59.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$30.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.","text":"\u003cp\u003eIf you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-1","url":"https://www.amazon.com.au/dp/B0CMCPY4VG","image":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","title":"Nova Lite","brand":"GameSir","productName":"Nova Lite","merchant":"Amazon","rawPrice":32,"rawMsrp":45,"price":"32","msrp":"45","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$13","savingType":"amount","isPrime":false,"starRating":null,"description":"Our favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.","text":"\u003cp\u003eOur favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-15","url":"https://www.amazon.com.au/dp/B07MG5547J","image":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","title":"G502 Hero","brand":"Logitech","productName":"G502 Hero","merchant":"Amazon","rawPrice":55.99,"rawMsrp":149.95,"price":"55.99","msrp":"149.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$93.96","savingType":"amount","isPrime":false,"starRating":null,"description":"Logitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;","text":"\u003cp\u003eLogitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-8","url":"https://www.amazon.com.au/CORSAIR-Membrane-Wired-Gaming-Keyboard/dp/B0CP6BR96G","image":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","title":"K55 Core Membrane","brand":"Corsair","productName":"K55 Core Membrane","merchant":"Amazon","rawPrice":59,"rawMsrp":79.95,"price":"59","msrp":"79.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$20.95","savingType":"amount","isPrime":false,"starRating":null,"description":"This discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.","text":"\u003cp\u003eThis discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-11","url":"https://www.amazon.com.au/dp/B01K48R5V4","image":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","fallbackImage":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","title":"G G213 Prodigy","brand":"Logitech","productName":"G G213 Prodigy","merchant":"Amazon","rawPrice":72,"rawMsrp":129.95,"price":"72","msrp":"129.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$57.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.","text":"\u003cp\u003eIf you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-13","url":"https://www.amazon.com.au/CORSAIR-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8/","image":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","title":"Sabre v2 Pro","brand":"Corsair","productName":"Sabre v2 Pro","merchant":"Amazon","rawPrice":79,"rawMsrp":169,"price":"79","msrp":"169","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$90","savingType":"amount","isPrime":false,"starRating":null,"description":"The Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox loved its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life.","text":"\u003cp\u003eThe Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox \u003ca href=\"https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/\"\u003eloved\u003c/a\u003e its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life. \u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true}]},"regionalDealRailData":{"US":{"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"totalAuthorCount":5,"totalDealCount":56},"GB":{"brands":[{"formatted_value":"Logitech","count":6},{"formatted_value":"Steelseries","count":2},{"formatted_value":"EarFun","count":2},{"formatted_value":"Lexar","count":2},{"formatted_value":"AOC","count":2},{"formatted_value":"MSI","count":2},{"formatted_value":"JBL","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Turtle Beach","count":1}],"freeformTagCounts":{"hardware":17,"mouse":5,"gaming-mouse":5,"prime-day":5,"amazon-prime-day-2026":14,"amazon-prime-day":17,"prime-day-deals":8,"deals":17,"deal":17,"big-deal-days":17,"gaming-headset":9,"amazon-prime":3,"ssd":1,"pc-deals":3,"gaming-monitor":2,"monitors":2,"solid-state-drive":1,"solid-state":1,"hdd":1,"hard-drive":1,"storage":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"}],"tagCounts":{"Gaming Mice":5,"Hardware":17,"Gaming Headsets":9,"Gaming Audio":9,"SSDs":1,"Storage":1,"Gaming Monitors":2},"tags":["Hardware","Gaming Headsets","Gaming Audio","Gaming Mice","Gaming Monitors","SSDs","Storage"],"totalAuthorCount":4,"totalDealCount":17},"AU":{"brands":[{"formatted_value":"Logitech","count":7},{"formatted_value":"Corsair","count":4},{"formatted_value":"JBL","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"GameSir","count":1},{"formatted_value":"8BitDo","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Asus","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"SteelSeries","count":1}],"freeformTagCounts":{"hardware":20,"amazon-prime":20,"pc-deals":20,"deals":20,"prime-day-deals":20},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"}],"tagCounts":{"Hardware":20},"tags":["Hardware"],"totalAuthorCount":1,"totalDealCount":20}}}</script></fc-author-commerce-widget><script>(()=>{var Z1=Object.create;var cg=Object.defineProperty;var W1=Object.getOwnPropertyDescriptor;var I1=Object.getOwnPropertyNames;var J1=Object.getPrototypeOf,$1=Object.prototype.hasOwnProperty;var un=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var eb=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of I1(t))!$1.call(e,l)&&l!==n&&cg(e,l,{get:()=>t[l],enumerable:!(a=W1(t,l))||a.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Z1(J1(e)):{},eb(t||!e||!e.__esModule?cg(n,"default",{value:e,enumerable:!0}):n,e));var Ag=un(z=>{"use strict";var Tc=Symbol.for("react.transitional.element"),tb=Symbol.for("react.portal"),nb=Symbol.for("react.fragment"),ab=Symbol.for("react.strict_mode"),lb=Symbol.for("react.profiler"),ib=Symbol.for("react.consumer"),rb=Symbol.for("react.context"),ob=Symbol.for("react.forward_ref"),ub=Symbol.for("react.suspense"),cb=Symbol.for("react.memo"),mg=Symbol.for("react.lazy"),sb=Symbol.for("react.activity"),sg=Symbol.iterator;function db(e){return e===null||typeof e!="object"?null:(e=sg&&e[sg]||e["@@iterator"],typeof e=="function"?e:null)}var hg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pg=Object.assign,yg={};function ml(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}ml.prototype.isReactComponent={};ml.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ml.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function vg(){}vg.prototype=ml.prototype;function Ec(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}var Dc=Ec.prototype=new vg;Dc.constructor=Ec;pg(Dc,ml.prototype);Dc.isPureReactComponent=!0;var dg=Array.isArray;function Rc(){}var he={H:null,A:null,T:null,S:null},bg=Object.prototype.hasOwnProperty;function xc(e,t,n){var a=n.ref;return{$$typeof:Tc,type:e,key:t,ref:a!==void 0?a:null,props:n}}function fb(e,t){return xc(e.type,t,e.props)}function Mc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function gb(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var fg=/\/+/g;function Cc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?gb(""+e.key):t.toString(36)}function mb(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Rc,Rc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function gl(e,t,n,a,l){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var r=!1;if(e===null)r=!0;else switch(i){case"bigint":case"string":case"number":r=!0;break;case"object":switch(e.$$typeof){case Tc:case tb:r=!0;break;case mg:return r=e._init,gl(r(e._payload),t,n,a,l)}}if(r)return l=l(e),r=a===""?"."+Cc(e,0):a,dg(l)?(n="",r!=null&&(n=r.replace(fg,"$&/")+"/"),gl(l,t,n,"",function(c){return c})):l!=null&&(Mc(l)&&(l=fb(l,n+(l.key==null||e&&e.key===l.key?"":(""+l.key).replace(fg,"$&/")+"/")+r)),t.push(l)),1;r=0;var o=a===""?".":a+":";if(dg(e))for(var u=0;u<e.length;u++)a=e[u],i=o+Cc(a,u),r+=gl(a,t,n,i,l);else if(u=db(e),typeof u=="function")for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,i=o+Cc(a,u++),r+=gl(a,t,n,i,l);else if(i==="object"){if(typeof e.then=="function")return gl(mb(e),t,n,a,l);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return r}function ro(e,t,n){if(e==null)return e;var a=[],l=0;return gl(e,a,"","",function(i){return t.call(n,i,l++)}),a}function hb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var gg=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},pb={map:ro,forEach:function(e,t,n){ro(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ro(e,function(){t++}),t},toArray:function(e){return ro(e,function(t){return t})||[]},only:function(e){if(!Mc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};z.Activity=sb;z.Children=pb;z.Component=ml;z.Fragment=nb;z.Profiler=lb;z.PureComponent=Ec;z.StrictMode=ab;z.Suspense=ub;z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=he;z.__COMPILER_RUNTIME={__proto__:null,c:function(e){return he.H.useMemoCache(e)}};z.cache=function(e){return function(){return e.apply(null,arguments)}};z.cacheSignal=function(){return null};z.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=pg({},e.props),l=e.key;if(t!=null)for(i in t.key!==void 0&&(l=""+t.key),t)!bg.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(a[i]=t[i]);var i=arguments.length-2;if(i===1)a.children=n;else if(1<i){for(var r=Array(i),o=0;o<i;o++)r[o]=arguments[o+2];a.children=r}return xc(e.type,l,a)};z.createContext=function(e){return e={$$typeof:rb,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:ib,_context:e},e};z.createElement=function(e,t,n){var a,l={},i=null;if(t!=null)for(a in t.key!==void 0&&(i=""+t.key),t)bg.call(t,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(l[a]=t[a]);var r=arguments.length-2;if(r===1)l.children=n;else if(1<r){for(var o=Array(r),u=0;u<r;u++)o[u]=arguments[u+2];l.children=o}if(e&&e.defaultProps)for(a in r=e.defaultProps,r)l[a]===void 0&&(l[a]=r[a]);return xc(e,i,l)};z.createRef=function(){return{current:null}};z.forwardRef=function(e){return{$$typeof:ob,render:e}};z.isValidElement=Mc;z.lazy=function(e){return{$$typeof:mg,_payload:{_status:-1,_result:e},_init:hb}};z.memo=function(e,t){return{$$typeof:cb,type:e,compare:t===void 0?null:t}};z.startTransition=function(e){var t=he.T,n={};he.T=n;try{var a=e(),l=he.S;l!==null&&l(n,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Rc,gg)}catch(i){gg(i)}finally{t!==null&&n.types!==null&&(t.types=n.types),he.T=t}};z.unstable_useCacheRefresh=function(){return he.H.useCacheRefresh()};z.use=function(e){return he.H.use(e)};z.useActionState=function(e,t,n){return he.H.useActionState(e,t,n)};z.useCallback=function(e,t){return he.H.useCallback(e,t)};z.useContext=function(e){return he.H.useContext(e)};z.useDebugValue=function(){};z.useDeferredValue=function(e,t){return he.H.useDeferredValue(e,t)};z.useEffect=function(e,t){return he.H.useEffect(e,t)};z.useEffectEvent=function(e){return he.H.useEffectEvent(e)};z.useId=function(){return he.H.useId()};z.useImperativeHandle=function(e,t,n){return he.H.useImperativeHandle(e,t,n)};z.useInsertionEffect=function(e,t){return he.H.useInsertionEffect(e,t)};z.useLayoutEffect=function(e,t){return he.H.useLayoutEffect(e,t)};z.useMemo=function(e,t){return he.H.useMemo(e,t)};z.useOptimistic=function(e,t){return he.H.useOptimistic(e,t)};z.useReducer=function(e,t,n){return he.H.useReducer(e,t,n)};z.useRef=function(e){return he.H.useRef(e)};z.useState=function(e){return he.H.useState(e)};z.useSyncExternalStore=function(e,t,n){return he.H.useSyncExternalStore(e,t,n)};z.useTransition=function(){return he.H.useTransition()};z.version="19.2.8"});var ft=un((zS,wg)=>{"use strict";wg.exports=Ag()});var Bg=un(Se=>{"use strict";function Oc(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,l=e[a];if(0<oo(l,t))e[a]=t,e[n]=l,n=a;else break e}}function cn(e){return e.length===0?null:e[0]}function co(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,l=e.length,i=l>>>1;a<i;){var r=2*(a+1)-1,o=e[r],u=r+1,c=e[u];if(0>oo(o,n))u<l&&0>oo(c,o)?(e[a]=c,e[u]=n,a=u):(e[a]=o,e[r]=n,a=r);else if(u<l&&0>oo(c,n))e[a]=c,e[u]=n,a=u;else break e}}return t}function oo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Se.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Sg=performance,Se.unstable_now=function(){return Sg.now()}):(_c=Date,Cg=_c.now(),Se.unstable_now=function(){return _c.now()-Cg});var Sg,_c,Cg,wn=[],Qn=[],yb=1,Ut=null,et=3,kc=!1,Mi=!1,_i=!1,Lc=!1,Eg=typeof setTimeout=="function"?setTimeout:null,Dg=typeof clearTimeout=="function"?clearTimeout:null,Rg=typeof setImmediate<"u"?setImmediate:null;function uo(e){for(var t=cn(Qn);t!==null;){if(t.callback===null)co(Qn);else if(t.startTime<=e)co(Qn),t.sortIndex=t.expirationTime,Oc(wn,t);else break;t=cn(Qn)}}function Hc(e){if(_i=!1,uo(e),!Mi)if(cn(wn)!==null)Mi=!0,pl||(pl=!0,hl());else{var t=cn(Qn);t!==null&&zc(Hc,t.startTime-e)}}var pl=!1,Bi=-1,xg=5,Mg=-1;function _g(){return Lc?!0:!(Se.unstable_now()-Mg<xg)}function Bc(){if(Lc=!1,pl){var e=Se.unstable_now();Mg=e;var t=!0;try{e:{Mi=!1,_i&&(_i=!1,Dg(Bi),Bi=-1),kc=!0;var n=et;try{t:{for(uo(e),Ut=cn(wn);Ut!==null&&!(Ut.expirationTime>e&&_g());){var a=Ut.callback;if(typeof a=="function"){Ut.callback=null,et=Ut.priorityLevel;var l=a(Ut.expirationTime<=e);if(e=Se.unstable_now(),typeof l=="function"){Ut.callback=l,uo(e),t=!0;break t}Ut===cn(wn)&&co(wn),uo(e)}else co(wn);Ut=cn(wn)}if(Ut!==null)t=!0;else{var i=cn(Qn);i!==null&&zc(Hc,i.startTime-e),t=!1}}break e}finally{Ut=null,et=n,kc=!1}t=void 0}}finally{t?hl():pl=!1}}}var hl;typeof Rg=="function"?hl=function(){Rg(Bc)}:typeof MessageChannel<"u"?(Nc=new MessageChannel,Tg=Nc.port2,Nc.port1.onmessage=Bc,hl=function(){Tg.postMessage(null)}):hl=function(){Eg(Bc,0)};var Nc,Tg;function zc(e,t){Bi=Eg(function(){e(Se.unstable_now())},t)}Se.unstable_IdlePriority=5;Se.unstable_ImmediatePriority=1;Se.unstable_LowPriority=4;Se.unstable_NormalPriority=3;Se.unstable_Profiling=null;Se.unstable_UserBlockingPriority=2;Se.unstable_cancelCallback=function(e){e.callback=null};Se.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):xg=0<e?Math.floor(1e3/e):5};Se.unstable_getCurrentPriorityLevel=function(){return et};Se.unstable_next=function(e){switch(et){case 1:case 2:case 3:var t=3;break;default:t=et}var n=et;et=t;try{return e()}finally{et=n}};Se.unstable_requestPaint=function(){Lc=!0};Se.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=et;et=e;try{return t()}finally{et=n}};Se.unstable_scheduleCallback=function(e,t,n){var a=Se.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?a+n:a):n=a,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return l=n+l,e={id:yb++,callback:t,priorityLevel:e,startTime:n,expirationTime:l,sortIndex:-1},n>a?(e.sortIndex=n,Oc(Qn,e),cn(wn)===null&&e===cn(Qn)&&(_i?(Dg(Bi),Bi=-1):_i=!0,zc(Hc,n-a))):(e.sortIndex=l,Oc(wn,e),Mi||kc||(Mi=!0,pl||(pl=!0,hl()))),e};Se.unstable_shouldYield=_g;Se.unstable_wrapCallback=function(e){var t=et;return function(){var n=et;et=t;try{return e.apply(this,arguments)}finally{et=n}}}});var Og=un((GS,Ng)=>{"use strict";Ng.exports=Bg()});var Lg=un(ot=>{"use strict";var vb=ft();function kg(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Kn(){}var rt={d:{f:Kn,r:function(){throw Error(kg(522))},D:Kn,C:Kn,L:Kn,m:Kn,X:Kn,S:Kn,M:Kn},p:0,findDOMNode:null},bb=Symbol.for("react.portal");function Ab(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:bb,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}var Ni=vb.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function so(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ot.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=rt;ot.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(kg(299));return Ab(e,t,null,n)};ot.flushSync=function(e){var t=Ni.T,n=rt.p;try{if(Ni.T=null,rt.p=2,e)return e()}finally{Ni.T=t,rt.p=n,rt.d.f()}};ot.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,rt.d.C(e,t))};ot.prefetchDNS=function(e){typeof e=="string"&&rt.d.D(e)};ot.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin),l=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?rt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:l,fetchPriority:i}):n==="script"&&rt.d.X(e,{crossOrigin:a,integrity:l,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ot.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=so(t.as,t.crossOrigin);rt.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&rt.d.M(e)};ot.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin);rt.d.L(e,n,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};ot.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=so(t.as,t.crossOrigin);rt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else rt.d.m(e)};ot.requestFormReset=function(e){rt.d.r(e)};ot.unstable_batchedUpdates=function(e,t){return e(t)};ot.useFormState=function(e,t,n){return Ni.H.useFormState(e,t,n)};ot.useFormStatus=function(){return Ni.H.useHostTransitionStatus()};ot.version="19.2.8"});var Ug=un((qS,zg)=>{"use strict";function Hg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Hg)}catch(e){console.error(e)}}Hg(),zg.exports=Lg()});var Wy=un(Hu=>{"use strict";var Ge=Og(),sh=ft(),wb=Ug();function S(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function dh(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function vr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function fh(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function gh(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Gg(e){if(vr(e)!==e)throw Error(S(188))}function Sb(e){var t=e.alternate;if(!t){if(t=vr(e),t===null)throw Error(S(188));return t!==e?null:e}for(var n=e,a=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(a=l.return,a!==null){n=a;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return Gg(l),e;if(i===a)return Gg(l),t;i=i.sibling}throw Error(S(188))}if(n.return!==a.return)n=l,a=i;else{for(var r=!1,o=l.child;o;){if(o===n){r=!0,n=l,a=i;break}if(o===a){r=!0,a=l,n=i;break}o=o.sibling}if(!r){for(o=i.child;o;){if(o===n){r=!0,n=i,a=l;break}if(o===a){r=!0,a=i,n=l;break}o=o.sibling}if(!r)throw Error(S(189))}}if(n.alternate!==a)throw Error(S(190))}if(n.tag!==3)throw Error(S(188));return n.stateNode.current===n?e:t}function mh(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=mh(e),t!==null)return t;e=e.sibling}return null}var ve=Object.assign,Cb=Symbol.for("react.element"),fo=Symbol.for("react.transitional.element"),Pi=Symbol.for("react.portal"),Sl=Symbol.for("react.fragment"),hh=Symbol.for("react.strict_mode"),ys=Symbol.for("react.profiler"),ph=Symbol.for("react.consumer"),Mn=Symbol.for("react.context"),fd=Symbol.for("react.forward_ref"),vs=Symbol.for("react.suspense"),bs=Symbol.for("react.suspense_list"),gd=Symbol.for("react.memo"),Zn=Symbol.for("react.lazy");Symbol.for("react.scope");var As=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var Rb=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var Pg=Symbol.iterator;function Oi(e){return e===null||typeof e!="object"?null:(e=Pg&&e[Pg]||e["@@iterator"],typeof e=="function"?e:null)}var Tb=Symbol.for("react.client.reference");function ws(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Tb?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Sl:return"Fragment";case ys:return"Profiler";case hh:return"StrictMode";case vs:return"Suspense";case bs:return"SuspenseList";case As:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Pi:return"Portal";case Mn:return e.displayName||"Context";case ph:return(e._context.displayName||"Context")+".Consumer";case fd:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gd:return t=e.displayName||null,t!==null?t:ws(e.type)||"Memo";case Zn:t=e._payload,e=e._init;try{return ws(e(t))}catch{}}return null}var qi=Array.isArray,L=sh.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=wb.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,za={pending:!1,data:null,method:null,action:null},Ss=[],Cl=-1;function mn(e){return{current:e}}function Fe(e){0>Cl||(e.current=Ss[Cl],Ss[Cl]=null,Cl--)}function ge(e,t){Cl++,Ss[Cl]=e.current,e.current=t}var gn=mn(null),lr=mn(null),ra=mn(null),Vo=mn(null);function Xo(e,t){switch(ge(ra,t),ge(lr,e),ge(gn,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qm(t),e=Hy(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Fe(gn),ge(gn,e)}function ql(){Fe(gn),Fe(lr),Fe(ra)}function Cs(e){e.memoizedState!==null&&ge(Vo,e);var t=gn.current,n=Hy(t,e.type);t!==n&&(ge(lr,e),ge(gn,n))}function Qo(e){lr.current===e&&(Fe(gn),Fe(lr)),Vo.current===e&&(Fe(Vo),hr._currentValue=za)}var Uc,qg;function Oa(e){if(Uc===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Uc=t&&t[1]||"",qg=-1<n.stack.indexOf(`    at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return``+Uc+e+qg}var Gc=!1;function Pc(e,t){if(!e||Gc)return"";Gc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(m){var d=m}Reflect.construct(e,[],f)}else{try{f.call()}catch(m){d=m}e.call(f.prototype)}}else{try{throw Error()}catch(m){d=m}(f=e())&&typeof f.catch=="function"&&f.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),r=i[0],o=i[1];if(r&&o){var u=r.split(``),c=o.split(``);for(l=a=0;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;for(;l<c.length&&!c[l].includes("DetermineComponentFrameRoot");)l++;if(a===u.length||l===c.length)for(a=u.length-1,l=c.length-1;1<=a&&0<=l&&u[a]!==c[l];)l--;for(;1<=a&&0<=l;a--,l--)if(u[a]!==c[l]){if(a!==1||l!==1)do if(a--,l--,0>l||u[a]!==c[l]){var s=``+u[a].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=a&&0<=l);break}}}finally{Gc=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Oa(n):""}function Eb(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return Pc(e.type,!1);case 11:return Pc(e.type.render,!1);case 1:return Pc(e.type,!0);case 31:return Oa("Activity");default:return""}}function Fg(e){try{var t="",n=null;do t+=Eb(e,n),n=e,e=e.return;while(e);return t}catch(a){return`Error generating stack: `+a.message+``+a.stack}}var Rs=Object.prototype.hasOwnProperty,md=Ge.unstable_scheduleCallback,qc=Ge.unstable_cancelCallback,Db=Ge.unstable_shouldYield,xb=Ge.unstable_requestPaint,Dt=Ge.unstable_now,Mb=Ge.unstable_getCurrentPriorityLevel,yh=Ge.unstable_ImmediatePriority,vh=Ge.unstable_UserBlockingPriority,Ko=Ge.unstable_NormalPriority,_b=Ge.unstable_LowPriority,bh=Ge.unstable_IdlePriority,Bb=Ge.log,Nb=Ge.unstable_setDisableYieldValue,br=null,xt=null;function ta(e){if(typeof Bb=="function"&&Nb(e),xt&&typeof xt.setStrictMode=="function")try{xt.setStrictMode(br,e)}catch{}}var Mt=Math.clz32?Math.clz32:Lb,Ob=Math.log,kb=Math.LN2;function Lb(e){return e>>>=0,e===0?32:31-(Ob(e)/kb|0)|0}var go=256,mo=262144,ho=4194304;function ka(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Au(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var o=a&134217727;return o!==0?(a=o&~i,a!==0?l=ka(a):(r&=o,r!==0?l=ka(r):n||(n=o&~e,n!==0&&(l=ka(n))))):(o=a&~i,o!==0?l=ka(o):r!==0?l=ka(r):n||(n=a&~e,n!==0&&(l=ka(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function Ar(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Hb(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ah(){var e=ho;return ho<<=1,(ho&62914560)===0&&(ho=4194304),e}function Fc(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wr(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function zb(e,t,n,a,l,i){var r=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,u=e.expirationTimes,c=e.hiddenUpdates;for(n=r&~n;0<n;){var s=31-Mt(n),f=1<<s;o[s]=0,u[s]=-1;var d=c[s];if(d!==null)for(c[s]=null,s=0;s<d.length;s++){var m=d[s];m!==null&&(m.lane&=-536870913)}n&=~f}a!==0&&wh(e,a,0),i!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=i&~(r&~t))}function wh(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Mt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function Sh(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Mt(n),l=1<<a;l&t|e[a]&t&&(e[a]|=t),n&=~l}}function Ch(e,t){var n=t&-t;return n=(n&42)!==0?1:hd(n),(n&(e.suspendedLanes|t))!==0?0:n}function hd(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function pd(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Rh(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:Qy(e.type))}function jg(e,t){var n=$.p;try{return $.p=e,t()}finally{$.p=n}}var ba=Math.random().toString(36).slice(2),Ve="__reactFiber$"+ba,vt="__reactProps$"+ba,Jl="__reactContainer$"+ba,Ts="__reactEvents$"+ba,Ub="__reactListeners$"+ba,Gb="__reactHandles$"+ba,Yg="__reactResources$"+ba,Sr="__reactMarker$"+ba;function yd(e){delete e[Ve],delete e[vt],delete e[Ts],delete e[Ub],delete e[Gb]}function Rl(e){var t=e[Ve];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jl]||n[Ve]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Jm(e);e!==null;){if(n=e[Ve])return n;e=Jm(e)}return t}e=n,n=e.parentNode}return null}function $l(e){if(e=e[Ve]||e[Jl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Fi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(S(33))}function kl(e){var t=e[Yg];return t||(t=e[Yg]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function qe(e){e[Sr]=!0}var Th=new Set,Eh={};function Qa(e,t){Fl(e,t),Fl(e+"Capture",t)}function Fl(e,t){for(Eh[e]=t,e=0;e<t.length;e++)Th.add(t[e])}var Pb=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Vg={},Xg={};function qb(e){return Rs.call(Xg,e)?!0:Rs.call(Vg,e)?!1:Pb.test(e)?Xg[e]=!0:(Vg[e]=!0,!1)}function _o(e,t,n){if(qb(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function po(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function Sn(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+a)}}function Pt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fb(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,i=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(r){n=""+r,i.call(this,r)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){if(!e._valueTracker){var t=Dh(e)?"checked":"value";e._valueTracker=Fb(e,t,""+e[t])}}function xh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=Dh(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Zo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var jb=/[\n"\\]/g;function jt(e){return e.replace(jb,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ds(e,t,n,a,l,i,r,o){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pt(t)):e.value!==""+Pt(t)&&(e.value=""+Pt(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?xs(e,r,Pt(t)):n!=null?xs(e,r,Pt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+Pt(o):e.removeAttribute("name")}function Mh(e,t,n,a,l,i,r,o){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Es(e);return}n=n!=null?""+Pt(n):"",t=t!=null?""+Pt(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=o?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),Es(e)}function xs(e,t,n){t==="number"&&Zo(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ll(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&a&&(e[n].defaultSelected=!0)}else{for(n=""+Pt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,a&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function _h(e,t,n){if(t!=null&&(t=""+Pt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Pt(n):""}function Bh(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(S(92));if(qi(a)){if(1<a.length)throw Error(S(93));a=a[0]}n=a}n==null&&(n=""),t=n}n=Pt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==""&&a!==null&&(e.value=a),Es(e)}function jl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Qg(e,t,n){var a=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,n):typeof n!="number"||n===0||Yb.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Nh(e,t,n){if(t!=null&&typeof t!="object")throw Error(S(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var l in t)a=t[l],t.hasOwnProperty(l)&&n[l]!==a&&Qg(e,l,a)}else for(var i in t)t.hasOwnProperty(i)&&Qg(e,i,t[i])}function vd(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Xb=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Bo(e){return Xb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function _n(){}var Ms=null;function bd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tl=null,Hl=null;function Kg(e){var t=$l(e);if(t&&(e=t.stateNode)){var n=e[vt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Ds(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+jt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var l=a[vt]||null;if(!l)throw Error(S(90));Ds(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&xh(a)}break e;case"textarea":_h(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ll(e,!!n.multiple,t,!1)}}}var jc=!1;function Oh(e,t,n){if(jc)return e(t,n);jc=!0;try{var a=e(t);return a}finally{if(jc=!1,(Tl!==null||Hl!==null)&&(Nu(),Tl&&(t=Tl,e=Hl,Hl=Tl=null,Kg(t),e)))for(t=0;t<e.length;t++)Kg(e[t])}}function ir(e,t){var n=e.stateNode;if(n===null)return null;var a=n[vt]||null;if(a===null)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(S(231,t,typeof n));return n}var Ln=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_s=!1;if(Ln)try{yl={},Object.defineProperty(yl,"passive",{get:function(){_s=!0}}),window.addEventListener("test",yl,yl),window.removeEventListener("test",yl,yl)}catch{_s=!1}var yl,na=null,Ad=null,No=null;function kh(){if(No)return No;var e,t=Ad,n=t.length,a,l="value"in na?na.value:na.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var r=n-e;for(a=1;a<=r&&t[n-a]===l[i-a];a++);return No=l.slice(e,1<a?1-a:void 0)}function Oo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yo(){return!0}function Zg(){return!1}function bt(e){function t(n,a,l,i,r){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=i,this.target=r,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?yo:Zg,this.isPropagationStopped=Zg,this}return ve(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=yo)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var Ka={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},wu=bt(Ka),Cr=ve({},Ka,{view:0,detail:0}),Qb=bt(Cr),Yc,Vc,ki,Su=ve({},Cr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wd,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ki&&(ki&&e.type==="mousemove"?(Yc=e.screenX-ki.screenX,Vc=e.screenY-ki.screenY):Vc=Yc=0,ki=e),Yc)},movementY:function(e){return"movementY"in e?e.movementY:Vc}}),Wg=bt(Su),Kb=ve({},Su,{dataTransfer:0}),Zb=bt(Kb),Wb=ve({},Cr,{relatedTarget:0}),Xc=bt(Wb),Ib=ve({},Ka,{animationName:0,elapsedTime:0,pseudoElement:0}),Jb=bt(Ib),$b=ve({},Ka,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),eA=bt($b),tA=ve({},Ka,{data:0}),Ig=bt(tA),nA={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},aA={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},lA={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function iA(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=lA[e])?!!t[e]:!1}function wd(){return iA}var rA=ve({},Cr,{key:function(e){if(e.key){var t=nA[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Oo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?aA[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wd,charCode:function(e){return e.type==="keypress"?Oo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Oo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),oA=bt(rA),uA=ve({},Su,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jg=bt(uA),cA=ve({},Cr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wd}),sA=bt(cA),dA=ve({},Ka,{propertyName:0,elapsedTime:0,pseudoElement:0}),fA=bt(dA),gA=ve({},Su,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mA=bt(gA),hA=ve({},Ka,{newState:0,oldState:0}),pA=bt(hA),yA=[9,13,27,32],Sd=Ln&&"CompositionEvent"in window,Vi=null;Ln&&"documentMode"in document&&(Vi=document.documentMode);var vA=Ln&&"TextEvent"in window&&!Vi,Lh=Ln&&(!Sd||Vi&&8<Vi&&11>=Vi),$g=" ",em=!1;function Hh(e,t){switch(e){case"keyup":return yA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var El=!1;function bA(e,t){switch(e){case"compositionend":return zh(t);case"keypress":return t.which!==32?null:(em=!0,$g);case"textInput":return e=t.data,e===$g&&em?null:e;default:return null}}function AA(e,t){if(El)return e==="compositionend"||!Sd&&Hh(e,t)?(e=kh(),No=Ad=na=null,El=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Lh&&t.locale!=="ko"?null:t.data;default:return null}}var wA={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tm(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!wA[e.type]:t==="textarea"}function Uh(e,t,n,a){Tl?Hl?Hl.push(a):Hl=[a]:Tl=a,t=gu(t,"onChange"),0<t.length&&(n=new wu("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Xi=null,rr=null;function SA(e){Oy(e,0)}function Cu(e){var t=Fi(e);if(xh(t))return e}function nm(e,t){if(e==="change")return t}var Gh=!1;Ln&&(Ln?(bo="oninput"in document,bo||(Qc=document.createElement("div"),Qc.setAttribute("oninput","return;"),bo=typeof Qc.oninput=="function"),vo=bo):vo=!1,Gh=vo&&(!document.documentMode||9<document.documentMode));var vo,bo,Qc;function am(){Xi&&(Xi.detachEvent("onpropertychange",Ph),rr=Xi=null)}function Ph(e){if(e.propertyName==="value"&&Cu(rr)){var t=[];Uh(t,rr,e,bd(e)),Oh(SA,t)}}function CA(e,t,n){e==="focusin"?(am(),Xi=t,rr=n,Xi.attachEvent("onpropertychange",Ph)):e==="focusout"&&am()}function RA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Cu(rr)}function TA(e,t){if(e==="click")return Cu(t)}function EA(e,t){if(e==="input"||e==="change")return Cu(t)}function DA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bt=typeof Object.is=="function"?Object.is:DA;function or(e,t){if(Bt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!Rs.call(t,l)||!Bt(e[l],t[l]))return!1}return!0}function lm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function im(e,t){var n=lm(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lm(n)}}function qh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Zo(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Zo(e.document)}return t}function Cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var xA=Ln&&"documentMode"in document&&11>=document.documentMode,Dl=null,Bs=null,Qi=null,Ns=!1;function rm(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ns||Dl==null||Dl!==Zo(a)||(a=Dl,"selectionStart"in a&&Cd(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Qi&&or(Qi,a)||(Qi=a,a=gu(Bs,"onSelect"),0<a.length&&(t=new wu("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=Dl)))}function Na(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xl={animationend:Na("Animation","AnimationEnd"),animationiteration:Na("Animation","AnimationIteration"),animationstart:Na("Animation","AnimationStart"),transitionrun:Na("Transition","TransitionRun"),transitionstart:Na("Transition","TransitionStart"),transitioncancel:Na("Transition","TransitionCancel"),transitionend:Na("Transition","TransitionEnd")},Kc={},jh={};Ln&&(jh=document.createElement("div").style,"AnimationEvent"in window||(delete xl.animationend.animation,delete xl.animationiteration.animation,delete xl.animationstart.animation),"TransitionEvent"in window||delete xl.transitionend.transition);function Za(e){if(Kc[e])return Kc[e];if(!xl[e])return e;var t=xl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in jh)return Kc[e]=t[n];return e}var Yh=Za("animationend"),Vh=Za("animationiteration"),Xh=Za("animationstart"),MA=Za("transitionrun"),_A=Za("transitionstart"),BA=Za("transitioncancel"),Qh=Za("transitionend"),Kh=new Map,Os="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Os.push("scrollEnd");function tn(e,t){Kh.set(e,t),Qa(t,[e])}var Wo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Gt=[],Ml=0,Rd=0;function Ru(){for(var e=Ml,t=Rd=Ml=0;t<e;){var n=Gt[t];Gt[t++]=null;var a=Gt[t];Gt[t++]=null;var l=Gt[t];Gt[t++]=null;var i=Gt[t];if(Gt[t++]=null,a!==null&&l!==null){var r=a.pending;r===null?l.next=l:(l.next=r.next,r.next=l),a.pending=l}i!==0&&Zh(n,l,i)}}function Tu(e,t,n,a){Gt[Ml++]=e,Gt[Ml++]=t,Gt[Ml++]=n,Gt[Ml++]=a,Rd|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function Td(e,t,n,a){return Tu(e,t,n,a),Io(e)}function Wa(e,t){return Tu(e,null,null,t),Io(e)}function Zh(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var l=!1,i=e.return;i!==null;)i.childLanes|=n,a=i.alternate,a!==null&&(a.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(l=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,l&&t!==null&&(l=31-Mt(n),e=i.hiddenUpdates,a=e[l],a===null?e[l]=[t]:a.push(t),t.lane=n|536870912),i):null}function Io(e){if(50<nr)throw nr=0,ed=null,Error(S(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var _l={};function NA(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(e,t,n,a){return new NA(e,t,n,a)}function Ed(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nn(e,t){var n=e.alternate;return n===null?(n=Tt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Wh(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ko(e,t,n,a,l,i){var r=0;if(a=e,typeof e=="function")Ed(e)&&(r=1);else if(typeof e=="string")r=Lw(e,n,gn.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case As:return e=Tt(31,n,t,l),e.elementType=As,e.lanes=i,e;case Sl:return Ua(n.children,l,i,t);case hh:r=8,l|=24;break;case ys:return e=Tt(12,n,t,l|2),e.elementType=ys,e.lanes=i,e;case vs:return e=Tt(13,n,t,l),e.elementType=vs,e.lanes=i,e;case bs:return e=Tt(19,n,t,l),e.elementType=bs,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Mn:r=10;break e;case ph:r=9;break e;case fd:r=11;break e;case gd:r=14;break e;case Zn:r=16,a=null;break e}r=29,n=Error(S(130,e===null?"null":typeof e,"")),a=null}return t=Tt(r,n,t,l),t.elementType=e,t.type=a,t.lanes=i,t}function Ua(e,t,n,a){return e=Tt(7,e,a,t),e.lanes=n,e}function Zc(e,t,n){return e=Tt(6,e,null,t),e.lanes=n,e}function Ih(e){var t=Tt(18,null,null,0);return t.stateNode=e,t}function Wc(e,t,n){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var om=new WeakMap;function Yt(e,t){if(typeof e=="object"&&e!==null){var n=om.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Fg(t)},om.set(e,t),t)}return{value:e,source:t,stack:Fg(t)}}var Bl=[],Nl=0,Jo=null,ur=0,qt=[],Ft=0,ha=null,sn=1,dn="";function Dn(e,t){Bl[Nl++]=ur,Bl[Nl++]=Jo,Jo=e,ur=t}function Jh(e,t,n){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,ha=e;var a=sn;e=dn;var l=32-Mt(a)-1;a&=~(1<<l),n+=1;var i=32-Mt(t)+l;if(30<i){var r=l-l%5;i=(a&(1<<r)-1).toString(32),a>>=r,l-=r,sn=1<<32-Mt(t)+l|n<<l|a,dn=i+e}else sn=1<<i|n<<l|a,dn=e}function Dd(e){e.return!==null&&(Dn(e,1),Jh(e,1,0))}function xd(e){for(;e===Jo;)Jo=Bl[--Nl],Bl[Nl]=null,ur=Bl[--Nl],Bl[Nl]=null;for(;e===ha;)ha=qt[--Ft],qt[Ft]=null,dn=qt[--Ft],qt[Ft]=null,sn=qt[--Ft],qt[Ft]=null}function $h(e,t){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,sn=t.id,dn=t.overflow,ha=e}var Xe=null,ye=null,V=!1,oa=null,Vt=!1,ks=Error(S(519));function pa(e){var t=Error(S(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw cr(Yt(t,e)),ks}function um(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[Ve]=e,t[vt]=a,n){case"dialog":q("cancel",t),q("close",t);break;case"iframe":case"object":case"embed":q("load",t);break;case"video":case"audio":for(n=0;n<gr.length;n++)q(gr[n],t);break;case"source":q("error",t);break;case"img":case"image":case"link":q("error",t),q("load",t);break;case"details":q("toggle",t);break;case"input":q("invalid",t),Mh(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":q("invalid",t);break;case"textarea":q("invalid",t),Bh(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||a.suppressHydrationWarning===!0||Ly(t.textContent,n)?(a.popover!=null&&(q("beforetoggle",t),q("toggle",t)),a.onScroll!=null&&q("scroll",t),a.onScrollEnd!=null&&q("scrollend",t),a.onClick!=null&&(t.onclick=_n),t=!0):t=!1,t||pa(e,!0)}function cm(e){for(Xe=e.return;Xe;)switch(Xe.tag){case 5:case 31:case 13:Vt=!1;return;case 27:case 3:Vt=!0;return;default:Xe=Xe.return}}function vl(e){if(e!==Xe)return!1;if(!V)return cm(e),V=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||id(e.type,e.memoizedProps)),n=!n),n&&ye&&pa(e),cm(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else t===27?(t=ye,Aa(e.type)?(e=cd,cd=null,ye=e):ye=t):ye=Xe?Qt(e.stateNode.nextSibling):null;return!0}function Fa(){ye=Xe=null,V=!1}function Ic(){var e=oa;return e!==null&&(pt===null?pt=e:pt.push.apply(pt,e),oa=null),e}function cr(e){oa===null?oa=[e]:oa.push(e)}var Ls=mn(null),Ia=null,Bn=null;function In(e,t,n){ge(Ls,t._currentValue),t._currentValue=n}function On(e){e._currentValue=Ls.current,Fe(Ls)}function Hs(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function zs(e,t,n,a){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var i=l.dependencies;if(i!==null){var r=l.child;i=i.firstContext;e:for(;i!==null;){var o=i;i=l;for(var u=0;u<t.length;u++)if(o.context===t[u]){i.lanes|=n,o=i.alternate,o!==null&&(o.lanes|=n),Hs(i.return,n,e),a||(r=null);break e}i=o.next}}else if(l.tag===18){if(r=l.return,r===null)throw Error(S(341));r.lanes|=n,i=r.alternate,i!==null&&(i.lanes|=n),Hs(r,n,e),r=null}else r=l.child;if(r!==null)r.return=l;else for(r=l;r!==null;){if(r===e){r=null;break}if(l=r.sibling,l!==null){l.return=r.return,r=l;break}r=r.return}l=r}}function ei(e,t,n,a){e=null;for(var l=t,i=!1;l!==null;){if(!i){if((l.flags&524288)!==0)i=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var r=l.alternate;if(r===null)throw Error(S(387));if(r=r.memoizedProps,r!==null){var o=l.type;Bt(l.pendingProps.value,r.value)||(e!==null?e.push(o):e=[o])}}else if(l===Vo.current){if(r=l.alternate,r===null)throw Error(S(387));r.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(hr):e=[hr])}l=l.return}e!==null&&zs(t,e,n,a),t.flags|=262144}function $o(e){for(e=e.firstContext;e!==null;){if(!Bt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ja(e){Ia=e,Bn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Qe(e){return ep(Ia,e)}function Ao(e,t){return Ia===null&&ja(e),ep(e,t)}function ep(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Bn===null){if(e===null)throw Error(S(308));Bn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Bn=Bn.next=t;return n}var OA=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},kA=Ge.unstable_scheduleCallback,LA=Ge.unstable_NormalPriority,ke={$$typeof:Mn,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Md(){return{controller:new OA,data:new Map,refCount:0}}function Rr(e){e.refCount--,e.refCount===0&&kA(LA,function(){e.controller.abort()})}var Ki=null,Us=0,Yl=0,zl=null;function HA(e,t){if(Ki===null){var n=Ki=[];Us=0,Yl=ef(),zl={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Us++,t.then(sm,sm),t}function sm(){if(--Us===0&&Ki!==null){zl!==null&&(zl.status="fulfilled");var e=Ki;Ki=null,Yl=0,zl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function zA(e,t){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var l=0;l<n.length;l++)(0,n[l])(t)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var dm=L.S;L.S=function(e,t){my=Dt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&HA(e,t),dm!==null&&dm(e,t)};var Ga=mn(null);function _d(){var e=Ga.current;return e!==null?e:ue.pooledCache}function Lo(e,t){t===null?ge(Ga,Ga.current):ge(Ga,t.pool)}function tp(){var e=_d();return e===null?null:{parent:ke._currentValue,pool:e}}var ti=Error(S(460)),Bd=Error(S(474)),Eu=Error(S(542)),eu={then:function(){}};function fm(e){return e=e.status,e==="fulfilled"||e==="rejected"}function np(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(_n,_n),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e;default:if(typeof t.status=="string")t.then(_n,_n);else{if(e=ue,e!==null&&100<e.shellSuspendCounter)throw Error(S(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=a}},function(a){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e}throw Pa=t,ti}}function La(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Pa=n,ti):n}}var Pa=null;function gm(){if(Pa===null)throw Error(S(459));var e=Pa;return Pa=null,e}function mm(e){if(e===ti||e===Eu)throw Error(S(483))}var Ul=null,sr=0;function wo(e){var t=sr;return sr+=1,Ul===null&&(Ul=[]),np(Ul,e,t)}function Li(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function So(e,t){throw t.$$typeof===Cb?Error(S(525)):(e=Object.prototype.toString.call(t),Error(S(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ap(e){function t(h,g){if(e){var p=h.deletions;p===null?(h.deletions=[g],h.flags|=16):p.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function a(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function l(h,g){return h=Nn(h,g),h.index=0,h.sibling=null,h}function i(h,g,p){return h.index=p,e?(p=h.alternate,p!==null?(p=p.index,p<g?(h.flags|=67108866,g):p):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function r(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function o(h,g,p,y){return g===null||g.tag!==6?(g=Zc(p,h.mode,y),g.return=h,g):(g=l(g,p),g.return=h,g)}function u(h,g,p,y){var C=p.type;return C===Sl?s(h,g,p.props.children,y,p.key):g!==null&&(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type)?(g=l(g,p.props),Li(g,p),g.return=h,g):(g=ko(p.type,p.key,p.props,null,h.mode,y),Li(g,p),g.return=h,g)}function c(h,g,p,y){return g===null||g.tag!==4||g.stateNode.containerInfo!==p.containerInfo||g.stateNode.implementation!==p.implementation?(g=Wc(p,h.mode,y),g.return=h,g):(g=l(g,p.children||[]),g.return=h,g)}function s(h,g,p,y,C){return g===null||g.tag!==7?(g=Ua(p,h.mode,y,C),g.return=h,g):(g=l(g,p),g.return=h,g)}function f(h,g,p){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Zc(""+g,h.mode,p),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case fo:return p=ko(g.type,g.key,g.props,null,h.mode,p),Li(p,g),p.return=h,p;case Pi:return g=Wc(g,h.mode,p),g.return=h,g;case Zn:return g=La(g),f(h,g,p)}if(qi(g)||Oi(g))return g=Ua(g,h.mode,p,null),g.return=h,g;if(typeof g.then=="function")return f(h,wo(g),p);if(g.$$typeof===Mn)return f(h,Ao(h,g),p);So(h,g)}return null}function d(h,g,p,y){var C=g!==null?g.key:null;if(typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint")return C!==null?null:o(h,g,""+p,y);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:return p.key===C?u(h,g,p,y):null;case Pi:return p.key===C?c(h,g,p,y):null;case Zn:return p=La(p),d(h,g,p,y)}if(qi(p)||Oi(p))return C!==null?null:s(h,g,p,y,null);if(typeof p.then=="function")return d(h,g,wo(p),y);if(p.$$typeof===Mn)return d(h,g,Ao(h,p),y);So(h,p)}return null}function m(h,g,p,y,C){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return h=h.get(p)||null,o(g,h,""+y,C);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case fo:return h=h.get(y.key===null?p:y.key)||null,u(g,h,y,C);case Pi:return h=h.get(y.key===null?p:y.key)||null,c(g,h,y,C);case Zn:return y=La(y),m(h,g,p,y,C)}if(qi(y)||Oi(y))return h=h.get(p)||null,s(g,h,y,C,null);if(typeof y.then=="function")return m(h,g,p,wo(y),C);if(y.$$typeof===Mn)return m(h,g,p,Ao(g,y),C);So(g,y)}return null}function v(h,g,p,y){for(var C=null,R=null,T=g,M=g=0,w=null;T!==null&&M<p.length;M++){T.index>M?(w=T,T=null):w=T.sibling;var D=d(h,T,p[M],y);if(D===null){T===null&&(T=w);break}e&&T&&D.alternate===null&&t(h,T),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D,T=w}if(M===p.length)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;M<p.length;M++)T=f(h,p[M],y),T!==null&&(g=i(T,g,M),R===null?C=T:R.sibling=T,R=T);return V&&Dn(h,M),C}for(T=a(T);M<p.length;M++)w=m(T,h,M,p[M],y),w!==null&&(e&&w.alternate!==null&&T.delete(w.key===null?M:w.key),g=i(w,g,M),R===null?C=w:R.sibling=w,R=w);return e&&T.forEach(function(k){return t(h,k)}),V&&Dn(h,M),C}function A(h,g,p,y){if(p==null)throw Error(S(151));for(var C=null,R=null,T=g,M=g=0,w=null,D=p.next();T!==null&&!D.done;M++,D=p.next()){T.index>M?(w=T,T=null):w=T.sibling;var k=d(h,T,D.value,y);if(k===null){T===null&&(T=w);break}e&&T&&k.alternate===null&&t(h,T),g=i(k,g,M),R===null?C=k:R.sibling=k,R=k,T=w}if(D.done)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;!D.done;M++,D=p.next())D=f(h,D.value,y),D!==null&&(g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return V&&Dn(h,M),C}for(T=a(T);!D.done;M++,D=p.next())D=m(T,h,M,D.value,y),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?M:D.key),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return e&&T.forEach(function(se){return t(h,se)}),V&&Dn(h,M),C}function b(h,g,p,y){if(typeof p=="object"&&p!==null&&p.type===Sl&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:e:{for(var C=p.key;g!==null;){if(g.key===C){if(C=p.type,C===Sl){if(g.tag===7){n(h,g.sibling),y=l(g,p.props.children),y.return=h,h=y;break e}}else if(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type){n(h,g.sibling),y=l(g,p.props),Li(y,p),y.return=h,h=y;break e}n(h,g);break}else t(h,g);g=g.sibling}p.type===Sl?(y=Ua(p.props.children,h.mode,y,p.key),y.return=h,h=y):(y=ko(p.type,p.key,p.props,null,h.mode,y),Li(y,p),y.return=h,h=y)}return r(h);case Pi:e:{for(C=p.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===p.containerInfo&&g.stateNode.implementation===p.implementation){n(h,g.sibling),y=l(g,p.children||[]),y.return=h,h=y;break e}else{n(h,g);break}else t(h,g);g=g.sibling}y=Wc(p,h.mode,y),y.return=h,h=y}return r(h);case Zn:return p=La(p),b(h,g,p,y)}if(qi(p))return v(h,g,p,y);if(Oi(p)){if(C=Oi(p),typeof C!="function")throw Error(S(150));return p=C.call(p),A(h,g,p,y)}if(typeof p.then=="function")return b(h,g,wo(p),y);if(p.$$typeof===Mn)return b(h,g,Ao(h,p),y);So(h,p)}return typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint"?(p=""+p,g!==null&&g.tag===6?(n(h,g.sibling),y=l(g,p),y.return=h,h=y):(n(h,g),y=Zc(p,h.mode,y),y.return=h,h=y),r(h)):n(h,g)}return function(h,g,p,y){try{sr=0;var C=b(h,g,p,y);return Ul=null,C}catch(T){if(T===ti||T===Eu)throw T;var R=Tt(29,T,null,h.mode);return R.lanes=y,R.return=h,R}finally{}}}var Ya=ap(!0),lp=ap(!1),Wn=!1;function Nd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gs(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ca(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(J&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=Io(e),Zh(e,null,n),t}return Tu(e,a,t,n),Io(e)}function Zi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}function Jc(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var r={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=r:i=i.next=r,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ps=!1;function Wi(){if(Ps){var e=zl;if(e!==null)throw e}}function Ii(e,t,n,a){Ps=!1;var l=e.updateQueue;Wn=!1;var i=l.firstBaseUpdate,r=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var u=o,c=u.next;u.next=null,r===null?i=c:r.next=c,r=u;var s=e.alternate;s!==null&&(s=s.updateQueue,o=s.lastBaseUpdate,o!==r&&(o===null?s.firstBaseUpdate=c:o.next=c,s.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;r=0,s=c=u=null,o=i;do{var d=o.lane&-536870913,m=d!==o.lane;if(m?(Y&d)===d:(a&d)===d){d!==0&&d===Yl&&(Ps=!0),s!==null&&(s=s.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var v=e,A=o;d=t;var b=n;switch(A.tag){case 1:if(v=A.payload,typeof v=="function"){f=v.call(b,f,d);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=A.payload,d=typeof v=="function"?v.call(b,f,d):v,d==null)break e;f=ve({},f,d);break e;case 2:Wn=!0}}d=o.callback,d!==null&&(e.flags|=64,m&&(e.flags|=8192),m=l.callbacks,m===null?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:o.tag,payload:o.payload,callback:o.callback,next:null},s===null?(c=s=m,u=f):s=s.next=m,r|=d;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;m=o,o=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);s===null&&(u=f),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=s,i===null&&(l.shared.lanes=0),va|=r,e.lanes=r,e.memoizedState=f}}function ip(e,t){if(typeof e!="function")throw Error(S(191,e));e.call(t)}function rp(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ip(n[e],t)}var Vl=mn(null),tu=mn(0);function hm(e,t){e=Gn,ge(tu,e),ge(Vl,t),Gn=e|t.baseLanes}function qs(){ge(tu,Gn),ge(Vl,Vl.current)}function Od(){Gn=tu.current,Fe(Vl),Fe(tu)}var Nt=mn(null),Xt=null;function Jn(e){var t=e.alternate;ge(xe,xe.current&1),ge(Nt,e),Xt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Xt=e)}function Fs(e){ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)}function op(e){e.tag===22?(ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)):$n(e)}function $n(){ge(xe,xe.current),ge(Nt,Nt.current)}function Rt(e){Fe(Nt),Xt===e&&(Xt=null),Fe(xe)}var xe=mn(0);function nu(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||od(n)||ud(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hn=0,G=null,re=null,Ne=null,au=!1,Gl=!1,Va=!1,lu=0,dr=0,Pl=null,UA=0;function Re(){throw Error(S(321))}function kd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Bt(e[n],t[n]))return!1;return!0}function Ld(e,t,n,a,l,i){return Hn=i,G=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=e===null||e.memoizedState===null?Up:Xd,Va=!1,i=n(a,l),Va=!1,Gl&&(i=cp(t,n,a,l)),up(e),i}function up(e){L.H=fr;var t=re!==null&&re.next!==null;if(Hn=0,Ne=re=G=null,au=!1,dr=0,Pl=null,t)throw Error(S(300));e===null||Le||(e=e.dependencies,e!==null&&$o(e)&&(Le=!0))}function cp(e,t,n,a){G=e;var l=0;do{if(Gl&&(Pl=null),dr=0,Gl=!1,25<=l)throw Error(S(301));if(l+=1,Ne=re=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}L.H=Gp,i=t(n,a)}while(Gl);return i}function GA(){var e=L.H,t=e.useState()[0];return t=typeof t.then=="function"?Tr(t):t,e=e.useState()[0],(re!==null?re.memoizedState:null)!==e&&(G.flags|=1024),t}function Hd(){var e=lu!==0;return lu=0,e}function zd(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ud(e){if(au){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}au=!1}Hn=0,Ne=re=G=null,Gl=!1,dr=lu=0,Pl=null}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e,Ne}function Me(){if(re===null){var e=G.alternate;e=e!==null?e.memoizedState:null}else e=re.next;var t=Ne===null?G.memoizedState:Ne.next;if(t!==null)Ne=t,re=e;else{if(e===null)throw G.alternate===null?Error(S(467)):Error(S(310));re=e,e={memoizedState:re.memoizedState,baseState:re.baseState,baseQueue:re.baseQueue,queue:re.queue,next:null},Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e}return Ne}function Du(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Tr(e){var t=dr;return dr+=1,Pl===null&&(Pl=[]),e=np(Pl,e,t),t=G,(Ne===null?t.memoizedState:Ne.next)===null&&(t=t.alternate,L.H=t===null||t.memoizedState===null?Up:Xd),e}function xu(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Tr(e);if(e.$$typeof===Mn)return Qe(e)}throw Error(S(438,String(e)))}function Gd(e){var t=null,n=G.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=G.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Du(),G.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=Rb;return t.index++,n}function zn(e,t){return typeof t=="function"?t(e):t}function Ho(e){var t=Me();return Pd(t,re,e)}function Pd(e,t,n){var a=e.queue;if(a===null)throw Error(S(311));a.lastRenderedReducer=n;var l=e.baseQueue,i=a.pending;if(i!==null){if(l!==null){var r=l.next;l.next=i.next,i.next=r}t.baseQueue=l=i,a.pending=null}if(i=e.baseState,l===null)e.memoizedState=i;else{t=l.next;var o=r=null,u=null,c=t,s=!1;do{var f=c.lane&-536870913;if(f!==c.lane?(Y&f)===f:(Hn&f)===f){var d=c.revertLane;if(d===0)u!==null&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===Yl&&(s=!0);else if((Hn&d)===d){c=c.next,d===Yl&&(s=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=f,r=i):u=u.next=f,G.lanes|=d,va|=d;f=c.action,Va&&n(i,f),i=c.hasEagerState?c.eagerState:n(i,f)}else d={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=d,r=i):u=u.next=d,G.lanes|=f,va|=f;c=c.next}while(c!==null&&c!==t);if(u===null?r=i:u.next=o,!Bt(i,e.memoizedState)&&(Le=!0,s&&(n=zl,n!==null)))throw n;e.memoizedState=i,e.baseState=r,e.baseQueue=u,a.lastRenderedState=i}return l===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function $c(e){var t=Me(),n=t.queue;if(n===null)throw Error(S(311));n.lastRenderedReducer=e;var a=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var r=l=l.next;do i=e(i,r.action),r=r.next;while(r!==l);Bt(i,t.memoizedState)||(Le=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function sp(e,t,n){var a=G,l=Me(),i=V;if(i){if(n===void 0)throw Error(S(407));n=n()}else n=t();var r=!Bt((re||l).memoizedState,n);if(r&&(l.memoizedState=n,Le=!0),l=l.queue,qd(gp.bind(null,a,l,e),[e]),l.getSnapshot!==t||r||Ne!==null&&Ne.memoizedState.tag&1){if(a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,l,n,t),null),ue===null)throw Error(S(349));i||(Hn&127)!==0||dp(a,t,n)}return n}function dp(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=G.updateQueue,t===null?(t=Du(),G.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function fp(e,t,n,a){t.value=n,t.getSnapshot=a,mp(t)&&hp(e)}function gp(e,t,n){return n(function(){mp(t)&&hp(e)})}function mp(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Bt(e,n)}catch{return!0}}function hp(e){var t=Wa(e,2);t!==null&&yt(t,e,2)}function js(e){var t=ut();if(typeof e=="function"){var n=e;if(e=n(),Va){ta(!0);try{n()}finally{ta(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:e},t}function pp(e,t,n,a){return e.baseState=n,Pd(e,re,typeof a=="function"?a:zn)}function PA(e,t,n,a,l){if(_u(e))throw Error(S(485));if(e=t.action,e!==null){var i={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){i.listeners.push(r)}};L.T!==null?n(!0):i.isTransition=!1,a(i),n=t.pending,n===null?(i.next=t.pending=i,yp(t,i)):(i.next=n.next,t.pending=n.next=i)}}function yp(e,t){var n=t.action,a=t.payload,l=e.state;if(t.isTransition){var i=L.T,r={};L.T=r;try{var o=n(l,a),u=L.S;u!==null&&u(r,o),pm(e,t,o)}catch(c){Ys(e,t,c)}finally{i!==null&&r.types!==null&&(i.types=r.types),L.T=i}}else try{i=n(l,a),pm(e,t,i)}catch(c){Ys(e,t,c)}}function pm(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){ym(e,t,a)},function(a){return Ys(e,t,a)}):ym(e,t,n)}function ym(e,t,n){t.status="fulfilled",t.value=n,vp(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,yp(e,n)))}function Ys(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=n,vp(t),t=t.next;while(t!==a)}e.action=null}function vp(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function bp(e,t){return t}function vm(e,t){if(V){var n=ue.formState;if(n!==null){e:{var a=G;if(V){if(ye){t:{for(var l=ye,i=Vt;l.nodeType!==8;){if(!i){l=null;break t}if(l=Qt(l.nextSibling),l===null){l=null;break t}}i=l.data,l=i==="F!"||i==="F"?l:null}if(l){ye=Qt(l.nextSibling),a=l.data==="F!";break e}}pa(a)}a=!1}a&&(t=n[0])}}return n=ut(),n.memoizedState=n.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bp,lastRenderedState:t},n.queue=a,n=Lp.bind(null,G,a),a.dispatch=n,a=js(!1),i=Vd.bind(null,G,!1,a.queue),a=ut(),l={state:t,dispatch:null,action:e,pending:null},a.queue=l,n=PA.bind(null,G,l,i,n),l.dispatch=n,a.memoizedState=e,[t,n,!1]}function bm(e){var t=Me();return Ap(t,re,e)}function Ap(e,t,n){if(t=Pd(e,t,bp)[0],e=Ho(zn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=Tr(t)}catch(r){throw r===ti?Eu:r}else a=t;t=Me();var l=t.queue,i=l.dispatch;return n!==t.memoizedState&&(G.flags|=2048,Xl(9,{destroy:void 0},qA.bind(null,l,n),null)),[a,i,e]}function qA(e,t){e.action=t}function Am(e){var t=Me(),n=re;if(n!==null)return Ap(t,n,e);Me(),t=t.memoizedState,n=Me();var a=n.queue.dispatch;return n.memoizedState=e,[t,a,!1]}function Xl(e,t,n,a){return e={tag:e,create:n,deps:a,inst:t,next:null},t=G.updateQueue,t===null&&(t=Du(),G.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function wp(){return Me().memoizedState}function zo(e,t,n,a){var l=ut();G.flags|=e,l.memoizedState=Xl(1|t,{destroy:void 0},n,a===void 0?null:a)}function Mu(e,t,n,a){var l=Me();a=a===void 0?null:a;var i=l.memoizedState.inst;re!==null&&a!==null&&kd(a,re.memoizedState.deps)?l.memoizedState=Xl(t,i,n,a):(G.flags|=e,l.memoizedState=Xl(1|t,i,n,a))}function wm(e,t){zo(8390656,8,e,t)}function qd(e,t){Mu(2048,8,e,t)}function FA(e){G.flags|=4;var t=G.updateQueue;if(t===null)t=Du(),G.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Sp(e){var t=Me().memoizedState;return FA({ref:t,nextImpl:e}),function(){if((J&2)!==0)throw Error(S(440));return t.impl.apply(void 0,arguments)}}function Cp(e,t){return Mu(4,2,e,t)}function Rp(e,t){return Mu(4,4,e,t)}function Tp(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ep(e,t,n){n=n!=null?n.concat([e]):null,Mu(4,4,Tp.bind(null,t,e),n)}function Fd(){}function Dp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;return t!==null&&kd(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function xp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;if(t!==null&&kd(t,a[1]))return a[0];if(a=e(),Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a}function jd(e,t,n){return n===void 0||(Hn&1073741824)!==0&&(Y&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=py(),G.lanes|=e,va|=e,n)}function Mp(e,t,n,a){return Bt(n,t)?n:Vl.current!==null?(e=jd(e,n,a),Bt(e,t)||(Le=!0),e):(Hn&42)===0||(Hn&1073741824)!==0&&(Y&261930)===0?(Le=!0,e.memoizedState=n):(e=py(),G.lanes|=e,va|=e,t)}function _p(e,t,n,a,l){var i=$.p;$.p=i!==0&&8>i?i:8;var r=L.T,o={};L.T=o,Vd(e,!1,t,n);try{var u=l(),c=L.S;if(c!==null&&c(o,u),u!==null&&typeof u=="object"&&typeof u.then=="function"){var s=zA(u,a);Ji(e,t,s,_t(e))}else Ji(e,t,a,_t(e))}catch(f){Ji(e,t,{then:function(){},status:"rejected",reason:f},_t())}finally{$.p=i,r!==null&&o.types!==null&&(r.types=o.types),L.T=r}}function jA(){}function Vs(e,t,n,a){if(e.tag!==5)throw Error(S(476));var l=Bp(e).queue;_p(e,l,t,za,n===null?jA:function(){return Np(e),n(a)})}function Bp(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:za,baseState:za,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:za},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Np(e){var t=Bp(e);t.next===null&&(t=e.alternate.memoizedState),Ji(e,t.next.queue,{},_t())}function Yd(){return Qe(hr)}function Op(){return Me().memoizedState}function kp(){return Me().memoizedState}function YA(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_t();e=ua(n);var a=ca(t,e,n);a!==null&&(yt(a,t,n),Zi(a,t,n)),t={cache:Md()},e.payload=t;return}t=t.return}}function VA(e,t,n){var a=_t();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},_u(e)?Hp(t,n):(n=Td(e,t,n,a),n!==null&&(yt(n,e,a),zp(n,t,a)))}function Lp(e,t,n){var a=_t();Ji(e,t,n,a)}function Ji(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(_u(e))Hp(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,o=i(r,n);if(l.hasEagerState=!0,l.eagerState=o,Bt(o,r))return Tu(e,t,l,0),ue===null&&Ru(),!1}catch{}finally{}if(n=Td(e,t,l,a),n!==null)return yt(n,e,a),zp(n,t,a),!0}return!1}function Vd(e,t,n,a){if(a={lane:2,revertLane:ef(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},_u(e)){if(t)throw Error(S(479))}else t=Td(e,n,a,2),t!==null&&yt(t,e,2)}function _u(e){var t=e.alternate;return e===G||t!==null&&t===G}function Hp(e,t){Gl=au=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zp(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}var fr={readContext:Qe,use:xu,useCallback:Re,useContext:Re,useEffect:Re,useImperativeHandle:Re,useLayoutEffect:Re,useInsertionEffect:Re,useMemo:Re,useReducer:Re,useRef:Re,useState:Re,useDebugValue:Re,useDeferredValue:Re,useTransition:Re,useSyncExternalStore:Re,useId:Re,useHostTransitionStatus:Re,useFormState:Re,useActionState:Re,useOptimistic:Re,useMemoCache:Re,useCacheRefresh:Re};fr.useEffectEvent=Re;var Up={readContext:Qe,use:xu,useCallback:function(e,t){return ut().memoizedState=[e,t===void 0?null:t],e},useContext:Qe,useEffect:wm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,zo(4194308,4,Tp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zo(4194308,4,e,t)},useInsertionEffect:function(e,t){zo(4,2,e,t)},useMemo:function(e,t){var n=ut();t=t===void 0?null:t;var a=e();if(Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=ut();if(n!==void 0){var l=n(t);if(Va){ta(!0);try{n(t)}finally{ta(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=VA.bind(null,G,e),[a.memoizedState,e]},useRef:function(e){var t=ut();return e={current:e},t.memoizedState=e},useState:function(e){e=js(e);var t=e.queue,n=Lp.bind(null,G,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Fd,useDeferredValue:function(e,t){var n=ut();return jd(n,e,t)},useTransition:function(){var e=js(!1);return e=_p.bind(null,G,e.queue,!0,!1),ut().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=G,l=ut();if(V){if(n===void 0)throw Error(S(407));n=n()}else{if(n=t(),ue===null)throw Error(S(349));(Y&127)!==0||dp(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,wm(gp.bind(null,a,i,e),[e]),a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,i,n,t),null),n},useId:function(){var e=ut(),t=ue.identifierPrefix;if(V){var n=dn,a=sn;n=(a&~(1<<32-Mt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=lu++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=UA++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Yd,useFormState:vm,useActionState:vm,useOptimistic:function(e){var t=ut();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Vd.bind(null,G,!0,n),n.dispatch=t,[e,t]},useMemoCache:Gd,useCacheRefresh:function(){return ut().memoizedState=YA.bind(null,G)},useEffectEvent:function(e){var t=ut(),n={impl:e};return t.memoizedState=n,function(){if((J&2)!==0)throw Error(S(440));return n.impl.apply(void 0,arguments)}}},Xd={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:Ho,useRef:wp,useState:function(){return Ho(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=Ho(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:bm,useActionState:bm,useOptimistic:function(e,t){var n=Me();return pp(n,re,e,t)},useMemoCache:Gd,useCacheRefresh:kp};Xd.useEffectEvent=Sp;var Gp={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:$c,useRef:wp,useState:function(){return $c(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return re===null?jd(n,e,t):Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=$c(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:Am,useActionState:Am,useOptimistic:function(e,t){var n=Me();return re!==null?pp(n,re,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Gd,useCacheRefresh:kp};Gp.useEffectEvent=Sp;function es(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:ve({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xs={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=_t(),a=ua(n);a.tag=2,t!=null&&(a.callback=t),t=ca(e,a,n),t!==null&&(yt(t,e,n),Zi(t,e,n))}};function Sm(e,t,n,a,l,i,r){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,r):t.prototype&&t.prototype.isPureReactComponent?!or(n,a)||!or(l,i):!0}function Cm(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Xs.enqueueReplaceState(t,t.state,null)}function Xa(e,t){var n=t;if("ref"in t){n={};for(var a in t)a!=="ref"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=ve({},n));for(var l in e)n[l]===void 0&&(n[l]=e[l])}return n}function Pp(e){Wo(e)}function qp(e){console.error(e)}function Fp(e){Wo(e)}function iu(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function Rm(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Qs(e,t,n){return n=ua(n),n.tag=3,n.payload={element:null},n.callback=function(){iu(e,t)},n}function jp(e){return e=ua(e),e.tag=3,e}function Yp(e,t,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var i=a.value;e.payload=function(){return l(i)},e.callback=function(){Rm(t,n,a)}}var r=n.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){Rm(t,n,a),typeof l!="function"&&(sa===null?sa=new Set([this]):sa.add(this));var o=a.stack;this.componentDidCatch(a.value,{componentStack:o!==null?o:""})})}function XA(e,t,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=n.alternate,t!==null&&ei(t,n,l,!0),n=Nt.current,n!==null){switch(n.tag){case 31:case 13:return Xt===null?su():n.alternate===null&&Te===0&&(Te=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),ds(e,a,l)),!1;case 22:return n.flags|=65536,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),ds(e,a,l)),!1}throw Error(S(435,n.tag))}return ds(e,a,l),su(),!1}if(V)return t=Nt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,a!==ks&&(e=Error(S(422),{cause:a}),cr(Yt(e,n)))):(a!==ks&&(t=Error(S(423),{cause:a}),cr(Yt(t,n))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,a=Yt(a,n),l=Qs(e.stateNode,a,l),Jc(e,l),Te!==4&&(Te=2)),!1;var i=Error(S(520),{cause:a});if(i=Yt(i,n),tr===null?tr=[i]:tr.push(i),Te!==4&&(Te=2),t===null)return!0;a=Yt(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=l&-l,n.lanes|=e,e=Qs(n.stateNode,a,e),Jc(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(sa===null||!sa.has(i))))return n.flags|=65536,l&=-l,n.lanes|=l,l=jp(l),Yp(l,e,n,a),Jc(n,l),!1}n=n.return}while(n!==null);return!1}var Qd=Error(S(461)),Le=!1;function Ye(e,t,n,a){t.child=e===null?lp(t,null,n,a):Ya(t,e.child,n,a)}function Tm(e,t,n,a,l){n=n.render;var i=t.ref;if("ref"in a){var r={};for(var o in a)o!=="ref"&&(r[o]=a[o])}else r=a;return ja(t),a=Ld(e,t,n,r,i,l),o=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&o&&Dd(t),t.flags|=1,Ye(e,t,a,l),t.child)}function Em(e,t,n,a,l){if(e===null){var i=n.type;return typeof i=="function"&&!Ed(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,Vp(e,t,i,a,l)):(e=ko(n.type,null,a,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Kd(e,l)){var r=i.memoizedProps;if(n=n.compare,n=n!==null?n:or,n(r,a)&&e.ref===t.ref)return Un(e,t,l)}return t.flags|=1,e=Nn(i,a),e.ref=t.ref,e.return=t,t.child=e}function Vp(e,t,n,a,l){if(e!==null){var i=e.memoizedProps;if(or(i,a)&&e.ref===t.ref)if(Le=!1,t.pendingProps=a=i,Kd(e,l))(e.flags&131072)!==0&&(Le=!0);else return t.lanes=e.lanes,Un(e,t,l)}return Ks(e,t,n,a,l)}function Xp(e,t,n,a){var l=a.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(a=t.child=e.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~i}else a=0,t.child=null;return Dm(e,t,i,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Lo(t,i!==null?i.cachePool:null),i!==null?hm(t,i):qs(),op(t);else return a=t.lanes=536870912,Dm(e,t,i!==null?i.baseLanes|n:n,n,a)}else i!==null?(Lo(t,i.cachePool),hm(t,i),$n(t),t.memoizedState=null):(e!==null&&Lo(t,null),qs(),$n(t));return Ye(e,t,l,n),t.child}function ji(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Dm(e,t,n,a,l){var i=_d();return i=i===null?null:{parent:ke._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Lo(t,null),qs(),op(t),e!==null&&ei(e,t,a,!0),t.childLanes=l,null}function Uo(e,t){return t=ru({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function xm(e,t,n){return Ya(t,e.child,null,n),e=Uo(t,t.pendingProps),e.flags|=2,Rt(t),t.memoizedState=null,e}function QA(e,t,n){var a=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(V){if(a.mode==="hidden")return e=Uo(t,a),t.lanes=536870912,ji(null,e);if(Fs(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return t.lanes=536870912,null}return Uo(t,a)}var i=e.memoizedState;if(i!==null){var r=i.dehydrated;if(Fs(t),l)if(t.flags&256)t.flags&=-257,t=xm(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(S(558));else if(Le||ei(e,t,n,!1),l=(n&e.childLanes)!==0,Le||l){if(a=ue,a!==null&&(r=Ch(a,n),r!==0&&r!==i.retryLane))throw i.retryLane=r,Wa(e,r),yt(a,e,r),Qd;su(),t=xm(e,t,n)}else e=i.treeContext,ye=Qt(r.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Uo(t,a),t.flags|=4096;return t}return e=Nn(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Go(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(S(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Ks(e,t,n,a,l){return ja(t),n=Ld(e,t,n,a,void 0,l),a=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,l),t.child)}function Mm(e,t,n,a,l,i){return ja(t),t.updateQueue=null,n=cp(t,a,n,l),up(e),a=Hd(),e!==null&&!Le?(zd(e,t,i),Un(e,t,i)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,i),t.child)}function _m(e,t,n,a,l){if(ja(t),t.stateNode===null){var i=_l,r=n.contextType;typeof r=="object"&&r!==null&&(i=Qe(r)),i=new n(a,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Xs,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=a,i.state=t.memoizedState,i.refs={},Nd(t),r=n.contextType,i.context=typeof r=="object"&&r!==null?Qe(r):_l,i.state=t.memoizedState,r=n.getDerivedStateFromProps,typeof r=="function"&&(es(t,n,r,a),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&Xs.enqueueReplaceState(i,i.state,null),Ii(t,a,i,l),Wi(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){i=t.stateNode;var o=t.memoizedProps,u=Xa(n,o);i.props=u;var c=i.context,s=n.contextType;r=_l,typeof s=="object"&&s!==null&&(r=Qe(s));var f=n.getDerivedStateFromProps;s=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function",o=t.pendingProps!==o,s||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o||c!==r)&&Cm(t,i,a,r),Wn=!1;var d=t.memoizedState;i.state=d,Ii(t,a,i,l),Wi(),c=t.memoizedState,o||d!==c||Wn?(typeof f=="function"&&(es(t,n,f,a),c=t.memoizedState),(u=Wn||Sm(t,n,u,a,d,c,r))?(s||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=r,a=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Gs(e,t),r=t.memoizedProps,s=Xa(n,r),i.props=s,f=t.pendingProps,d=i.context,c=n.contextType,u=_l,typeof c=="object"&&c!==null&&(u=Qe(c)),o=n.getDerivedStateFromProps,(c=typeof o=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r!==f||d!==u)&&Cm(t,i,a,u),Wn=!1,d=t.memoizedState,i.state=d,Ii(t,a,i,l),Wi();var m=t.memoizedState;r!==f||d!==m||Wn||e!==null&&e.dependencies!==null&&$o(e.dependencies)?(typeof o=="function"&&(es(t,n,o,a),m=t.memoizedState),(s=Wn||Sm(t,n,s,a,d,m,u)||e!==null&&e.dependencies!==null&&$o(e.dependencies))?(c||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(a,m,u),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(a,m,u)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=u,a=s):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return i=a,Go(e,t),a=(t.flags&128)!==0,i||a?(i=t.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&a?(t.child=Ya(t,e.child,null,l),t.child=Ya(t,null,n,l)):Ye(e,t,n,l),t.memoizedState=i.state,e=t.child):e=Un(e,t,l),e}function Bm(e,t,n,a){return Fa(),t.flags|=256,Ye(e,t,n,a),t.child}var ts={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ns(e){return{baseLanes:e,cachePool:tp()}}function as(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Et),e}function Qp(e,t,n){var a=t.pendingProps,l=!1,i=(t.flags&128)!==0,r;if((r=i)||(r=e!==null&&e.memoizedState===null?!1:(xe.current&2)!==0),r&&(l=!0,t.flags&=-129),r=(t.flags&32)!==0,t.flags&=-33,e===null){if(V){if(l?Jn(t):$n(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return ud(e)?t.lanes=32:t.lanes=536870912,null}var o=a.children;return a=a.fallback,l?($n(t),l=t.mode,o=ru({mode:"hidden",children:o},l),a=Ua(a,l,n,null),o.return=t,a.return=t,o.sibling=a,t.child=o,a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,ji(null,a)):(Jn(t),Zs(t,o))}var u=e.memoizedState;if(u!==null&&(o=u.dehydrated,o!==null)){if(i)t.flags&256?(Jn(t),t.flags&=-257,t=ls(e,t,n)):t.memoizedState!==null?($n(t),t.child=e.child,t.flags|=128,t=null):($n(t),o=a.fallback,l=t.mode,a=ru({mode:"visible",children:a.children},l),o=Ua(o,l,n,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,Ya(t,e.child,null,n),a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,t=ji(null,a));else if(Jn(t),ud(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var c=r.dgst;r=c,a=Error(S(419)),a.stack="",a.digest=r,cr({value:a,source:null,stack:null}),t=ls(e,t,n)}else if(Le||ei(e,t,n,!1),r=(n&e.childLanes)!==0,Le||r){if(r=ue,r!==null&&(a=Ch(r,n),a!==0&&a!==u.retryLane))throw u.retryLane=a,Wa(e,a),yt(r,e,a),Qd;od(o)||su(),t=ls(e,t,n)}else od(o)?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,ye=Qt(o.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Zs(t,a.children),t.flags|=4096);return t}return l?($n(t),o=a.fallback,l=t.mode,u=e.child,c=u.sibling,a=Nn(u,{mode:"hidden",children:a.children}),a.subtreeFlags=u.subtreeFlags&65011712,c!==null?o=Nn(c,o):(o=Ua(o,l,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,ji(null,a),a=t.child,o=e.child.memoizedState,o===null?o=ns(n):(l=o.cachePool,l!==null?(u=ke._currentValue,l=l.parent!==u?{parent:u,pool:u}:l):l=tp(),o={baseLanes:o.baseLanes|n,cachePool:l}),a.memoizedState=o,a.childLanes=as(e,r,n),t.memoizedState=ts,ji(e.child,a)):(Jn(t),n=e.child,e=n.sibling,n=Nn(n,{mode:"visible",children:a.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Zs(e,t){return t=ru({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ru(e,t){return e=Tt(22,e,null,t),e.lanes=0,e}function ls(e,t,n){return Ya(t,e.child,null,n),e=Zs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nm(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Hs(e.return,t,n)}function is(e,t,n,a,l,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=l,r.treeForkCount=i)}function Kp(e,t,n){var a=t.pendingProps,l=a.revealOrder,i=a.tail;a=a.children;var r=xe.current,o=(r&2)!==0;if(o?(r=r&1|2,t.flags|=128):r&=1,ge(xe,r),Ye(e,t,a,n),a=V?ur:0,!o&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nm(e,n,t);else if(e.tag===19)Nm(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&nu(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),is(t,!1,l,n,i,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&nu(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}is(t,!0,n,null,i,a);break;case"together":is(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function Un(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),va|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ei(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(S(153));if(t.child!==null){for(e=t.child,n=Nn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Nn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Kd(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&$o(e)))}function KA(e,t,n){switch(t.tag){case 3:Xo(t,t.stateNode.containerInfo),In(t,ke,e.memoizedState.cache),Fa();break;case 27:case 5:Cs(t);break;case 4:Xo(t,t.stateNode.containerInfo);break;case 10:In(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Fs(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(Jn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Qp(e,t,n):(Jn(t),e=Un(e,t,n),e!==null?e.sibling:null);Jn(t);break;case 19:var l=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||(ei(e,t,n,!1),a=(n&t.childLanes)!==0),l){if(a)return Kp(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ge(xe,xe.current),a)break;return null;case 22:return t.lanes=0,Xp(e,t,n,t.pendingProps);case 24:In(t,ke,e.memoizedState.cache)}return Un(e,t,n)}function Zp(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Le=!0;else{if(!Kd(e,n)&&(t.flags&128)===0)return Le=!1,KA(e,t,n);Le=(e.flags&131072)!==0}else Le=!1,V&&(t.flags&1048576)!==0&&Jh(t,ur,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=La(t.elementType),t.type=e,typeof e=="function")Ed(e)?(a=Xa(e,a),t.tag=1,t=_m(null,t,e,a,n)):(t.tag=0,t=Ks(null,t,e,a,n));else{if(e!=null){var l=e.$$typeof;if(l===fd){t.tag=11,t=Tm(null,t,e,a,n);break e}else if(l===gd){t.tag=14,t=Em(null,t,e,a,n);break e}}throw t=ws(e)||e,Error(S(306,t,""))}}return t;case 0:return Ks(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,l=Xa(a,t.pendingProps),_m(e,t,a,l,n);case 3:e:{if(Xo(t,t.stateNode.containerInfo),e===null)throw Error(S(387));a=t.pendingProps;var i=t.memoizedState;l=i.element,Gs(e,t),Ii(t,a,null,n);var r=t.memoizedState;if(a=r.cache,In(t,ke,a),a!==i.cache&&zs(t,[ke],n,!0),Wi(),a=r.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:r.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Bm(e,t,a,n);break e}else if(a!==l){l=Yt(Error(S(424)),t),cr(l),t=Bm(e,t,a,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(ye=Qt(e.firstChild),Xe=t,V=!0,oa=null,Vt=!0,n=lp(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Fa(),a===l){t=Un(e,t,n);break e}Ye(e,t,a,n)}t=t.child}return t;case 26:return Go(e,t),e===null?(n=eh(t.type,null,t.pendingProps,null))?t.memoizedState=n:V||(n=t.type,e=t.pendingProps,a=mu(ra.current).createElement(n),a[Ve]=t,a[vt]=e,Ke(a,n,e),qe(a),t.stateNode=a):t.memoizedState=eh(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Cs(t),e===null&&V&&(a=t.stateNode=Gy(t.type,t.pendingProps,ra.current),Xe=t,Vt=!0,l=ye,Aa(t.type)?(cd=l,ye=Qt(a.firstChild)):ye=l),Ye(e,t,t.pendingProps.children,n),Go(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&V&&((l=a=ye)&&(a=Sw(a,t.type,t.pendingProps,Vt),a!==null?(t.stateNode=a,Xe=t,ye=Qt(a.firstChild),Vt=!1,l=!0):l=!1),l||pa(t)),Cs(t),l=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,a=i.children,id(l,i)?a=null:r!==null&&id(l,r)&&(t.flags|=32),t.memoizedState!==null&&(l=Ld(e,t,GA,null,null,n),hr._currentValue=l),Go(e,t),Ye(e,t,a,n),t.child;case 6:return e===null&&V&&((e=n=ye)&&(n=Cw(n,t.pendingProps,Vt),n!==null?(t.stateNode=n,Xe=t,ye=null,e=!0):e=!1),e||pa(t)),null;case 13:return Qp(e,t,n);case 4:return Xo(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ya(t,null,a,n):Ye(e,t,a,n),t.child;case 11:return Tm(e,t,t.type,t.pendingProps,n);case 7:return Ye(e,t,t.pendingProps,n),t.child;case 8:return Ye(e,t,t.pendingProps.children,n),t.child;case 12:return Ye(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,In(t,t.type,a.value),Ye(e,t,a.children,n),t.child;case 9:return l=t.type._context,a=t.pendingProps.children,ja(t),l=Qe(l),a=a(l),t.flags|=1,Ye(e,t,a,n),t.child;case 14:return Em(e,t,t.type,t.pendingProps,n);case 15:return Vp(e,t,t.type,t.pendingProps,n);case 19:return Kp(e,t,n);case 31:return QA(e,t,n);case 22:return Xp(e,t,n,t.pendingProps);case 24:return ja(t),a=Qe(ke),e===null?(l=_d(),l===null&&(l=ue,i=Md(),l.pooledCache=i,i.refCount++,i!==null&&(l.pooledCacheLanes|=n),l=i),t.memoizedState={parent:a,cache:l},Nd(t),In(t,ke,l)):((e.lanes&n)!==0&&(Gs(e,t),Ii(t,null,null,n),Wi()),l=e.memoizedState,i=t.memoizedState,l.parent!==a?(l={parent:a,cache:a},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),In(t,ke,a)):(a=i.cache,In(t,ke,a),a!==l.cache&&zs(t,[ke],n,!0))),Ye(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(S(156,t.tag))}function Cn(e){e.flags|=4}function rs(e,t,n,a,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(by())e.flags|=8192;else throw Pa=eu,Bd}else e.flags&=-16777217}function Om(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Fy(t))if(by())e.flags|=8192;else throw Pa=eu,Bd}function Co(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ah():536870912,e.lanes|=t,Ql|=t)}function Hi(e,t){if(!V)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function ZA(e,t,n){var a=t.pendingProps;switch(xd(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pe(t),null;case 1:return pe(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),On(ke),ql(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(vl(t)?Cn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ic())),pe(t),null;case 26:var l=t.type,i=t.memoizedState;return e===null?(Cn(t),i!==null?(pe(t),Om(t,i)):(pe(t),rs(t,l,null,a,n))):i?i!==e.memoizedState?(Cn(t),pe(t),Om(t,i)):(pe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&Cn(t),pe(t),rs(t,l,e,a,n)),null;case 27:if(Qo(t),n=ra.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}e=gn.current,vl(t)?um(t,e):(e=Gy(l,a,n),t.stateNode=e,Cn(t))}return pe(t),null;case 5:if(Qo(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}if(i=gn.current,vl(t))um(t,i);else{var r=mu(ra.current);switch(i){case 1:i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":i=r.createElement("div"),i.innerHTML="<script><\/scr"+"ipt>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?r.createElement(l,{is:a.is}):r.createElement(l)}}i[Ve]=t,i[vt]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(Ke(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Cn(t)}}return pe(t),rs(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(S(166));if(e=ra.current,vl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=Xe,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[Ve]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Ly(e.nodeValue,n)),e||pa(t,!0)}else e=mu(e).createTextNode(a),e[Ve]=t,t.stateNode=e}return pe(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=vl(t),n!==null){if(e===null){if(!a)throw Error(S(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(557));e[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),e=!1}else n=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Rt(t),t):(Rt(t),null);if((t.flags&128)!==0)throw Error(S(558))}return pe(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=vl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(S(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(317));l[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),l=!1}else l=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Rt(t),t):(Rt(t),null)}return Rt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Co(t,t.updateQueue),pe(t),null);case 4:return ql(),e===null&&tf(t.stateNode.containerInfo),pe(t),null;case 10:return On(t.type),pe(t),null;case 19:if(Fe(xe),a=t.memoizedState,a===null)return pe(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)Hi(a,!1);else{if(Te!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=nu(e),i!==null){for(t.flags|=128,Hi(a,!1),e=i.updateQueue,t.updateQueue=e,Co(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Wh(n,e),n=n.sibling;return ge(xe,xe.current&1|2),V&&Dn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Dt()>uu&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304)}else{if(!l)if(e=nu(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Co(t,e),Hi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!V)return pe(t),null}else 2*Dt()-a.renderingStartTime>uu&&n!==536870912&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Dt(),e.sibling=null,n=xe.current,ge(xe,l?n&1|2:n&1),V&&Dn(t,a.treeForkCount),e):(pe(t),null);case 22:case 23:return Rt(t),Od(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(pe(t),t.subtreeFlags&6&&(t.flags|=8192)):pe(t),n=t.updateQueue,n!==null&&Co(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&Fe(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),On(ke),pe(t),null;case 25:return null;case 30:return null}throw Error(S(156,t.tag))}function WA(e,t){switch(xd(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return On(ke),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Qo(t),null;case 31:if(t.memoizedState!==null){if(Rt(t),t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Rt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fe(xe),null;case 4:return ql(),null;case 10:return On(t.type),null;case 22:case 23:return Rt(t),Od(),e!==null&&Fe(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return On(ke),null;case 25:return null;default:return null}}function Wp(e,t){switch(xd(t),t.tag){case 3:On(ke),ql();break;case 26:case 27:case 5:Qo(t);break;case 4:ql();break;case 31:t.memoizedState!==null&&Rt(t);break;case 13:Rt(t);break;case 19:Fe(xe);break;case 10:On(t.type);break;case 22:case 23:Rt(t),Od(),e!==null&&Fe(Ga);break;case 24:On(ke)}}function Er(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,r=n.inst;a=i(),r.destroy=a}n=n.next}while(n!==l)}}catch(o){le(t,t.return,o)}}function ya(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var r=a.inst,o=r.destroy;if(o!==void 0){r.destroy=void 0,l=t;var u=n,c=o;try{c()}catch(s){le(l,u,s)}}}a=a.next}while(a!==i)}}catch(s){le(t,t.return,s)}}function Ip(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{rp(t,n)}catch(a){le(e,e.return,a)}}}function Jp(e,t,n){n.props=Xa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){le(e,t,a)}}function $i(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){le(e,t,l)}}function fn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){le(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){le(e,t,l)}else n.current=null}function $p(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){le(e,e.return,l)}}function os(e,t,n){try{var a=e.stateNode;pw(a,e.type,n,t),a[vt]=t}catch(l){le(e,e.return,l)}}function ey(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Aa(e.type)||e.tag===4}function us(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ey(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Aa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ws(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=_n));else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Ws(e,t,n),e=e.sibling;e!==null;)Ws(e,t,n),e=e.sibling}function ou(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ou(e,t,n),e=e.sibling;e!==null;)ou(e,t,n),e=e.sibling}function ty(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);Ke(t,a,n),t[Ve]=e,t[vt]=n}catch(i){le(e,e.return,i)}}var xn=!1,Oe=!1,cs=!1,km=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function IA(e,t){if(e=e.containerInfo,ad=vu,e=Fh(e),Cd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var r=0,o=-1,u=-1,c=0,s=0,f=e,d=null;t:for(;;){for(var m;f!==n||l!==0&&f.nodeType!==3||(o=r+l),f!==i||a!==0&&f.nodeType!==3||(u=r+a),f.nodeType===3&&(r+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===n&&++c===l&&(o=r),d===i&&++s===a&&(u=r),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}n=o===-1||u===-1?null:{start:o,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ld={focusedElem:e,selectionRange:n},vu=!1,Pe=t;Pe!==null;)if(t=Pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Pe=e;else for(;Pe!==null;){switch(t=Pe,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)l=e[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,l=i.memoizedProps,i=i.memoizedState,a=n.stateNode;try{var v=Xa(n.type,l);e=a.getSnapshotBeforeUpdate(v,i),a.__reactInternalSnapshotBeforeUpdate=e}catch(A){le(n,n.return,A)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)rd(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":rd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(S(163))}if(e=t.sibling,e!==null){e.return=t.return,Pe=e;break}Pe=t.return}}function ny(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Tn(e,n),a&4&&Er(5,n);break;case 1:if(Tn(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(r){le(n,n.return,r)}else{var l=Xa(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(r){le(n,n.return,r)}}a&64&&Ip(n),a&512&&$i(n,n.return);break;case 3:if(Tn(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{rp(e,t)}catch(r){le(n,n.return,r)}}break;case 27:t===null&&a&4&&ty(n);case 26:case 5:Tn(e,n),t===null&&a&4&&$p(n),a&512&&$i(n,n.return);break;case 12:Tn(e,n);break;case 31:Tn(e,n),a&4&&iy(e,n);break;case 13:Tn(e,n),a&4&&ry(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=rw.bind(null,n),Rw(e,n))));break;case 22:if(a=n.memoizedState!==null||xn,!a){t=t!==null&&t.memoizedState!==null||Oe,l=xn;var i=Oe;xn=a,(Oe=t)&&!i?En(e,n,(n.subtreeFlags&8772)!==0):Tn(e,n),xn=l,Oe=i}break;case 30:break;default:Tn(e,n)}}function ay(e){var t=e.alternate;t!==null&&(e.alternate=null,ay(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&yd(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ce=null,ht=!1;function Rn(e,t,n){for(n=n.child;n!==null;)ly(e,t,n),n=n.sibling}function ly(e,t,n){if(xt&&typeof xt.onCommitFiberUnmount=="function")try{xt.onCommitFiberUnmount(br,n)}catch{}switch(n.tag){case 26:Oe||fn(n,t),Rn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Oe||fn(n,t);var a=Ce,l=ht;Aa(n.type)&&(Ce=n.stateNode,ht=!1),Rn(e,t,n),ar(n.stateNode),Ce=a,ht=l;break;case 5:Oe||fn(n,t);case 6:if(a=Ce,l=ht,Ce=null,Rn(e,t,n),Ce=a,ht=l,Ce!==null)if(ht)try{(Ce.nodeType===9?Ce.body:Ce.nodeName==="HTML"?Ce.ownerDocument.body:Ce).removeChild(n.stateNode)}catch(i){le(n,t,i)}else try{Ce.removeChild(n.stateNode)}catch(i){le(n,t,i)}break;case 18:Ce!==null&&(ht?(e=Ce,Zm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),Il(e)):Zm(Ce,n.stateNode));break;case 4:a=Ce,l=ht,Ce=n.stateNode.containerInfo,ht=!0,Rn(e,t,n),Ce=a,ht=l;break;case 0:case 11:case 14:case 15:ya(2,n,t),Oe||ya(4,n,t),Rn(e,t,n);break;case 1:Oe||(fn(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"&&Jp(n,t,a)),Rn(e,t,n);break;case 21:Rn(e,t,n);break;case 22:Oe=(a=Oe)||n.memoizedState!==null,Rn(e,t,n),Oe=a;break;default:Rn(e,t,n)}}function iy(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Il(e)}catch(n){le(t,t.return,n)}}}function ry(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Il(e)}catch(n){le(t,t.return,n)}}function JA(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new km),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new km),t;default:throw Error(S(435,e.tag))}}function Ro(e,t){var n=JA(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var l=ow.bind(null,e,a);a.then(l,l)}})}function gt(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var l=n[a],i=e,r=t,o=r;e:for(;o!==null;){switch(o.tag){case 27:if(Aa(o.type)){Ce=o.stateNode,ht=!1;break e}break;case 5:Ce=o.stateNode,ht=!1;break e;case 3:case 4:Ce=o.stateNode.containerInfo,ht=!0;break e}o=o.return}if(Ce===null)throw Error(S(160));ly(i,r,l),Ce=null,ht=!1,i=l.alternate,i!==null&&(i.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)oy(t,e),t=t.sibling}var en=null;function oy(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),mt(e),a&4&&(ya(3,e,e.return),Er(3,e),ya(5,e,e.return));break;case 1:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&64&&xn&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var l=en;if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&4){var i=n!==null?n.memoizedState:null;if(a=e.memoizedState,n===null)if(a===null)if(e.stateNode===null){e:{a=e.type,n=e.memoizedProps,l=l.ownerDocument||l;t:switch(a){case"title":i=l.getElementsByTagName("title")[0],(!i||i[Sr]||i[Ve]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=l.createElement(a),l.head.insertBefore(i,l.querySelector("head > title"))),Ke(i,a,n),i[Ve]=e,qe(i),a=i;break e;case"link":var r=nh("link","href",l).get(a+(n.href||""));if(r){for(var o=0;o<r.length;o++)if(i=r[o],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;case"meta":if(r=nh("meta","content",l).get(a+(n.content||""))){for(o=0;o<r.length;o++)if(i=r[o],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;default:throw Error(S(468,a))}i[Ve]=e,qe(i),a=i}e.stateNode=a}else ah(l,e.type,e.stateNode);else e.stateNode=th(l,a,e.memoizedProps);else i!==a?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count--,a===null?ah(l,e.type,e.stateNode):th(l,a,e.memoizedProps)):a===null&&e.stateNode!==null&&os(e,e.memoizedProps,n.memoizedProps)}break;case 27:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),n!==null&&a&4&&os(e,e.memoizedProps,n.memoizedProps);break;case 5:if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),e.flags&32){l=e.stateNode;try{jl(l,"")}catch(v){le(e,e.return,v)}}a&4&&e.stateNode!=null&&(l=e.memoizedProps,os(e,l,n!==null?n.memoizedProps:l)),a&1024&&(cs=!0);break;case 6:if(gt(t,e),mt(e),a&4){if(e.stateNode===null)throw Error(S(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(v){le(e,e.return,v)}}break;case 3:if(Fo=null,l=en,en=hu(t.containerInfo),gt(t,e),en=l,mt(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Il(t.containerInfo)}catch(v){le(e,e.return,v)}cs&&(cs=!1,uy(e));break;case 4:a=en,en=hu(e.stateNode.containerInfo),gt(t,e),mt(e),en=a;break;case 12:gt(t,e),mt(e);break;case 31:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 13:gt(t,e),mt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Bu=Dt()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 22:l=e.memoizedState!==null;var u=n!==null&&n.memoizedState!==null,c=xn,s=Oe;if(xn=c||l,Oe=s||u,gt(t,e),Oe=s,xn=c,mt(e),a&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(n===null||u||xn||Oe||Ha(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){u=n=t;try{if(i=u.stateNode,l)r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{o=u.stateNode;var f=u.memoizedProps.style,d=f!=null&&f.hasOwnProperty("display")?f.display:null;o.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(v){le(u,u.return,v)}}}else if(t.tag===6){if(n===null){u=t;try{u.stateNode.nodeValue=l?"":u.memoizedProps}catch(v){le(u,u.return,v)}}}else if(t.tag===18){if(n===null){u=t;try{var m=u.stateNode;l?Wm(m,!0):Wm(u.stateNode,!1)}catch(v){le(u,u.return,v)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,Ro(e,n))));break;case 19:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 30:break;case 21:break;default:gt(t,e),mt(e)}}function mt(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(ey(a)){n=a;break}a=a.return}if(n==null)throw Error(S(160));switch(n.tag){case 27:var l=n.stateNode,i=us(e);ou(e,i,l);break;case 5:var r=n.stateNode;n.flags&32&&(jl(r,""),n.flags&=-33);var o=us(e);ou(e,o,r);break;case 3:case 4:var u=n.stateNode.containerInfo,c=us(e);Ws(e,c,u);break;default:throw Error(S(161))}}catch(s){le(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function uy(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;uy(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Tn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ny(e,t.alternate,t),t=t.sibling}function Ha(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ya(4,t,t.return),Ha(t);break;case 1:fn(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Jp(t,t.return,n),Ha(t);break;case 27:ar(t.stateNode);case 26:case 5:fn(t,t.return),Ha(t);break;case 22:t.memoizedState===null&&Ha(t);break;case 30:Ha(t);break;default:Ha(t)}e=e.sibling}}function En(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,l=e,i=t,r=i.flags;switch(i.tag){case 0:case 11:case 15:En(l,i,n),Er(4,i);break;case 1:if(En(l,i,n),a=i,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(c){le(a,a.return,c)}if(a=i,l=a.updateQueue,l!==null){var o=a.stateNode;try{var u=l.shared.hiddenCallbacks;if(u!==null)for(l.shared.hiddenCallbacks=null,l=0;l<u.length;l++)ip(u[l],o)}catch(c){le(a,a.return,c)}}n&&r&64&&Ip(i),$i(i,i.return);break;case 27:ty(i);case 26:case 5:En(l,i,n),n&&a===null&&r&4&&$p(i),$i(i,i.return);break;case 12:En(l,i,n);break;case 31:En(l,i,n),n&&r&4&&iy(l,i);break;case 13:En(l,i,n),n&&r&4&&ry(l,i);break;case 22:i.memoizedState===null&&En(l,i,n),$i(i,i.return);break;case 30:break;default:En(l,i,n)}t=t.sibling}}function Zd(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Rr(n))}function Wd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e))}function $t(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)cy(e,t,n,a),t=t.sibling}function cy(e,t,n,a){var l=t.flags;switch(t.tag){case 0:case 11:case 15:$t(e,t,n,a),l&2048&&Er(9,t);break;case 1:$t(e,t,n,a);break;case 3:$t(e,t,n,a),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e)));break;case 12:if(l&2048){$t(e,t,n,a),e=t.stateNode;try{var i=t.memoizedProps,r=i.id,o=i.onPostCommit;typeof o=="function"&&o(r,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(u){le(t,t.return,u)}}else $t(e,t,n,a);break;case 31:$t(e,t,n,a);break;case 13:$t(e,t,n,a);break;case 23:break;case 22:i=t.stateNode,r=t.alternate,t.memoizedState!==null?i._visibility&2?$t(e,t,n,a):er(e,t):i._visibility&2?$t(e,t,n,a):(i._visibility|=2,Al(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Zd(r,t);break;case 24:$t(e,t,n,a),l&2048&&Wd(t.alternate,t);break;default:$t(e,t,n,a)}}function Al(e,t,n,a,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,r=t,o=n,u=a,c=r.flags;switch(r.tag){case 0:case 11:case 15:Al(i,r,o,u,l),Er(8,r);break;case 23:break;case 22:var s=r.stateNode;r.memoizedState!==null?s._visibility&2?Al(i,r,o,u,l):er(i,r):(s._visibility|=2,Al(i,r,o,u,l)),l&&c&2048&&Zd(r.alternate,r);break;case 24:Al(i,r,o,u,l),l&&c&2048&&Wd(r.alternate,r);break;default:Al(i,r,o,u,l)}t=t.sibling}}function er(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,l=a.flags;switch(a.tag){case 22:er(n,a),l&2048&&Zd(a.alternate,a);break;case 24:er(n,a),l&2048&&Wd(a.alternate,a);break;default:er(n,a)}t=t.sibling}}var Yi=8192;function bl(e,t,n){if(e.subtreeFlags&Yi)for(e=e.child;e!==null;)sy(e,t,n),e=e.sibling}function sy(e,t,n){switch(e.tag){case 26:bl(e,t,n),e.flags&Yi&&e.memoizedState!==null&&Hw(n,en,e.memoizedState,e.memoizedProps);break;case 5:bl(e,t,n);break;case 3:case 4:var a=en;en=hu(e.stateNode.containerInfo),bl(e,t,n),en=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=Yi,Yi=16777216,bl(e,t,n),Yi=a):bl(e,t,n));break;default:bl(e,t,n)}}function dy(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function zi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)fy(e),e=e.sibling}function fy(e){switch(e.tag){case 0:case 11:case 15:zi(e),e.flags&2048&&ya(9,e,e.return);break;case 3:zi(e);break;case 12:zi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Po(e)):zi(e);break;default:zi(e)}}function Po(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ya(8,t,t.return),Po(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Po(t));break;default:Po(t)}e=e.sibling}}function gy(e,t){for(;Pe!==null;){var n=Pe;switch(n.tag){case 0:case 11:case 15:ya(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Rr(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,Pe=a;else e:for(n=e;Pe!==null;){a=Pe;var l=a.sibling,i=a.return;if(ay(a),a===n){Pe=null;break e}if(l!==null){l.return=i,Pe=l;break e}Pe=i}}}var $A={getCacheForType:function(e){var t=Qe(ke),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Qe(ke).controller.signal}},ew=typeof WeakMap=="function"?WeakMap:Map,J=0,ue=null,F=null,Y=0,ae=0,Ct=null,aa=!1,ni=!1,Id=!1,Gn=0,Te=0,va=0,qa=0,Jd=0,Et=0,Ql=0,tr=null,pt=null,Is=!1,Bu=0,my=0,uu=1/0,cu=null,sa=null,Ue=0,da=null,Kl=null,kn=0,Js=0,$s=null,hy=null,nr=0,ed=null;function _t(){return(J&2)!==0&&Y!==0?Y&-Y:L.T!==null?ef():Rh()}function py(){if(Et===0)if((Y&536870912)===0||V){var e=mo;mo<<=1,(mo&3932160)===0&&(mo=262144),Et=e}else Et=536870912;return e=Nt.current,e!==null&&(e.flags|=32),Et}function yt(e,t,n){(e===ue&&(ae===2||ae===9)||e.cancelPendingCommit!==null)&&(Zl(e,0),la(e,Y,Et,!1)),wr(e,n),((J&2)===0||e!==ue)&&(e===ue&&((J&2)===0&&(qa|=n),Te===4&&la(e,Y,Et,!1)),hn(e))}function yy(e,t,n){if((J&6)!==0)throw Error(S(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Ar(e,t),l=a?aw(e,t):ss(e,t,!0),i=a;do{if(l===0){ni&&!a&&la(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!tw(n)){l=ss(e,t,!1),i=!1;continue}if(l===2){if(i=t,e.errorRecoveryDisabledLanes&i)var r=0;else r=e.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){t=r;e:{var o=e;l=tr;var u=o.current.memoizedState.isDehydrated;if(u&&(Zl(o,r).flags|=256),r=ss(o,r,!1),r!==2){if(Id&&!u){o.errorRecoveryDisabledLanes|=i,qa|=i,l=4;break e}i=pt,pt=l,i!==null&&(pt===null?pt=i:pt.push.apply(pt,i))}l=r}if(i=!1,l!==2)continue}}if(l===1){Zl(e,0),la(e,t,0,!0);break}e:{switch(a=e,i=l,i){case 0:case 1:throw Error(S(345));case 4:if((t&4194048)!==t)break;case 6:la(a,t,Et,!aa);break e;case 2:pt=null;break;case 3:case 5:break;default:throw Error(S(329))}if((t&62914560)===t&&(l=Bu+300-Dt(),10<l)){if(la(a,t,Et,!aa),Au(a,0,!0)!==0)break e;kn=t,a.timeoutHandle=zy(Lm.bind(null,a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,"Throttled",-0,0),l);break e}Lm(a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,null,-0,0)}}break}while(!0);hn(e)}function Lm(e,t,n,a,l,i,r,o,u,c,s,f,d,m){if(e.timeoutHandle=-1,f=t.subtreeFlags,f&8192||(f&16785408)===16785408){f={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:_n},sy(t,i,f);var v=(i&62914560)===i?Bu-Dt():(i&4194048)===i?my-Dt():0;if(v=zw(f,v),v!==null){kn=i,e.cancelPendingCommit=v(zm.bind(null,e,t,i,n,a,l,r,o,u,s,f,null,d,m)),la(e,i,r,!c);return}}zm(e,t,i,n,a,l,r,o,u)}function tw(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],i=l.getSnapshot;l=l.value;try{if(!Bt(i(),l))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function la(e,t,n,a){t&=~Jd,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var l=t;0<l;){var i=31-Mt(l),r=1<<i;a[i]=-1,l&=~r}n!==0&&wh(e,n,t)}function Nu(){return(J&6)===0?(Dr(0,!1),!1):!0}function $d(){if(F!==null){if(ae===0)var e=F.return;else e=F,Bn=Ia=null,Ud(e),Ul=null,sr=0,e=F;for(;e!==null;)Wp(e.alternate,e),e=e.return;F=null}}function Zl(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,bw(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),kn=0,$d(),ue=e,F=n=Nn(e.current,null),Y=t,ae=0,Ct=null,aa=!1,ni=Ar(e,t),Id=!1,Ql=Et=Jd=qa=va=Te=0,pt=tr=null,Is=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var l=31-Mt(a),i=1<<l;t|=e[l],a&=~i}return Gn=t,Ru(),n}function vy(e,t){G=null,L.H=fr,t===ti||t===Eu?(t=gm(),ae=3):t===Bd?(t=gm(),ae=4):ae=t===Qd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ct=t,F===null&&(Te=1,iu(e,Yt(t,e.current)))}function by(){var e=Nt.current;return e===null?!0:(Y&4194048)===Y?Xt===null:(Y&62914560)===Y||(Y&536870912)!==0?e===Xt:!1}function Ay(){var e=L.H;return L.H=fr,e===null?fr:e}function wy(){var e=L.A;return L.A=$A,e}function su(){Te=4,aa||(Y&4194048)!==Y&&Nt.current!==null||(ni=!0),(va&134217727)===0&&(qa&134217727)===0||ue===null||la(ue,Y,Et,!1)}function ss(e,t,n){var a=J;J|=2;var l=Ay(),i=wy();(ue!==e||Y!==t)&&(cu=null,Zl(e,t)),t=!1;var r=Te;e:do try{if(ae!==0&&F!==null){var o=F,u=Ct;switch(ae){case 8:$d(),r=6;break e;case 3:case 2:case 9:case 6:Nt.current===null&&(t=!0);var c=ae;if(ae=0,Ct=null,Ol(e,o,u,c),n&&ni){r=0;break e}break;default:c=ae,ae=0,Ct=null,Ol(e,o,u,c)}}nw(),r=Te;break}catch(s){vy(e,s)}while(!0);return t&&e.shellSuspendCounter++,Bn=Ia=null,J=a,L.H=l,L.A=i,F===null&&(ue=null,Y=0,Ru()),r}function nw(){for(;F!==null;)Sy(F)}function aw(e,t){var n=J;J|=2;var a=Ay(),l=wy();ue!==e||Y!==t?(cu=null,uu=Dt()+500,Zl(e,t)):ni=Ar(e,t);e:do try{if(ae!==0&&F!==null){t=F;var i=Ct;t:switch(ae){case 1:ae=0,Ct=null,Ol(e,t,i,1);break;case 2:case 9:if(fm(i)){ae=0,Ct=null,Hm(t);break}t=function(){ae!==2&&ae!==9||ue!==e||(ae=7),hn(e)},i.then(t,t);break e;case 3:ae=7;break e;case 4:ae=5;break e;case 7:fm(i)?(ae=0,Ct=null,Hm(t)):(ae=0,Ct=null,Ol(e,t,i,7));break;case 5:var r=null;switch(F.tag){case 26:r=F.memoizedState;case 5:case 27:var o=F;if(r?Fy(r):o.stateNode.complete){ae=0,Ct=null;var u=o.sibling;if(u!==null)F=u;else{var c=o.return;c!==null?(F=c,Ou(c)):F=null}break t}}ae=0,Ct=null,Ol(e,t,i,5);break;case 6:ae=0,Ct=null,Ol(e,t,i,6);break;case 8:$d(),Te=6;break e;default:throw Error(S(462))}}lw();break}catch(s){vy(e,s)}while(!0);return Bn=Ia=null,L.H=a,L.A=l,J=n,F!==null?0:(ue=null,Y=0,Ru(),Te)}function lw(){for(;F!==null&&!Db();)Sy(F)}function Sy(e){var t=Zp(e.alternate,e,Gn);e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Hm(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Mm(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=Mm(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:Ud(t);default:Wp(n,t),t=F=Wh(t,Gn),t=Zp(n,t,Gn)}e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Ol(e,t,n,a){Bn=Ia=null,Ud(t),Ul=null,sr=0;var l=t.return;try{if(XA(e,l,t,n,Y)){Te=1,iu(e,Yt(n,e.current)),F=null;return}}catch(i){if(l!==null)throw F=l,i;Te=1,iu(e,Yt(n,e.current)),F=null;return}t.flags&32768?(V||a===1?e=!0:ni||(Y&536870912)!==0?e=!1:(aa=e=!0,(a===2||a===9||a===3||a===6)&&(a=Nt.current,a!==null&&a.tag===13&&(a.flags|=16384))),Cy(t,e)):Ou(t)}function Ou(e){var t=e;do{if((t.flags&32768)!==0){Cy(t,aa);return}e=t.return;var n=ZA(t.alternate,t,Gn);if(n!==null){F=n;return}if(t=t.sibling,t!==null){F=t;return}F=t=e}while(t!==null);Te===0&&(Te=5)}function Cy(e,t){do{var n=WA(e.alternate,e);if(n!==null){n.flags&=32767,F=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){F=e;return}F=e=n}while(e!==null);Te=6,F=null}function zm(e,t,n,a,l,i,r,o,u){e.cancelPendingCommit=null;do ku();while(Ue!==0);if((J&6)!==0)throw Error(S(327));if(t!==null){if(t===e.current)throw Error(S(177));if(i=t.lanes|t.childLanes,i|=Rd,zb(e,n,i,r,o,u),e===ue&&(F=ue=null,Y=0),Kl=t,da=e,kn=n,Js=i,$s=l,hy=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,uw(Ko,function(){return xy(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=L.T,L.T=null,l=$.p,$.p=2,r=J,J|=4;try{IA(e,t,n)}finally{J=r,$.p=l,L.T=a}}Ue=1,Ry(),Ty(),Ey()}}function Ry(){if(Ue===1){Ue=0;var e=da,t=Kl,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{oy(t,e);var i=ld,r=Fh(e.containerInfo),o=i.focusedElem,u=i.selectionRange;if(r!==o&&o&&o.ownerDocument&&qh(o.ownerDocument.documentElement,o)){if(u!==null&&Cd(o)){var c=u.start,s=u.end;if(s===void 0&&(s=c),"selectionStart"in o)o.selectionStart=c,o.selectionEnd=Math.min(s,o.value.length);else{var f=o.ownerDocument||document,d=f&&f.defaultView||window;if(d.getSelection){var m=d.getSelection(),v=o.textContent.length,A=Math.min(u.start,v),b=u.end===void 0?A:Math.min(u.end,v);!m.extend&&A>b&&(r=b,b=A,A=r);var h=im(o,A),g=im(o,b);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var p=f.createRange();p.setStart(h.node,h.offset),m.removeAllRanges(),A>b?(m.addRange(p),m.extend(g.node,g.offset)):(p.setEnd(g.node,g.offset),m.addRange(p))}}}}for(f=[],m=o;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<f.length;o++){var y=f[o];y.element.scrollLeft=y.left,y.element.scrollTop=y.top}}vu=!!ad,ld=ad=null}finally{J=l,$.p=a,L.T=n}}e.current=t,Ue=2}}function Ty(){if(Ue===2){Ue=0;var e=da,t=Kl,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{ny(e,t.alternate,t)}finally{J=l,$.p=a,L.T=n}}Ue=3}}function Ey(){if(Ue===4||Ue===3){Ue=0,xb();var e=da,t=Kl,n=kn,a=hy;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ue=5:(Ue=0,Kl=da=null,Dy(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(sa=null),pd(n),t=t.stateNode,xt&&typeof xt.onCommitFiberRoot=="function")try{xt.onCommitFiberRoot(br,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=L.T,l=$.p,$.p=2,L.T=null;try{for(var i=e.onRecoverableError,r=0;r<a.length;r++){var o=a[r];i(o.value,{componentStack:o.stack})}}finally{L.T=t,$.p=l}}(kn&3)!==0&&ku(),hn(e),l=e.pendingLanes,(n&261930)!==0&&(l&42)!==0?e===ed?nr++:(nr=0,ed=e):nr=0,Dr(0,!1)}}function Dy(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Rr(t)))}function ku(){return Ry(),Ty(),Ey(),xy()}function xy(){if(Ue!==5)return!1;var e=da,t=Js;Js=0;var n=pd(kn),a=L.T,l=$.p;try{$.p=32>n?32:n,L.T=null,n=$s,$s=null;var i=da,r=kn;if(Ue=0,Kl=da=null,kn=0,(J&6)!==0)throw Error(S(331));var o=J;if(J|=4,fy(i.current),cy(i,i.current,r,n),J=o,Dr(0,!1),xt&&typeof xt.onPostCommitFiberRoot=="function")try{xt.onPostCommitFiberRoot(br,i)}catch{}return!0}finally{$.p=l,L.T=a,Dy(e,t)}}function Um(e,t,n){t=Yt(n,t),t=Qs(e.stateNode,t,2),e=ca(e,t,2),e!==null&&(wr(e,2),hn(e))}function le(e,t,n){if(e.tag===3)Um(e,e,n);else for(;t!==null;){if(t.tag===3){Um(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(sa===null||!sa.has(a))){e=Yt(n,e),n=jp(2),a=ca(t,n,2),a!==null&&(Yp(n,a,t,e),wr(a,2),hn(a));break}}t=t.return}}function ds(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new ew;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Id=!0,l.add(n),e=iw.bind(null,e,t,n),t.then(e,e))}function iw(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ue===e&&(Y&n)===n&&(Te===4||Te===3&&(Y&62914560)===Y&&300>Dt()-Bu?(J&2)===0&&Zl(e,0):Jd|=n,Ql===Y&&(Ql=0)),hn(e)}function My(e,t){t===0&&(t=Ah()),e=Wa(e,t),e!==null&&(wr(e,t),hn(e))}function rw(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),My(e,n)}function ow(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(S(314))}a!==null&&a.delete(t),My(e,n)}function uw(e,t){return md(e,t)}var du=null,wl=null,td=!1,fu=!1,fs=!1,ia=0;function hn(e){e!==wl&&e.next===null&&(wl===null?du=wl=e:wl=wl.next=e),fu=!0,td||(td=!0,sw())}function Dr(e,t){if(!fs&&fu){fs=!0;do for(var n=!1,a=du;a!==null;){if(!t)if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var r=a.suspendedLanes,o=a.pingedLanes;i=(1<<31-Mt(42|e)+1)-1,i&=l&~(r&~o),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,Gm(a,i))}else i=Y,i=Au(a,a===ue?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||Ar(a,i)||(n=!0,Gm(a,i));a=a.next}while(n);fs=!1}}function cw(){_y()}function _y(){fu=td=!1;var e=0;ia!==0&&vw()&&(e=ia);for(var t=Dt(),n=null,a=du;a!==null;){var l=a.next,i=By(a,t);i===0?(a.next=null,n===null?du=l:n.next=l,l===null&&(wl=n)):(n=a,(e!==0||(i&3)!==0)&&(fu=!0)),a=l}Ue!==0&&Ue!==5||Dr(e,!1),ia!==0&&(ia=0)}function By(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var r=31-Mt(i),o=1<<r,u=l[r];u===-1?((o&n)===0||(o&a)!==0)&&(l[r]=Hb(o,t)):u<=t&&(e.expiredLanes|=o),i&=~o}if(t=ue,n=Y,n=Au(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(ae===2||ae===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&qc(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Ar(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&qc(a),pd(n)){case 2:case 8:n=vh;break;case 32:n=Ko;break;case 268435456:n=bh;break;default:n=Ko}return a=Ny.bind(null,e),n=md(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&qc(a),e.callbackPriority=2,e.callbackNode=null,2}function Ny(e,t){if(Ue!==0&&Ue!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(ku()&&e.callbackNode!==n)return null;var a=Y;return a=Au(e,e===ue?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(yy(e,a,t),By(e,Dt()),e.callbackNode!=null&&e.callbackNode===n?Ny.bind(null,e):null)}function Gm(e,t){if(ku())return null;yy(e,t,!0)}function sw(){Aw(function(){(J&6)!==0?md(yh,cw):_y()})}function ef(){if(ia===0){var e=Yl;e===0&&(e=go,go<<=1,(go&261888)===0&&(go=256)),ia=e}return ia}function Pm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Bo(""+e)}function qm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function dw(e,t,n,a,l){if(t==="submit"&&n&&n.stateNode===l){var i=Pm((l[vt]||null).action),r=a.submitter;r&&(t=(t=r[vt]||null)?Pm(t.formAction):r.getAttribute("formAction"),t!==null&&(i=t,r=null));var o=new wu("action","action",null,a,l);e.push({event:o,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(ia!==0){var u=r?qm(l,r):new FormData(l);Vs(n,{pending:!0,data:u,method:l.method,action:i},null,u)}}else typeof i=="function"&&(o.preventDefault(),u=r?qm(l,r):new FormData(l),Vs(n,{pending:!0,data:u,method:l.method,action:i},i,u))},currentTarget:l}]})}}for(To=0;To<Os.length;To++)Eo=Os[To],Fm=Eo.toLowerCase(),jm=Eo[0].toUpperCase()+Eo.slice(1),tn(Fm,"on"+jm);var Eo,Fm,jm,To;tn(Yh,"onAnimationEnd");tn(Vh,"onAnimationIteration");tn(Xh,"onAnimationStart");tn("dblclick","onDoubleClick");tn("focusin","onFocus");tn("focusout","onBlur");tn(MA,"onTransitionRun");tn(_A,"onTransitionStart");tn(BA,"onTransitionCancel");tn(Qh,"onTransitionEnd");Fl("onMouseEnter",["mouseout","mouseover"]);Fl("onMouseLeave",["mouseout","mouseover"]);Fl("onPointerEnter",["pointerout","pointerover"]);Fl("onPointerLeave",["pointerout","pointerover"]);Qa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Qa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Qa("onBeforeInput",["compositionend","keypress","textInput","paste"]);Qa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),fw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(gr));function Oy(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],l=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var r=a.length-1;0<=r;r--){var o=a[r],u=o.instance,c=o.currentTarget;if(o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}else for(r=0;r<a.length;r++){if(o=a[r],u=o.instance,c=o.currentTarget,o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}}}}function q(e,t){var n=t[Ts];n===void 0&&(n=t[Ts]=new Set);var a=e+"__bubble";n.has(a)||(ky(t,e,2,!1),n.add(a))}function gs(e,t,n){var a=0;t&&(a|=4),ky(n,e,a,t)}var Do="_reactListening"+Math.random().toString(36).slice(2);function tf(e){if(!e[Do]){e[Do]=!0,Th.forEach(function(n){n!=="selectionchange"&&(fw.has(n)||gs(n,!1,e),gs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Do]||(t[Do]=!0,gs("selectionchange",!1,t))}}function ky(e,t,n,a){switch(Qy(t)){case 2:var l=Pw;break;case 8:l=qw;break;default:l=rf}n=l.bind(null,t,n,e),l=void 0,!_s||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),a?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function ms(e,t,n,a,l){var i=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var r=a.tag;if(r===3||r===4){var o=a.stateNode.containerInfo;if(o===l)break;if(r===4)for(r=a.return;r!==null;){var u=r.tag;if((u===3||u===4)&&r.stateNode.containerInfo===l)return;r=r.return}for(;o!==null;){if(r=Rl(o),r===null)return;if(u=r.tag,u===5||u===6||u===26||u===27){a=i=r;continue e}o=o.parentNode}}a=a.return}Oh(function(){var c=i,s=bd(n),f=[];e:{var d=Kh.get(e);if(d!==void 0){var m=wu,v=e;switch(e){case"keypress":if(Oo(n)===0)break e;case"keydown":case"keyup":m=oA;break;case"focusin":v="focus",m=Xc;break;case"focusout":v="blur",m=Xc;break;case"beforeblur":case"afterblur":m=Xc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Wg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Zb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=sA;break;case Yh:case Vh:case Xh:m=Jb;break;case Qh:m=fA;break;case"scroll":case"scrollend":m=Qb;break;case"wheel":m=mA;break;case"copy":case"cut":case"paste":m=eA;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Jg;break;case"toggle":case"beforetoggle":m=pA}var A=(t&4)!==0,b=!A&&(e==="scroll"||e==="scrollend"),h=A?d!==null?d+"Capture":null:d;A=[];for(var g=c,p;g!==null;){var y=g;if(p=y.stateNode,y=y.tag,y!==5&&y!==26&&y!==27||p===null||h===null||(y=ir(g,h),y!=null&&A.push(mr(g,y,p))),b)break;g=g.return}0<A.length&&(d=new m(d,v,null,n,s),f.push({event:d,listeners:A}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",d&&n!==Ms&&(v=n.relatedTarget||n.fromElement)&&(Rl(v)||v[Jl]))break e;if((m||d)&&(d=s.window===s?s:(d=s.ownerDocument)?d.defaultView||d.parentWindow:window,m?(v=n.relatedTarget||n.toElement,m=c,v=v?Rl(v):null,v!==null&&(b=vr(v),A=v.tag,v!==b||A!==5&&A!==27&&A!==6)&&(v=null)):(m=null,v=c),m!==v)){if(A=Wg,y="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(A=Jg,y="onPointerLeave",h="onPointerEnter",g="pointer"),b=m==null?d:Fi(m),p=v==null?d:Fi(v),d=new A(y,g+"leave",m,n,s),d.target=b,d.relatedTarget=p,y=null,Rl(s)===c&&(A=new A(h,g+"enter",v,n,s),A.target=p,A.relatedTarget=b,y=A),b=y,m&&v)t:{for(A=gw,h=m,g=v,p=0,y=h;y;y=A(y))p++;y=0;for(var C=g;C;C=A(C))y++;for(;0<p-y;)h=A(h),p--;for(;0<y-p;)g=A(g),y--;for(;p--;){if(h===g||g!==null&&h===g.alternate){A=h;break t}h=A(h),g=A(g)}A=null}else A=null;m!==null&&Ym(f,d,m,A,!1),v!==null&&b!==null&&Ym(f,b,v,A,!0)}}e:{if(d=c?Fi(c):window,m=d.nodeName&&d.nodeName.toLowerCase(),m==="select"||m==="input"&&d.type==="file")var R=nm;else if(tm(d))if(Gh)R=EA;else{R=RA;var T=CA}else m=d.nodeName,!m||m.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?c&&vd(c.elementType)&&(R=nm):R=TA;if(R&&(R=R(e,c))){Uh(f,R,n,s);break e}T&&T(e,d,c),e==="focusout"&&c&&d.type==="number"&&c.memoizedProps.value!=null&&xs(d,"number",d.value)}switch(T=c?Fi(c):window,e){case"focusin":(tm(T)||T.contentEditable==="true")&&(Dl=T,Bs=c,Qi=null);break;case"focusout":Qi=Bs=Dl=null;break;case"mousedown":Ns=!0;break;case"contextmenu":case"mouseup":case"dragend":Ns=!1,rm(f,n,s);break;case"selectionchange":if(xA)break;case"keydown":case"keyup":rm(f,n,s)}var M;if(Sd)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else El?Hh(e,n)&&(w="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(w="onCompositionStart");w&&(Lh&&n.locale!=="ko"&&(El||w!=="onCompositionStart"?w==="onCompositionEnd"&&El&&(M=kh()):(na=s,Ad="value"in na?na.value:na.textContent,El=!0)),T=gu(c,w),0<T.length&&(w=new Ig(w,e,null,n,s),f.push({event:w,listeners:T}),M?w.data=M:(M=zh(n),M!==null&&(w.data=M)))),(M=vA?bA(e,n):AA(e,n))&&(w=gu(c,"onBeforeInput"),0<w.length&&(T=new Ig("onBeforeInput","beforeinput",null,n,s),f.push({event:T,listeners:w}),T.data=M)),dw(f,e,c,n,s)}Oy(f,t)})}function mr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function gu(e,t){for(var n=t+"Capture",a=[];e!==null;){var l=e,i=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||i===null||(l=ir(e,n),l!=null&&a.unshift(mr(e,l,i)),l=ir(e,t),l!=null&&a.push(mr(e,l,i))),e.tag===3)return a;e=e.return}return[]}function gw(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ym(e,t,n,a,l){for(var i=t._reactName,r=[];n!==null&&n!==a;){var o=n,u=o.alternate,c=o.stateNode;if(o=o.tag,u!==null&&u===a)break;o!==5&&o!==26&&o!==27||c===null||(u=c,l?(c=ir(n,i),c!=null&&r.unshift(mr(n,c,u))):l||(c=ir(n,i),c!=null&&r.push(mr(n,c,u)))),n=n.return}r.length!==0&&e.push({event:t,listeners:r})}var mw=/\r\n?/g,hw=/\u0000|\uFFFD/g;function Vm(e){return(typeof e=="string"?e:""+e).replace(mw,``).replace(hw,"")}function Ly(e,t){return t=Vm(t),Vm(e)===t}function ie(e,t,n,a,l,i){switch(n){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||jl(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&jl(e,""+a);break;case"className":po(e,"class",a);break;case"tabIndex":po(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":po(e,n,a);break;case"style":Nh(e,a,i);break;case"data":if(t!=="object"){po(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(n==="formAction"?(t!=="input"&&ie(e,t,"name",l.name,l,null),ie(e,t,"formEncType",l.formEncType,l,null),ie(e,t,"formMethod",l.formMethod,l,null),ie(e,t,"formTarget",l.formTarget,l,null)):(ie(e,t,"encType",l.encType,l,null),ie(e,t,"method",l.method,l,null),ie(e,t,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"onClick":a!=null&&(e.onclick=_n);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}n=Bo(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""+a):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":a===!0?e.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,a):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case"popover":q("beforetoggle",e),q("toggle",e),_o(e,"popover",a);break;case"xlinkActuate":Sn(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Sn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Sn(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Sn(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Sn(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Sn(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":_o(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Vb.get(n)||n,_o(e,n,a))}}function nd(e,t,n,a,l,i){switch(n){case"style":Nh(e,a,i);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"children":typeof a=="string"?jl(e,a):(typeof a=="number"||typeof a=="bigint")&&jl(e,""+a);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"onClick":a!=null&&(e.onclick=_n);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eh.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),t=n.slice(2,l?n.length-7:void 0),i=e[vt]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,l),typeof a=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,l);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,""):_o(e,n,a)}}}function Ke(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":q("error",e),q("load",e);var a=!1,l=!1,i;for(i in n)if(n.hasOwnProperty(i)){var r=n[i];if(r!=null)switch(i){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,i,r,n,null)}}l&&ie(e,t,"srcSet",n.srcSet,n,null),a&&ie(e,t,"src",n.src,n,null);return;case"input":q("invalid",e);var o=i=r=l=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case"name":l=s;break;case"type":r=s;break;case"checked":u=s;break;case"defaultChecked":c=s;break;case"value":i=s;break;case"defaultValue":o=s;break;case"children":case"dangerouslySetInnerHTML":if(s!=null)throw Error(S(137,t));break;default:ie(e,t,a,s,n,null)}}Mh(e,i,o,u,c,r,l,!1);return;case"select":q("invalid",e),a=r=i=null;for(l in n)if(n.hasOwnProperty(l)&&(o=n[l],o!=null))switch(l){case"value":i=o;break;case"defaultValue":r=o;break;case"multiple":a=o;default:ie(e,t,l,o,n,null)}t=i,n=r,e.multiple=!!a,t!=null?Ll(e,!!a,t,!1):n!=null&&Ll(e,!!a,n,!0);return;case"textarea":q("invalid",e),i=l=a=null;for(r in n)if(n.hasOwnProperty(r)&&(o=n[r],o!=null))switch(r){case"value":a=o;break;case"defaultValue":l=o;break;case"children":i=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(S(91));break;default:ie(e,t,r,o,n,null)}Bh(e,a,l,i);return;case"option":for(u in n)if(n.hasOwnProperty(u)&&(a=n[u],a!=null))switch(u){case"selected":e.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:ie(e,t,u,a,n,null)}return;case"dialog":q("beforetoggle",e),q("toggle",e),q("cancel",e),q("close",e);break;case"iframe":case"object":q("load",e);break;case"video":case"audio":for(a=0;a<gr.length;a++)q(gr[a],e);break;case"image":q("error",e),q("load",e);break;case"details":q("toggle",e);break;case"embed":case"source":case"link":q("error",e),q("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(a=n[c],a!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,c,a,n,null)}return;default:if(vd(t)){for(s in n)n.hasOwnProperty(s)&&(a=n[s],a!==void 0&&nd(e,t,s,a,n,void 0));return}}for(o in n)n.hasOwnProperty(o)&&(a=n[o],a!=null&&ie(e,t,o,a,n,null))}function pw(e,t,n,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,i=null,r=null,o=null,u=null,c=null,s=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":u=f;default:a.hasOwnProperty(m)||ie(e,t,m,null,a,f)}}for(var d in a){var m=a[d];if(f=n[d],a.hasOwnProperty(d)&&(m!=null||f!=null))switch(d){case"type":i=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":s=m;break;case"value":r=m;break;case"defaultValue":o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(S(137,t));break;default:m!==f&&ie(e,t,d,m,a,f)}}Ds(e,r,o,u,c,s,i,l);return;case"select":m=r=o=d=null;for(i in n)if(u=n[i],n.hasOwnProperty(i)&&u!=null)switch(i){case"value":break;case"multiple":m=u;default:a.hasOwnProperty(i)||ie(e,t,i,null,a,u)}for(l in a)if(i=a[l],u=n[l],a.hasOwnProperty(l)&&(i!=null||u!=null))switch(l){case"value":d=i;break;case"defaultValue":o=i;break;case"multiple":r=i;default:i!==u&&ie(e,t,l,i,a,u)}t=o,n=r,a=m,d!=null?Ll(e,!!n,d,!1):!!a!=!!n&&(t!=null?Ll(e,!!n,t,!0):Ll(e,!!n,n?[]:"",!1));return;case"textarea":m=d=null;for(o in n)if(l=n[o],n.hasOwnProperty(o)&&l!=null&&!a.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:ie(e,t,o,null,a,l)}for(r in a)if(l=a[r],i=n[r],a.hasOwnProperty(r)&&(l!=null||i!=null))switch(r){case"value":d=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(S(91));break;default:l!==i&&ie(e,t,r,l,a,i)}_h(e,d,m);return;case"option":for(var v in n)if(d=n[v],n.hasOwnProperty(v)&&d!=null&&!a.hasOwnProperty(v))switch(v){case"selected":e.selected=!1;break;default:ie(e,t,v,null,a,d)}for(u in a)if(d=a[u],m=n[u],a.hasOwnProperty(u)&&d!==m&&(d!=null||m!=null))switch(u){case"selected":e.selected=d&&typeof d!="function"&&typeof d!="symbol";break;default:ie(e,t,u,d,a,m)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var A in n)d=n[A],n.hasOwnProperty(A)&&d!=null&&!a.hasOwnProperty(A)&&ie(e,t,A,null,a,d);for(c in a)if(d=a[c],m=n[c],a.hasOwnProperty(c)&&d!==m&&(d!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(S(137,t));break;default:ie(e,t,c,d,a,m)}return;default:if(vd(t)){for(var b in n)d=n[b],n.hasOwnProperty(b)&&d!==void 0&&!a.hasOwnProperty(b)&&nd(e,t,b,void 0,a,d);for(s in a)d=a[s],m=n[s],!a.hasOwnProperty(s)||d===m||d===void 0&&m===void 0||nd(e,t,s,d,a,m);return}}for(var h in n)d=n[h],n.hasOwnProperty(h)&&d!=null&&!a.hasOwnProperty(h)&&ie(e,t,h,null,a,d);for(f in a)d=a[f],m=n[f],!a.hasOwnProperty(f)||d===m||d==null&&m==null||ie(e,t,f,d,a,m)}function Xm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function yw(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],i=l.transferSize,r=l.initiatorType,o=l.duration;if(i&&o&&Xm(r)){for(r=0,o=l.responseEnd,a+=1;a<n.length;a++){var u=n[a],c=u.startTime;if(c>o)break;var s=u.transferSize,f=u.initiatorType;s&&Xm(f)&&(u=u.responseEnd,r+=s*(u<o?1:(o-c)/(u-c)))}if(--a,t+=8*(i+r)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var ad=null,ld=null;function mu(e){return e.nodeType===9?e:e.ownerDocument}function Qm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Hy(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function id(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var hs=null;function vw(){var e=window.event;return e&&e.type==="popstate"?e===hs?!1:(hs=e,!0):(hs=null,!1)}var zy=typeof setTimeout=="function"?setTimeout:void 0,bw=typeof clearTimeout=="function"?clearTimeout:void 0,Km=typeof Promise=="function"?Promise:void 0,Aw=typeof queueMicrotask=="function"?queueMicrotask:typeof Km<"u"?function(e){return Km.resolve(null).then(e).catch(ww)}:zy;function ww(e){setTimeout(function(){throw e})}function Aa(e){return e==="head"}function Zm(e,t){var n=t,a=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"||n==="/&"){if(a===0){e.removeChild(l),Il(t);return}a--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")a++;else if(n==="html")ar(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,ar(n);for(var i=n.firstChild;i;){var r=i.nextSibling,o=i.nodeName;i[Sr]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&i.rel.toLowerCase()==="stylesheet"||n.removeChild(i),i=r}}else n==="body"&&ar(e.ownerDocument.body);n=l}while(n);Il(t)}function Wm(e,t){var n=e;e=0;do{var a=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=a}while(n)}function rd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":rd(n),yd(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Sw(e,t,n,a){for(;e.nodeType===1;){var l=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(a){if(!e[Sr])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Qt(e.nextSibling),e===null)break}return null}function Cw(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qt(e.nextSibling),e===null))return null;return e}function Uy(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qt(e.nextSibling),e===null))return null;return e}function od(e){return e.data==="$?"||e.data==="$~"}function ud(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Rw(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var a=function(){t(),n.removeEventListener("DOMContentLoaded",a)};n.addEventListener("DOMContentLoaded",a),e._reactRetry=a}}function Qt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var cd=null;function Im(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qt(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Jm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Gy(e,t,n){switch(t=mu(n),e){case"html":if(e=t.documentElement,!e)throw Error(S(452));return e;case"head":if(e=t.head,!e)throw Error(S(453));return e;case"body":if(e=t.body,!e)throw Error(S(454));return e;default:throw Error(S(451))}}function ar(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);yd(e)}var Kt=new Map,$m=new Set;function hu(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Pn=$.d;$.d={f:Tw,r:Ew,D:Dw,C:xw,L:Mw,m:_w,X:Nw,S:Bw,M:Ow};function Tw(){var e=Pn.f(),t=Nu();return e||t}function Ew(e){var t=$l(e);t!==null&&t.tag===5&&t.type==="form"?Np(t):Pn.r(e)}var ai=typeof document>"u"?null:document;function Py(e,t,n){var a=ai;if(a&&typeof t=="string"&&t){var l=jt(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),$m.has(l)||($m.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function Dw(e){Pn.D(e),Py("dns-prefetch",e,null)}function xw(e,t){Pn.C(e,t),Py("preconnect",e,t)}function Mw(e,t,n){Pn.L(e,t,n);var a=ai;if(a&&e&&t){var l='link[rel="preload"][as="'+jt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+jt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+jt(n.imageSizes)+'"]')):l+='[href="'+jt(e)+'"]';var i=l;switch(t){case"style":i=Wl(e);break;case"script":i=li(e)}Kt.has(i)||(e=ve({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Kt.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(xr(i))||t==="script"&&a.querySelector(Mr(i))||(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function _w(e,t){Pn.m(e,t);var n=ai;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+jt(a)+'"][href="'+jt(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=li(e)}if(!Kt.has(i)&&(e=ve({rel:"modulepreload",href:e},t),Kt.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Mr(i)))return}a=n.createElement("link"),Ke(a,"link",e),qe(a),n.head.appendChild(a)}}}function Bw(e,t,n){Pn.S(e,t,n);var a=ai;if(a&&e){var l=kl(a).hoistableStyles,i=Wl(e);t=t||"default";var r=l.get(i);if(!r){var o={loading:0,preload:null};if(r=a.querySelector(xr(i)))o.loading=5;else{e=ve({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Kt.get(i))&&nf(e,n);var u=r=a.createElement("link");qe(u),Ke(u,"link",e),u._p=new Promise(function(c,s){u.onload=c,u.onerror=s}),u.addEventListener("load",function(){o.loading|=1}),u.addEventListener("error",function(){o.loading|=2}),o.loading|=4,qo(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:o},l.set(i,r)}}}function Nw(e,t){Pn.X(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ow(e,t){Pn.M(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0,type:"module"},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function eh(e,t,n,a){var l=(l=ra.current)?hu(l):null;if(!l)throw Error(S(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Wl(n.href),n=kl(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Wl(n.href);var i=kl(l).hoistableStyles,r=i.get(e);if(r||(l=l.ownerDocument||l,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=l.querySelector(xr(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Kt.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Kt.set(e,n),i||kw(l,e,n,r.state))),t&&a===null)throw Error(S(528,""));return r}if(t&&a!==null)throw Error(S(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=li(n),n=kl(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(S(444,e))}}function Wl(e){return'href="'+jt(e)+'"'}function xr(e){return'link[rel="stylesheet"]['+e+"]"}function qy(e){return ve({},e,{"data-precedence":e.precedence,precedence:null})}function kw(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Ke(t,"link",n),qe(t),e.head.appendChild(t))}function li(e){return'[src="'+jt(e)+'"]'}function Mr(e){return"script[async]"+e}function th(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+jt(n.href)+'"]');if(a)return t.instance=a,qe(a),a;var l=ve({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),qe(a),Ke(a,"style",l),qo(a,n.precedence,e),t.instance=a;case"stylesheet":l=Wl(n.href);var i=e.querySelector(xr(l));if(i)return t.state.loading|=4,t.instance=i,qe(i),i;a=qy(n),(l=Kt.get(l))&&nf(a,l),i=(e.ownerDocument||e).createElement("link"),qe(i);var r=i;return r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),t.state.loading|=4,qo(i,n.precedence,e),t.instance=i;case"script":return i=li(n.src),(l=e.querySelector(Mr(i)))?(t.instance=l,qe(l),l):(a=n,(l=Kt.get(i))&&(a=ve({},n),af(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),qe(l),Ke(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(S(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,qo(a,n.precedence,e));return t.instance}function qo(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,r=0;r<a.length;r++){var o=a[r];if(o.dataset.precedence===t)i=o;else if(i!==l)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function nf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function af(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Fo=null;function nh(e,t,n){if(Fo===null){var a=new Map,l=Fo=new Map;l.set(n,a)}else l=Fo,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),l=0;l<n.length;l++){var i=n[l];if(!(i[Sr]||i[Ve]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var r=i.getAttribute(t)||"";r=e+r;var o=a.get(r);o?o.push(i):a.set(r,[i])}}return a}function ah(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function Lw(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Fy(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Hw(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Wl(a.href),i=t.querySelector(xr(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=pu.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,qe(i);return}i=t.ownerDocument||t,a=qy(a),(l=Kt.get(l))&&nf(a,l),i=i.createElement("link"),qe(i);var r=i;r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=pu.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ps=0;function zw(e,t){return e.stylesheets&&e.count===0&&jo(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&ps===0&&(ps=62500*yw());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>ps?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function pu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jo(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var yu=null;function jo(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,yu=new Map,t.forEach(Uw,e),yu=null,pu.call(e))}function Uw(e,t){if(!(t.state.loading&4)){var n=yu.get(e);if(n)var a=n.get(null);else{n=new Map,yu.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<l.length;i++){var r=l[i];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(n.set(r.dataset.precedence,r),a=r)}a&&n.set(null,a)}l=t.instance,r=l.getAttribute("data-precedence"),i=n.get(r)||a,i===a&&n.set(null,l),n.set(r,l),this.count++,a=pu.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),i?i.parentNode.insertBefore(l,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var hr={$$typeof:Mn,Provider:null,Consumer:null,_currentValue:za,_currentValue2:za,_threadCount:0};function Gw(e,t,n,a,l,i,r,o,u){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Fc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fc(0),this.hiddenUpdates=Fc(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=i,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=u,this.incompleteTransitions=new Map}function jy(e,t,n,a,l,i,r,o,u,c,s,f){return e=new Gw(e,t,n,r,u,c,s,f,o),t=1,i===!0&&(t|=24),i=Tt(3,null,null,t),e.current=i,i.stateNode=e,t=Md(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:a,isDehydrated:n,cache:t},Nd(i),e}function Yy(e){return e?(e=_l,e):_l}function Vy(e,t,n,a,l,i){l=Yy(l),a.context===null?a.context=l:a.pendingContext=l,a=ua(t),a.payload={element:n},i=i===void 0?null:i,i!==null&&(a.callback=i),n=ca(e,a,t),n!==null&&(yt(n,e,t),Zi(n,e,t))}function lh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lf(e,t){lh(e,t),(e=e.alternate)&&lh(e,t)}function Xy(e){if(e.tag===13||e.tag===31){var t=Wa(e,67108864);t!==null&&yt(t,e,67108864),lf(e,67108864)}}function ih(e){if(e.tag===13||e.tag===31){var t=_t();t=hd(t);var n=Wa(e,t);n!==null&&yt(n,e,t),lf(e,t)}}var vu=!0;function Pw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=2,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function qw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=8,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function rf(e,t,n,a){if(vu){var l=sd(a);if(l===null)ms(e,t,a,bu,n),rh(e,a);else if(jw(l,e,t,n,a))a.stopPropagation();else if(rh(e,a),t&4&&-1<Fw.indexOf(e)){for(;l!==null;){var i=$l(l);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var r=ka(i.pendingLanes);if(r!==0){var o=i;for(o.pendingLanes|=2,o.entangledLanes|=2;r;){var u=1<<31-Mt(r);o.entanglements[1]|=u,r&=~u}hn(i),(J&6)===0&&(uu=Dt()+500,Dr(0,!1))}}break;case 31:case 13:o=Wa(i,2),o!==null&&yt(o,i,2),Nu(),lf(i,2)}if(i=sd(a),i===null&&ms(e,t,a,bu,n),i===l)break;l=i}l!==null&&a.stopPropagation()}else ms(e,t,a,null,n)}}function sd(e){return e=bd(e),of(e)}var bu=null;function of(e){if(bu=null,e=Rl(e),e!==null){var t=vr(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=fh(t),e!==null)return e;e=null}else if(n===31){if(e=gh(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return bu=e,null}function Qy(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Mb()){case yh:return 2;case vh:return 8;case Ko:case _b:return 32;case bh:return 268435456;default:return 32}default:return 32}}var dd=!1,fa=null,ga=null,ma=null,pr=new Map,yr=new Map,ea=[],Fw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function rh(e,t){switch(e){case"focusin":case"focusout":fa=null;break;case"dragenter":case"dragleave":ga=null;break;case"mouseover":case"mouseout":ma=null;break;case"pointerover":case"pointerout":pr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yr.delete(t.pointerId)}}function Ui(e,t,n,a,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[l]},t!==null&&(t=$l(t),t!==null&&Xy(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function jw(e,t,n,a,l){switch(t){case"focusin":return fa=Ui(fa,e,t,n,a,l),!0;case"dragenter":return ga=Ui(ga,e,t,n,a,l),!0;case"mouseover":return ma=Ui(ma,e,t,n,a,l),!0;case"pointerover":var i=l.pointerId;return pr.set(i,Ui(pr.get(i)||null,e,t,n,a,l)),!0;case"gotpointercapture":return i=l.pointerId,yr.set(i,Ui(yr.get(i)||null,e,t,n,a,l)),!0}return!1}function Ky(e){var t=Rl(e.target);if(t!==null){var n=vr(t);if(n!==null){if(t=n.tag,t===13){if(t=fh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===31){if(t=gh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Yo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=sd(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Ms=a,n.target.dispatchEvent(a),Ms=null}else return t=$l(n),t!==null&&Xy(t),e.blockedOn=n,!1;t.shift()}return!0}function oh(e,t,n){Yo(e)&&n.delete(t)}function Yw(){dd=!1,fa!==null&&Yo(fa)&&(fa=null),ga!==null&&Yo(ga)&&(ga=null),ma!==null&&Yo(ma)&&(ma=null),pr.forEach(oh),yr.forEach(oh)}function xo(e,t){e.blockedOn===t&&(e.blockedOn=null,dd||(dd=!0,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,Yw)))}var Mo=null;function uh(e){Mo!==e&&(Mo=e,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,function(){Mo===e&&(Mo=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],l=e[t+2];if(typeof a!="function"){if(of(a||n)===null)continue;break}var i=$l(n);i!==null&&(e.splice(t,3),t-=3,Vs(i,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function Il(e){function t(u){return xo(u,e)}fa!==null&&xo(fa,e),ga!==null&&xo(ga,e),ma!==null&&xo(ma,e),pr.forEach(t),yr.forEach(t);for(var n=0;n<ea.length;n++){var a=ea[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<ea.length&&(n=ea[0],n.blockedOn===null);)Ky(n),n.blockedOn===null&&ea.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],i=n[a+1],r=l[vt]||null;if(typeof i=="function")r||uh(n);else if(r){var o=null;if(i&&i.hasAttribute("formAction")){if(l=i,r=i[vt]||null)o=r.formAction;else if(of(l)!==null)continue}else o=r.action;typeof o=="function"?n[a+1]=o:(n.splice(a,3),a-=3),uh(n)}}}function Zy(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(r){return l=r})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function uf(e){this._internalRoot=e}Lu.prototype.render=uf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(S(409));var n=t.current,a=_t();Vy(n,a,e,t,null,null)};Lu.prototype.unmount=uf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Vy(e.current,2,null,e,null,null),Nu(),t[Jl]=null}};function Lu(e){this._internalRoot=e}Lu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rh();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ea.length&&t!==0&&t<ea[n].priority;n++);ea.splice(n,0,e),n===0&&Ky(e)}};var ch=sh.version;if(ch!=="19.2.8")throw Error(S(527,ch,"19.2.8"));$.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(S(188)):(e=Object.keys(e).join(","),Error(S(268,e)));return e=Sb(t),e=e!==null?mh(e):null,e=e===null?null:e.stateNode,e};var Vw={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Gi=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Gi.isDisabled&&Gi.supportsFiber))try{br=Gi.inject(Vw),xt=Gi}catch{}var Gi;Hu.createRoot=function(e,t){if(!dh(e))throw Error(S(299));var n=!1,a="",l=Pp,i=qp,r=Fp;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=jy(e,1,!1,null,null,n,a,null,l,i,r,Zy),e[Jl]=t.current,tf(e),new uf(t)};Hu.hydrateRoot=function(e,t,n){if(!dh(e))throw Error(S(299));var a=!1,l="",i=Pp,r=qp,o=Fp,u=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(i=n.onUncaughtError),n.onCaughtError!==void 0&&(r=n.onCaughtError),n.onRecoverableError!==void 0&&(o=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=jy(e,1,!0,t,n??null,a,l,u,i,r,o,Zy),t.context=Yy(null),n=t.current,a=_t(),a=hd(a),l=ua(a),l.callback=null,ca(n,l,a),n=a,t.current.lanes=n,wr(t,n),hn(t),e[Jl]=t.current,tf(e),new Lu(t)};Hu.version="19.2.8"});var $y=un((jS,Jy)=>{"use strict";function Iy(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Iy)}catch(e){console.error(e)}}Iy(),Jy.exports=Wy()});var t0=un(zu=>{"use strict";var Xw=Symbol.for("react.transitional.element"),Qw=Symbol.for("react.fragment");function e0(e,t,n){var a=null;if(n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),"key"in t){n={};for(var l in t)l!=="key"&&(n[l]=t[l])}else n=t;return t=n.ref,{$$typeof:Xw,type:e,key:a,ref:t!==void 0?t:null,props:n}}zu.Fragment=Qw;zu.jsx=e0;zu.jsxs=e0});var O=un((VS,n0)=>{"use strict";n0.exports=t0()});var Lt=B(ft(),1),s1=B($y(),1);var Wv=B(ft(),1);var qn=B(O(),1);function Kw(e){return{under50:"Under $50",over50:"Over $50",over30:"Over $30",over500:"Over $500","50_100":"$50 - $100","100_200":"$100 - $200","200_500":"$200 - $500"}[e]||e}function a0({activeDealTag:e,activeFreeformTags:t,airedaleTags:n,freeformTags:a,discountAmount:l,onBrandSelect:i,onBrandToggle:r,onDiscountAmountChange:o,onPriceRangeChange:u,onTagClear:c,onFreeformTagClear:s,onFreeformTagToggle:f,priceRange:d,selectedBrands:m}){let v=m.map(b=>({type:"brand",value:b,label:b}));if(e){let b=n.find(h=>h.startsWith(e+":::")||h===e);v.push({type:"category",value:e,label:b?b.split(":::")[1]||b.split(":::")[0]:e})}if(t.forEach(b=>{let h=a.find(g=>g.handle===b);v.push({type:"freeform-tag",value:b,label:h?.label||b})}),d&&d!=="all"&&v.push({type:"price",value:d,label:Kw(d)}),l&&l!=="0"&&l!=="all"&&v.push({type:"discount",value:l,label:`Min ${l}% off`}),v.length===0)return null;let A=b=>{b.type==="brand"&&r?.(b.value),b.type==="category"&&c(),b.type==="freeform-tag"&&f(b.value),b.type==="discount"&&o?.("0"),b.type==="price"&&u?.("all")};return(0,qn.jsxs)("div",{className:"tg-df-active-badges-row",style:{display:"flex",flexWrap:"wrap",gap:"4px",alignItems:"center",marginTop:"10px",marginBottom:"16px"},children:[v.map(b=>(0,qn.jsxs)("span",{className:"tg-df-active-badge",children:[b.label,(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-remove","aria-label":`Remove ${b.label}`,onClick:()=>A(b),children:(0,qn.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,qn.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,qn.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},b.type+"-"+b.value)),v.length>1&&(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-clear-all",onClick:()=>{i?.([]),c(),s(),o?.("0"),u?.("all")},children:"Clear all"})]})}function l0(e){if(!e)return null;let t=e.documentname||e.title||"";!t&&e.documentnametext&&(t=Array.isArray(e.documentnametext)?e.documentnametext[0]:e.documentnametext),!t&&e.articlename&&(t=Array.isArray(e.articlename)?e.articlename[0]:e.articlename),!t&&e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&(t=e.articlesocialtitle[0]);let n=e.strapline||e.articlestrapline||e.subtitle||e.dek||"";!n&&e.image_thumbnail&&e.image_thumbnail.dek&&(n=e.image_thumbnail.dek),Array.isArray(n)&&(n=n[0]||"");let a="";if(e.articlepage)try{let l=e.articlepage;if(typeof l=="string")try{l=JSON.parse(l)}catch{}if(Array.isArray(l)&&l.length>0){let i=l[0];if(typeof i=="string")try{i=JSON.parse(i)}catch{}if(Array.isArray(i)){let r=[];for(let o of i){if(o.type==="featured-product")break;if(o.type==="text"&&o.data)Array.isArray(o.data.paragraphs)?o.data.paragraphs.forEach(u=>{u&&r.push(u.startsWith("<")?u:`<p>${u}<\/p>`)}):typeof o.data.text=="string"&&o.data.text&&r.push(o.data.text.startsWith("<")?o.data.text:`<p>${o.data.text}<\/p>`);else if(o.type==="section"&&o.data){let u=o.data.text||o.data.heading||o.data.title||"";u&&r.push(`<div class="tg-df-article-section-banner"><span>${u}<\/span><\/div>`)}}r.length>0&&(a=r.join(""))}}}catch(l){console.error("Error parsing articlepage",l)}return!a&&e.content?a=typeof e.content=="string"?e.content:"":!a&&e.intro?a=typeof e.intro=="string"?e.intro:"":!a&&e.paragraphs&&(a=(Array.isArray(e.paragraphs)?e.paragraphs:[e.paragraphs]).map(i=>`<p>${i}<\/p>`).join("")),{headline:t,strapline:n,contentHtml:a}}var ii=B(O(),1);function i0({articles:e,selectedArticleId:t}){if(!t)return null;let n=e.find(l=>l.id===t);if(!n)return null;let a=l0(n);return!a||!a.headline&&!a.strapline&&!a.contentHtml?null:(0,ii.jsxs)("div",{className:"tg-df-article-intro-container",id:"tg-df-article-intro",style:{margin:"0 auto 32px",width:"100%",maxWidth:"800px",textAlign:"left",padding:"0 16px"},children:[a.headline&&(0,ii.jsx)("h2",{className:"tg-df-article-headline",id:"tg-df-article-headline",style:{fontSize:"1.75rem",fontWeight:800,color:"#0f172a",marginBottom:"1rem",lineHeight:1.25},children:a.headline}),a.strapline&&(0,ii.jsx)("p",{className:"tg-df-article-strapline",id:"tg-df-article-strapline",style:{fontSize:"1.125rem",fontWeight:600,color:"#334155",marginBottom:"1.25rem",lineHeight:1.4},children:a.strapline}),a.contentHtml&&(0,ii.jsx)("div",{className:"tg-df-article-content",id:"tg-df-article-content",dangerouslySetInnerHTML:{__html:a.contentHtml}})]})}var Fn=B(O(),1);function Zw({articles:e,authorHandle:t,authorName:n}){let a=n||e.length>0&&(e[0].articleauthortext?.[0]||e[0].articleauthor?.[0])||"Author";(t==="all-authors"||n==="all-authors"||n==="All authors")&&(a="All authors");let l=a.trim().split(" ")[0]||"Author";return a==="All authors"&&(l="All authors"),`Shop all ${l==="All authors"?"authors'":l.endsWith("'s")||l.endsWith("\u2019s")?l:`${l}'s`} collections`}function Ww(e){let t=[];return e.documentnametext&&t.push(e.documentnametext),e.documentname&&t.push(e.documentname),e.articlename&&t.push(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&t.push(...e.articlesocialtitle),t.length>0?t.reduce((n,a)=>a&&a.length<n.length?a:n,t[0]):"Article"}function r0({articles:e,authorHandle:t,authorName:n,onChange:a,selectedArticleId:l,shortenedHeadlines:i}){return(0,Fn.jsx)("div",{className:"tg-df-top-bar",id:"tg-df-top-bar",style:{position:"relative",zIndex:100,margin:"0 auto 20px",width:"100%",display:"flex",justifyContent:"center"},children:(0,Fn.jsxs)("div",{className:"tg-df-sort-wrapper",style:{width:"auto",maxWidth:"320px",display:"inline-flex",position:"relative"},children:[(0,Fn.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",width:"14px",height:"14px",color:"var(--tg-df-text-muted)",pointerEvents:"none",zIndex:2},children:(0,Fn.jsx)("path",{d:"M12 2l-10 4.5 10 4.5 10-4.5-10-4.5zm0 6.5l-8-3.6 8-3.6 8 3.6-8 3.6zm-10 6l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5zm0 5l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5z"})}),(0,Fn.jsxs)("select",{className:"tg-df-filter-select tg-df-article-select",style:{width:"100%",maxWidth:"320px",padding:"10px 36px 10px 38px",fontSize:"14px",fontWeight:500,borderRadius:"100px",border:"1px solid var(--tg-df-border)",color:"var(--tg-df-text)",backgroundColor:"var(--tg-df-bg-secondary)",appearance:"none",backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E")`,backgroundRepeat:"no-repeat",backgroundPosition:"right 14px center",textAlign:"left",textAlignLast:"left",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",cursor:"pointer"},value:l||"",onChange:r=>a(r.target.value),children:[(0,Fn.jsx)("option",{value:"",style:{textAlign:"left"},children:Zw({articles:e,authorHandle:t,authorName:n})}),e.map(r=>{let o=i?.[r.id]||Ww(r);return o&&o.length>38&&(o=o.substring(0,36)+"\u2026"),(0,Fn.jsx)("option",{value:r.id,style:{textAlign:"left"},children:o},r.id)})]})]})})}var A0=B(ft(),1);function o0(e,t=new Date){if(!e)return"";let n=new Date(e),a=Math.floor((t.getTime()-n.getTime())/1e3);if(a<60)return"Just now";let l=Math.floor(a/60);if(l<60)return`${l} min${l>1?"s":""} ago`;let i=Math.floor(l/60);if(i<24)return`${i} hr${i>1?"s":""} ago`;let r=Math.floor(i/24);if(r<30)return`${r} day${r>1?"s":""} ago`;let o=Math.floor(r/30);if(o<12)return`${o} mo${o>1?"s":""} ago`;let u=Math.floor(r/365);return`${u} yr${u>1?"s":""} ago`}function Iw(e){return e.replace(/<\/p\s*>/gi," ").replace(/<p[^>]*>/gi," ").replace(/<br\s*\/?>/gi," ").replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim()}function _r(e,t,n){let a="";return n==="short"?a=e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"":a=e.articleauthorlongbio&&e.articleauthorlongbio[t]&&e.articleauthorlongbio[t]!=="null"?e.articleauthorlongbio[t]:e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"",a?Iw(a):""}function u0(e,t){return e.articleauthorrole&&e.articleauthorrole[t]&&e.articleauthorrole[t]!=="null"?e.articleauthorrole[t]:""}function c0(e,t){return e.articleauthormedia&&e.articleauthormedia[t]?e.articleauthormedia[t]:""}function ri(e){if(typeof e!="string"||!e.trim())return"";try{let t=new URL(e);if(t.hostname.toLowerCase()!=="cdn.mos.cms.futurecdn.net")return e;let n=/\.(?:jpe?g|png|webp)$/i;return!n.test(t.pathname)||/-\d+-\d+\.(?:jpe?g|png|webp)$/i.test(t.pathname)?e:(t.pathname=t.pathname.replace(n,"-480-80$&"),t.toString())}catch{return e}}function Uu(e,t=0){if(!e||!e.articleauthorsocialnetworks)return[];let n=e.articleauthorsocialnetworks[t];if(n||(n=e.articleauthorsocialnetworks[0]),!n)return[];let a=null;if(typeof n=="string")try{a=JSON.parse(n)}catch{try{a=JSON.parse(n.replace(/\\"/g,'"'))}catch{}}else typeof n=="object"&&n!==null&&(a=n);if(!a||typeof a!="object")return[];let l=[];for(let[i,r]of Object.entries(a)){if(!r)continue;let o="",u="";if(typeof r=="string"?o=r:typeof r=="object"&&r!==null&&(o=r.url||r.address||r.link||"",u=r.address||""),!o&&!u)continue;let c=i.toLowerCase().trim(),s=o||u;c==="email"?s.startsWith("mailto:")||(s=s.includes("@")?`mailto:${s}`:`mailto:${s}`):!s.startsWith("http://")&&!s.startsWith("https://")&&!s.startsWith("//")&&(s=`https://${s}`);let f=c.charAt(0).toUpperCase()+c.slice(1);c==="linkedin"?f="LinkedIn":c==="youtube"?f="YouTube":c==="tiktok"?f="TikTok":c==="twitch"?f="Twitch":c==="steam"?f="Steam":c==="github"?f="GitHub":c==="rss"?f="RSS":(c==="x"||c==="twitter")&&(f="X (Twitter)"),l.push({key:c,href:s,label:f})}return l}function ee(e){if(!e)return"";let t=String(e);for(let n=0;n<3;n+=1){let a=t.replace(/&/gi,"&").replace(/£/g,"\xA3").replace(/£/gi,"\xA3").replace(/$/g,"$").replace(/&dollar;/gi,"$").replace(/€/g,"\u20AC").replace(/€/gi,"\u20AC").replace(/&#(\d+);/g,(l,i)=>String.fromCharCode(Number(i))).replace(/&#x([0-9a-f]+);/gi,(l,i)=>String.fromCharCode(parseInt(i,16)));if(a===t)break;t=a}return t}var Ee=B(O(),1);function cf({authorUrl:e,deal:t}){if(!t.authorName)return null;let n=ee(String(t.authorName)),a=t.authorRole&&!["null","nul","undefined"].includes(String(t.authorRole).toLowerCase())?` \u2022 ${ee(String(t.authorRole))}`:"";return(0,Ee.jsx)("div",{className:"tg-df-author-line-desktop",style:{padding:"0 0 12px 0"},children:(0,Ee.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[t.authorImage&&(0,Ee.jsx)("img",{src:ri(t.authorImage),alt:n,className:"tg-df-author-img",width:"36",height:"36",style:{borderRadius:"50%",objectFit:"cover",flexShrink:0,aspectRatio:"1 / 1",minWidth:"36px",minHeight:"36px"}}),(0,Ee.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,Ee.jsx)("div",{style:{fontSize:"10px",color:"var(--tg-df-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px",fontWeight:600},children:t.isReviewProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Product tested by:"}):t.isBuyingGuideProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Expert review by:"}):t.isFeatured?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:"Top product"})," ","recommended by:"]}):(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:t.merchant})," ","deal recommended by:"]})}),(0,Ee.jsxs)("div",{style:{fontSize:"11px",color:"var(--tg-df-text)",lineHeight:1.2},children:[(0,Ee.jsx)("strong",{children:(0,Ee.jsx)("a",{href:e,target:"_blank",rel:"noopener",style:{textDecoration:"none",color:"inherit",borderBottom:"1px dotted var(--tg-df-text-muted)"},children:n})}),a,t.modifiedDate?(0,Ee.jsxs)("span",{style:{color:"var(--tg-df-text-muted)"},children:[" ","\u2022 ",o0(t.modifiedDate)]}):""]})]})]})})}var K=B(O(),1);function s0({authorUrl:e,deal:t,hideHawkPrices:n,msrpFormatted:a,sourceArticleUrl:l}){let i=ee(String(t.merchant||"")),r=ee(String(t.currency||""));if(t.isBuyingGuideProduct||t.isReviewProduct){let o=!!t.hasCommerceOffer,u=o&&!t.isCheckPrice,c=!!t.hawkPricePending,s=!!t.isReviewProduct&&!c&&!o,f=n&&o&&Array.isArray(t.hawkListings)?t.hawkListings.filter(m=>m?.merchant&&m?.url).slice(0,4):[],d=f.length>0;return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[c?(0,K.jsx)("div",{className:"tg-df-card-price-group","aria-live":"polite",children:(0,K.jsx)("span",{className:"tg-df-card-price",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"Checking live price\u2026"})}):d?(0,K.jsxs)("div",{className:"tg-df-card-listings",children:[(0,K.jsx)("span",{className:"tg-df-card-listings-title",children:"Today's cheapest prices:"}),(0,K.jsx)("div",{className:"tg-df-card-listings-links",children:f.map((m,v)=>{let A=ee(String(m.merchant));return(0,K.jsx)("a",{"aria-label":`View product at ${A}`,className:"tg-df-card-listing-link hawk-affiliate-link-container","data-fcaw-affiliate-link":"","data-merchant":A,"data-merchant-id":m.merchantId||void 0,"data-model-id":m.modelId||void 0,"data-product-key":m.productKey||void 0,href:m.url,rel:"sponsored nofollow noopener",target:"_blank",children:A},`${m.merchant}-${m.url}-${v}`)})})]}):u?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsxs)("div",{className:"tg-df-card-price-group",children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})]}):s?(0,K.jsx)("div",{className:"tg-df-card-price-group",children:(0,K.jsx)("span",{className:"tg-df-card-price tg-df-card-price--unavailable",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"No retail listing found"})}):null,(0,K.jsx)(cf,{authorUrl:e,deal:t}),!d&&(0,K.jsx)("a",{href:o?t.url:l,"data-fcaw-affiliate-link":o?"":void 0,target:"_blank",rel:o?"sponsored nofollow noopener":"noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},children:o?u?"VIEW DEAL":"CHECK PRICE":"READ REVIEW"})]})}return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[!(t.authorName&&!t.isFeatured)&&(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsx)("div",{className:"tg-df-card-price-group",children:t.isCheckPrice?(0,K.jsx)("span",{className:"tg-df-card-price",style:{fontSize:"15px",fontWeight:500,fontStyle:"italic"},children:"See price at retailer"}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})}),(0,K.jsx)(cf,{authorUrl:e,deal:t}),(0,K.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":"",target:"_blank",rel:"sponsored nofollow noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},"data-model-id":t.modelId||void 0,"data-product-key":t.productKey||void 0,"data-merchant-id":t.merchantId||void 0,children:t.isCheckPrice?"CHECK PRICE":t.isFeatured?"SHOP NOW":"VIEW DEAL"})]})}var Ze=B(O(),1);function d0({couponStatus:e,deal:t,onOpenVouchers:n}){let a=!!t.hasCommerceOffer;return(0,Ze.jsxs)("div",{className:"tg-df-card-image-box",children:[t.buyingGuideBadge?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge tg-df-buying-guide-badge",children:t.buyingGuideBadge}):t.savingLabel&&!t.isCheckPrice?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge",children:ee(t.savingLabel)}):null,(0,Ze.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":a?"":void 0,className:a?"hawk-affiliate-link-deal-widget":void 0,target:"_blank",rel:a?"sponsored nofollow noopener":"noopener",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",height:"100%"},children:(0,Ze.jsx)("img",{src:t.image||void 0,alt:ee(String(t.title||"")),className:"tg-df-card-image",loading:"lazy",onError:l=>{t.fallbackImage&&!l.currentTarget.dataset.fb?(l.currentTarget.dataset.fb="1",l.currentTarget.src=t.fallbackImage):l.currentTarget.style.opacity="0"}})}),(0,Ze.jsxs)("div",{className:"tg-df-card-badges",children:[t.isPrime&&(0,Ze.jsxs)("span",{className:"tg-df-tag tg-df-tag-prime",children:[(0,Ze.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ze.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})," ","Prime"]}),!t.merchant?.toLowerCase().includes("amazon")&&(e==="loading"||e==="has")&&(0,Ze.jsx)("div",{className:"tg-df-coupon-wrapper",style:{display:"inline-flex",alignItems:"center"},children:e==="loading"?(0,Ze.jsx)("div",{className:"tg-df-coupon-spinner"}):(0,Ze.jsxs)("button",{type:"button",className:"tg-df-tag tg-df-tag-coupons",onClick:l=>{l.preventDefault(),n(t.merchant)},children:[(0,Ze.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,Ze.jsx)("path",{d:"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"}),(0,Ze.jsx)("line",{x1:"7",y1:"7",x2:"7.01",y2:"7"})]})," ","Coupons"]})})]})]})}var ct=B(O(),1);function f0({label:e="Tom's Guide:",starRating:t,color:n="#1f69ff"}){if(!t||t<=0)return null;let a=Math.floor(t),l=t-a>=.5?1:0,i=Math.max(0,5-a-l),r=[];for(let o=0;o<a;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:n,stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`f${o}`));l&&r.push((0,ct.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"url(#halfGrad)",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,ct.jsx)("defs",{children:(0,ct.jsxs)("linearGradient",{id:"halfGrad",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,ct.jsx)("stop",{offset:"50%",stopColor:n}),(0,ct.jsx)("stop",{offset:"50%",stopColor:"transparent"})]})}),(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})]},"h"));for(let o=0;o<i;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:n,opacity:"0.35",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`e${o}`));return(0,ct.jsxs)("div",{className:"tg-df-card-stars",style:{display:"flex",alignItems:"center",marginBottom:"8px",fontSize:"13px",fontWeight:600,color:"var(--tg-df-text-muted)"},children:[e&&(0,ct.jsx)("span",{style:{marginRight:"6px"},children:e}),(0,ct.jsx)("div",{style:{display:"flex",gap:"2px"},children:r})]})}var At=B(O(),1);function g0({heading:e,items:t}){return t.length===0?null:(0,At.jsxs)("div",{style:{marginBottom:"10px"},children:[(0,At.jsx)("strong",{style:{display:"block",fontSize:"12px",marginBottom:"3px"},children:e}),(0,At.jsx)("ul",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:0,paddingLeft:"18px"},children:t.map(n=>{let a=ee(String(n));return(0,At.jsx)("li",{children:a},n)})})]})}function m0({cons:e=[],expanded:t,fullReviewUrl:n,onToggle:a,pros:l=[],subtitle:i="",truncateSubtitle:r=!1}){let o=l.length>0||e.length>0,u=ee(i);return!u&&!o?null:(0,At.jsxs)("div",{style:{marginBottom:"12px"},children:[u&&(0,At.jsx)("p",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:"0 0 8px",display:!t&&r?"-webkit-box":"block",WebkitLineClamp:!t&&r?3:void 0,WebkitBoxOrient:!t&&r?"vertical":void 0,overflow:!t&&r?"hidden":void 0},children:u}),t&&o&&(0,At.jsxs)("div",{children:[(0,At.jsx)(g0,{heading:"Pros",items:l}),(0,At.jsx)(g0,{heading:"Cons",items:e})]}),(o||r)&&(0,At.jsxs)("div",{className:"tg-df-review-summary-actions",style:{alignItems:"flex-start",display:"flex",flexDirection:"column",gap:t&&n?"4px":0},children:[t&&n&&(0,At.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"tg-df-review-full-link",style:{alignItems:"center",color:"var(--tg-df-blue)",display:"flex",fontSize:"12px",fontWeight:700,minHeight:"40px",paddingRight:"12px",textDecoration:"underline"},children:"Read our full review"}),(0,At.jsx)("button",{type:"button",onClick:c=>{c.preventDefault(),c.stopPropagation(),a()},className:"tg-df-review-summary-toggle",style:{appearance:"none",background:"transparent",border:"none",color:"#000000",cursor:"pointer",fontFamily:"inherit",fontSize:"11px",fontWeight:700,minHeight:"40px",padding:"0 12px 0 0",textTransform:"uppercase"},children:t?"LESS":"READ MORE"})]})]})}var oi=B(ft(),1);var Br=B(O(),1);function h0({text:e,expanded:t,onToggle:n}){let[a,l]=(0,oi.useState)(!1),i=(0,oi.useRef)(null),r=ee(e);return(0,oi.useEffect)(()=>{i.current&&l(i.current.scrollHeight>i.current.clientHeight||i.current.scrollHeight>60)},[r]),r?(0,Br.jsxs)("div",{style:{marginBottom:"12px",position:"relative"},children:[(0,Br.jsx)("p",{ref:i,style:{fontSize:"13px",color:"var(--tg-df-text-muted)",marginBottom:"0",lineHeight:"1.4",display:t?"inline":"-webkit-box",WebkitLineClamp:t?"unset":3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r}),a&&(0,Br.jsx)("button",{type:"button",onClick:o=>{o.preventDefault(),o.stopPropagation(),n()},style:{display:"block",appearance:"none",border:"none",color:"#000000",fontSize:"11px",fontWeight:700,textTransform:"uppercase",cursor:"pointer",fontFamily:"inherit",position:t?"static":"absolute",bottom:"2px",right:0,background:t?"transparent":"linear-gradient(to right, transparent, #fff 20%, #fff)",padding:t?"0":"0 0 0 16px"},children:t?"LESS":"READ MORE"})]}):null}var p0={pcgamer:"#DC191B",space:"#2E4A7F",tomsguide:"#1F69FF",techradar:"#E40784",golfmonthly:"#FFFFFF",androidcentral:"#1CCC3E",cinemablend:"#FFC033",creativebloq:"#DC361A",cyclingnews:"#371B51",cyclingweekly:"#AE1305",decanter:"#1B1B1B",digitalcameraworld:"#CAEBF2",fitandwell:"#BED100",fourfourtwo:"#AE1006",gamesradar:"#DC361A",guitarplayer:"#FFFFFF",guitarworld:"#DC1F26",homesandgardens:"#185A7D",idealhome:"#CAEBF2",imore:"#FFD600",livescience:"#023953",livingetc:"#FFFFFF",loudersound:"#DC0F17",marieclaireus:"#FFFFFF",marieclaireuk:"#FFFFFF",musicradar:"#006EA9",shortlist:"#2853E0",t3:"#DF0A14",theweek:"#DF0A14",theweekjuniorus:"#10A0B0",tomshardware:"#D8373B",wallpaper:"#FFFFFF",whathifi:"#E02928",whowhatwear:"#FFFFFF",windowscentral:"#CE0E5F",womanandhome:"#2F746E"},Nr={tomsguide:"https://proof.vanilla.tools/media/images/brandLogos/tomsguide.png",techradar:"https://proof.vanilla.tools/media/images/brandLogos/techradar.png",tomshardware:"https://proof.vanilla.tools/media/images/brandLogos/tomshardware.png",pcgamer:"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png",gamesradar:"https://proof.vanilla.tools/media/images/brandLogos/gamesradar.png",creativebloq:"https://proof.vanilla.tools/media/images/brandLogos/creativebloq.png",space:"https://proof.vanilla.tools/media/images/brandLogos/space.png",livescience:"https://proof.vanilla.tools/media/images/brandLogos/livescience.png",cinemablend:"https://proof.vanilla.tools/media/images/brandLogos/cinemablend.png",marieclaireus:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireus.png",marieclaireuk:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireuk.png",homesandgardens:"https://proof.vanilla.tools/media/images/brandLogos/homesandgardens.png",whowhatwear:"https://proof.vanilla.tools/media/images/brandLogos/whowhatwear.png",idealhome:"https://proof.vanilla.tools/media/images/brandLogos/idealhome.png",womanandhome:"https://proof.vanilla.tools/media/images/brandLogos/womanandhome.png",livingetc:"https://proof.vanilla.tools/media/images/brandLogos/livingetc.png",t3:"https://proof.vanilla.tools/media/images/brandLogos/t3.png",whathifi:"https://proof.vanilla.tools/media/images/brandLogos/whathifi.png",digitalcameraworld:"https://proof.vanilla.tools/media/images/brandLogos/digitalcameraworld.png",fitandwell:"https://proof.vanilla.tools/media/images/brandLogos/fitandwell.png",golfmonthly:"https://proof.vanilla.tools/media/images/brandLogos/golfmonthly.png",musicradar:"https://proof.vanilla.tools/media/images/brandLogos/musicradar.png",windowscentral:"https://proof.vanilla.tools/media/images/brandLogos/windowscentral.png",cyclingnews:"https://proof.vanilla.tools/media/images/brandLogos/cyclingnews.png",cyclingweekly:"https://proof.vanilla.tools/media/images/brandLogos/cyclingweekly.png",loudersound:"https://proof.vanilla.tools/media/images/brandLogos/loudersound.png",guitarworld:"https://proof.vanilla.tools/media/images/brandLogos/guitarworld.png",guitarplayer:"https://proof.vanilla.tools/media/images/brandLogos/guitarplayer.png",wallpaper:"https://proof.vanilla.tools/media/images/brandLogos/wallpaper.png",fourfourtwo:"https://proof.vanilla.tools/media/images/brandLogos/fourfourtwo.png",shortlist:"https://proof.vanilla.tools/media/images/brandLogos/shortlist.png",advnture:"https://proof.vanilla.tools/media/images/brandLogos/advnture.png",countrylife:"https://proof.vanilla.tools/media/images/brandLogos/countrylife.png",gardeningknowhow:"https://proof.vanilla.tools/media/images/brandLogos/gardeningknowhow.png",gnomesingardens:"https://proof.vanilla.tools/media/images/brandLogos/gnomesingardens.png",kiplinger:"https://proof.vanilla.tools/media/images/brandLogos/kiplinger.png",moneyweek:"https://proof.vanilla.tools/media/images/brandLogos/moneyweek.png",toptenreviews:"https://proof.vanilla.tools/media/images/brandLogos/toptenreviews.png"},Gu={tomsguide:"Tom's Guide",techradar:"TechRadar",tomshardware:"Tom's Hardware",pcgamer:"PC Gamer",gamesradar:"GamesRadar+",creativebloq:"Creative Bloq",space:"Space",livescience:"Live Science",cinemablend:"CinemaBlend",marieclaireus:"Marie Claire US",marieclaireuk:"Marie Claire UK",homesandgardens:"Homes & Gardens",whowhatwear:"Who What Wear",idealhome:"Ideal Home",womanandhome:"Woman & Home",livingetc:"Living Etc",t3:"T3",whathifi:"What Hi-Fi?",digitalcameraworld:"Digital Camera World",fitandwell:"Fit & Well",golfmonthly:"Golf Monthly",musicradar:"MusicRadar",androidcentral:"Android Central",imore:"iMore",windowscentral:"Windows Central",cyclingnews:"Cycling News",cyclingweekly:"Cycling Weekly",loudersound:"Louder Sound",guitarworld:"Guitar World",guitarplayer:"Guitar Player",theweek:"The Week",theweekjuniorus:"The Week Junior US",wallpaper:"Wallpaper",decanter:"Decanter",fourfourtwo:"FourFourTwo",shortlist:"ShortList",advnture:"Advnture",countrylife:"Country Life",gardeningknowhow:"Gardening Know How",gnomesingardens:"Gnomes in Gardens",kiplinger:"Kiplinger",moneyweek:"Money Week",toptenreviews:"Top 10 Reviews"},y0={pcgamer:[{key:"steam",href:"https://steamcommunity.com/groups/pcgamer",label:"PC Gamer on Steam"},{key:"x",href:"https://twitter.com/pcgamer",label:"PC Gamer on X"},{key:"facebook",href:"https://www.facebook.com/pcgamermagazine",label:"PC Gamer on Facebook"},{key:"instagram",href:"https://www.instagram.com/pcgamer_mag/?hl=en",label:"PC Gamer on Instagram"},{key:"youtube",href:"https://www.youtube.com/user/pcgamer",label:"PC Gamer on YouTube"},{key:"twitch",href:"https://www.twitch.tv/pcgamer",label:"PC Gamer on Twitch"},{key:"tiktok",href:"https://www.tiktok.com/@pcgamer_mag?lang=en",label:"PC Gamer on TikTok"}],homesandgardens:[{key:"instagram",href:"https://www.instagram.com/homesandgardensofficial",label:"Homes & Gardens on Instagram"},{key:"facebook",href:"https://www.facebook.com/homesandgardens/",label:"Homes & Gardens on Facebook"},{key:"x",href:"https://x.com/homesandgardens",label:"Homes & Gardens on X"},{key:"tiktok",href:"https://www.tiktok.com/@homesandgardensofficial",label:"Homes & Gardens on TikTok"},{key:"pinterest",href:"https://pinterest.com/homesgardensofficial/",label:"Homes & Gardens on Pinterest"}],whowhatwear:[{key:"x",href:"https://twitter.com/WhoWhatWear",label:"Who What Wear on X"},{key:"instagram",href:"https://www.instagram.com/whowhatwear/",label:"Who What Wear on Instagram"},{key:"facebook",href:"https://www.facebook.com/WhoWhatWear/",label:"Who What Wear on Facebook"},{key:"pinterest",href:"https://www.pinterest.co.uk/whowhatwearuk/",label:"Who What Wear on Pinterest"},{key:"tiktok",href:"https://www.tiktok.com/@whowhatwear.uk",label:"Who What Wear on TikTok"}]};var Ot=B(O(),1);function v0(e){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").trim().toLowerCase()}function Jw(e){let t=ee(String(e.brand||"")).trim(),n=ee(String(e.productName||e.title||"")).trim(),a=v0(t),l=v0(n);return a.length>0&&l.startsWith(a)&&!/^[a-z0-9]/.test(l.slice(a.length))||!t?n:`${t} ${n}`.trim()}function b0({couponStatus:e,deal:t,editorMode:n,hideHawkPrices:a,isDescriptionExpanded:l,isSelected:i,onDescriptionToggle:r,onOpenVouchers:o,onSelectionChange:u,website:c}){let s=ee(String(t.currency||"")),f=t.rawMsrp?s+t.rawMsrp:null,d=Jw(t),m=ee(String(t.title||"")),v=Gu[c||"tomsguide"]||c||"Tom's Guide",A=(c||"tomsguide").includes(".")?(c||"").startsWith("http")?c:`https://${c}`:`https://www.${c||"tomsguide"}.com`,b=(t.documentUrl||"").replace(/^\/+/,""),h=b.startsWith("http://")||b.startsWith("https://")?b:`${A}/${b}`,g=String(t.sourceArticleUrl||t.documentUrl||t.url||"").replace(/^\/+/,""),p=g.startsWith("http://")||g.startsWith("https://")?g:`${A}/${g}`,y=!!t.hasCommerceOffer;return(0,Ot.jsxs)("div",{className:"tg-df-card","data-brand":t.modelBrand||t.brand||void 0,"data-currency":t.isoCurrencyCode||s||void 0,"data-deal-id":t.externalProductId||t.id||void 0,"data-merchant":t.merchant||void 0,"data-merchant-id":t.merchantId||void 0,"data-model-id":t.modelId||void 0,"data-previous-price":t.rawMsrp||void 0,"data-price":t.rawPrice||void 0,"data-product-key":t.productKey||void 0,"data-product-name":t.productName||t.title||void 0,"data-review-product":t.isReviewProduct?"true":void 0,"data-source-article-url":t.isReviewProduct?p:void 0,children:[n&&(0,Ot.jsx)("input",{type:"checkbox",className:"tg-df-deal-checkbox",checked:i,onChange:C=>u(C.target.checked)}),(0,Ot.jsx)(d0,{couponStatus:e,deal:t,onOpenVouchers:o}),(0,Ot.jsxs)("div",{className:"tg-df-card-body",children:[(0,Ot.jsx)("h3",{className:"tg-df-card-title",title:m,children:(0,Ot.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":y?"":void 0,className:y?"hawk-affiliate-link-container":void 0,target:"_blank",rel:y?"sponsored nofollow noopener":"noopener",style:{textDecoration:"none",color:"inherit"},children:(0,Ot.jsx)("strong",{children:d})})}),(0,Ot.jsx)(f0,{label:t.isBuyingGuideProduct?"":`${v} rating:`,starRating:t.starRating,color:t.isReviewProduct?"var(--tg-df-blue)":void 0}),t.isBuyingGuideProduct||t.isReviewProduct?(0,Ot.jsx)(m0,{cons:t.cons,expanded:l,fullReviewUrl:t.isReviewProduct&&g?p:void 0,onToggle:r,pros:t.pros,subtitle:t.isReviewProduct?t.description:t.subtitle,truncateSubtitle:t.isReviewProduct}):t.description?(0,Ot.jsx)(h0,{text:t.description,expanded:l,onToggle:r}):null,(0,Ot.jsx)(s0,{authorUrl:h,deal:t,hideHawkPrices:a,msrpFormatted:f,sourceArticleUrl:p})]})]})}var ce=B(O(),1);function $w({activeDealTag:e,activeFreeformTags:t=[],query:n,selectedBrands:a=[]}){let l=o=>{let u=String(o||"").trim();return u&&u.toLowerCase()!=="everything"?u:""},r=(t.length>0?t:e?[e]:a.length>0?a:[n]).map(l).filter(Boolean).map(o=>o.replace(/\s+deals?$/i,"").trim()).filter((o,u,c)=>c.findIndex(s=>s.toLowerCase()===o.toLowerCase())===u);return r.length<=1?r[0]||"":`${r.slice(0,-1).join(", ")} or ${r.at(-1)}`}function e2(){return(0,ce.jsx)(ce.Fragment,{children:Array.from({length:6}).map((e,t)=>(0,ce.jsxs)("div",{className:"tg-df-card",children:[(0,ce.jsx)("div",{className:"tg-df-card-image-box tg-df-skeleton"}),(0,ce.jsxs)("div",{className:"tg-df-card-body",children:[(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short",style:{marginBottom:"24px"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title",style:{width:"80%"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short"}),(0,ce.jsx)("div",{className:"tg-df-card-cta tg-df-skeleton",style:{width:"100%",height:"40px",marginTop:"auto",border:"none"}})]})]},t))})}function t2(e,t){return{"@context":"https://schema.org","@type":"ItemList",itemListElement:e.slice(0,t).map((n,a)=>{let l="USD";return n.currency==="\xA3"?l="GBP":n.currency==="\u20AC"?l="EUR":n.currency==="A$"?l="AUD":n.currency==="CA$"&&(l="CAD"),{"@type":"ListItem",position:a+1,item:{"@type":"Product",name:n.title,image:n.image||"",description:n.description||"",brand:{"@type":"Brand",name:n.brand||""},offers:{"@type":"Offer",priceCurrency:l,price:n.rawPrice||0,url:n.url||"",seller:{"@type":"Organization",name:n.merchant||""}}}}}).filter(n=>n.item.name)}}function w0({activeDealTag:e,activeFreeformTags:t,couponMap:n,deals:a,displayCount:l,editorMode:i,error:r,expandedDealIds:o,hasMore:u,hideHawkPrices:c,loading:s,loadingMore:f,loadMoreStartCount:d,onDescriptionToggle:m,onLoadMore:v,onOpenVouchers:A,query:b,recentDealsOnly:h,selectedBrands:g,selectedDeals:p,setSelectedDeals:y,website:C}){let R=$w({activeDealTag:e,activeFreeformTags:t,query:b,selectedBrands:g}),T=f&&d!=null?d:l,M=!f&&d!=null&&d<T?d:null,w=D=>D.map(k=>(0,ce.jsx)(A0.default.Fragment,{children:(0,ce.jsx)(b0,{couponStatus:n[k.merchant],deal:k,editorMode:i,hideHawkPrices:c,isDescriptionExpanded:o.has(k.id),isSelected:p.has(k.id),onDescriptionToggle:()=>m(k.id),onOpenVouchers:A,onSelectionChange:se=>{let I=new Map(p);se?I.set(k.id,k):I.delete(k.id),y(I)},website:C})},k.id));return(0,ce.jsx)("div",{className:"tg-df-grid-wrapper",children:(0,ce.jsx)("div",{className:"tg-df-grid article-body tg-df-grid-auto",id:"tg-df-grid",children:s?(0,ce.jsx)(e2,{}):r?(0,ce.jsx)("div",{className:"tg-df-message",children:"Failed to load deals. Please try again."}):a.length===0?(0,ce.jsx)("div",{className:"tg-df-message",children:h?`No ${R?`${R} `:""}deals found from the last 30 days.`:!b||b.length<=2||b.toLowerCase()==="everything"?"No deals found for this author.":`No savings squad match your search for "${b}".`}):(0,ce.jsxs)(ce.Fragment,{children:[w(a.slice(0,M??T)),M!=null&&(0,ce.jsx)("div",{"aria-live":"polite",className:"tg-df-load-more-boundary",style:{alignItems:"center",color:"var(--tg-df-text-muted)",display:"flex",fontSize:"13px",fontWeight:600,gridColumn:"1 / -1",justifyContent:"center",marginTop:"16px",minHeight:"40px",overflowAnchor:"none"},children:"More products"}),M!=null&&w(a.slice(M,T)),u&&(0,ce.jsx)("div",{className:"tg-df-load-more-control",style:{width:"100%",display:"flex",justifyContent:"center",marginTop:"16px",gridColumn:"1 / -1",overflowAnchor:"none"},children:(0,ce.jsx)("button",{type:"button",className:"tg-df-tag-outline",style:{padding:"8px 24px",borderRadius:"100px",fontWeight:600,fontSize:"14px",cursor:"pointer"},"aria-busy":f,disabled:f,onClick:D=>{D.preventDefault(),D.stopPropagation(),v()},children:f?"Loading more products\u2026":"Load More"})}),a.length>0&&(0,ce.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t2(a,T))}})]})})})}var S0=B(O(),1);var pn=B(ft(),1),nn=B(O(),1);function Pu({onScrollLeft:e,onScrollRight:t,showLeft:n,showRight:a}){return(0,nn.jsxs)(nn.Fragment,{children:[(0,nn.jsx)("button",{"aria-label":"Scroll left",className:"tg-df-scroll-btn left tg-df-desktop-only",onClick:e,style:{display:n?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,nn.jsx)("button",{"aria-label":"Scroll right",className:"tg-df-scroll-btn right tg-df-desktop-only",onClick:t,style:{display:a?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})}function qu(e){let t=(0,pn.useRef)(null),[n,a]=(0,pn.useState)(!1),[l,i]=(0,pn.useState)(!1),r=(0,pn.useCallback)(()=>{let u=t.current;u&&(a(u.scrollLeft>1),i(Math.ceil(u.scrollLeft+u.clientWidth)<u.scrollWidth-1))},[]);(0,pn.useLayoutEffect)(()=>{let u=t.current;if(!u)return;r();let c=requestAnimationFrame(r),s=typeof ResizeObserver>"u"?null:new ResizeObserver(r);return s?.observe(u),()=>{cancelAnimationFrame(c),s?.disconnect()}},[e,r]);let o=(0,pn.useCallback)(u=>{t.current?.scrollBy({left:u,behavior:"smooth"})},[]);return{onScroll:r,railRef:t,scrollLeft:()=>o(-240),scrollRight:()=>o(240),showLeft:n,showRight:l}}var jn=B(O(),1);function ui({containerClassName:e,itemClassName:t,items:n,loading:a,loadingKey:l,onItemClick:i,rowClassName:r,showCounters:o}){let u=qu(n.length);return n.length===0&&!a?null:(0,jn.jsxs)("div",{className:e,style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[n.length>0&&(0,jn.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,jn.jsx)("div",{className:r,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none"},onScroll:u.onScroll,children:n.length>0?n.map(c=>(0,jn.jsxs)("button",{className:t,onClick:()=>i(c.key),style:{border:"none",borderRight:"1px solid var(--tg-df-border)",padding:"12px 20px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"1px",cursor:"pointer",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:"6px",...t==="tg-df-brand-row-item"?{transition:"all 0.2s ease"}:{},background:c.selected?"var(--tg-df-bg-secondary)":"var(--tg-df-bg)",color:c.selected?"var(--tg-df-text-primary)":"var(--tg-df-text-muted)",fontWeight:c.selected?600:500},children:[c.label," ",l===c.key&&(0,jn.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading",style:{borderWidth:"2px",height:"12px",width:"12px"}}),o!==!1&&(0,jn.jsx)("span",{style:{color:"var(--tg-df-blue)",fontSize:"10px",...t==="tg-df-brand-row-item"?{fontWeight:400}:{}},children:c.count})]},c.key)):[1,2,3,4,5].map(c=>(0,jn.jsx)("div",{className:"tg-df-skeleton",style:{height:"36px",width:"80px",borderRadius:"18px",flexShrink:0,margin:"8px 12px"}},`${r}-skeleton-${c}`))})]})}var R0=B(O(),1);function C0({airedaleBrands:e,brands:t,loading:n,refreshing:a,onBrandToggle:l,selectedBrands:i,showAuthorCounters:r}){let o=e.length>0?e:t||[],u=o.slice(0,15).map(c=>({count:c.count||0,key:c.formatted_value,label:c.formatted_value,selected:i?.includes(c.formatted_value)||!1}));return(0,R0.jsx)(ui,{containerClassName:"tg-df-brands-row-container",itemClassName:"tg-df-brand-row-item",items:u,loading:n&&o.length===0,loadingKey:a?i?.[0]:null,onItemClick:c=>l?.(c),rowClassName:"tg-df-brands-row",showCounters:r})}var E0=B(O(),1);function T0({activeDealTag:e,airedaleTagCounts:t,airedaleTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>{let c=u.split(":::"),s=c[0];return{count:t[u]||0,key:s,label:c[1]||u,selected:e===s}});return(0,E0.jsx)(ui,{containerClassName:"tg-df-categories-row-container",itemClassName:"tg-df-category-row-item",items:o,loading:a&&n.length===0,loadingKey:l?e:null,onItemClick:i,rowClassName:"tg-df-categories-row",showCounters:r})}var x0=B(O(),1);function D0({activeFreeformTags:e,freeformTagCounts:t,freeformTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>({count:t[u.handle]||0,key:u.handle,label:u.label,selected:e.includes(u.handle)}));return(0,x0.jsx)(ui,{containerClassName:"tg-df-freeform-tags-row-container",itemClassName:"tg-df-freeform-tag-row-item",items:o,loading:a&&n.length===0,loadingKey:l&&e.at(-1)||null,onItemClick:i,rowClassName:"tg-df-freeform-tags-row",showCounters:r})}var _e=B(O(),1),n2=4;function M0({authors:e,clickedAuthorOverride:t,loading:n,refreshing:a,onAuthorClick:l,overriddenAuthorHandle:i,overriddenAuthorName:r,website:o}){let u=qu(e.length);return e.length===0&&!n?null:(0,_e.jsxs)("div",{className:"tg-df-authors-row-container",style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[e.length>0&&(0,_e.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,_e.jsx)("div",{className:"tg-df-authors-row tg-df-mobile-authors",onScroll:u.onScroll,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",gap:"24px",padding:"4px 16px 2px 16px",alignItems:"flex-start"},children:e.length>0?e.map((c,s)=>{let f=Nr[c.brandKey]||Nr[o||"tomsguide"],d=t&&(i===c.handle||r===c.fullName);return(0,_e.jsxs)("div",{className:"tg-df-author-row-item",onClick:()=>l(c),style:{cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px",opacity:t?d?1:.4:1},children:[(0,_e.jsxs)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px",borderRadius:"50%",boxShadow:d?"0 0 0 3px var(--tg-df-blue, #1F69FF)":"none"},children:[(0,_e.jsx)("img",{src:ri(c.image),alt:c.fullName,decoding:"async",loading:s<n2?"eager":"lazy",style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover",filter:t&&!d?"grayscale(100%)":"none"}}),d&&(0,_e.jsx)("span",{"aria-label":`Clear ${c.fullName} selection`,className:"tg-df-author-clear-badge",title:"Click again to clear selection",style:{alignItems:"center",backgroundColor:"#dc2626",border:"2px solid var(--tg-df-bg, #fff)",borderRadius:"50%",boxShadow:"0 1px 3px rgb(0 0 0 / 25%)",color:"#fff",display:"flex",fontSize:"15px",fontWeight:700,height:"20px",justifyContent:"center",lineHeight:1,position:"absolute",right:"-5px",top:"-5px",width:"20px",zIndex:1},children:(0,_e.jsx)("span",{"aria-hidden":"true",style:{display:"block",transform:"translateY(-1px)"},children:"\xD7"})}),f&&(0,_e.jsx)("img",{src:f,alt:"",className:"tg-df-author-brand-logo",decoding:"async",loading:"lazy",style:{position:"absolute",bottom:"-4px",right:"-4px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid var(--tg-df-bg, #fff)",backgroundColor:"#000",objectFit:"contain",filter:t&&!d?"grayscale(100%)":"none"}})]}),(0,_e.jsxs)("div",{style:{textAlign:"center"},children:[(0,_e.jsxs)("div",{className:"tg-df-author-row-name",style:{fontSize:"13px",fontWeight:700,color:"var(--tg-df-text)",lineHeight:"1.2"},children:[c.name,a&&d&&(0,_e.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading author products",style:{borderWidth:"2px",display:"inline-block",height:"11px",marginLeft:"4px",width:"11px"}})]}),c.role&&(0,_e.jsx)("div",{className:"tg-df-author-row-role",style:{fontSize:"11px",color:"var(--tg-df-text-muted)",lineHeight:"1.2",marginTop:"2px",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word"},children:c.role})]})]},c.handle)}):[1,2,3,4].map(c=>(0,_e.jsxs)("div",{className:"tg-df-author-row-item",style:{display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px"},children:[(0,_e.jsx)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px"},children:(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),(0,_e.jsxs)("div",{style:{textAlign:"center",width:"100%"},children:[(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"12px",width:"80%",margin:"0 auto 4px auto",borderRadius:"2px"}}),(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"10px",width:"60%",margin:"0 auto",borderRadius:"2px"}})]})]},`author-skeleton-${c}`))})]})}var Ja=B(O(),1);function _0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,freeformTagCounts:i,freeformTags:r,allAuthorsList:o,brands:u,clickedAuthorOverride:c,loading:s,refreshing:f,onAuthorClick:d,onBrandToggle:m,onTagClick:v,onFreeformTagClick:A,overriddenAuthorHandle:b,overriddenAuthorName:h,selectedBrands:g,showAuthorRail:p,showAuthorCounters:y,showBrandRail:C,showCategoryRail:R,showFreeformTagRail:T,website:M}){let w=R!==!1&&l.length>0||T!==!1&&r.length>0||C!==!1&&(n.length>0||!!u?.length)||p&&o.length>0;return!(p||R!==!1||T!==!1||C!==!1)||!w&&!s?null:(0,Ja.jsxs)("div",{id:"tg-df-spreadsheet-filters",style:{display:"block",marginBottom:"16px"},children:[p&&(0,Ja.jsx)(M0,{authors:o,clickedAuthorOverride:c,loading:s&&o.length===0,refreshing:f,onAuthorClick:d,overriddenAuthorHandle:b,overriddenAuthorName:h,website:M}),R!==!1&&(0,Ja.jsx)(T0,{activeDealTag:e,airedaleTagCounts:a,airedaleTags:l,loading:s,refreshing:f,onTagClick:v,showAuthorCounters:y}),T!==!1&&(0,Ja.jsx)(D0,{activeFreeformTags:t,freeformTagCounts:i,freeformTags:r,loading:s,refreshing:f,onTagClick:A,showAuthorCounters:y}),C!==!1&&(0,Ja.jsx)(C0,{airedaleBrands:n,brands:u,loading:s,refreshing:f,onBrandToggle:m,selectedBrands:g,showAuthorCounters:y})]})}var O0=B(ft(),1);var B0=[{value:"date_desc",label:"Most recent"},{value:"rating_desc",label:"Highest rating"},{value:"scored_first",label:"Scored products first"}];function Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}){return!!(a&&e!==!0&&t===!1&&n===!1)}function Fu({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a,lightweightReviewDelivery:l,showPriceDiscountFilters:i,showReviewSort:r}){return!!(l&&i===!1&&r===!1&&Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}))}function ju(e=!0){return e?B0:B0.filter(t=>t.value!=="scored_first")}function wa(e,t=!0){return!t&&e==="scored_first"?"date_desc":e||"date_desc"}var H=B(O(),1),N0=[{value:"all",label:"All Prices",shortLabel:""},{value:"under50",label:"Under $50",shortLabel:"< $50"},{value:"50_100",label:"$50 - $100",shortLabel:"$50-$100"},{value:"100_200",label:"$100 - $200",shortLabel:"$100-$200"},{value:"200_500",label:"$200 - $500",shortLabel:"$200-$500"},{value:"over500",label:"Over $500",shortLabel:"> $500"}],a2=[{value:"0",label:"Any discount"},...[5,10,15,20,25,30,40,50,60,70].map(e=>({value:String(e),label:`Min ${e}% off`}))];function l2({open:e}){return(0,H.jsx)("svg",{"aria-hidden":"true",className:e?"is-open":void 0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("path",{d:"m6 9 6 6 6-6"})})}function Yn(){return(0,H.jsx)("svg",{"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function k0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,brands:i,discountAmount:r,enabled:o,freeformTagCounts:u,freeformTags:c,includeScoredFirst:s,onBrandSelect:f,onBrandToggle:d,onDiscountAmountChange:m,onFreeformTagClear:v,onFreeformTagToggle:A,onPriceRangeChange:b,onReviewSortChange:h,onTagClear:g,onTagClick:p,priceRange:y,reviewSort:C,selectedBrands:R,showCounters:T,showBrandRail:M,showCategoryRail:w,showFreeformTagRail:D,showPriceDiscountFilters:k,showReviewSort:se}){let[I,j]=(0,O0.useState)(null);if(!o)return null;let He=l.map(x=>{let P=x.split(":::");return{count:a[x]||0,handle:P[0],label:P[1]||x}}),ze=n.length>0?n:i||[],St=He.find(x=>x.handle===e),Ie=y||"all",rn=!r||r==="all"?"0":r,Be=N0.find(x=>x.value===Ie),Je=k!==!1,nt=wa(C,s),X=ju(s),de=nt==="rating_desc"?"Highest rating":nt==="scored_first"?"Scored first":"Most recent",$e=x=>{j(P=>P===x?null:x)},Z=[];return w!==!1&&Z.push({active:!!e,label:`CATEGORIES${St?` (${St.label})`:""}`,menu:"categories"}),D!==!1&&Z.push({active:t.length>0,label:`KEYWORDS${t.length>0?` (${t.length})`:""}`,menu:"keywords"}),M!==!1&&Z.push({active:R.length>0,label:`BRANDS${R.length>0?` (${R.length})`:""}`,menu:"brands"}),Je&&Z.push({active:Ie!=="all",label:`PRICES${Be?.shortLabel?` (${Be.shortLabel})`:""}`,menu:"prices"}),(Je||se)&&Z.push({active:se?nt!=="date_desc":rn!=="0",label:se?`SORT REVIEWS (${de})`:`DISCOUNTS${rn!=="0"?` (${rn}%+)`:""}`,menu:se?"review-sort":"discounts"}),(0,H.jsxs)("div",{className:"tg-df-mobile-2x2-container",children:[(0,H.jsx)("div",{className:`tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--${Z.length%2===0?"even":"odd"}`,children:Z.map(x=>(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-grid-cell${x.active?" has-active-filter":""}${I===x.menu?" active":""}`,"aria-expanded":I===x.menu,onClick:()=>$e(x.menu),children:[(0,H.jsx)("span",{children:x.label}),(0,H.jsx)(l2,{open:I===x.menu})]},x.menu))}),w!==!1&&I==="categories"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${e?"":" selected"}`,onClick:()=>{g(),j(null)},children:[(0,H.jsx)("span",{children:"All Categories"}),!e&&(0,H.jsx)(Yn,{})]}),He.map(x=>{let P=e===x.handle;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{p(x.handle),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},x.handle)})]}),M!==!1&&I==="brands"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${R.length===0?" selected":""}`,onClick:()=>f?.([]),children:[(0,H.jsx)("span",{children:"All Brands"}),R.length===0&&(0,H.jsx)(Yn,{})]}),ze.map(x=>{let P=x.formatted_value,Q=R.includes(P);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${Q?" selected":""}`,onClick:()=>d?.(P),children:[(0,H.jsx)("span",{children:P}),Q?(0,H.jsx)(Yn,{}):T!==!1&&x.count?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},P)})]}),D!==!1&&I==="keywords"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${t.length===0?" selected":""}`,onClick:()=>{v(),j(null)},children:[(0,H.jsx)("span",{children:"All Keywords"}),t.length===0&&(0,H.jsx)(Yn,{})]}),c.map(x=>{let P=t.includes(x.handle);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>A(x.handle),children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1&&u[x.handle]?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:u[x.handle]}):null]},x.handle)})]}),I==="prices"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:N0.map(x=>{let P=Ie===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{b?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="discounts"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:a2.map(x=>{let P=rn===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{m?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="review-sort"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:X.map(x=>{let P=nt===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{h?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})})]})}var $a=B(ft(),1);var W=B(O(),1);function L0({airedaleBrands:e,airedaleTags:t,discountAmount:n,hidden:a,includeScoredFirst:l,onDiscountAmountChange:i,onPriceRangeChange:r,onReviewSortChange:o,priceRange:u,reviewSort:c,showReviewSort:s,showPriceDiscountFilters:f}){let d=(0,$a.useRef)(null),[m,v]=(0,$a.useState)(!1),[A,b]=(0,$a.useState)(!1),h=ju(l),g=wa(c,l),p=()=>{if(!d.current)return;let{scrollLeft:y,scrollWidth:C,clientWidth:R}=d.current;v(y>0),b(Math.ceil(y+R)<C-5)};return(0,$a.useEffect)(()=>(p(),window.addEventListener("resize",p),setTimeout(p,100),setTimeout(()=>{document.querySelector(".tg-df-categories-row")?.dispatchEvent(new Event("scroll")),document.querySelector(".tg-df-brands-row")?.dispatchEvent(new Event("scroll"))},150),()=>window.removeEventListener("resize",p)),[t,e]),(0,W.jsx)("div",{className:"tg-df-controls",id:"tg-df-controls",style:{display:a?"none":"flex",marginTop:"12px",marginBottom:"16px",justifyContent:"center"},children:(0,W.jsxs)("div",{className:"tg-df-filters-container",style:{position:"relative",width:"100%",maxWidth:"800px",margin:"0 auto"},children:[(0,W.jsx)("button",{className:"tg-df-scroll-btn left",style:{display:m?"flex":"none"},onClick:()=>d.current?.scrollBy({left:-200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,W.jsx)("button",{className:"tg-df-scroll-btn right",style:{display:A?"flex":"none"},onClick:()=>d.current?.scrollBy({left:200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M9 18l6-6-6-6"})})}),(0,W.jsxs)("div",{className:"tg-df-filters",ref:d,onScroll:p,children:[(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-legacy-price-wrapper",style:{display:f!==!1?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-price-filter","aria-label":"Filter Prices",value:u||"all",onChange:y=>r?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"All Prices"}),(0,W.jsx)("option",{value:"under50",children:"Under $50"}),(0,W.jsx)("option",{value:"50_100",children:"$50 - $100"}),(0,W.jsx)("option",{value:"100_200",children:"$100 - $200"}),(0,W.jsx)("option",{value:"200_500",children:"$200 - $500"}),(0,W.jsx)("option",{value:"over500",children:"Over $500"})]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-discount-filter-wrapper",style:{display:f!==!1&&!s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-discount-filter","aria-label":"Discount Amount",value:n||"all",onChange:y=>i?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"Any discount"}),[5,10,15,20,25,30,40,50,60,70].map(y=>(0,W.jsxs)("option",{value:y,children:["Min ",y,"%"]},y))]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-review-sort-wrapper",style:{display:s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M4 7h16M7 12h10m-7 5h4"})}),(0,W.jsx)("select",{className:"tg-df-filter-select",id:"tg-df-review-sort","aria-label":"Sort Reviews",value:g,onChange:y=>o?.(y.target.value),children:h.map(y=>(0,W.jsx)("option",{value:y.value,children:y.label},y.value))})]})]})]})})}var be=B(ft(),1);function kr(e,t){return e.filter(n=>{let a=n.handle.toLowerCase(),l=n.fullName.toLowerCase(),i=n.name.toLowerCase();return t.some(r=>{let o=r.articleauthorhandle||[],u=r.articleauthor||[],c=r.articleauthortext||[];return[...o,...u,...c].some(s=>{let f=String(s||"").toLowerCase();return f===a||f===l||f===i})})})}function Yu(e,t){return e.map((n,a)=>({index:a,profile:n,productCount:t[n.handle]||0})).sort((n,a)=>a.productCount-n.productCount||n.index-a.index).map(({profile:n})=>n)}function Vu(e,t){return e==="all-authors"||t==="all-authors"||t==="All authors"||!e&&!t}function Xu(e,t,n){let a=e;if((t||n)&&t!=="all-authors"&&n!=="all-authors"&&n!=="All authors"){if(t){let l=t.toLowerCase(),i=e.filter(r=>r.articleauthorhandle&&r.articleauthorhandle.some(o=>o.toLowerCase()===l));if(i.length>0)a=i;else if(n){let r=n.toLowerCase(),o=e.filter(u=>u.articleauthor&&u.articleauthor.some(c=>c.toLowerCase()===r));o.length>0&&(a=o)}}else if(n){let l=n.toLowerCase();a=e.filter(i=>i.articleauthor&&i.articleauthor.some(r=>r.toLowerCase()===l))}}return a}function sf(e,t,n){let a=0;if(t&&e.articleauthorhandle){let l=e.articleauthorhandle.findIndex(i=>i.toLowerCase()===t.toLowerCase());l>=0&&(a=l)}else if(n&&e.articleauthor){let l=e.articleauthor.findIndex(i=>i.toLowerCase()===n.toLowerCase());l>=0&&(a=l)}return a}function Qu(e,t,n){let a=sf(e,t,n),l=i=>typeof i=="string"?ee(i):i||"";return{authorName:e.articleauthortext?l(e.articleauthortext[a]):e.articleauthor?l(e.articleauthor[a]):"",authorRole:e.articleauthorrole?l(e.articleauthorrole[a]):"",authorImage:e.articleauthormedia?e.articleauthormedia[a]:""}}function Lr(e,t){let n=new Map;return e.forEach(a=>{if(!a.articleauthor)return;let l=t;if(a.documenturl)try{let f=new URL(a.documenturl).hostname.replace("www.","").split(".");f.length>0&&(l=f[0].toLowerCase())}catch{}let i=a.articleauthorhandle||[],r=a.articleauthor||[],o=a.articleauthortext||[],u=a.articleauthorrole||[],c=a.articleauthormedia||[];r.forEach((s,f)=>{if(!s||s==="null"||s.toLowerCase()==="all authors")return;let d=i[f]&&i[f]!=="null"?i[f]:s.toLowerCase().replace(/\s+/g,"-");if(!d||d==="null")return;let m=o[f]&&o[f]!=="null"?o[f]:s,v=u[f]&&u[f]!=="null"?u[f]:"",A=ee(String(m)),b=ee(String(v)),h=c[f]&&c[f]!=="null"?c[f]:"",g=A.split(" ")[0],p=_r(a,f,"short"),y=_r(a,f,"long"),C=Uu(a,f),R=n.get(d);!R&&A&&h?n.set(d,{...y?{bioLong:y}:{},...p?{bioShort:p}:{},name:g,fullName:A,handle:d,role:b,image:h,brandKey:l,...C.length>0?{socialNetworks:C}:{}}):R&&(!R.bioShort&&p&&(R.bioShort=p),!R.bioLong&&y&&(R.bioLong=y),!R.socialNetworks?.length&&C.length>0&&(R.socialNetworks=C))})}),Array.from(n.values())}var E=B(O(),1);function z0(e){let t=(0,be.useRef)(""),n=(0,be.useRef)(null),a=(0,be.useCallback)(()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null)},[]),l=(0,be.useCallback)(r=>{a(),t.current=r},[a]),i=(0,be.useCallback)((r,o,u=!1)=>{if(!e)return;if(r===t.current){a();return}let c=()=>{n.current=null,t.current=r,e(o)};a(),u?c():n.current=window.setTimeout(c,350)},[a,e]);return(0,be.useEffect)(()=>a,[a]),{save:i,synchronise:l}}function H0({contentKey:e,defaultText:t,kind:n,onChange:a,value:l}){let i=(0,be.useRef)(null),r=(0,be.useRef)(e),[o,u]=(0,be.useState)(!1),c=l??t,s=!!a,{save:f,synchronise:d}=z0(a);(0,be.useLayoutEffect)(()=>{let g=r.current!==e;i.current&&(g||document.activeElement!==i.current)&&(i.current.innerHTML!==c&&(i.current.innerHTML=c),d(c)),r.current=e},[e,d,c]);let m=(g=!1)=>{if(!i.current)return;let p=i.current.innerHTML;f(p,p===t?void 0:p,g)},v=(g,p)=>{document.execCommand(g,!1,p),m(!0)},A=n==="kicker"?{fontSize:"0.875rem",color:"#6B7280",fontStyle:"normal",margin:"0 0 0.25rem 0"}:{fontSize:"2.25rem",fontWeight:300,color:"#111827",margin:"0 0 0.25rem 0",lineHeight:1.1,letterSpacing:"-0.02em"},b=n==="kicker"?"tg-df-author-curated-by tg-df-author-kicker":"tg-df-author-name",h=()=>n==="kicker"?(0,E.jsx)("p",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}}):(0,E.jsx)("h2",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}});return s?(0,E.jsxs)("div",{className:"tg-df-author-header-text-shell",style:{position:"relative"},children:[o&&(0,E.jsxs)("div",{className:"tg-df-author-header-text-toolbar",role:"toolbar","aria-label":`${n==="kicker"?"Shop by text":"Site or author name"} formatting`,style:{display:"flex",justifyContent:"center",alignItems:"center",gap:"0.25rem",margin:"0 auto 0.375rem",width:"fit-content",padding:"0.25rem 0.5rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",fontSize:"11px",zIndex:10},children:[(0,E.jsx)("span",{style:{color:"#64748b",padding:"2px 2px 2px 0"},children:"Editing"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("bold"),title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("italic"),title:"Italic",children:(0,E.jsx)("em",{children:"I"})}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{let g=prompt("Enter URL:");g&&v("createLink",g)},title:"Add link",children:"\u{1F517}"}),l!==void 0&&(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{i.current&&(i.current.innerHTML=t),d(t),a?.(void 0)},title:"Restore default",children:"Reset"})]}),h()]}):h()}function i2({contentKey:e,initialBio:t,defaultPlaceholder:n,onBioChange:a,stabilizeHeight:l=!1}){let r=(0,be.useRef)(null),o=(0,be.useRef)(e),u=(0,be.useRef)(n),c=(0,be.useRef)(!1),[s,f]=(0,be.useState)(!1),[d,m]=(0,be.useState)(!1),[v,A]=(0,be.useState)(!1),b=t||n,h=l&&b.replace(/<[^>]*>/g,"").trim().length>240,g=!!a,{save:p,synchronise:y}=z0(a);(0,be.useLayoutEffect)(()=>{let w=o.current!==e,D=u.current!==n;w&&(c.current=!1);let k=!t&&D&&!c.current;r.current&&(w||document.activeElement!==r.current||k)&&(r.current.innerHTML!==b&&(r.current.innerHTML=b),y(b)),o.current=e,u.current=n},[b,e,n,t,y]),(0,be.useLayoutEffect)(()=>{m(!1)},[e]),(0,be.useLayoutEffect)(()=>{if(!h||!r.current){A(!1);return}let w=r.current,D=()=>{A(w.scrollHeight>w.clientHeight+1)};if(D(),typeof ResizeObserver>"u")return;let k=new ResizeObserver(D);return k.observe(w),()=>k.disconnect()},[b,e,d,h]);let C=(w,D=null)=>{if(c.current=!0,document.execCommand(w,!1,D||void 0),r.current){let k=r.current.innerHTML;p(k,k===n?"":k,!0)}},R=(w=!1)=>{if(!r.current)return;let D=r.current.innerHTML;p(D,D===n?"":D,w)};return(0,E.jsxs)("div",{style:{position:"relative",maxWidth:"42rem",margin:"0 auto 0.5rem auto",padding:"0.25rem 0.5rem"},className:`tg-df-author-bio-shell${l?" tg-df-author-bio-shell--stable":""}`,children:[g&&s&&(0,E.jsxs)("div",{role:"toolbar","aria-label":"Introduction text formatting",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"0.375rem",marginBottom:"0.5rem",padding:"0.25rem 0.625rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",width:"fit-content",margin:"0 auto 0.5rem auto",fontSize:"12px",userSelect:"none",zIndex:10},children:[(0,E.jsx)("span",{style:{fontSize:"11px",color:"#64748b",fontWeight:500,marginRight:"2px"},children:"Editing \u2014 saves when you click away"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("bold"),style:{fontWeight:"bold",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("italic"),style:{fontStyle:"italic",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Italic",children:"I"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>{let w=prompt("Enter URL:");w&&C("createLink",w)},style:{padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Add Link",children:"\u{1F517}"}),t&&(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:w=>{w.preventDefault(),w.stopPropagation(),r.current&&(r.current.innerHTML=n),c.current=!1,y(n),a&&a("")},style:{fontSize:"10px",padding:"2px 8px",borderRadius:"4px",background:"#fee2e2",color:"#991b1b",cursor:"pointer",border:"1px solid #fca5a5"},title:"Reset Bio",children:"Reset"})]}),(0,E.jsx)("div",{ref:r,contentEditable:g?!0:void 0,suppressContentEditableWarning:g,onFocus:g?()=>{f(!0)}:void 0,onBlur:g?()=>{f(!1),R(!0),c.current=!1}:void 0,onInput:g?()=>{c.current=!0}:void 0,className:`tg-df-author-bio ${g?"wysiwyg-bio-editable":"tg-df-author-bio--static"}${h?d?" tg-df-author-bio--expanded":" tg-df-author-bio--clamped":""}`,style:{color:"#4b5563",lineHeight:1.6,fontWeight:300,fontSize:"0.9375rem",textAlign:"center",outline:g&&s?"2px solid #3b82f6":"none",borderRadius:"6px",padding:"0.375rem 0.5rem",cursor:g?"text":"default",transition:"all 0.15s ease-in-out"}}),h?(0,E.jsx)("div",{className:"tg-df-author-bio-toggle-slot",children:(0,E.jsx)("button",{type:"button",className:"tg-df-author-bio-toggle","aria-expanded":d,onClick:()=>m(w=>!w),style:{visibility:v||d?"visible":"hidden"},children:d?"Show less":"Read more"})}):null]})}function r2(e){let t=(e||"").toLowerCase();return t==="linkedin"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"})}):t==="twitter"||t==="x"?(0,E.jsx)("svg",{className:"icon-svg",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,E.jsx)("path",{fill:"currentColor",d:"M18 2h4l-8 9 9 11h-7l-5-7-6 7H2l7-9L1 2h7l5 6zm-1 18h2L7 4H5z"})}):t==="email"||t==="mail"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),(0,E.jsx)("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}):t==="instagram"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"5",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"12",cy:"12",r:"4.25",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"17.4",cy:"6.7",r:"1.25",fill:"currentColor"})]}):t==="steam"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("circle",{fill:"#0f1618",cx:"12",cy:"12",r:"12"}),(0,E.jsx)("path",{d:"m18.22 8.9a2.269 2.269 0 1 1 -2.27-2.265 2.267 2.267 0 0 1 2.27 2.265zm2.258.005a4.534 4.534 0 0 1 -4.533 4.526h-.1l-4.087 2.911v.161a3.4 3.4 0 0 1 -6.74.669l-4.549-1.879c-.032-.109-.057-.219-.085-.329a11.973 11.973 0 0 1 -.384-2.964c0-.214.02-.423.032-.635 0-.1.008-.206.016-.308l6.394 2.643a3.385 3.385 0 0 1 1.915-.591c.065 0 .127 0 .191.005l2.865-4.145v-.062a4.533 4.533 0 0 1 9.066 0zm-9.763 6.618a2.55 2.55 0 0 0 -3.262-1.411l1.525.63a1.877 1.877 0 1 1 -1.446 3.464l-1.475-.606a2.529 2.529 0 0 0 1.315 1.25 2.559 2.559 0 0 0 3.339-1.374 2.526 2.526 0 0 0 .004-1.951zm8.251-6.618a3.021 3.021 0 1 0 -3.021 3.015 3.022 3.022 0 0 0 3.021-3.013z",fill:"#fff"})]}):t==="youtube"?(0,E.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})}):t==="twitch"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"m24 12a12 12 0 1 1 -12-12 12 12 0 0 1 12 12z",fill:"#111"}),(0,E.jsx)("path",{d:"m12.308 17.167-1.833 1.833h-1.818v-1.833h-3.357v-9.733l.925-2.434h12.475v8.517l-3.648 3.65zm5.175-10.95h-10.043v8.824h2.743v1.833l1.817-1.833h3.342l2.14-2.126zm-5.483 6.083v-3.65h-1.218v3.65zm3.342 0v-3.65h-1.216v3.65z",fill:"#fff"})]}):t==="facebook"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m13.079 19h-2.9v-7h-1.441v-2.408h1.442v-1.456c0-1.96.813-3.136 3.136-3.136h1.933v2.408h-1.2c-.91 0-.965.35-.965.966v1.218h2.183l-.257 2.408h-1.931z",fill:"currentColor"})}):t==="pinterest"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.336 5c-3.822 0-5.754 2.744-5.754 5.025a3.065 3.065 0 0 0 1.652 3.066.279.279 0 0 0 .407-.2l.154-.644a.373.373 0 0 0-.113-.448 2.341 2.341 0 0 1-.532-1.582 3.812 3.812 0 0 1 3.961-3.849 3.009 3.009 0 0 1 3.346 3.08c0 2.323-1.022 4.283-2.547 4.283a1.253 1.253 0 0 1-1.273-1.554 17.616 17.616 0 0 0 .713-2.856 1.081 1.081 0 0 0-1.092-1.2c-.854 0-1.553.881-1.553 2.071a2.954 2.954 0 0 0 .266 1.274l-1.038 4.383a9.389 9.389 0 0 0-.027 3.065.109.109 0 0 0 .2.042 8.737 8.737 0 0 0 1.457-2.631l.561-2.212a2.3 2.3 0 0 0 1.959 1.008c2.59 0 4.34-2.366 4.34-5.516a4.8 4.8 0 0 0-5.087-4.605z",fill:"currentColor"})}):t==="substack"?(0,E.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z"})}):t==="threads"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12.186 24h-.007c-3.582-.024-6.332-1.22-8.173-3.555C2.26 18.212 1.5 15.228 1.5 11.83 1.5 8.16 2.673 5.097 4.902 2.935 7.026.877 10.02 0 13.565 0c3.784 0 6.81 1.028 8.995 3.056 2.008 1.862 3.013 4.417 2.91 7.391-.122 3.518-1.57 6.136-4.304 7.781-1.892 1.138-4.103 1.62-6.57 1.433-.122.392-.266.769-.434 1.127-.514 1.096-1.18 1.96-1.982 2.569-.884.67-1.933 1.01-3.118 1.01-1.34 0-2.42-.42-3.21-1.248-.78-.82-1.17-1.89-1.17-3.18 0-1.512.52-2.73 1.545-3.62 1.018-.883 2.45-1.33 4.258-1.33.56 0 1.11.04 1.63.12-.04-.53-.13-1.02-.27-1.46-.26-.81-.71-1.45-1.34-1.92-.62-.47-1.42-.71-2.38-.71-1.09 0-2.02.29-2.77.87-.29.22-.68.17-.9-.12l-.76-1.03c-.22-.3-.16-.71.13-.93C7.43 5.37 8.95 4.9 10.8 4.9c1.64 0 2.99.41 4.02 1.22 1.04.81 1.73 1.93 2.06 3.33.15.65.25 1.42.3 2.31 1.68-.31 3.05-1.05 4.08-2.2 1.01-1.13 1.52-2.58 1.52-4.31 0-2.43-.84-4.32-2.5-5.62C18.63 1.32 16.32.5 13.56.5c-3.03 0-5.54.73-7.27 2.21C4.48 4.27 3.5 6.78 3.5 10c0 3.1.66 5.62 1.96 7.49 1.34 1.93 3.38 2.92 6.07 2.95 1.76.02 3.32-.34 4.64-1.07.28-.15.63-.05.78.22l.55.98c.15.28.05.63-.22.78-1.63.9-3.55 1.35-5.7 1.35z"})}):t==="tiktok"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.308 5.012c.763-.012 1.522 0 2.281-.012a3.636 3.636 0 0 0 1.02 2.434 4.12 4.12 0 0 0 2.473 1.043v2.349a6.177 6.177 0 0 1-2.449-.564 7.207 7.207 0 0 1-.947-.543c0 1.705.008 3.406-.01 5.105a4.442 4.442 0 0 1-.789 2.3 4.343 4.343 0 0 1-3.448 1.872 4.254 4.254 0 0 1-2.379-.6 4.393 4.393 0 0 1-2.127-3.331c-.014-.292-.019-.584-.007-.868a4.395 4.395 0 0 1 5.091-3.9c.013.864-.021 1.727-.021 2.591a2.007 2.007 0 0 0-2.558 1.237 2.316 2.316 0 0 0-.079.939 1.992 1.992 0 0 0 3.658.736 1.39 1.39 0 0 0 .239-.62c.057-1.043.034-2.082.041-3.126.006-2.351-.007-4.7.011-7.041z",fill:"currentColor"})}):t==="bluesky"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.879.139 2.588-.02 3.868.002 5.03c.08 4.201 1.84 10.024 3.931 12.397 2.091 2.373 4.545 1.573 5.467.927.817-.573 1.564-1.611 2.6-2.92 1.036 1.309 1.783 2.347 2.6 2.92.922.646 3.376 1.446 5.467-.927 2.091-2.373 3.851-8.196 3.931-12.397.022-1.162-.137-2.442-.9-3.151-.659-.613-1.664-.935-4.3-1.074C16.046 4.747 13.087 8.686 12 10.8z"})}):t==="github"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})}):t==="rss"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M4 11a9 9 0 0 1 9 9"}),(0,E.jsx)("path",{d:"M4 4a16 16 0 0 1 16 16"}),(0,E.jsx)("circle",{cx:"5",cy:"19",r:"1"})]}):(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,E.jsx)("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),(0,E.jsx)("path",{d:"M2 12h20"})]})}function U0({authorCount:e=0,authorArticlesList:t,authorBioLength:n,customBio:a,customHeaderKicker:l,customHeaderTitle:i,effectiveAuthorHandle:r,effectiveAuthorName:o,isReviewWidget:u=!1,onBioChange:c,onHeaderKickerChange:s,onHeaderTitleChange:f,selectedProfile:d,showAuthorBio:m=!0,showAuthorIdentity:v=!0,showSocialButtons:A=!0,stabilizeBio:b=!1,totalDealCount:h=0,website:g}){let p=Vu(r,o),y=g||"tomsguide",C=Gu[y]||y,R=Nr[y],T=r?.toLowerCase(),M=o?.toLowerCase(),w=t.find(Be=>T&&Be.articleauthorhandle?.some(Je=>Je?.toLowerCase()===T)||M&&Be.articleauthor?.some(Je=>Je?.toLowerCase()===M))||null,D=w?sf(w,r,o):0,k=d?.image||(w?c0(w,D):""),se=d?n==="short"?d.bioShort||"":d.bioLong||d.bioShort||"":w?_r(w,D,n):"",I=p?`Our team is dedicated to researching, reviewing and recommending the latest and best products in all the categories that matter to you. Below you can shop the latest ${h} ${u?"review ":""}recommendations from ${e} ${C} ${u?"editor tests":"editors"}.`:se||`Handpicked deals and recommendations curated by ${o||"our expert editorial team"}.`,j=d?.role||"",He=p?y0[y]||[]:d?.socialNetworks||[];!p&&w&&(j||(j=u0(w,D)),He.length===0&&(He=Uu(w,D)));let ze=d?.fullName||o||"Author Name",St=p?`site:${y}`:`author:${d?.handle||r||ze}`,Ie=A&&He.length>0,rn=!p&&!!j||Ie;return(0,E.jsxs)("div",{className:"tg-df-author-card",style:{textAlign:"center",padding:"1.75rem 1rem 0.25rem 1rem",margin:"0 auto",maxWidth:"48rem"},children:[v&&(p?(0,E.jsx)("div",{className:"tg-df-author-media-slot tg-df-author-image-container",style:{margin:"0 auto 0.75rem auto",textAlign:"center",minHeight:"180px",display:"flex",alignItems:"center",justifyContent:"center"},children:R?(0,E.jsx)("img",{src:R,alt:C,className:"tg-df-site-logo",style:{maxHeight:"150px",maxWidth:"520px",objectFit:"contain",margin:"0 auto",display:"block"}}):(0,E.jsx)("div",{style:{fontSize:"1.75rem",fontWeight:700,color:"#111827"},children:C})}):(0,E.jsx)("div",{className:"tg-df-author-media-slot",children:(0,E.jsxs)("div",{className:"tg-df-author-profile-image-wrapper",children:[k?(0,E.jsx)("img",{src:ri(k),alt:ze,className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",objectFit:"cover",display:"block"}}):(0,E.jsx)("div",{className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",background:"#e2e8f0",display:"block"}}),R?(0,E.jsx)("img",{src:R,alt:"",className:"tg-df-author-profile-brand-logo"}):null]})})),v&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(H0,{contentKey:`${St}:kicker`,defaultText:u?"Reviews shop by":"Shop by",kind:"kicker",onChange:s,value:l}),(0,E.jsx)(H0,{contentKey:`${St}:title`,defaultText:p?C:ze,kind:"title",onChange:f,value:i}),rn&&(0,E.jsxs)("div",{className:`tg-df-author-meta-slot${p?" tg-df-author-meta-slot--site":""}${Ie?"":" tg-df-author-meta-slot--no-social"}`,children:[!p&&j?(0,E.jsx)("div",{className:"tg-df-author-role",id:"tg-df-author-role-display",style:{fontSize:"0.9375rem",fontWeight:500,color:"var(--tg-df-blue, #1F69FF)",margin:"0 0 0.5rem 0",lineHeight:1.3},children:j}):null,Ie?(0,E.jsx)("div",{className:"tg-df-author-social-links",children:He.map(Be=>(0,E.jsx)("a",{href:Be.href,target:"_blank",rel:"noopener noreferrer",title:Be.label,"aria-label":Be.label,className:"tg-df-author-social-btn","data-social-key":Be.key.toLowerCase(),children:r2(Be.key)},Be.key))}):null]})]}),m&&(0,E.jsx)(i2,{contentKey:St,initialBio:a,defaultPlaceholder:I,onBioChange:c,stabilizeHeight:b})]})}var te=B(O(),1);function df(e){if(!e||typeof e!="object")return"";if(e.type==="voucher_code"&&e.display_value)return e.display_value;let t=Array.isArray(e)?e:Object.keys(e).filter(n=>Object.prototype.hasOwnProperty.call(e,n)).map(n=>e[n]);for(let n of t){let a=df(n);if(a)return a}return""}function o2({endTime:e}){if(!e)return null;let t=e;!isNaN(Number(t))&&String(t).length===10&&(t=Number(t)*1e3);let n=new Date(t),a=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"});return(0,te.jsxs)("span",{className:"tg-df-voucher-expiry",children:[(0,te.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginRight:"4px"},children:[(0,te.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,te.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"Expires ",a.format(n)]})}function G0({error:e,loading:t,merchant:n,onClose:a,vouchers:l}){return(0,te.jsx)("div",{className:`tg-df-modal-backdrop ${n?"active":""}`,onClick:i=>{i.target===i.currentTarget&&a()},children:(0,te.jsxs)("div",{className:"tg-df-modal",children:[(0,te.jsxs)("div",{className:"tg-df-modal-header",children:[(0,te.jsx)("h3",{className:"tg-df-modal-title",children:n?`${n} Coupons & Deals`:"Available Coupons & Deals"}),(0,te.jsx)("button",{className:"tg-df-modal-close",onClick:a,children:(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,te.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,te.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),(0,te.jsx)("div",{className:"tg-df-modal-body",children:t?(0,te.jsx)("div",{className:"tg-df-message",children:(0,te.jsx)("div",{className:"tg-df-coupon-spinner",style:{width:"24px",height:"24px",borderColor:"#ccc",borderTopColor:"#3b82f6"}})}):e?(0,te.jsx)("div",{className:"tg-df-message",children:"Failed to load vouchers."}):l.length===0?(0,te.jsxs)("div",{className:"tg-df-message",children:["No active vouchers found for ",n,"."]}):l.map((i,r)=>{let o=i.offer?.name||i.offer?.title||i.name||i.title||i.model_name||"Voucher",u=i.offer?.link||i.offer?.url||i.link||i.url||"#",c=i.merchant,s=Array.isArray(c)?c[0]?.logo_url||"":c?.logo_url||"",f=df(i.offer)||df(i)||i.offer?.voucher_code||i.voucher_code||"",d=i.offer?.end_time||i.end_time||"";return(0,te.jsxs)("a",{href:u,target:"_blank",rel:"noopener nofollow",className:"tg-df-voucher-item",children:[s?(0,te.jsx)("img",{src:s,alt:"Logo",className:"tg-df-voucher-logo"}):(0,te.jsx)("div",{className:"tg-df-voucher-logo",style:{background:"#e2e8f0"}}),(0,te.jsxs)("div",{className:"tg-df-voucher-content",children:[(0,te.jsx)("h4",{className:"tg-df-voucher-title",children:o}),(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginTop:"8px"},children:[f&&(0,te.jsxs)("span",{className:"tg-df-voucher-code",title:"Copy to clipboard",onClick:m=>{m.preventDefault(),m.stopPropagation();let v=m.currentTarget;navigator.clipboard.writeText(f).then(()=>{v.classList.add("copied");let A=v.querySelector(".tg-df-voucher-code-text"),b=v.querySelector(".tg-df-voucher-copy-icon"),h=A.innerText,g=b.innerHTML;A.innerText="Copied!",b.innerHTML='<polyline points="20 6 9 17 4 12"><\/polyline>',setTimeout(()=>{v.classList.remove("copied"),A&&(A.innerText=h),b&&(b.innerHTML=g)},2e3)})},children:[(0,te.jsx)("span",{className:"tg-df-voucher-code-text",children:f}),(0,te.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:"6px",flexShrink:0},className:"tg-df-voucher-copy-icon",children:[(0,te.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,te.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})]}),d&&(0,te.jsx)(o2,{endTime:d})]})]})]},r)})})]})})}var N=B(ft(),1);function ci(e){if(!e||!e.articlepage)return[];try{let t=e.articlepage;if(!Array.isArray(t))return typeof t=="string"?JSON.parse(t):t;if(t.length===0)return[];let n=t[0];return typeof n=="string"?JSON.parse(n):Array.isArray(n)?n:n&&typeof n=="object"&&"type"in n?t:n}catch{return[]}}function si(e,t=!1,{includeCollections:n=!0,includeDeals:a=!0}={}){let l=t?e.filter(r=>r.type==="buying-guide"):[];if(l.length>0)return l;let i=e.filter(r=>r.type==="deal"||r.type==="featured-product");return a&&!n&&!t?i.filter(r=>r.type==="deal"):i}function di(e,t){if(!t||t.length===0)return!0;let n=e&&(e.brand||e.retailer)||"";if(!n)return!1;let a=n.replace(/^\d+\.\s*/,"").trim().toLowerCase();return t.some(l=>{let i=l.trim().toLowerCase();return a===i||a.startsWith(`${i} `)||a.includes(i)||i.includes(a)})}function wt(e){return!e||e==="auto"?"US":e}function an(e){return e==="GB"||e==="UK"?"GBP":e==="AU"?"AUD":e==="CA"?"CAD":["DE","FR","IT","ES","NL"].includes(e)?"EUR":"USD"}function P0(e,t){if(e.isBuyingGuideProduct||e.isReviewProduct)return!0;if(t==="unavailable")return!1;let n=String(e.isoCurrency||e.currency||"").trim().toUpperCase();return({$:"USD",A$:"AUD",CA$:"CAD","\xA3":"GBP","\u20AC":"EUR"}[n]||n)===an(t)}function fi(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=a?n.currency||(n.price&&typeof n.price=="object"?n.price.currency:""):l.currency||(typeof l=="string"?l:"")||n.currency||"";!i&&n.variants&&n.variants.length>0&&(i=n.variants[0].currency||"");let r="$",o="USD",u=(i||"").toString().toUpperCase().trim();return u==="GBP"||u==="\xA3"||u.includes("POUND")||u.includes("163")?(r="\xA3",o="GBP"):u==="EUR"||u==="\u20AC"||u.includes("EURO")||u.includes("8364")?(r="\u20AC",o="EUR"):u==="AUD"||u==="A$"?(r="A$",o="AUD"):u==="CAD"||u==="CA$"?(r="CA$",o="CAD"):u==="USD"||u==="$"||u.includes("DOLLAR")||u.includes("36")?(r="$",o="USD"):(o=an(t),o==="GBP"?r="\xA3":o==="AUD"?r="A$":o==="CAD"?r="CA$":o==="EUR"&&(r="\u20AC")),{isoCurr:o,currencyStr:r}}function Ku(e){let t=e.data||{},n=e.type==="featured-product",a=t.price||{},l=0,i=0;return n?(l=typeof a=="number"?a:a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):t.msrp?parseFloat(t.msrp):0):(l=a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):0),{rawPrice:l,rawMsrp:i}}function Sa(e,t){if(!t||t==="all"||e<=0)return!0;if(t==="under50"&&e>=50||t==="over50"&&e<=50||t==="over30"&&e<=30||t==="over500"&&e<=500)return!1;if(t.includes("_")){let[n,a]=t.split("_").map(Number);if(n&&e<n||a&&e>a)return!1}return!0}function Ca(e,t,n){if(!n||n==="0"||n==="all")return!0;let a=parseInt(n);return!(!isNaN(a)&&a>0&&(!t||t<=e||Math.round((1-e/t)*100)<a))}var Zu=[0,50,100,150,200,250,300,350,400,450],ff={parameter:"articleControlTag",value:"type_buying_guide"},u2={includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"}]},c2={pcgamer:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["deals","type_deal","channel_gaming_hardware"]}],buyingGuideScopes:[ff]},homesandgardens:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"sig-product-collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"van-hawk-collection-widget",inventoryKind:"collections"},{parameter:"articleControlTag",value:"shopping",requiredArticleType:"news",inventoryKind:"collections"},{parameter:"articleType",value:"deals",inventoryKind:"deals"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["shopping","type_deal"],inventoryKind:"deals"}],buyingGuideScopes:[{parameter:"articleType",value:"buying guide"},ff]},whowhatwear:{includeAllContent:!0,pageStarts:Zu,scopes:[{}]}};function Wu(e,{includeBuyingGuideProducts:t=!1,includeCollections:n=!0,includeDeals:a=!0}={}){let l=c2[e]||u2;if(l.includeAllContent)return l;let i=l.scopes.filter(r=>r.inventoryKind==="collections"?n:r.inventoryKind==="deals"?a:r.value==="sig-product-collection"?n:a);return t?{...l,scopes:[...i,...l.buyingGuideScopes||[ff]]}:{...l,scopes:i}}function gf(e){if(Array.isArray(e))return e;let t=e.data;return t&&Array.isArray(t)?t:[]}function q0(e){let t=new Set;return e.filter(n=>{let a=n.id||n.articleid||n.url;return!a||t.has(a)?!1:(t.add(a),!0)})}function Zt(e){return typeof e.articletype=="string"?e.articletype.toLowerCase():Array.isArray(e.articletype)&&e.articletype.length>0?e.articletype[0].toLowerCase():""}function Hr(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]/g,"")}function mf(e){return[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]].map(Hr)}function s2(e){return Zt(e)==="review"&&mf(e).some(t=>t.includes("channelgaminghardware"))}function F0(e,t,n){let a=Zt(e),l=mf(e),i=c=>l.some(s=>s.includes(c)),r=a==="news"&&i("shopping")&&i("deal")&&i("typedeal"),o=a==="deals"||r,u=a==="collection"||i("sigproductcollection")||i("vanhawkcollectionwidget")||a==="news"&&i("shopping")&&!r||a==="idea"&&i("shopping")&&(i("sigproductcollection")||i("vanhawkcollectionwidget"));return t&&o||n&&u}function el(e,t=!0,n=!0,a){if(a==="homesandgardens")return F0(e,t,n);let l=Zt(e),i=mf(e),r=l==="deals"||i.some(u=>u.includes("typedeal")),o=i.some(u=>u.includes("sigproductcollection"));return t&&r||n&&o}function j0(e,t,n=!1,a=!1,l=!0,i=!0){if(a&&Zt(e)==="review")return t!=="pcgamer"||s2(e);if(t==="homesandgardens")return Zt(e)==="buying guide"?n:F0(e,i,l);let r=Wu(t,{includeBuyingGuideProducts:n,includeCollections:l,includeDeals:i});if(r.includeAllContent)return i&&l?!0:n||el(e,i,l);let o=Zt(e),u=[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]],c=f=>!f.requiredArticleType||o===f.requiredArticleType.toLowerCase(),s=f=>!f.requiredControlTags||f.requiredControlTags.every(d=>u.some(m=>typeof m=="string"&&Hr(m).includes(Hr(d))));return r.scopes.some(f=>!c(f)||!s(f)?!1:f.parameter==="articleType"?o===f.value.toLowerCase():f.parameter==="articleControlTag"?u.some(d=>typeof d=="string"&&Hr(d).includes(Hr(f.value))):!1)}function hf(e,t){let n=e.map(a=>({...a}));return t.filter(a=>(a.isBuyingGuideProduct||a.isReviewProduct)&&a.brand).forEach(a=>{let l=String(a.brand).trim();if(!l)return;let i=n.find(r=>r.formatted_value.toLowerCase()===l.toLowerCase());i?i.count++:n.push({formatted_value:l,count:1})}),n.sort((a,l)=>l.count-a.count)}function Iu(e,t){let n={};return e.forEach(a=>{if(!a.articlepage)return;let l=ci(a),i=si(l,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});(t.includeDeals===!1||t.includeCollections===!1)&&!i.some(r=>r.type==="buying-guide")&&!el(a,t.includeDeals,t.includeCollections,t.website)||i.forEach(r=>{if(fi(r,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:o,rawMsrp:u}=Ku(r);if(!Sa(o,t.priceRange)||!Ca(o,u,t.discountAmount))return;let c=r.data||{},s=c.brand||c.retailer;if(!s)return;let f=s.replace(/^\d+\.\s*/,"").trim(),d=f.toLowerCase(),m=Object.keys(n).find(v=>v.toLowerCase()===d);m?n[m]++:(f===f.toLowerCase()&&(f=f.replace(/\b\w/g,v=>v.toUpperCase())),n[f]=1)})}),Object.keys(n).map(a=>({formatted_value:a,count:n[a]})).sort((a,l)=>l.count-a.count)}function d2(e){return String(e||"").trim().toLowerCase()}function Ju(e){return(Array.isArray(e)?e:[e]).map(d2).filter(Boolean)}function pf(e){let t=Ju(e.articletype),n=[...Ju(e.articlecontroltag),...Ju(e.articletagtypetaghandle)];return t.includes("deals")||n.some(a=>a.replace(/[\s-]+/g,"_")==="type_deal")}function V0(e){let t=Array.isArray(e)?e[0]:e,n=new Date(String(t||"")).getTime();return Number.isFinite(n)?n:null}function f2(e){for(let t of[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]){let n=V0(t);if(n!==null)return n}return null}function g2(e){for(let t of[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]){let n=V0(t);if(n!==null)return n}return null}function Y0(e){return Ju(e.articletype).includes("review")}function yf(e,t=new Date,n=0){let a=pf(e)?1:Y0(e)?36:n;if(a<=0)return!0;let l=Y0(e)?g2(e):f2(e);if(l===null)return!0;let i=new Date(t);return i.setMonth(i.getMonth()-a),l>=i.getTime()}function tl(e,t,n=0){return e.filter(a=>yf(a,t,n))}var m2=15;function Q0(e){return Array.isArray(e.articlemedia)?e.articlemedia[0]:""}function zr(e){return Array.isArray(e.documenturl)?e.documenturl[0]:e.documenturl||""}function h2(e){return kt(String(e||"").replace(/^\d+\.\s*/,"").trim())}function tt(e){return Array.isArray(e)?e.map(tt).find(Boolean)||"":typeof e=="string"||typeof e=="number"?String(e).trim():""}function vf(e,t=!1){return(t?[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]:[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]).map(tt).find(Boolean)||""}function p2(e,t,n){let a=tt(e).match(/^\s*(\d+)\s*[.)]\s*/)?.[1];return a||[t.rank,t.position,t.number,t.productNumber,t.product_number].map(tt).map(i=>i.match(/^\s*(\d+)\s*$/)?.[1]||"").find(Boolean)||String(n+1)}function y2(e){let t=tt(e);try{t=new URL(t).pathname}catch{}return t=t.split(/[?#]/)[0].split("/").filter(Boolean).at(-1)||"",t.split(/[-_]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function v2(e){return tt(e.documenthandle)||tt(e.document_handle)||zr(e)||tt(e.documentname)||tt(e.documentnametext)}function b2(e,t){if(!t)return"";let n=t.length>m2?"Ranked":t;return`#${e} ${n}`}function A2(e){if(typeof e=="object"&&e)return String(e["data-model-name"]||"");try{return String(JSON.parse(String(e||""))["data-model-name"]||"")}catch{return""}}function w2(e){let t=e.brand||e.productBrand||e.manufacturer||e.maker||"";return typeof t=="string"?kt(t.replace(/^\d+\.\s*/,"").trim()):""}function S2(e){let t=e.price&&typeof e.price=="object"?e.price:{},n=Number(t.salePrice||t.price||e.salePrice||e.current_price||(typeof e.price=="number"?e.price:0)),a=Number(t.wasPrice||t.msrp||e.was_price||e.msrp||0),l=e.url||e.link?.url||e.link?.href||"";return{currency:t.currency||e.currency||"",rawMsrp:Number.isFinite(a)?a:0,rawPrice:Number.isFinite(n)?n:0,url:l}}function bf(e){let t=e?.review||{},n=t.rating??t.starRating??t.score??e?.rating??e?.starRating??e?.score,a=Number(n);if(!Number.isFinite(a)||a<=0)return null;let l=a>5?a/20:a;return Math.min(l,5)}function K0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,imageUrl:i}){let r=t.data||{},o=r.review||{},u=h2(r.title),c=p2(r.title,r,a),s=y2(v2(e)),f=zr(e),d=S2(r),m=!!d.url,v=m?d.url:o.url||f,A=i||Q0(e);return{id:`airedale-buying-guide-${n}-${a}`,url:v,image:A,fallbackImage:A,title:u,brand:w2(r),productName:u,merchant:"",rawPrice:d.rawPrice,rawMsrp:d.rawMsrp,price:d.rawPrice>0?String(d.rawPrice):"",msrp:d.rawMsrp>0?String(d.rawMsrp):"",currency:d.currency,isoCurrency:"",isCheckPrice:d.rawPrice<=0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf(r),description:"",text:"",subtitle:kt(r.subtitle||""),pros:Array.isArray(r.pros)?r.pros:[],cons:Array.isArray(r.cons)?r.cons:[],...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:!1,isBuyingGuideProduct:!0,buyingGuideBadge:b2(c,s),hawkModelName:A2(r.hawk),hasCommerceOffer:m,sourceArticleUrl:f}}function C2(e){return gi(e)||tt(e.documentnametext)||tt(e.documentname)}function $u(e){if(Array.isArray(e))return e.map($u).find(Boolean)||"";if(e&&typeof e=="object"){let n=e,a=tt(n["data-widget-type"]||n.dataWidgetType||n.widgetType).toLowerCase(),l=tt(n["data-model-name"]||n.dataModelName||n.modelName);return a==="review"&&l?l:Object.values(n).map($u).find(Boolean)||""}if(typeof e!="string")return"";let t=[e,e.replace(/\\"/g,'"').replace(/\\u0022/gi,'"')];for(let n of t){try{let l=$u(JSON.parse(n));if(l)return l}catch{}let a=n.match(/["']data-widget-type["']\s*:\s*["']review["'][\s\S]{0,1500}?["']data-model-name["']\s*:\s*["']([^"']+)["']/i);if(a?.[1])return a[1].trim()}return""}function gi(e){let t=tt(e.articlehawkmodels);if(t)return t;for(let n of[e.articlepage,e.articlebodypageblock,e.articlepageblock,e.fepjson,e.articlebodyclean]){let a=$u(n);if(a)return a}return""}function X0(e){return(Array.isArray(e)?e:[e]).map(t=>kt(tt(t))).filter(Boolean)}function Z0({article:e,articleIdentity:t,authorProfile:n}){let a=kt(gi(e)),l=kt(C2(e)),i=zr(e),r=Q0(e),o=kt(tt(e.productverdict));return{id:`airedale-review-${t}`,url:i,image:r,fallbackImage:r,title:l,brand:"",productName:l,merchant:"",rawPrice:0,rawMsrp:0,price:"",msrp:"",currency:"",isoCurrency:"",isCheckPrice:!0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf({rating:e.productrating}),description:o,text:o,...n,documentUrl:i,modifiedDate:vf(e,!0),isFeatured:!1,isReviewProduct:!0,hawkModelName:a||l,hasCommerceOffer:!1,sourceArticleUrl:i,pros:X0(e.productpros),cons:X0(e.productcons)}}function kt(e){return typeof e=="string"?ee(e):e}function W0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,currencyString:i,isoCurrency:r,presentation:o,pricing:u}){let c=t.data||{},{isFeatured:s,externalUrl:f,summaryTitle:d,description:m,imageUrl:v,merchantName:A}=o,{rawPrice:b,rawMsrp:h,savingLabel:g}=u;return{id:`airedale-${n}-${a}`,url:f,image:v,fallbackImage:v,title:kt(d),brand:kt(c.brand||""),productName:kt(c.productName||""),merchant:kt(A),rawPrice:b,rawMsrp:h,price:b>0?b.toString():"",msrp:h>0?h.toString():"",currency:i,isoCurrency:r,isCheckPrice:!b,savingLabel:g,savingType:h>b?"amount":"none",isPrime:!1,starRating:bf(c),description:kt(m),text:kt(c.text||""),...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:s,hasCommerceOffer:!!f}}function I0(e,t){let n=t.data||{},a=t.type==="featured-product",l=n.link||{},i=n.image||{};n.brand&&(n.brand=n.brand.replace(/^\d+\.\s*/,"").trim());let r=a?n.url:l.href||null,o=a?n.name||n.brand:n.productName||l.label||(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),u=a?n.strapline||"":n.text||"";if(!a&&!n.productName&&n.text){let f=n.text.split(/<br\s*\/?>/i);if(f.length>1)o=f[0].replace(/<[^>]+>/g,"").trim(),u=f.slice(1).join(" ").replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();else{let d=n.text.match(/<strong>(.*?)<\/strong>/);d&&(o=d[1].replace(/<[^>]+>/g,"").trim(),o.endsWith(":")&&(o=o.slice(0,-1)))}}let c=a?i.mos:i.src||null;c?.startsWith("//")&&(c=`https:${c}`),u=u.replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").replace(/View Deal$/i,"").trim();let s=n.retailer||"";if(!s&&r)try{s=new URL(r).hostname.replace("www.","").split(".")[0],s=s.charAt(0).toUpperCase()+s.slice(1)}catch{}return s||(s="Retailer"),{isFeatured:a,externalUrl:r,summaryTitle:o,description:u,imageUrl:c,merchantName:s}}function J0(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=0,r=0;a?(i=typeof n.salePrice=="number"&&n.salePrice>0?n.salePrice:typeof n.price=="number"?n.price:0,r=typeof n.salePrice=="number"&&typeof n.price=="number"&&n.price>n.salePrice?n.price:0):(i=l.amount?parseFloat(l.amount):0,r=l.amountWas?parseFloat(l.amountWas):0);let o=0,u="";return i>0&&r>i&&(o=parseFloat((r-i).toFixed(2)),u=`Save ${t}${o}`),{rawPrice:i,rawMsrp:r,savingLabel:u}}function R2(e,t){let n=e.indexOf(t);if(n<1)return"";let a=e[n-1]?.data||{},i=a.slides?.[0]?.image||a.image||a;return i?.src||i?.mos||""}function Ur(e,{activeRegionCode:t,targetIso:n,selectedBrands:a,priceRange:l,discountAmount:i,authorHandle:r,authorName:o,createFallbackIdentity:u=Math.random,includeBuyingGuideProducts:c=!1,includeCollections:s=!0,includeDeals:f=!0,includeReviewProducts:d=!1,website:m}){let v=[],A=new Set;return e.forEach(b=>{if(d&&Zt(b)==="review"){v.push(Z0({article:b,articleIdentity:b.id||u(),authorProfile:Qu(b,r,o)}));return}if(!b.articlepage)return;let h=ci(b),g=si(h,c,{includeCollections:s,includeDeals:f});(f===!1||s===!1)&&!g.some(p=>p.type==="buying-guide")&&!el(b,f,s,m)||g.forEach((p,y)=>{if(p.type==="buying-guide"){v.push(K0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),imageUrl:R2(h,p)}));return}let{isoCurr:C,currencyStr:R}=fi(p,t);if(C!==n)return;let T=p.data||{},M=I0(b,p),{externalUrl:w}=M,D=J0(p,R),{rawPrice:k,rawMsrp:se}=D;if(!(a&&a.length>0&&!di(T,a))&&Sa(k,l)&&Ca(k,se,i)){if(w){if(A.has(w))return;A.add(w)}v.push(W0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),currencyString:R,isoCurrency:C,presentation:M,pricing:D}))}})}),v}function mi(e,t){return Ur(e,{...t,selectedBrands:[],priceRange:"all",discountAmount:"0"})}function $0(e,t){return Ur(e,t)}function Gr(e){return(Array.isArray(e)?e:[e]).filter(n=>typeof n=="string").map(n=>n.trim())}function ec(e){return e?.trim().toLowerCase()==="freeform"}function Af(e){return!!e&&!/[^\p{L}\p{N}\s]/u.test(e)}function wf(e){let t=Gr(e.articletag),n=Gr(e.articletaghandle),a=Gr(e.articletagtype),l=new Map;t.forEach((o,u)=>{let c=n[u];!ec(a[u])||!c||!Af(o)||l.set(c.toLowerCase(),{handle:c,label:o,requestValue:o})});let i=Gr(e.articletagtypetag),r=Gr(e.articletagtypetaghandle);return i.forEach((o,u)=>{let[c,...s]=o.split("|"),[f,...d]=(r[u]||"").split("|"),m=s.join("|").trim(),v=d.join("|").trim();!ec(c)||!ec(f)||!v||!Af(m)||l.has(v.toLowerCase())||l.set(v.toLowerCase(),{handle:v,label:m,requestValue:m})}),r.forEach(o=>{let[u,...c]=o.split("|"),s=c.join("|").trim();!ec(u)||!s||!Af(s)||l.has(s.toLowerCase())||l.set(s.toLowerCase(),{handle:s,label:s})}),[...l.values()]}function ev(e,t){if(t)return e.find(n=>n.handle.toLowerCase()===t.toLowerCase())?.requestValue}function hi(e,t){let n=(Array.isArray(t)?t:[t]).filter(a=>typeof a=="string").map(a=>a.trim().toLowerCase()).filter(Boolean);return n.length===0?e:e.filter(a=>wf(a).some(l=>n.includes(l.handle.toLowerCase())))}function T2(e){let t=new Map;return Array.isArray(e.articlecategory)?(e.articlecategory.forEach(n=>{if(typeof n!="string")return;let a=n.trim();a===a.toLowerCase()&&(a=a.replace(/\b\w/g,l=>l.toUpperCase())),a&&!t.has(a.toLowerCase())&&t.set(a.toLowerCase(),{handle:a,label:a})}),[...t.values()]):[]}function tv(e,t,n){let a={},l={},i={};e.forEach(u=>{let c=[];if(t.includeReviewProducts&&Zt(u)==="review"&&c.push(u.id||u.documenturl||u.documenthandle||""),u.articlepage)try{let s=ci(u),f=si(s,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});if((t.includeDeals===!1||t.includeCollections===!1)&&!f.some(d=>d.type==="buying-guide")&&!el(u,t.includeDeals,t.includeCollections,t.website))return;f.forEach(d=>{if(d.type==="buying-guide"){c.push(d.id||JSON.stringify(d.data||{}));return}if(fi(d,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:m,rawMsrp:v}=Ku(d);if(!Sa(m,t.priceRange)||!Ca(m,v,t.discountAmount))return;let A=d.data||{};if(t.selectedBrands&&t.selectedBrands.length>0&&!di(A,t.selectedBrands))return;let h=d.type==="featured-product"?A.primaryLink:A.link,g=A.url||A.link&&A.link.url||h&&h.url;c.push(g||JSON.stringify(A))})}catch{}c.length!==0&&n(u).forEach(s=>{let f=s.handle.toLowerCase(),d=Object.keys(a).find(m=>m.toLowerCase()===f);d||(d=s.handle,a[d]=new Set,l[d]=s.label,i[d]=s.requestValue),c.forEach(m=>a[d].add(m))})});let r={};return Object.keys(a).forEach(u=>{r[u]=a[u].size}),{tags:Object.keys(r).map(u=>({handle:u,label:l[u]||u,requestValue:i[u]})).sort((u,c)=>r[c.handle]-r[u.handle]),tagCounts:r}}function tc(e,t){let{tags:n,tagCounts:a}=tv(e,t,T2);return{tags:n.map(l=>l.label),tagCounts:a}}function nc(e,t){let{tags:n,tagCounts:a}=tv(e,t,wf);return{tags:n,tagCounts:a}}function E2(e,t){return e.documentUrl||e.sourceArticleUrl||e.articleId||`deal-${t}`}function yn(e,t,n){if(t!=="mix"||n!=="date_desc")return e;let a=new Map;e.forEach((o,u)=>{let c=E2(o,u),s=a.get(c)||[];s.push(o),a.set(c,s)});let l=[],i=0,r=!0;for(;r;)r=!1,a.forEach(o=>{let u=o[i];u&&(l.push(u),r=!0)}),i+=1;return l}var nv="compact-v1",D2={brand:"",currency:"",hasCommerceOffer:!1,isoCurrency:"",isCheckPrice:!0,isFeatured:!1,isPrime:!1,merchant:"",merchantId:"",msrp:"",price:"",rawMsrp:0,rawPrice:0,savingLabel:"",savingType:"none"},x2={hasCommerceOffer:!0,hawkPricePending:!1,rawMsrp:0,rawPrice:0};function av(e){return e.map(t=>{if(!t.isReviewProduct)return t;let n=String(t.sourceArticleUrl||t.documentUrl||t.url||""),a=t.fallbackImage??t.image??"",l={...D2,...t,fallbackImage:a,image:t.image??a,sourceArticleUrl:n,documentUrl:t.documentUrl??n,url:t.url??n,title:t.title??t.productName??"",text:t.text??t.description??"",hawkPricePending:t.hawkPricePending??!!t.hawkModelName,pros:t.pros??[],cons:t.cons??[]};return t.hawkRegionalCommerce&&(l.hawkRegionalCommerce=Object.fromEntries(Object.entries(t.hawkRegionalCommerce).map(([i,r])=>{let o=r,u=o.productName??l.productName,c=o.rawPrice??0,s=o.rawMsrp??0;return[i,{...x2,...o,fallbackImage:o.fallbackImage??a,image:o.image??a,productName:u,title:o.title??u??l.title,price:o.price??(c?String(c):""),msrp:o.msrp??(s?String(s):"")}]}))),l})}function ac(e,t,n=100){let a=new Set(e.slice(0,t).map((i,r)=>i.id||`visible-${r}`)),l=e.slice(0,t).filter(i=>i.isReviewProduct).length;return e.filter((i,r)=>{let o=i.id||`visible-${r}`;return a.has(o)?!0:i.isReviewProduct?(l+=1,l<=n):!1})}function lv(e,t){let n=new Map(t.map((a,l)=>[a.id||`enriched-${l}`,a]));return e.map((a,l)=>n.get(a.id||`enriched-${l}`)||a)}var M2=new Set(["deal","featured-product","gallery","buying-guide","text","section"]);function lc(e){return!!e&&typeof e=="object"}function iv(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function rv(e){try{let t=iv(e);if(!Array.isArray(t)||!t[0])return;let n=t[0],a=typeof n=="string"?iv(n):Array.isArray(n)?n:lc(n)&&"type"in n?t:n;if(!Array.isArray(a))return;let l=a.filter(i=>lc(i)&&M2.has(i.type)).map(i=>i.type==="text"&&i.data?{type:"text",data:{paragraphs:Array.isArray(i.data.paragraphs)?i.data.paragraphs.slice(0,3):void 0,text:typeof i.data.text=="string"?i.data.text.slice(0,500):void 0}}:i.type==="section"&&i.data?{type:"section",data:{text:i.data.text,heading:i.data.heading,title:i.data.title}}:i);return l.length>0?[JSON.stringify(l)]:void 0}catch{return}}function ov(e){if(!Array.isArray(e))return[];let t=!1;return e.map(n=>{if(!lc(n))return n;let a=n.articlepage?rv(n.articlepage):void 0,l=!!(n.articleauthormedia||n.articleauthorrole),i=!!(!t&&(n.articleauthorbio||n.articleauthorlongbio||n.articleauthorsocialnetworks));return i&&(t=!0),{id:n.id,articlename:n.articlename,documentname:n.documentname,documentnametext:n.documentnametext,documenthandle:n.documenthandle,articlecategory:n.articlecategory,articletag:n.articletag,articletaghandle:n.articletaghandle,articletagtype:n.articletagtype,articletagtypetag:n.articletagtypetag,articletagtypetaghandle:n.articletagtypetaghandle,articlecontroltag:n.articlecontroltag,articletype:n.articletype,articleauthor:n.articleauthor,articleauthorhandle:n.articleauthorhandle,articleauthortext:n.articleauthortext,...l?{articleauthorrole:n.articleauthorrole,articleauthormedia:n.articleauthormedia}:{},articlestrapline:n.articlestrapline,articlesocialtitle:n.articlesocialtitle,documenturl:n.documenturl,articlemedia:n.articlemedia,articlehawkmodels:n.articlehawkmodels,productrating:n.productrating,productpros:n.productpros,productcons:n.productcons,productverdict:n.productverdict,contentmodifieddate:n.contentmodifieddate,modifieddate:n.modifieddate,createddate:n.createddate,datepublished:n.datepublished,publisheddate:n.publisheddate,...i?{articleauthorbio:n.articleauthorbio,articleauthorlongbio:n.articleauthorlongbio,articleauthorsocialnetworks:n.articleauthorsocialnetworks}:{},...a?{articlepage:a}:{}}})}function uv(e){return Array.isArray(e)?e.map(t=>{if(!lc(t))return t;let n=t.articlepage?rv(t.articlepage):void 0;return{id:t.id,articleid:t.articleid,articlename:t.articlename,documentname:t.documentname,documentnametext:t.documentnametext,documenthandle:t.documenthandle,articleauthor:t.articleauthor,articleauthorhandle:t.articleauthorhandle,articleauthortext:t.articleauthortext,articleauthorrole:t.articleauthorrole,articleauthormedia:t.articleauthormedia,articleauthorbio:t.articleauthorbio,articleauthorlongbio:t.articleauthorlongbio,articleauthorsocialnetworks:t.articleauthorsocialnetworks,articlecategory:t.articlecategory,articletag:t.articletag,articletaghandle:t.articletaghandle,articletagtype:t.articletagtype,articletagtypetag:t.articletagtypetag,articletagtypetaghandle:t.articletagtypetaghandle,articletype:t.articletype,articlestrapline:t.articlestrapline,articlesocialtitle:t.articlesocialtitle,documenturl:t.documenturl,articlemedia:t.articlemedia,articlehawkmodels:t.articlehawkmodels,productrating:t.productrating,productpros:t.productpros,productcons:t.productcons,productverdict:t.productverdict,url:t.url,contentmodifieddate:t.contentmodifieddate,modifieddate:t.modifieddate,createddate:t.createddate,datepublished:t.datepublished,publisheddate:t.publisheddate,content:t.content,dek:t.dek,image_thumbnail:t.image_thumbnail,intro:t.intro,paragraphs:t.paragraphs,strapline:t.strapline,subtitle:t.subtitle,title:t.title,...n?{articlepage:n}:{}}}):[]}function pi(e){if(!e?.modifiedDate)return 0;let t=Array.isArray(e.modifiedDate)?e.modifiedDate[0]:e.modifiedDate,n=new Date(t).getTime();return Number.isNaN(n)?0:n}function nl(e){return e?.hasCommerceOffer===!0?!0:e?.hasCommerceOffer===!1?!1:!!(!e?.isBuyingGuideProduct&&!e?.isReviewProduct&&e?.url)}function ln(e,t,n=!0){let a=!0;t==="date_desc"?e.sort((l,i)=>pi(i)-pi(l)):t==="price_asc"?e.sort((l,i)=>l.rawPrice-i.rawPrice):t==="price_desc"?e.sort((l,i)=>i.rawPrice-l.rawPrice):t==="discount_desc"?e.sort((l,i)=>{let r=l.rawMsrp>l.rawPrice?l.rawMsrp-l.rawPrice:0;return(i.rawMsrp>i.rawPrice?i.rawMsrp-i.rawPrice:0)-r}):t==="rating_desc"?e.sort((l,i)=>{let r=Number(l.starRating)||0;return(Number(i.starRating)||0)-r||pi(i)-pi(l)}):t==="scored_first"?e.sort((l,i)=>{let r=Number(l.starRating)>0?1:0;return(Number(i.starRating)>0?1:0)-r||pi(i)-pi(l)}):a=!1,a&&n&&e.sort((l,i)=>Number(nl(i))-Number(nl(l)))}function cv(e,t,n){let a=e;if(!a&&t){let l=n.find(i=>i.toLowerCase()===t?.toLowerCase());l&&(a=l)}return a}function Pr(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(a=>a.articlecategory&&Array.isArray(a.articlecategory)&&a.articlecategory.some(l=>{if(!l||typeof l!="string")return!1;let i=l.toLowerCase(),r=i.split(":::");return i===n||r[0]===n||i.includes(n)}))}function sv(e){let t=wt(e.region);return{activeRegionCode:t,targetIso:an(t)}}function al(e,t,{discountAmount:n,priceRange:a}={}){let l=!!(a&&a!=="all"),i=!!(n&&n!=="0"&&n!=="all");return!t?.length&&!l&&!i?e:e.filter(r=>!r.isBuyingGuideProduct&&!r.isReviewProduct?!0:t?.length&&!di({brand:r.brand},t)||l&&(!Number(r.rawPrice)||!Sa(Number(r.rawPrice),a))?!1:Ca(Number(r.rawPrice)||0,Number(r.rawMsrp)||0,n))}function _2(e,t){let n=e.articleauthorhandle||[],a=e.articleauthor||[],l=e.articleauthortext||[],i=new Set([t.handle.toLowerCase(),t.fullName.toLowerCase(),t.name.toLowerCase()]);return[...n,...a,...l].some(r=>i.has(String(r||"").toLowerCase()))}function Sf(e,t,n){let a=Object.fromEntries(e.map(l=>[l.handle,0]));return t.forEach(l=>{let i=mi([l],n).length;i!==0&&e.forEach(r=>{_2(l,r)&&(a[r.handle]+=i)})}),a}function Cf(e,t){let n=Xu(e,t.authorHandle,t.authorName),a=t.selectedArticleId?n.filter(A=>A.id===t.selectedArticleId):n,{activeRegionCode:l,targetIso:i}=sv(t),{tags:r,tagCounts:o}=tc(a,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),u=cv(t.activeDealTag,t.query,r),c=Pr(a,u),{tags:s,tagCounts:f}=nc(c,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),d=t.activeFreeformTags?.length?t.activeFreeformTags:t.activeFreeformTag?[t.activeFreeformTag]:[],m=d.flatMap(A=>{let b=s.find(h=>h.handle.toLowerCase()===A.toLowerCase());return b?[b.handle]:[]}),v=t.preserveFreeformTagSelection?d:m;return{activeDealTag:u,activeFreeformTag:v[0]||null,activeFreeformTags:v,activeRegionCode:l,authorArticles:n,freeformTagCounts:f,freeformTags:s,tagCounts:o,tags:r,targetArticles:hi(c,v),targetIso:i}}function ic(e,t,n,a){let l=Iu(e,{activeRegionCode:n,targetIso:a,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),i=Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(i,t.sort,t.prioritiseCommercialProducts);let r=yn(al(i,t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange}),t.productSelection,t.sort).map(o=>(o.isBuyingGuideProduct||o.isReviewProduct)&&o.hawkModelName?{...o,hawkPricePending:!0}:o);return{brands:l,displayedDeals:r,extractedDeals:i}}function dv(e,t){let{activeRegionCode:n,targetIso:a}=sv(t),l=Lr(e,t.website||"tomsguide"),i=e.filter(o=>mi([o],{activeRegionCode:n,targetIso:a,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}).length>0),r=al(Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange});return{authorCount:kr(l,i).length,deals:r}}function fv({allArticles:e,authorArticles:t,inventoryArticles:n,bakeReviewInventory:a,brands:l,couponMap:i,currentDealTag:r,currentFreeformTags:o,displayedDeals:u,options:c,resultCount:s,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}){let h=Lr(e,c.website||"tomsguide"),g=Sf(h,n,{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),selectedBrands:c.selectedBrands,priceRange:c.priceRange,discountAmount:c.discountAmount,includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}),p=kr(h,e.filter(C=>mi([C],{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}).length>0)),y=Number(s)||12;return{activeDealTag:r,activeFreeformTag:o[0]||null,activeFreeformTags:o,allDeals:a?ac(u,y):u,authorArticles:ov(t),authors:Yu(p,g),brands:l,couponMap:i,deals:u.slice(0,y),reviewInventoryBaked:a,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}}function B2(e){return e&&e.widget&&e.widget.data&&Array.isArray(e.widget.data.offers)?e.widget.data.offers:e&&e.data&&Array.isArray(e.data.offers)?e.data.offers:Array.isArray(e)?e:e&&Array.isArray(e.offers)?e.offers:e&&e.offers&&Array.isArray(e.offers.offer)?e.offers.offer:e&&Array.isArray(e.data)?e.data:[]}function gv(e,t,n){let a={...n},l=new Set;return B2(e).forEach(r=>{let o="";r.merchant_name?o=r.merchant_name:r.merchant&&r.merchant[0]&&r.merchant[0].name?o=r.merchant[0].name:r.merchant&&r.merchant.name?o=r.merchant.name:r.retailer&&(o=r.retailer),o&&l.add(o.toLowerCase())}),t.forEach(r=>{a[r]=l.has(r.toLowerCase())?"has":"none"}),a}function mv(e){let t=[];return e?.widget?.data?.offers?t=e.widget.data.offers:e?.data?.offers?t=e.data.offers:Array.isArray(e)?t=e:e?.offers?.offer?t=Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers&&(t=Array.isArray(e.offers)?e.offers:[e.offers]),t}async function hv({couponMap:e,couponUrl:t,fetcher:n=fetch,merchants:a}){if(!t)return e;try{let l=await n(t.toString());return gv(await l.json(),a,e)}catch{let l={...e};return a.forEach(i=>{l[i]="none"}),l}}function pv({enrichingBuyingGuides:e,error:t,loading:n,loadingMore:a,refreshingFeed:l}){return t?"error":a?"loading_more":n?"loading_inventory":l?"refreshing_inventory":e?"enriching_visible_cards":"ready"}function yv(e,t){let n=Xu(tl(e),t.authorHandle,t.authorName),a=wt(t.region),l=an(a),{tags:i,tagCounts:r}=tc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),o=Iu(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),{tags:u,tagCounts:c}=nc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),s=$0(n,{activeRegionCode:a,targetIso:l,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(s,t.sort,t.prioritiseCommercialProducts);let f=yn(s,t.productSelection,t.sort);return{authorArticles:n,brands:o,deals:f,tagCounts:r,tags:i,freeformTagCounts:c,freeformTags:u}}var N2="fc-author-commerce-widget",vn="airedale-feeds";var rc=null;function vv(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Rf(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function Tf(){return rc||(typeof window>"u"||typeof window.indexedDB>"u"?Promise.resolve(null):(rc=new Promise(e=>{let t=window.indexedDB.open(N2,14);t.onupgradeneeded=()=>{let n=t.result;n.objectStoreNames.contains(vn)||n.createObjectStore(vn,{keyPath:"key"})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),rc))}function bv({authorHandle:e,authorName:t,includeBuyingGuideProducts:n,includeCollections:a,includeDeals:l,includeReviewProducts:i,articleCategory:r,articleTag:o,pageStarts:u,reviewPageStarts:c,loadAllReviewPages:s,website:f}){return["v14",f||"tomsguide",e||"",t||"",n?"buying-guides":"",a===!1?"no-collections":"collections",l===!1?"no-deals":"deals",i?"reviews":"",r||"",o||"",u?.join(",")||"",c?.join(",")||"",s===!1?"review-pages-partial":""].map(d=>encodeURIComponent(d)).join("|")}async function O2(e){let t=await Tf();if(!t)return;let n=t.transaction(vn,"readwrite"),a=Rf(n);n.objectStore(vn).delete(e),await a}async function Av(e,t=Date.now()){try{let n=await Tf();if(!n)return null;let a=n.transaction(vn,"readonly"),l=await vv(a.objectStore(vn).get(e));if(!l||l.schemaVersion!==14||!Array.isArray(l.articles)||l.articles.length===0)return null;let i=Math.max(0,t-l.cachedAt);return i>864e5?(O2(e),null):{articles:l.articles,cachedAt:l.cachedAt,isFresh:i<=6e5}}catch{return null}}async function k2(e){let t=e.transaction(vn,"readwrite"),n=Rf(t),a=t.objectStore(vn);(await vv(a.getAll())).sort((i,r)=>r.cachedAt-i.cachedAt).slice(10).forEach(i=>a.delete(i.key)),await n}async function wv(e,t,n=Date.now()){if(t.length!==0)try{let a=await Tf();if(!a)return;let l=a.transaction(vn,"readwrite"),i=Rf(l);l.objectStore(vn).put({articles:t,cachedAt:n,key:e,schemaVersion:14}),await i,await k2(a)}catch{}}var Ef=[];var Mf=[],Df=0;function Sv(){for(;Df<4&&Mf.length>0;){let e=Mf.shift();if(!e)return;Df+=1,e.run().then(e.resolve,e.reject).finally(()=>{Df-=1,Sv()})}}function L2(e){return new Promise((t,n)=>{Mf.push({reject:n,resolve:t,run:e}),Sv()})}function xf(e){Ef.push(e),Ef.length>100&&Ef.shift()}async function oc(e,t,n=4){let a=new Array(e.length),l=0,i=Math.min(Math.max(1,n),e.length);return await Promise.all(Array.from({length:i},async()=>{for(;l<e.length;){let r=l;l+=1,a[r]=await t(e[r],r)}})),a}async function yi(e,t){return L2(async()=>{let n=t.fetcher||fetch,a=Date.now(),l=new AbortController,i=!1,r=()=>l.abort();if(t.signal?.aborted)return xf({durationMs:0,outcome:"aborted",source:t.source,startedAt:a}),{data:null,response:null};t.signal?.addEventListener("abort",r,{once:!0});let o=setTimeout(()=>{i=!0,l.abort()},8e3);try{let u=await n(e,{signal:l.signal}),c=u.ok?await u.json():null;return xf({durationMs:Date.now()-a,outcome:u.ok?"succeeded":"failed",source:t.source,startedAt:a}),{data:c,response:u}}catch{return xf({durationMs:Date.now()-a,outcome:i?"timed_out":t.signal?.aborted?"aborted":"failed",source:t.source,startedAt:a}),{data:null,response:null}}finally{clearTimeout(o),t.signal?.removeEventListener("abort",r)}})}var Bf="https://airedale.futurecdn.net/feeds/feed_1786707986217.json",H2="https://airedale.futurecdn.net/feeds/feed_1786702796175.json",z2="https://airedale.futurecdn.net/feeds/feed_1787582137748.json",U2=2,_f=new Map,Cv=new Map;function Rv(e){let t=new URL(e),n=String(t.searchParams.get("articleType")||"").trim().toLowerCase(),a=String(t.searchParams.get("articleControlTag")||"").replace(/[\s-]+/g,"_").toLowerCase();return n!=="deals"&&a!=="type_deal"?null:(t.searchParams.delete("start"),t.toString())}function G2(e){return!e.response?.ok||e.articles.length<50?!1:!e.articles.some(t=>pf(t)&&!yf(t))}function P2(e){return!e.parameter||!e.value?"":`&${e.parameter}=${encodeURIComponent(e.value)}`}function q2(e,t="",n=!1,a,l,{includeCollections:i=!0,includeDeals:r=!0}={},o){let u=Wu(e,{includeBuyingGuideProducts:n,includeCollections:i,includeDeals:r}),c=a?`&articleCategory=${encodeURIComponent(a)}`:"",s=o?`&articleTag=${encodeURIComponent(o)}`:"";return u.scopes.flatMap(f=>(l||u.pageStarts).map(d=>`${Bf}?site=${e}&limit=${50}&start=${d}${P2(f)}${t}${c}${s}`))}function Tv(e,t="",n,a=0,l){let i=e==="pcgamer"?"&articleControlTag=channel_gaming_hardware":"",r=n?`&articleCategory=${encodeURIComponent(n)}`:"",o=l?`&articleTag=${encodeURIComponent(l)}`:"";return`${H2}?site=${encodeURIComponent(e)}&articleType=review&limit=${50}&start=${a}${i}${t}${r}${o}`}function F2(e,t){return t!=="pcgamer"?e:e.map(n=>{let a=Array.isArray(n.articlecontroltag)?n.articlecontroltag:[];return a.some(l=>String(l).replace(/[^a-z0-9]/gi,"").toLowerCase()==="channelgaminghardware")?n:{...n,articlecontroltag:[...a,"channel_gaming_hardware"]}})}function j2(e,t){return`${z2}?site=${encodeURIComponent(e)}&documentHandle=${encodeURIComponent(t)}&limit=1`}async function Y2(e,t){let n=`${e}|${t}`,a=Cv.get(n);if(a)return a;let l=yi(j2(e,t),{source:"review-model-resolver"}).then(({data:i})=>i?gf(i)[0]:null).then(i=>i?gi(i):"").catch(()=>"");return Cv.set(n,l),l}async function Nf(e,t,n,a="date_desc"){let l=o=>{let u=[o.datepublished,o.publisheddate,o.createddate,o.contentmodifieddate,o.modifieddate].find(s=>s!=null&&String(s).trim()),c=new Date(Array.isArray(u)?u[0]:u).getTime();return Number.isFinite(c)?c:0},i=o=>{let u=Array.isArray(o.productrating)?o.productrating[0]:o.productrating;return Number(u)||0},r=e.filter(o=>Zt(o)==="review"&&!gi(o)&&typeof o.documenthandle=="string"&&o.documenthandle.trim()).sort((o,u)=>{let c=i(o),s=i(u);return a==="rating_desc"?s-c||l(u)-l(o):a==="scored_first"&&+(s>0)-+(c>0)||l(u)-l(o)}).slice(0,n);return await Promise.all(r.map(async o=>{let u=await Y2(t,o.documenthandle);u&&(o.articlehawkmodels=[u])})),e}function xv(e,t){let n=()=>{wv(e,uv(t))};if(typeof window<"u"&&typeof window.requestIdleCallback=="function"){window.requestIdleCallback(n,{timeout:2e3});return}setTimeout(n,0)}function V2(e,t){return e&&e!=="all-authors"?`&articleAuthorHandle=${encodeURIComponent(e)}`:t&&t!=="All authors"&&t!=="all-authors"?`&articleAuthor=${encodeURIComponent(t)}`:""}function X2({articleCategory:e,articleTag:t,authorParameter:n}){return!!(n&&!e&&!t)}async function Mv({authorHandle:e,authorName:t,fallbackAuthorName:n,includeBuyingGuideProducts:a,includeCollections:l,includeDeals:i,includeReviewProducts:r,onProgress:o,articleCategory:u,articleTag:c,pageStarts:s,reviewPageStarts:f,loadAllReviewPages:d,signal:m,throwOnFailure:v,website:A}){let b=A||"tomsguide",h=V2(e,t),g=[],p=!1,y=!0,C=w=>j0(w,b,a,r,l,i),R=()=>q0(g).map(w=>{let D=gi(w);return D&&!String(w.articlehawkmodels||"").trim()?{...w,articlehawkmodels:[D]}:w}).filter(C),T=()=>{let w=R();w.length>0&&o?.(w)};try{let w=q2(b,h,a,u,s,{includeCollections:l,includeDeals:i},c),D=[];r&&(f||[0]).forEach(X=>{let de=Tv(b,h,u,X,c);D.push(de),w.push(de)});let k=async(X,de=D.includes(X)?"review-feed":"author-feed")=>{let $e=await yi(X,{signal:m,source:de});for(let jr=0;jr<U2&&!$e.response?.ok&&!m?.aborted;jr+=1)$e=await yi(X,{signal:m,source:de});let{data:Z,response:x}=$e,P=Z?gf(Z):[],Q=b==="pcgamer"&&de.startsWith("review-feed")?F2(P,b):P,Vn={articles:Q,data:Z,isPcGamerHardwareReviewFeed:b==="pcgamer"&&de.startsWith("review-feed"),response:x,reviewTotalCount:D.includes(X)&&Number(x?.headers.get("x-total-count"))||null};return Q.length>0&&g.push(...Q),Vn},se=w.filter(X=>Number(new URL(X).searchParams.get("start")||0)===0),I=w.filter(X=>!se.includes(X)),j=await oc(se,X=>k(X));T();let He=new Map(se.flatMap((X,de)=>{let $e=Rv(X);return $e?[[$e,j[de]]]:[]})),ze=new Map,St=[];I.forEach(X=>{let de=Rv(X);if(!de){St.push(X);return}ze.set(de,[...ze.get(de)||[],X])});let[Ie,rn]=await Promise.all([oc(St,X=>k(X)),Promise.all([...ze.entries()].map(async([X,de])=>{let $e=[],Z=He.get(X);for(let x of de){if(!Z||!G2(Z))break;let P=await k(x);$e.push(P),Z=P}return $e}))]),Be=[...Ie,...rn.flat()],Je=[...j,...Be];p=Je.length>0&&Je.every(X=>!X.response?.ok);let nt=Je.find(X=>X.reviewTotalCount!==null)?.reviewTotalCount;if(d!==!1&&f&&nt&&nt>f.length*50){let X=new Set(f),de=[];for(let Z=0;Z<nt;Z+=50)X.has(Z)||de.push(Z);let $e=await oc(de,async Z=>await k(Tv(b,h,u,Z,c),"review-feed-page"));Je.push(...$e)}y=Je.every(X=>X.response?.ok)}catch(w){y=!1}if(v&&p)throw new Error("The author feed could not be loaded");let M=R();if(M.length===0&&X2({authorParameter:h,articleCategory:u,articleTag:c}))try{let w=await yi(`${Bf}?site=${b}&limit=150${h}`,{signal:m,source:"author-feed-fallback"});if(!w.response?.ok&&n&&(w=await yi(`${Bf}?site=${b}&limit=150&articleAuthor=${encodeURIComponent(n)}`,{signal:m,source:"author-feed-fallback"})),w.data){let D=w.data,k=Array.isArray(D)?D:D.data||[];k.length>0&&(M=k.slice(0,150))}}catch(w){}return{articles:M.filter(C),complete:!m?.aborted&&y}}function Ev(e,t){let n=_f.get(e);if(n)return n;let a=Mv(t).then(l=>(l.complete&&l.articles.length>0&&xv(e,l.articles),l)).finally(()=>{_f.delete(e)});return _f.set(e,a),a}async function Dv(e,t){let n=await Mv(t);return n.complete&&n.articles.length>0&&xv(e,n.articles),n}async function _v({onBackgroundRefresh:e,onProgress:t,...n}){let a=bv(n),l=await Av(a);return l?(t?.(l.articles),l.isFresh||(n.signal?Dv(a,n):Ev(a,n)).then(({articles:o,complete:u})=>{u&&o.length>0&&e?.(o)}),l.articles):(await(n.signal?Dv(a,{...n,onProgress:t}):Ev(a,{...n,onProgress:t}))).articles}function Of(e,t){let n=e.shipping?.prime===!0,a=e.merchant?.name||e.merchant_name||e.retailer||"Retailer";typeof e.merchant=="string"&&(a=e.merchant);let l=null,i=0,r=String(e.model_id||e.id||"");if(r&&t)if(t[r]&&t[r].score!=null)l=parseFloat(t[r].score);else{let o=Object.values(t).find(u=>String(u.model_id)===r||String(u.id)===r);o&&o.score!=null&&(l=parseFloat(o.score))}return l!=null&&(i=Math.round((l>10?l/20:l/2)*2)/2),{isPrime:n,merchant:a,starRating:i>0?i:null}}function kf(e){let t=String(e.price||e.current_price||"0"),n=String(e.was_price||e.msrp||e.original_price||"0"),a=parseFloat(t.replace(/[^0-9.]/g,""))||0,l=parseFloat(n.replace(/[^0-9.]/g,""))||0,i=a===0||t==="0.00"||t==="0",r=e.currency&&typeof e.currency=="string"?e.currency:e.currency_symbol&&typeof e.currency_symbol=="string"?e.currency_symbol:"$",o=ee(e.percentage_saving_label||"");!o&&l>a&&a>0&&(o=Math.round((l-a)/l*100)+"% OFF");let u=r;return u.includes("&")&&(u.includes("36")?u="$":u.includes("163")||u.includes("pound")?u="\xA3":(u.includes("8364")||u.includes("euro"))&&(u="\u20AC")),{rawPrice:a,rawMsrp:l,currency:u,isCheckPrice:i,savingLabel:o}}function Bv({query:e,region:t,retailer:n,selectedBrands:a,offerType:l,priceRange:i,discountAmount:r,resultCount:o}){let u=new URL("https://search-api.fie.future.net.uk/widget.php");if(u.searchParams.append("model_name",e),t&&t!=="auto"&&u.searchParams.append("area",t),n&&u.searchParams.append("filter_merchant_name",n),a&&a.length>0&&u.searchParams.append("filter_label[text_brand]",a.join(",")),l&&u.searchParams.append("offer",l),i&&i!=="all"){if(i==="under50")u.searchParams.append("filter_max_price","50");else if(i==="over50")u.searchParams.append("filter_min_price","50");else if(i==="over30")u.searchParams.append("filter_min_price","30");else if(i==="over500")u.searchParams.append("filter_min_price","500");else if(i.includes("_")){let[c,s]=i.split("_");c&&u.searchParams.append("filter_min_price",c),s&&u.searchParams.append("filter_max_price",s)}}if(r&&r!=="0"){let c=(100-parseInt(r))/100;u.searchParams.append("min_discount_ratio",c.toString())}return u.searchParams.append("filter_product_types","deals"),u.searchParams.append("rows",String(o||"12")),u}function Nv(e){return e?.widget?.data?.offers?e.widget.data.offers:e?.data?.offers?e.data.offers:Array.isArray(e)?e:e?.offers?.offer?Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers?Array.isArray(e.offers)?e.offers:[e.offers]:[]}function Ov(e){let t=[];return e.forEach(n=>{let a=[];Array.isArray(n.offers)?a=n.offers:Array.isArray(n.offer)?a=n.offer:n.offers&&typeof n.offers=="object"?a=[n.offers]:n.offer&&typeof n.offer=="object"&&(a=[n.offer]),a.length>0?a.forEach(l=>{t.push({...n,...l})}):t.push(n)}),t}function kv(e){return e?.widget?.data?.model_info?e.widget.data.model_info:e?.data?.model_info?e.data.model_info:{}}var Lf=new Map,Q2=3e3,K2=["GB","US"],Lv=6,Z2=["brand","currency","fallbackImage","hasCommerceOffer","hawkPricePending","hawkListings","image","isCheckPrice","merchant","merchantId","modelId","msrp","price","productKey","productName","rawMsrp","rawPrice","savingLabel","title","url"];function Hf(e){return String(e||"").trim().toLowerCase()}function Gv(e){return e==="UK"?"GB":e}function Pv(e,t){let n=String(t||"").trim().toUpperCase(),l={AU:["A$","AUD"],CA:["CA$","CAD"],DE:["\u20AC","EUR"],ES:["\u20AC","EUR"],FR:["\u20AC","EUR"],GB:["\xA3","GBP","GB\xA3"],IT:["\u20AC","EUR"],NL:["\u20AC","EUR"],US:["$","USD","US$"]}[e];return!l||l.includes(n)}function Hv(e,t){return String(e.id||`hawk-deal-${t}`)}function W2(e){return e.map(t=>({...t,hasCommerceOffer:!1,hawkPricePending:!!t.hawkModelName,hawkListings:[],image:t.fallbackImage||t.image||"",isCheckPrice:!0,merchant:"",merchantId:"",msrp:"",price:"",productKey:"",rawMsrp:0,rawPrice:0,savingLabel:"",url:t.sourceArticleUrl||t.documentUrl||t.url}))}function I2(e){return Z2.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}function qv(e){return!!((e.isBuyingGuideProduct||e.isReviewProduct)&&e.hawkModelName)}function J2(e){return e.model_image_url||e.model_image||e.product_image||e.image_url||e.image||""}function Fv(e){return e.link||e.url||e.offer_link||""}function $2(e,t){let n=String(t.model_id||t.id||"");return n&&e[n]?e[n]:Object.values(e).find(a=>String(a?.model_id||a?.id||"")===n)||{}}function eS(e,t,n){let a=e.map(i=>{let r=kf(i),o=Of(i,t),u=Fv(i),c=ee(String(o.merchant||"")).trim();return!u||!c||r.rawPrice<=0||!Pv(n,r.currency)?null:{merchant:c,merchantId:typeof i.merchant=="object"?String(i.merchant?.id||""):"",modelId:String(i.model_id||""),offer:i,productKey:String(i.product_key||""),rawPrice:r.rawPrice,url:u}}).filter(i=>i!==null).sort((i,r)=>i.rawPrice-r.rawPrice||i.merchant.localeCompare(r.merchant)),l=new Set;return a.filter(i=>{let r=i.merchant.toLocaleLowerCase();return l.has(r)?!1:(l.add(r),!0)}).slice(0,4)}async function zv(e,t,n){let a=`${t}|${Hf(e)}`;return Lf.has(a)||Lf.set(a,(async()=>{let l;try{let i=new AbortController;l=setTimeout(()=>i.abort(),Q2);let r=await n(Bv({query:e,region:t,resultCount:12}).toString(),{signal:i.signal});if(!r.ok)return null;let o=await r.json(),u=Ov(Nv(o)),c=Hf(e),s=u.filter(A=>Hf(A.model_name||A.model)===c),f=s.length?s:u,d=f[0]||null;if(!d)return null;let m=kv(o),v=$2(m,d);return{brand:String(v?.brand||d.brand||"").trim(),modelInfo:m,offer:d,offers:f}}catch{return null}finally{l&&clearTimeout(l)}})()),Lf.get(a)}function Uv(e,t,n){return e.map(a=>{let l=String(a.hawkModelName);if(!qv(a)||!t.has(l))return a;let i=t.get(l);if(!i)return{...a,hawkPricePending:!1};let{offer:r}=i.lookup,o=kf(r),u=Of(r,i.lookup.modelInfo),c=J2(r),s=Fv(r),f=ee(String(r.model_name||r.model||a.hawkModelName||a.productName||a.title||"").trim()),d=!!(i.region===n&&s&&Pv(n,o.currency)),m=i.region===n?eS(i.lookup.offers,i.lookup.modelInfo,n).map(({offer:v,...A})=>A):[];return d?{...a,brand:i.lookup.brand||r.brand||a.brand,currency:o.currency||a.currency,fallbackImage:c?a.image:a.fallbackImage,hasCommerceOffer:!0,hawkPricePending:!1,hawkListings:m,image:c||a.image,isCheckPrice:o.isCheckPrice,merchant:u.merchant||a.merchant,merchantId:typeof r.merchant=="object"&&r.merchant?.id||"",modelId:r.model_id||"",msrp:o.rawMsrp>0?String(o.rawMsrp):"",price:o.rawPrice>0?String(o.rawPrice):"",productKey:r.product_key||"",productName:f||a.productName,rawMsrp:o.rawMsrp,rawPrice:o.rawPrice,savingLabel:o.savingLabel,title:f||a.title,url:s||a.url}:{...a,brand:i.lookup.brand||a.brand,fallbackImage:c?a.image:a.fallbackImage,hawkPricePending:!1,image:c||a.image,productName:f||a.productName,title:f||a.title}})}async function vi(e,t,n=fetch,a,l=[],i){let r=Gv(t),o=new Map,u=e.filter(qv).map(f=>String(f.hawkModelName)),c=new Set(u),s=Array.from(new Set([...l.filter(f=>c.has(f)),...u])).slice(0,a);for(let f=0;f<s.length;f+=Lv)await Promise.all(s.slice(f,f+Lv).map(async d=>{let m=await zv(d,r,n),v=m||r==="GB"?null:await zv(d,"GB",n);o.set(d,m?{lookup:m,region:r}:v?{lookup:v,region:"GB"}:null),i?.(Uv(e,o,r))}));return Uv(e,o,r)}async function jv(e,t=fetch){let n=W2(e),a=await Promise.all(K2.map(async i=>[i,await vi(n,i,t)])),l=new Map;return a.forEach(([i,r])=>{r.forEach((o,u)=>{if(!o.hasCommerceOffer)return;let c=Hv(o,u),s=l.get(c)||{};s[i]=I2(o),l.set(c,s)})}),e.map((i,r)=>{let o=l.get(Hv(i,r));return o?{...i,hawkRegionalCommerce:o}:i})}function zf(e,t){let n=Gv(t);return e.map(a=>{let l=a.hawkRegionalCommerce?.[n];return l?{...a,...l,hawkPricePending:!1}:a})}function Yv(e,t){let n=Array.from(new Set(e.map(i=>i.merchant).filter(Boolean))),a={};if(n.forEach(i=>{a[i]="loading"}),n.length===0)return{merchants:n,couponMap:a,couponUrl:null};let l=new URL("https://search-api.fie.future.net.uk/widget.php");return l.searchParams.append("model_name","Everything"),l.searchParams.append("filter_merchant_name",n.join(",")),l.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),l.searchParams.append("sort","voucher"),l.searchParams.append("rows","120"),l.searchParams.append("origin","widgets-clientside"),l.searchParams.append("combine_product_types","1"),l.searchParams.append("language","en-GB"),l.searchParams.append("all_filters","false"),l.searchParams.append("exclude_unlabelled","false"),l.searchParams.append("include_specs","false"),t&&t!=="auto"&&l.searchParams.append("area",t),{merchants:n,couponMap:a,couponUrl:l}}function Vv(e,t){let n=new URL("https://search-api.fie.future.net.uk/widget.php");return n.searchParams.append("model_name","Everything"),n.searchParams.append("language","en-GB"),t&&t!=="auto"&&n.searchParams.append("area",t),n.searchParams.append("combine_product_types","1"),n.searchParams.append("filter_merchant_name",e),n.searchParams.append("all_filters","false"),n.searchParams.append("exclude_unlabelled","false"),n.searchParams.append("include_specs","false"),n.searchParams.append("sort","voucher"),n.searchParams.append("distinct_merchants","natural"),n.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),n.searchParams.append("rows","50"),n.searchParams.append("origin","widgets-clientside"),n}function Uf(e,t,n=!0){if(!e?.length)return e||[];if(t==="date_desc"&&!n)return e;let a=[...e];return ln(a,t,n),a}function uc(e,t,n,a=!0){if(n!=="date_desc"||!e?.length)return t;let l=(c,s)=>String(c.id||s),i=new Map(t.map((c,s)=>[l(c,s),c])),r=new Set,o=e.flatMap((c,s)=>{let f=l(c,s);r.add(f);let d=i.get(f);return d?[d]:[]}),u=t.filter((c,s)=>!r.has(l(c,s)));return a?[...o.filter(nl),...u.filter(nl),...o.filter(c=>!nl(c)),...u.filter(c=>!nl(c))]:[...o,...u]}function Xv({activeDealTag:e,activeFreeformTag:t,clickedAuthorOverride:n,compactEmbed:a,compactInventoryExplored:l,compactLoadRequested:i,initialActiveDealTag:r,initialActiveFreeformTag:o,reviewInventoryBaked:u}){return!!(a&&u&&!n&&!i&&!l&&(!e||e===r)&&(!t||t===o))}var Qv=[0,50,100,150,200,250,300,350,400,450],Gf=4;function Kv(e){return(Array.isArray(e)?e:[e]).reduce((n,a)=>{if(typeof a!="string"||!a.trim())return n;let l=a.trim();return n.some(i=>i.toLowerCase()===l.toLowerCase())?n:[...n,l]},[])}function nS(e,t){return e.length===t.length&&e.every((n,a)=>n===t[a])}function Pf(e){return e.map(t=>t.trim().toLowerCase()).sort().join("|")}function qf(e){let t=e.initialData,n=Fu(e),a=!!(e.preloadReviewInventory&&!n),l=!!(e.preloadReviewInventory&&e.includeReviewProducts&&!e.compactEmbed),i=n?Number(e.resultCount)||12:100,r=n?!1:e.prioritiseCommercialProducts,o=wt(e.region),u=zf(t?.allDeals||t?.deals||[],o).filter(_=>P0(_,o)),c=wa(n?"date_desc":e.sort,!Or(e)),s=!!(e.priceRange&&e.priceRange!=="all")||!!(e.discountAmount&&e.discountAmount!=="0"&&e.discountAmount!=="all"),f=tl(t?.authorArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),d=tl(t?.authorInteractionArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),[m,v]=(0,N.useState)(()=>Uf(u,c,r)),[A,b]=(0,N.useState)(t?.totalDealCount??t?.allDeals?.length??t?.deals?.length??0),[h,g]=(0,N.useState)(t?.totalAuthorCount??t?.authors?.length??0),[p,y]=(0,N.useState)(!t),[C,R]=(0,N.useState)(!1),[T,M]=(0,N.useState)(!1),[w,D]=(0,N.useState)(!1),[k,se]=(0,N.useState)(t?.couponMap||{}),[I,j]=(0,N.useState)(f),[He,ze]=(0,N.useState)(f),[St,Ie]=(0,N.useState)(t?.tags||[]),[rn,Be]=(0,N.useState)(t?.tagCounts||{}),[Je,nt]=(0,N.useState)(t?.freeformTags||[]),[X,de]=(0,N.useState)(t?.freeformTagCounts||{}),[$e,Z]=(0,N.useState)(t?.brands||[]),[x,P]=(0,N.useState)(()=>{let _=t?.activeDealTag||e.query;return _&&_.toLowerCase()!=="everything"?_:null}),[Q,Vn]=(0,N.useState)(()=>Kv(t?.activeFreeformTags||t?.activeFreeformTag)),[jr,bi]=(0,N.useState)(f),[sc,ll]=(0,N.useState)(null),[at,Yr]=(0,N.useState)(!1),[il,Vr]=(0,N.useState)(""),[rl,Xr]=(0,N.useState)(""),[f1,g1]=(0,N.useState)(0),[Wt,dc]=(0,N.useState)(e.resultCount?parseInt(e.resultCount):12),[Xf,fc]=(0,N.useState)(!1),[m1,Qr]=(0,N.useState)(null),[gc,h1]=(0,N.useState)(!1),[mc,p1]=(0,N.useState)([0]),Kr=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`:""),hc=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}|age-${e.editorialMaxAgeMonths||"none"}`:""),y1=(0,N.useRef)(e.website||"tomsguide"),pc=(0,N.useRef)(e.website||"tomsguide"),Qf=(0,N.useRef)(u.length>0),Kf=(0,N.useRef)(null),ol=(0,N.useRef)(new Map),v1=(0,N.useRef)({activeDealTag:String(x||"").trim().toLowerCase(),freeformTags:Pf(Kv(t?.activeFreeformTags||t?.activeFreeformTag)),discountAmount:e.discountAmount,priceRange:e.priceRange}),Xn=(0,N.useRef)(!1),De=(0,N.useRef)(!1),Ai=(0,N.useRef)(!1),Zf=(_,oe,ne=at?il:e.authorHandle,we=at?rl:e.authorName)=>[e.website||"tomsguide",ne||"",we||"",wt(e.region),String(_||"").trim().toLowerCase(),Pf(oe),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),Wf=(_,oe)=>{let ne=v1.current;return!!(e.compactEmbed&&t?.brands?.length&&String(_||"").trim().toLowerCase()===ne.activeDealTag&&Pf(oe)===ne.freeformTags&&e.priceRange===ne.priceRange&&e.discountAmount===ne.discountAmount)},Zr=(_,oe)=>{let ne=ol.current.get(Zf(_,oe));if(ne){Z(ne);return}if(Wf(_,oe)){Z(t?.brands||[]);return}},ul=()=>Xn.current||n?void 0:e.productSelection;(0,N.useEffect)(()=>{ll(null)},[e.authorName,e.authorHandle]),(0,N.useLayoutEffect)(()=>{let _=e.website||"tomsguide";pc.current!==_&&(pc.current=_,v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),ol.current.clear(),se({}),Yr(!1),Vr(""),Xr(""),ll(null),P(null),Vn([]),g(0),b(0),M(!1),fc(!1),Qr(null),Ai.current=!1,R(!0),y(!0))},[e.website]),(0,N.useEffect)(()=>{e.compactEmbed||typeof document>"u"||setTimeout(()=>{document.dispatchEvent(new CustomEvent("processArticle"))},100)},[m,Wt,e.query,x,Q]),(0,N.useEffect)(()=>{e.resultCount&&(dc(parseInt(e.resultCount,10)||12),Qr(null))},[e.resultCount]),(0,N.useEffect)(()=>{Qr(null)},[x,Q,e.authorHandle,e.authorName,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands,e.sort]),(0,N.useEffect)(()=>{if(!t||!e.includeBuyingGuideProducts&&!e.includeReviewProducts||e.compactEmbed&&(De.current||e.refreshDealsOnViewport))return;let _=wt(e.region),oe=zf(t.allDeals||t.deals||[],_);if(_==="unavailable"){let It=oe.map(on=>(on.isBuyingGuideProduct||on.isReviewProduct)&&on.hawkModelName?{...on,hawkPricePending:!1}:on);ln(It,c,r),v(yn(It,ul(),c));return}let ne=al(oe,e.selectedBrands),we=Number(e.resultCount)||12,Ta=typeof navigator>"u"?void 0:navigator.connection,Ea=!Ta?.saveData&&!Ta?.effectiveType?.includes("2g")&&(!e.compactEmbed||!!e.warmInventory),Si=s?ne:t.reviewInventoryBaked?ne.slice(0,Wt+(Ea?we:0)):oe;if(!Si.some(It=>(It.isBuyingGuideProduct||It.isReviewProduct)&&It.hawkModelName))return;let sl=!0;return M(!0),vi(Si,_).then(It=>{if(!sl)return;let on=t.reviewInventoryBaked?lv(oe,It):It,Ir=al(on,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(lt=>(lt.isBuyingGuideProduct||lt.isReviewProduct)&&lt.hawkModelName?{...lt,hawkPricePending:!1}:lt);ln(Ir,c,r),v(yn(Ir,ul(),c)),Z(lt=>t?.brands?.length?lt:hf(lt,It))}).finally(()=>{sl&&M(!1)}),()=>{sl=!1}},[t,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,e.selectedBrands,e.discountAmount,e.priceRange,c,e.productSelection,Wt,e.resultCount,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,x,Q]),(0,N.useEffect)(()=>{let _=!0,oe=new AbortController,ne=Ai.current,we=!e.refreshDealsOnViewport&&Xv({activeDealTag:x,activeFreeformTag:Q[0]||null,clickedAuthorOverride:at,compactEmbed:e.compactEmbed,compactInventoryExplored:De.current,compactLoadRequested:gc,initialActiveDealTag:t?.activeDealTag,initialActiveFreeformTag:t?.activeFreeformTag,reviewInventoryBaked:t?.reviewInventoryBaked}),Ta=u.length>0,Ea=!!(n&&e.compactEmbed&&!De.current),Si=!!(Ea&&e.warmInventory&&I.length===0&&m.length>0),sl=!!(we||e.compactEmbed&&Ta&&I.length===0&&!at&&!gc&&!De.current&&!e.refreshDealsOnViewport&&(!n||!e.warmInventory));return!sl&&!ne&&!Si&&(R(!0),e.compactEmbed&&De.current&&v([])),(async()=>{D(!1),M(!1);let on=m.length>0||St.length>0||Je.length>0||$e.length>0,Ir=sl;try{if(!e.authorName&&!e.authorHandle){v([]),j([]),bi([]),Ie([]),nt([]),Z([]),ll(null),P(null),Vn([]),y(!0);return}let lt=at?il:e.authorHandle,Jr=at?rl:e.authorName,$r=`${e.website||"tomsguide"}|${lt||""}|${Jr||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`,yc=`${$r}|${e.compactEmbed&&x||""}|${e.compactEmbed?Q.join(","):""}|${e.compactEmbed&&De.current?"expanded":e.refreshDealsOnViewport?"viewport-refresh":"initial"}|lightweight-pages-${Ea?mc.join(","):"all"}|age-${e.editorialMaxAgeMonths||"none"}`,Jt=I,$f=St,U1=ev(Je,Q.length===1?Q[0]:null),eg=()=>({activeDealTag:x,activeFreeformTag:Q[0]||null,activeFreeformTags:Q,preserveFreeformTagSelection:!!(e.compactEmbed&&Q.length),authorHandle:lt,authorName:Jr,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,priceRange:e.priceRange,prioritiseCommercialProducts:r,productSelection:ul(),query:e.query,region:e.region,selectedArticleId:sc,selectedBrands:e.selectedBrands,sort:c,website:e.website}),tg=hc.current!==yc||Jt.length===0,Da=[],vc=!1,ng=(me,zt=!1)=>{if(!_||zt&&vc)return;let bn=al(me,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange});ln(bn,c,r);let Di=yn(bn,ul(),c);v(uc(Da,Di,c,r))};if(Ir){y(!1),R(!1);return}if(tg){let me=Kr.current.split("|")[0],zt=e.website||"tomsguide",bn=!!(Kr.current&&me!==zt);!ne&&!Si&&R(!!e.compactEmbed||!on),bn&&(Jt=[],$f=[],v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),se({}),Yr(!1),Vr(""),Xr(""),y(!0));let Di=Qf.current&&Kr.current===$r&&Jt.length===0&&!De.current;Qf.current=!1,!Di&&!on&&y(!0);let lo=Ba=>{if(!_||Ba.length===0)return;let fe=eg(),it=Cf(Ba,fe),{displayedDeals:io}=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);io.length!==0&&(Da=io,v(Da),y(!1),e.includeReviewProducts&&Nf(it.targetArticles,e.website||"tomsguide",Math.min(Wt,Gf),c).then(()=>{if(!_||vc)return;let An=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);Da=An.displayedDeals,v(Da);let xi=An.displayedDeals.filter(dt=>dt.isReviewProduct&&dt.hawkModelName).slice(0,Gf).map(dt=>String(dt.hawkModelName));vi(An.extractedDeals,it.activeRegionCode,void 0,Gf,xi,dt=>ng(dt,!0))}))};if(Jt=await _v({authorHandle:lt,authorName:Jr,fallbackAuthorName:e.authorName,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,articleCategory:e.compactEmbed&&x||void 0,articleTag:e.compactEmbed?U1:void 0,pageStarts:e.compactEmbed&&!e.warmInventory&&!De.current?[0]:void 0,reviewPageStarts:e.includeReviewProducts?Ea?mc:!e.compactEmbed||De.current?Qv:void 0:void 0,loadAllReviewPages:!Ea,throwOnFailure:!!(e.compactEmbed&&De.current),onBackgroundRefresh:Ba=>{if(!_||hc.current!==yc)return;let fe=tl(Ba,void 0,Number(e.editorialMaxAgeMonths)||0);j(fe),at||ze(fe),g1(it=>it+1)},onProgress:lo,signal:oe.signal,website:e.website}),!_)return;if(Jt=tl(Jt,void 0,Number(e.editorialMaxAgeMonths)||0),Kr.current=$r,hc.current=yc,Di&&Jt.length===0){y(!1);return}_&&(j(Jt),at||ze(Jt),R(!1))}let eo=eg(),G1=Cf(Jt,eo),{activeDealTag:xa,activeRegionCode:Ci,authorArticles:ag,activeFreeformTags:Ma,freeformTagCounts:lg,freeformTags:to,tagCounts:ig,tags:Ri,targetArticles:_a,targetIso:P1}=G1,Ti=e.compactEmbed&&x&&!xa?x:xa,Ei=e.compactEmbed&&Q.length>0&&Ma.length===0?Q:Ma,q1=Ri.length>0?Ri:Ti?[Ti]:Ri,F1=to.length>0?to:Ei.length>0?t?.freeformTags?.filter(me=>Ei.includes(me.handle))||[]:to,j1={...ig,...Ti&&!xa?{[Ti]:0}:{}},Y1={...lg,...Object.fromEntries(Ma.length===0?Ei.map(me=>[me,0]):[])},no=Zf(xa,Ma,lt,Jr),rg=[$r,Ci,xa||"",Ma.join(","),e.selectedBrands.join(","),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),dl=null,fl=null;if(!at){let me=Kf.current;if(me?.key===rg&&me.articleCount===_a.length)dl=me.deals.length,fl=me.authorCount;else{let zt=dv(_a,eo);dl=zt.deals.length,fl=zt.authorCount,Kf.current={articleCount:_a.length,authorCount:fl,deals:zt.deals,key:rg}}}$f=Ri;let Ht;_&&(Ie(q1),Be(j1),nt(F1),de(Y1)),e.includeReviewProducts&&await Nf(_a,e.website||"tomsguide",l?Math.min(_a.length,i):Wt,c);let{brands:bc,displayedDeals:Ac,extractedDeals:ao}=ic(_a,eo,Ci,P1),{merchants:V1,couponMap:wc,couponUrl:X1}=Yv(Ac,e.region);_&&se(wc);let Q1=me=>{!_||!Ht||(Ht={...Ht,couponMap:me},window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht))};if(hv({couponMap:wc,couponUrl:X1,merchants:V1}).then(me=>{_&&(se(me),Q1(me))}),_){tg&&P(Ti),nS(Q,Ei)||Vn(Ei),bi(ag);let me=uc(Da,Ac,c,r);if(vc=!0,v(me),dl!==null){let zt=t?.totalDealCount||0,bn=Ea&&zt>dl;b(bn?zt:dl),g(bn?Math.max(t?.totalAuthorCount||0,fl||0):fl||0)}!ol.current.has(no)&&Wf(xa,Ma)&&ol.current.set(no,t?.brands||[]),Z(ol.current.get(no)||bc),y(!1),Ht=fv({allArticles:Jt,authorArticles:ag,bakeReviewInventory:a&&!e.compactEmbed,brands:bc,couponMap:wc,currentDealTag:xa,currentFreeformTags:Ma,displayedDeals:me,inventoryArticles:_a,options:eo,resultCount:e.resultCount,tagCounts:ig,tags:Ri,freeformTagCounts:lg,freeformTags:to,totalAuthorCount:fl??h,totalDealCount:dl??A}),window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht)}if((e.includeBuyingGuideProducts||e.includeReviewProducts)&&Ci!=="unavailable"){let me=Wt,zt=l?ao.filter(fe=>fe.isReviewProduct&&fe.hawkModelName).slice(0,i).map(fe=>String(fe.hawkModelName)):[],bn=Ac.filter(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName).map(fe=>String(fe.hawkModelName));ao.some(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName)&&M(!0);let lo=vi(ao,Ci,void 0,s?void 0:e.includeReviewProducts?l?i:me:void 0,[...zt,...bn],ng).then(async fe=>{if(!_)return;let it=al(fe,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(dt=>(dt.isBuyingGuideProduct||dt.isReviewProduct)&&dt.hawkModelName?{...dt,hawkPricePending:!1}:dt);ln(it,c,r);let io=yn(it,ul(),c),An=uc(Da,io,c,r),xi=hf(bc,fe);if(ol.current.set(no,xi),v(An),Z(xi),s&&b(it.length),Ht){let dt=a&&!e.compactEmbed,og=l,ug=dt?ac(An,Number(e.resultCount)||12):og?An.slice(0,i):An,K1=og?await jv(ug):ug;if(!_)return;let Sc={...Ht,allDeals:K1,deals:An.slice(0,me),brands:xi,totalDealCount:s?it.length:Ht.totalDealCount};Ht=Sc,window.__AUTHOR_PRELOAD_DATA__=Sc,e.onDataLoaded&&e.onDataLoaded(Sc)}}).finally(()=>{_&&M(!1)}),Ba=ao.slice(me,me+(Number(e.resultCount)||12));e.includeReviewProducts&&e.warmInventory&&!s&&!ne&&Ba.some(fe=>fe.hawkModelName)&&lo.then(()=>{_&&vi(Ba,Ci)}),ne&&await lo}}catch(lt){_&&D(!0)}finally{_&&(y(!1),R(!1),fc(!1),Ai.current=!1)}})(),()=>{_=!1,oe.abort()}},[e.query,e.region,e.selectedBrands,e.website,e.resultCount,Wt,c,e.priceRange,e.discountAmount,x,Q,e.authorName,e.authorHandle,e.website,e.authorBioLength,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,s,a,l,i,r,n,mc,e.productSelection,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,e.editorialMaxAgeMonths,sc,at,il,rl,f1,gc]);let Wr=e.website||"tomsguide",st=pc.current!==Wr,Ra=(0,N.useMemo)(()=>st?[]:y1.current===Wr&&t?.authors?t.authors:Lr(He.length>0?He:I,Wr),[I,Wr,He,t?.authors,st]),b1=at?il:e.authorHandle,A1=at?rl:e.authorName,w1=Ra.find(_=>_.handle===b1||_.fullName===A1),cl=He.length>0?He:I,If=(0,N.useMemo)(()=>{if(cl.length===0)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q),we=Sf(Ra,ne,{activeRegionCode:_,targetIso:oe,selectedBrands:e.selectedBrands,priceRange:e.priceRange,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website});return Yu(Ra,we)},[x,Q,Ra,cl,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands]),S1=(0,N.useMemo)(()=>{if(st)return[];if(cl.length===0&&t?.authors?.length||e.compactEmbed&&!x&&Q.length===0&&t?.authors?.length)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q).filter(we=>mi([we],{activeRegionCode:_,targetIso:oe,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website}).length>0);return kr(If,ne)},[x,Q,cl,st,at,t?.authors?.length,e.compactEmbed,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,If,e.website]),Jf=(_,oe)=>{let ne=He.length>0?He:I.length>0?I:d;if(ne.length===0)return;let we=yv(ne,{authorHandle:_,authorName:oe,discountAmount:e.discountAmount,priceRange:e.priceRange,region:e.region,selectedBrands:e.selectedBrands,sort:c,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,prioritiseCommercialProducts:r,website:e.website,productSelection:void 0});ll(null),P(null),Vn([]),bi(we.authorArticles),Ie(we.tags),Be(we.tagCounts),nt(we.freeformTags),de(we.freeformTagCounts),Z(we.brands),v(we.deals),y(!1)},C1=()=>{!e.compactEmbed||!t||(v(yn(Uf(t.deals||t.allDeals||[],c,r),ul(),c)),Ie(t.tags||[]),Be(t.tagCounts||{}),nt(t.freeformTags||[]),de(t.freeformTagCounts||{}),Z(t.brands||[]),se(t.couponMap||{}),g(t.totalAuthorCount??t.authors?.length??0),b(t.totalDealCount??t.deals?.length??t.allDeals?.length??0))},R1=_=>{Xn.current=!0,De.current=!0,R(!0),at&&(il===_.handle||rl===_.fullName)?(e.compactEmbed&&t?C1():Jf(e.authorHandle,e.authorName),Yr(!1),Vr(""),Xr("")):(Jf(_.handle,_.fullName),Yr(!0),Vr(_.handle),Xr(_.fullName)),e.onQueryChange?.("")},T1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=x===_?null:_;Zr(oe,Q),P(oe),e.onQueryChange?.("")},E1=()=>{Xn.current=!0,De.current=!0,R(!0)},D1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(null,Q),P(null),e.onQueryChange?.("")},x1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=Q.some(ne=>ne.toLowerCase()===_.toLowerCase())?Q.filter(ne=>ne.toLowerCase()!==_.toLowerCase()):[...Q,_];Zr(x,oe),Vn(oe)},M1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(x,[]),Vn([])},_1=_=>{Xn.current=!0,De.current=!0,R(!0),ll(_)},B1=()=>{if(Ai.current)return;Ai.current=!0,fc(!0);let _=Wt+(e.resultCount?parseInt(e.resultCount,10):12);!!(n&&e.compactEmbed&&!De.current)&&I.length>0&&m.length<_&&p1(we=>{let Ta=Qv[we.length];return Ta===void 0?we:[...we,Ta]}),dc(we=>(Qr(we),we+(e.resultCount?parseInt(e.resultCount,10):12)));let ne=!!(t?.reviewInventoryBaked&&m.length>Wt);e.compactEmbed&&I.length===0&&!ne&&(R(!0),h1(!0))},wi=e.compactEmbed&&!e.refreshDealsOnViewport,N1=wi&&t?.tags?.length?t.tags:St,O1=wi&&t?.tags?.length?t.tagCounts||{}:rn,k1=wi&&!De.current&&t?.brands?.length?t.brands:$e,L1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTags:Je,H1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTagCounts||{}:X,z1=pv({enrichingBuyingGuides:T,error:w,loading:p,loadingMore:Xf,refreshingFeed:C});return{activeDealTag:x,activeFreeformTags:Q,airedaleBrands:st?[]:k1,airedaleTagCounts:st?{}:O1,airedaleTags:st?[]:N1,airedaleFreeformTagCounts:st?{}:H1,airedaleFreeformTags:st?[]:L1,allAuthorsList:S1,authorArticlesList:st?[]:jr,clickedAuthorOverride:at,couponMap:k,deals:st?[]:m,displayCount:Wt,error:w,enrichingBuyingGuides:T,effectiveAuthorProfile:st?void 0:w1,loading:p,loadingMore:Xf,loadMoreStartCount:m1,markProductSelectionInteracted:E1,hasMore:m.length>Wt||!!e.compactEmbed&&A>m.length,loadMore:B1,refreshingFeed:C,overriddenAuthorHandle:il,overriddenAuthorName:rl,selectedArticleId:sc,setActiveDealTag:P,clearDealTag:D1,clearFreeformTags:M1,selectArticle:_1,setDisplayCount:dc,setSelectedArticleId:ll,status:z1,toggleAuthorOverride:R1,toggleDealTag:T1,toggleFreeformTag:x1,totalAuthorCount:st?0:h,totalDealCount:st?0:A}}var aS=B(ft(),1);var Fr=B(ft(),1);function Zv(e){let[t,n]=(0,Fr.useState)(null),[a,l]=(0,Fr.useState)([]),[i,r]=(0,Fr.useState)(!1),[o,u]=(0,Fr.useState)(!1);return{close:()=>n(null),error:o,loading:i,merchant:t,open:async f=>{n(f),r(!0),u(!1),l([]);try{let d=Vv(f,e),m=await fetch(d.toString());if(!m.ok)throw new Error("API Error");l(mv(await m.json()))}catch(d){u(!0)}finally{r(!1)}},vouchers:a}}var je=B(O(),1);function lS(e){return new Set(e.map(t=>Array.isArray(t.authorName)?t.authorName[0]:t.authorName).map(t=>String(t||"").trim().toLowerCase()).filter(Boolean)).size}var iS=new Map,rS=()=>{};function Iv({data:e,editorBar:t,editorMode:n=!1,props:a,selectedDeals:l=iS,setSelectedDeals:i=rS}){let r=Zv(a.region),[o,u]=(0,Wv.useState)(new Set),c=p0[a.website||""]||"#1F69FF",s=a.backgroundColor?a.backgroundColor==="white"?"#ffffff":a.backgroundColor==="transparent"?"transparent":a.backgroundColor==="light_blue"?"#E7F0FF":void 0:void 0,f=Vu(a.authorHandle,a.authorName),d=Or(a),m=Fu(a),v=wa(m?"date_desc":a.sort,!d),A=!!(a.showReviewSort&&a.includeReviewProducts),b=a.showPriceDiscountFilters!==!1||A,h=!a.authorFullBleed,g=!e.clickedAuthorOverride,p=e.totalDealCount||e.deals.length,y=e.totalAuthorCount||lS(e.deals),C=e.status==="loading_inventory"||e.status==="refreshing_inventory"||e.status==="enriching_visible_cards",R=e.status==="loading_inventory"||(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards")&&e.deals.length===0,M=!!(a.showReviewSort&&a.includeReviewProducts&&(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards"))?"Loading and sorting available review products":e.status==="enriching_visible_cards"?"Adding live product images and prices":e.status==="refreshing_inventory"?"Updating products":`Loading ${a.website||"site"} authors and products`,w=j=>{e.markProductSelectionInteracted(),a.onBrandToggle?.(j)},D=j=>{e.markProductSelectionInteracted(),a.onBrandSelect?.(j)},k=j=>{e.markProductSelectionInteracted(),a.onPriceRangeChange?.(j)},se=j=>{e.markProductSelectionInteracted(),a.onDiscountAmountChange?.(j)},I=j=>{e.markProductSelectionInteracted(),a.onSortChange?.(j)};return(0,je.jsx)("div",{className:"tg-df-widget-host",style:{"--tg-df-blue":c.toUpperCase()==="#FFFFFF"?"#000000":c},"data-vizualizer-embed":"true","data-tg-df-full-bleed":a.authorFullBleed?"true":"false","data-tg-df-mobile-dropdowns":a.mobileDropdowns?"true":"false","data-tg-df-sticky-mobile-filters":a.stickyMobileFilters===!1?"false":"true",children:(0,je.jsxs)("div",{className:"tg-df-container article-body",style:a.backgroundColor?{backgroundColor:s}:void 0,children:[(a.showAuthorIdentity!==!1||a.showAuthorBio!==!1)&&(0,je.jsx)("div",{className:"tg-df-author-embed",style:{width:"100%",fontFamily:"inherit"},children:(0,je.jsx)("div",{className:"tg-df-author-section",style:{display:"block",opacity:1,overflow:"visible",background:"transparent",border:"none"},children:(0,je.jsx)(U0,{authorArticlesList:e.authorArticlesList,authorBioLength:a.authorBioLength,customBio:g?a.customBio:void 0,customHeaderKicker:a.customHeaderKicker,customHeaderTitle:a.customHeaderTitle,effectiveAuthorHandle:e.clickedAuthorOverride?e.overriddenAuthorHandle:a.authorHandle,effectiveAuthorName:e.clickedAuthorOverride?e.overriddenAuthorName:a.authorName,isReviewWidget:d,onBioChange:g?a.onBioChange:void 0,onHeaderKickerChange:a.onHeaderKickerChange,onHeaderTitleChange:a.onHeaderTitleChange,selectedProfile:e.effectiveAuthorProfile,showAuthorBio:a.showAuthorBio,showAuthorIdentity:a.showAuthorIdentity,showSocialButtons:a.showSocialButtons,stabilizeBio:f,authorCount:y,totalDealCount:p,website:a.website})})}),t,a.showCollectionsDropdown&&(0,je.jsx)(r0,{articles:e.authorArticlesList,authorHandle:a.authorHandle,authorName:a.authorName||a.author,onChange:e.selectArticle,selectedArticleId:e.selectedArticleId,shortenedHeadlines:a.shortenedHeadlines}),C&&(0,je.jsxs)("div",{role:"status","aria-live":"polite","aria-label":M,style:{alignItems:"center",display:"flex",justifyContent:"center",marginBottom:"16px",minHeight:"72px"},children:[(0,je.jsx)("span",{className:"tg-df-coupon-spinner","aria-hidden":"true",style:{borderWidth:"3px",height:"24px",width:"24px"}}),(0,je.jsxs)("span",{style:{color:"#4B5563",fontSize:"14px",marginLeft:"10px"},children:[M,"\u2026"]})]}),(0,je.jsx)(_0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,allAuthorsList:e.allAuthorsList,brands:a.brands,clickedAuthorOverride:e.clickedAuthorOverride,loading:e.loading,refreshing:e.refreshingFeed,onAuthorClick:e.toggleAuthorOverride,onBrandToggle:w,onFreeformTagClick:e.toggleFreeformTag,onTagClick:e.toggleDealTag,overriddenAuthorHandle:e.overriddenAuthorHandle,overriddenAuthorName:e.overriddenAuthorName,selectedBrands:a.selectedBrands,showAuthorRail:f&&a.showAuthorRail!==!1,showAuthorCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,website:a.website}),(0,je.jsx)(k0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,brands:a.brands,discountAmount:a.discountAmount,enabled:a.mobileDropdowns||h,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,onPriceRangeChange:k,onReviewSortChange:I,onTagClear:e.clearDealTag,onTagClick:e.toggleDealTag,priceRange:a.priceRange,reviewSort:v,selectedBrands:a.selectedBrands||[],showCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),b&&(0,je.jsx)(L0,{airedaleBrands:e.airedaleBrands,airedaleTags:e.airedaleTags,discountAmount:a.discountAmount,hidden:!!e.selectedArticleId,onDiscountAmountChange:se,onPriceRangeChange:k,onReviewSortChange:I,priceRange:a.priceRange,reviewSort:v,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),(0,je.jsx)(i0,{articles:e.authorArticlesList,selectedArticleId:e.selectedArticleId}),(a.showCategoryRail!==!1||a.showFreeformTagRail!==!1||a.showBrandRail!==!1)&&(0,je.jsx)(a0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleTags:e.airedaleTags,freeformTags:e.airedaleFreeformTags,discountAmount:a.discountAmount,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onPriceRangeChange:k,onTagClear:e.clearDealTag,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,priceRange:a.priceRange,selectedBrands:a.selectedBrands||[]}),(0,je.jsx)(w0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,couponMap:e.couponMap,deals:e.deals,displayCount:e.displayCount,editorMode:n,error:e.error,expandedDealIds:o,hasMore:e.hasMore,hideHawkPrices:a.hideHawkPrices,loading:R,loadingMore:e.loadingMore,loadMoreStartCount:e.loadMoreStartCount,onDescriptionToggle:j=>u(He=>{let ze=new Set(He);return ze.has(j)?ze.delete(j):ze.add(j),ze}),onLoadMore:e.loadMore,onOpenVouchers:r.open,query:a.query,recentDealsOnly:!!(a.includeDeals&&!a.includeCollections&&!a.includeBuyingGuideProducts&&!a.includeReviewProducts),selectedBrands:a.selectedBrands,selectedDeals:l,setSelectedDeals:i,website:a.website}),(0,je.jsx)(G0,{error:r.error,loading:r.loading,merchant:r.merchant,onClose:r.close,vouchers:r.vouchers})]})})}var $v=B(O(),1),Jv=e=>{let t={...e,editorMode:!1},n=qf(t);return(0,$v.jsx)(Iv,{data:n,props:t})};var U={authorBioLength:"short",authorFullBleed:!0,authorHandle:"all-authors",authorName:"All authors",backgroundColor:"transparent",customBio:"",customHeaderKicker:void 0,customHeaderTitle:void 0,discountAmount:"0",editorMode:!1,editorialMaxAgeMonths:"12",includeBuyingGuideProducts:!0,includeCollections:!0,includeDeals:!0,includeReviewProducts:!1,mobileDropdowns:!0,stickyMobileFilters:!0,offerType:"",preloadReviewInventory:!1,lightweightReviewDelivery:!1,hideHawkPrices:!1,prioritiseCommercialProducts:!0,priceRange:"all",productSelection:"latest",query:"Everything",region:"auto",resultCount:"12",retailer:"",selectedBrands:[],showAuthorBio:!0,showAuthorCounters:!0,showAuthorIdentity:!0,showAuthorRail:!0,showBrandRail:!0,showCategoryRail:!0,showCollectionsDropdown:!1,showPriceDiscountFilters:!0,showReviewSort:!1,showSocialButtons:!0,showCountdown:!1,showHeaderDetails:!0,showFreeformTagRail:!0,sort:"date_desc",viewMode:"author",website:"whowhatwear",widgetSubtitle:"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.",widgetTitle:"Top Deals Handpicked by Our Editors"};function We(e,t){return typeof e=="string"?e:t}function Ae(e,t){return typeof e=="boolean"?e:t}function e1(e){let t=e||{},n=t.authorBioLength==="long"?"long":"short",a=t.productSelection==="mix"?"mix":"latest";return{...U,...t,authorBioLength:n,authorFullBleed:Ae(t.authorFullBleed,U.authorFullBleed),authorHandle:We(t.authorHandle,U.authorHandle),authorName:We(t.authorName,U.authorName),backgroundColor:We(t.backgroundColor,U.backgroundColor),customBio:We(t.customBio,U.customBio),customHeaderKicker:typeof t.customHeaderKicker=="string"?t.customHeaderKicker:void 0,customHeaderTitle:typeof t.customHeaderTitle=="string"?t.customHeaderTitle:void 0,discountAmount:We(t.discountAmount,U.discountAmount),editorMode:Ae(t.editorMode,U.editorMode),editorialMaxAgeMonths:We(t.editorialMaxAgeMonths,U.editorialMaxAgeMonths),includeBuyingGuideProducts:Ae(t.includeBuyingGuideProducts,U.includeBuyingGuideProducts),includeCollections:Ae(t.includeCollections,U.includeCollections),includeDeals:Ae(t.includeDeals,U.includeDeals),includeReviewProducts:Ae(t.includeReviewProducts,U.includeReviewProducts),mobileDropdowns:Ae(t.mobileDropdowns,U.mobileDropdowns),stickyMobileFilters:Ae(t.stickyMobileFilters,U.stickyMobileFilters),offerType:We(t.offerType,U.offerType),preloadReviewInventory:Ae(t.preloadReviewInventory,U.preloadReviewInventory),lightweightReviewDelivery:Ae(t.lightweightReviewDelivery,U.lightweightReviewDelivery),hideHawkPrices:Ae(t.hideHawkPrices,U.hideHawkPrices),prioritiseCommercialProducts:Ae(t.prioritiseCommercialProducts,U.prioritiseCommercialProducts),priceRange:We(t.priceRange,U.priceRange),productSelection:a,query:We(t.query,U.query),region:We(t.region,U.region),resultCount:We(t.resultCount,U.resultCount),retailer:We(t.retailer,U.retailer),selectedBrands:Array.isArray(t.selectedBrands)?t.selectedBrands.filter(l=>typeof l=="string"):[],showAuthorBio:Ae(t.showAuthorBio,U.showAuthorBio),showAuthorCounters:Ae(t.showAuthorCounters,U.showAuthorCounters),showAuthorIdentity:Ae(t.showAuthorIdentity,U.showAuthorIdentity),showAuthorRail:Ae(t.showAuthorRail,U.showAuthorRail),showBrandRail:Ae(t.showBrandRail,U.showBrandRail),showCategoryRail:Ae(t.showCategoryRail,U.showCategoryRail),showCollectionsDropdown:Ae(t.showCollectionsDropdown,U.showCollectionsDropdown),showPriceDiscountFilters:Ae(t.showPriceDiscountFilters,U.showPriceDiscountFilters),showReviewSort:Ae(t.showReviewSort,U.showReviewSort),showSocialButtons:Ae(t.showSocialButtons,U.showSocialButtons),showCountdown:Ae(t.showCountdown,U.showCountdown),showHeaderDetails:Ae(t.showHeaderDetails,U.showHeaderDetails),showFreeformTagRail:Ae(t.showFreeformTagRail,U.showFreeformTagRail),sort:We(t.sort,U.sort),viewMode:We(t.viewMode,U.viewMode),website:We(t.website,U.website),widgetSubtitle:We(t.widgetSubtitle,U.widgetSubtitle),widgetTitle:We(t.widgetTitle,U.widgetTitle)}}function t1(e,t={}){return{...e,brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}}function n1(e,t){try{window.hawk?.analytics?.freyr?.push({name:e,data:t}),window.dispatchEvent(new CustomEvent("hawk-analytics-update")),window.freyr?.cmd.push(()=>{window.freyr?.pushAndUpdate?.(e,t)})}catch{}}function a1(){window.dataLayer=window.dataLayer||[],window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.hawk=window.hawk||{},window.hawk.analytics=window.hawk.analytics||{},window.hawk.analytics.freyr=window.hawk.analytics.freyr||[],window.freyr=window.freyr||{cmd:[]},window.freyr.cmd=window.freyr.cmd||[];let e="https://freyr.futurecdn.net/freyr.js",t=window.location.hostname;if(!(window.navigator.webdriver||window.navigator.userAgent.includes("Headless"))&&!!t&&t!=="localhost"&&t!=="127.0.0.1"&&!t.includes("run.app")&&!document.querySelector(`script[src="${e}"]`)){let l=document.createElement("script");l.src=e,l.async=!0,document.head.appendChild(l)}}function oS(e){let t=Number.parseFloat(e.rawPrice||e.price)||null,n=Number.parseFloat(e.rawMsrp||e.msrp)||null;return{product:{primary:{id:e.externalProductId||e.id||e.matchId||null,name:e.productName||e.title||"",type:"deal",price:t,previousPrice:n,currency:e.isoCurrencyCode||e.currency||"USD",preorder:!1,labels:e.modelBrand||e.brand?[{type:"brand",value:e.modelBrand||e.brand}]:[],link:e.url||null,originalLink:e.originalLink||e.url||null,revenueId:e.revenueId||null,startTime:null,endTime:null,voucherCode:null,voucherAudience:null,voucherPercentageSaving:n&&t&&n>t?Math.round((1-t/n)*100):null,voucherMoneySaving:null,voucherType:null,offerExclusive:!1,offerScope:null,globalId:e.productKey||null,inStock:e.inStock!==!1,contractProvider:null,contractMinutes:null,contractTexts:null,contractData:null,contractLength:null,contractMonthlyPrice:null,contractCurrency:e.isoCurrencyCode||e.currency||"USD"}},merchant:{id:e.merchantId||null,name:e.merchant||"Retailer",url:e.merchantUrl||null,network:e.merchantNetwork||null},model:{id:e.modelId||null,brand:e.modelBrand||e.brand||null,name:e.productName||e.title||"",parent:e.modelParent||null}}}var uS=new Set(["subid1","ascsubtag","clickref","u1"]);function cS(e){return e.match(/(?:^|[-_])(\d{10,})(?=$|[-_])/)?.[1]||null}function sS(e){let t=new Set,n=a=>{if(!a||t.has(a))return null;t.add(a);let l;try{l=new URL(a)}catch{return null}for(let[i,r]of l.searchParams)if(uS.has(i.toLowerCase())){let o=cS(r);if(o)return o}for(let i of l.searchParams.values())if(/^https?:\/\//i.test(i)){let r=n(i);if(r)return r}return null};return n(e)}function l1({areaClicked:e,clickType:t,deals:n,index:a,queryName:l}){let i={event:"hawkEvent",category:"Affiliates",affiliate:{action:{type:t,id:"author-widget",event:t==="appeared"?"viewed":"Click from",timestamp:Date.now()},component:{flag:"Editor",product:"deals",category:"Signal Deal Finder Author widget",type:t==="appeared"?"review":"signal product",label:l||n[0]?.productName||n[0]?.title||"",index:a??-1,linkCount:n.length,blockLayout:"",areaClicked:e}},products:n.slice(0,20).map(oS),reviews:[],_clear:!0,"gtm.uniqueEventId":Date.now()%1e4};n1("hawkEvent",i)}function i1(e,t){e.length&&l1({areaClicked:"",clickType:"appeared",deals:e,index:null,queryName:t})}function r1(e,t){if(e?.deals?.length)return e.deals;let n=Number(t)||12;return e?.allDeals?.slice(0,n)||[]}function o1(e){e.addEventListener("click",t=>{let n=t.target;if(!(n instanceof Element))return;let a=n.closest("a[data-fcaw-affiliate-link][href], a.hawk-affiliate-link-deal-widget[href], a.hawk-affiliate-link-container[href], a.hawk-affiliate-link-deal-button[href]"),l=n.closest(".tg-df-card"),i=!!(!a?.dataset.fcawRevenueId&&(a?.hasAttribute("data-hl-processed")||a?.hasAttribute("data-fcaw-hawklinks-requested")));a&&l&&!i&&l1({areaClicked:"Signal Product Card",clickType:"retailer",deals:[{brand:l.dataset.brand,currency:l.dataset.currency,id:l.dataset.dealId,merchant:a.dataset.merchant||l.dataset.merchant,merchantId:a.dataset.merchantId||l.dataset.merchantId,modelId:a.dataset.modelId||l.dataset.modelId,productKey:a.dataset.productKey||l.dataset.productKey,rawMsrp:l.dataset.previousPrice,rawPrice:l.dataset.price,originalLink:a.dataset.fcawOriginalLink||a.href,revenueId:a.dataset.fcawRevenueId||sS(a.href),title:l.dataset.productName,url:a.href}],index:Array.from(e.querySelectorAll(".tg-df-card")).indexOf(l)});let r=n.closest('button, select, [role="button"]');r&&n1("elementInteraction",{element:{action:"click",id:r.id||void 0,class:r.className||void 0,name:r.getAttribute("name")||r.getAttribute("aria-label")||void 0,text:r.textContent?.trim()||void 0,label:r.getAttribute("aria-label")||void 0}})})}var Vf=B(O(),1),dS='fc-author-commerce-widget[data-fcaw-version="1"]',fS="(max-width: 599px)",gS=600,mS='[class*="membership-expandable-banner"]',hS=/^jump\s+to\b/i,jf="data-fcaw-jump-navigation-suppressed",pS=50,yS=1e4,vS=["[data-sticky-header]","[data-header-sticky]",'[role="banner"]',".navigation__container",".site-header",".main-header",".header__container",'[class*="membership-expandable-banner"] [class*="skinny-banner"]','[class*="membership-expandable-banner"] [id="skinnyBanner"]',"nav","header"].join(","),bS=`  :host {    display: block !important;    width: 100% !important;    min-width: 0 !important;    max-width: none !important;    isolation: isolate !important;    contain: style !important;  }  :host([data-fcaw-full-bleed="true"]) {    width: min(      1200px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1200px !important;    margin-left: var(      --fcaw-full-bleed-offset,      calc(50% - min(600px, 50vw))    ) !important;    margin-right: 0 !important;    position: relative !important;  }  :host([data-fcaw-full-bleed="true"]) #tg-df-spreadsheet-filters {    width: min(      1500px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1500px !important;    margin-left: calc(      (        100% -        min(1500px, var(--fcaw-viewport-width, 100vw))      ) / 2    ) !important;    margin-right: 0 !important;  }  :host, :host *, :host *::before, :host *::after {    box-sizing: border-box;  }`,Ff=new WeakMap;function AS(){if(document.querySelector("style[data-fcaw-jump-navigation-protection]"))return;let e=document.createElement("style");e.setAttribute("data-fcaw-jump-navigation-protection",""),e.textContent=`    [${jf}="true"] {      opacity: 0 !important;      pointer-events: none !important;      visibility: hidden !important;    }  `,document.head.appendChild(e)}function wS(){let e=Array.from(document.querySelectorAll("span, p, div, strong, b")).filter(n=>n.childElementCount===0&&hS.test(n.textContent?.trim()||"")),t=new Set;for(let n of e)for(let a=n.parentElement;a&&a!==document.body;a=a.parentElement)if(getComputedStyle(a).position==="sticky"){t.add(a);break}return[...t]}function SS(e,t,n){let a=Ff.get(e)||new Set;n?a.add(t):a.delete(t),a.size>0?(Ff.set(e,a),e.setAttribute(jf,"true")):(Ff.delete(e),e.removeAttribute(jf))}function CS(e){if(e.dataset.fcawFullBleed!=="true"||typeof IntersectionObserver>"u")return;let t=wS().filter(a=>!a.contains(e));if(t.length===0)return;AS(),new IntersectionObserver(([a])=>{t.forEach(l=>SS(l,e,a.isIntersecting))},{threshold:0}).observe(e)}function RS({host:e,initialData:t,initialProps:n}){let[a]=(0,Lt.useState)(d1),l=DS(t,a),[i,r]=(0,Lt.useState)(n.query),[o,u]=(0,Lt.useState)(n.selectedBrands),[c,s]=(0,Lt.useState)(n.priceRange),[f,d]=(0,Lt.useState)(n.discountAmount),[m,v]=(0,Lt.useState)(n.sort),[A,b]=(0,Lt.useState)(!1),h=!!(A&&n.compactEmbed&&n.includeDeals!==!1),g=(0,Lt.useRef)(!1);return(0,Lt.useEffect)(()=>{let p=()=>{g.current||(g.current=!0,i1(r1(l,n.resultCount),n.query))};if(typeof IntersectionObserver>"u"){p();return}let y=new IntersectionObserver(([C])=>{C?.isIntersecting&&(p(),y.disconnect())},{threshold:.1});return y.observe(e),()=>y.disconnect()},[e,l,n.query]),(0,Lt.useEffect)(()=>{if(typeof IntersectionObserver>"u"){b(!0);return}let p=new IntersectionObserver(([y])=>{y?.isIntersecting&&(b(!0),p.disconnect())},{rootMargin:"800px 0px"});return p.observe(e),()=>p.disconnect()},[e]),(0,Vf.jsx)(Jv,{...n,region:a||"unavailable",initialData:l,warmInventory:A,refreshDealsOnViewport:h,query:i,selectedBrands:o,priceRange:c,discountAmount:f,sort:m,editorMode:!1,onQueryChange:r,onBrandSelect:u,onBrandToggle:p=>u(y=>y.includes(p)?y.filter(C=>C!==p):[...y,p]),onPriceRangeChange:s,onDiscountAmountChange:d,onSortChange:v})}function TS(e){try{let t=document.cookie.match(new RegExp(`(?:^|;\\s*)${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}catch{return}}function cc(e){let n=String(e||"").trim().toUpperCase().replace("_","-").split("-").at(-1);return n==="UK"?"GB":["US","GB","AU","CA","DE","FR","IT","ES","NL"].includes(n||"")?n:void 0}function d1(){let e=new URLSearchParams(window.location.search).get("area");return cc(e)||cc(TS("FTR_Country_Code"))||cc(document.documentElement.getAttribute("data-locale"))||cc(window.navigator.language)}function u1(e,t){let n=e.querySelector(t);if(n?.textContent)try{return JSON.parse(n.textContent)}catch(a){console.warn("Author widget configuration could not be parsed.",a);return}}function ES(e){return e?.reviewInventoryFormat!==nv||!e.allDeals?e:{...e,allDeals:av(e.allDeals)}}function DS(e,t){let n=t?e?.regionalDealManifests?.[t]:void 0;if(!n)return e;let a=e?.regionalDealRailData?.[t];return{...e,allDeals:void 0,deals:n,...a}}function c1(e){e.querySelectorAll("a[href]").forEach(t=>{(t.hasAttribute("data-fcaw-affiliate-link")||t.classList.contains("hawk-affiliate-link-deal-widget")||t.classList.contains("hawk-affiliate-link-container")||t.classList.contains("hawk-affiliate-link-deal-button"))&&(t.rel="sponsored nofollow noopener")})}function xS(e){let t=e.closest(".tg-df-card"),n=t?.dataset.fcawRevenueId||e.dataset.fcawRevenueId;if(n)return n;let a=[window.location.href,t?.dataset.productName||"",t?.dataset.merchant||"",t?.dataset.modelId||"",new Date().toDateString(),"tomsguide"].join("|"),l=0;for(let r=0;r<a.length;r+=1)l=(l<<5)-l+a.charCodeAt(r),l|=0;let i=String(Math.abs(l));for(;i.length<19;)l=(l<<5)-l+i.length,l|=0,i+=String(Math.abs(l));return i=i.slice(0,19),t&&(t.dataset.fcawRevenueId=i),i}function MS(e){let t=e.dataset.fcawOriginalLink||e.href;if(!t.includes("hawk-custom-tracking"))return!1;let n=d1();if(!n)return!1;let a=xS(e);return e.dataset.fcawOriginalLink=t,e.dataset.fcawRevenueId=a,e.href=t.replaceAll("hawk-custom-tracking",`tomsguide-${n.toLowerCase()}-${a}`),e.setAttribute("data-fcaw-hawklinks-requested","true"),!0}function _S(){return!!window.hawklinks?.version}function BS(e){let t=!1,n,a,l=()=>Array.from(e.querySelectorAll(".article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-widget[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-container[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-button[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested])")),i=()=>{t=!1;let u=l();if(u.length===0)return;let c=u.filter(s=>!MS(s));if(c.length!==0){if(!_S()){let s=Date.now();a??=s,!n&&s-a<yS&&(n=window.setTimeout(()=>{n=void 0,r()},pS));return}a=void 0,c.forEach(s=>s.setAttribute("data-fcaw-hawklinks-requested","true")),document.dispatchEvent(new CustomEvent("processArticle",{detail:{element:e}}))}},r=()=>{t||(t=!0,window.setTimeout(i,0))},o=new MutationObserver(r);return o.observe(e,{attributes:!0,attributeFilter:["href"],childList:!0,subtree:!0}),r(),()=>{o.disconnect(),n&&window.clearTimeout(n)}}function NS(e){if(e.dataset.fcawFullBleed!=="true")return;let t=()=>{let n=document.documentElement.clientWidth||window.innerWidth,a=Math.min(1200,n),l=Math.max(0,(n-a)/2),i=e.parentElement?.getBoundingClientRect().left||0;e.style.setProperty("--fcaw-full-bleed-offset",`${l-i}px`),e.style.setProperty("--fcaw-viewport-width",`${n}px`)};t(),window.addEventListener("resize",t,{passive:!0}),typeof ResizeObserver<"u"&&e.parentElement&&new ResizeObserver(t).observe(e.parentElement)}function OS(e){let t=window.matchMedia(fS),n=!1,a=new Set,l=new Map,i,r=()=>t.matches||e.getBoundingClientRect().width<gS,o=()=>{n||(n=!0,window.requestAnimationFrame(s))},u=()=>{if(typeof MutationObserver>"u")return;let f=new Set(Array.from(document.querySelectorAll(mS)));l.forEach((d,m)=>{f.has(m)&&m.isConnected||(d.disconnect(),l.delete(m))}),f.forEach(d=>{if(l.has(d))return;let m=new MutationObserver(o);m.observe(d,{attributes:!0,attributeFilter:["class","style"],childList:!0,subtree:!0}),l.set(d,m)})},c=f=>{let d=new Set(f);a.forEach(m=>{d.has(m)||(i?.unobserve(m),m.removeEventListener("transitionend",o),a.delete(m))}),f.forEach(m=>{a.has(m)||(i?.observe(m),m.addEventListener("transitionend",o),a.add(m))})},s=()=>{if(n=!1,u(),!r()){c([]),e.style.removeProperty("--fcaw-mobile-sticky-offset");return}let f=Number.parseFloat(getComputedStyle(e).getPropertyValue("--fcaw-publisher-sticky-offset"));if(Number.isFinite(f)&&f>=0){c([]),e.style.setProperty("--fcaw-mobile-sticky-offset",`${f}px`);return}let d=Array.from(document.querySelectorAll(vS)).filter(v=>{if(v.contains(e))return!1;let A=getComputedStyle(v).position;return A==="fixed"||A==="sticky"});c(d);let m=d.reduce((v,A)=>{let b=A.getBoundingClientRect();return b.top>2||b.bottom<=0||b.height<=0||b.height>window.innerHeight*.5?v:Math.max(v,b.bottom)},0);e.style.setProperty("--fcaw-mobile-sticky-offset",`${Math.ceil(m)}px`)};return typeof ResizeObserver<"u"&&(i=new ResizeObserver(o),i.observe(e)),s(),window.addEventListener("scroll",o,{capture:!0,passive:!0}),window.addEventListener("resize",o,{passive:!0}),t.addEventListener?.("change",o),()=>{window.removeEventListener("scroll",o,!0),window.removeEventListener("resize",o),t.removeEventListener?.("change",o),i?.disconnect(),a.forEach(f=>f.removeEventListener("transitionend",o)),a.clear(),l.forEach(f=>f.disconnect()),l.clear()}}function kS(e){if(e.dataset.fcawEnhanced==="true")return;let t=u1(e,"script[data-fcaw-config]");if(!t)return;let n={...t1(e1(t),{brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}),compactEmbed:t.compactEmbed,editorMode:!1,warmInventory:t.warmInventory},a=u1(e,"script[data-fcaw-preload]"),l=ES(a),i=e.querySelector("[data-fcaw-fallback]");if(!i)return;NS(e),CS(e),n.stickyMobileFilters!==!1&&OS(e),c1(i);let r=e.shadowRoot||e.attachShadow({mode:"open"}),o=e.querySelector(":scope > style[data-fcaw-host-protection]");if(o&&r.appendChild(o),!r.querySelector("style[data-fcaw-shadow-protection]")){let c=document.createElement("style");c.setAttribute("data-fcaw-shadow-protection",""),c.textContent=bS,r.appendChild(c)}i.querySelectorAll(":scope > style").forEach(c=>{r.appendChild(c)});let u=document.createElement("div");for(u.setAttribute("data-fcaw-mount","");i.firstChild;)u.appendChild(i.firstChild);i.remove(),r.appendChild(u),e.dataset.fcawEnhanced="true",a1(),e.dataset.fcawAnalyticsReady="true",o1(r),BS(r),(0,s1.createRoot)(u).render((0,Vf.jsx)(RS,{host:e,initialData:l,initialProps:n})),window.setTimeout(()=>c1(r),0)}function Yf(){document.querySelectorAll(dS).forEach(kS)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yf,{once:!0}):Yf();new MutationObserver(Yf).observe(document.documentElement,{childList:!0,subtree:!0});})();/*! Bundled license information:react/cjs/react.production.js:  (**   * @license React   * react.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)scheduler/cjs/scheduler.production.js:  (**   * @license React   * scheduler.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom.production.js:  (**   * @license React   * react-dom.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom-client.production.js:  (**   * @license React   * react-dom-client.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react/cjs/react-jsx-runtime.production.js:  (**   * @license React   * react-jsx-runtime.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)*/</script></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-prime-day-gaming-keyboard-deals-in-the-uk"><span>Prime Day gaming keyboard deals in the UK</span></h2><h2 id="where-are-the-best-prime-day-gaming-keyboard-deals-in-the-uk">Where are the best Prime Day gaming keyboard deals in the UK?</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.co.uk/s?k=gaming+keyboard" target="_blank">Big discounts on top-brand gaming keyboards</a></li><li><strong>Overclockers:</strong> <a href="https://www.overclockers.co.uk/search?q=gaming+keyboards&search-button=&lang=en_GB&_gl=1*1ingm4b*_up*MQ..*_ga*NzIxNDkyNDA1LjE3OTA2MDY5NTQ.*_ga_7SS7XDNBS9*czE3OTA2MDY5NTMkbzEkZzAkdDE3OTA2MDY5NTMkajYwJGwwJGgw*_ga_123456*czE3OTA2MDY5NTMkbzEkZzAkdDE3OTA2MDY5NTMkajYwJGwwJGgxOTY1MTc0NTY2" target="_blank">Over 100 gaming keyboards to choose from</a></li><li><strong>Scan:</strong> <a href="https://www.scan.co.uk/shop/computer-hardware/keyboards/1814/493" target="_blank">Gaming keyboards from just £18</a></li><li><strong>Box: </strong><a href="https://box.co.uk/gaming-keyboards" target="_blank">Gaming keyboards from Asus, Logitech, and Razer</a></li><li><strong>Currys:</strong> <a href="https://www.currys.co.uk/gaming/gaming-accessories/keyboards?q=gaming%20keyboards" target="_blank">Keyboards from as little as £25</a></li><li><strong>Argos: </strong><a href="https://www.argos.co.uk/search/gaming-keyboard/?clickOrigin=searchbar:home:term:gaming+keyboard" target="_blank">Good prices on budget to high-end keyboards</a></li></ul><div class="product"><a data-dimension112="a9d8fcc6-bb47-11f1-be9a-c116a355cf33" data-action="Deal Block" data-label="x NaughShark NS68 | Wired" data-dimension48="x NaughShark NS68 | Wired" data-dimension25="£47.75" href="https://www.amazon.co.uk/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F283459L?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1503px;"><p class="vanilla-image-block" style="padding-top:99.33%;"><img id="cbkcaJ68Pwnf5TvXNiYANj" name="1790608297.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/cbkcaJ68Pwnf5TvXNiYANj-1920-80.jpg" mos="" align="middle" fullscreen="" width="1503" height="1493" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F283459L?th=1" target="_blank" rel="nofollow" data-dimension112="a9d8fcc6-bb47-11f1-be9a-c116a355cf33" data-action="Deal Block" data-label="x NaughShark NS68 | Wired" data-dimension48="x NaughShark NS68 | Wired" data-dimension25="£47.75">x NaughShark NS68 | Wired: £47.75</a></strong><br>An 8 KHz polling rate, Hall effect switches, rapid trigger, and nice double-shot PBT keycaps. To think you can get all of this for little cash makes the geeky hardware kid in me very happy. The <a href="https://www.pcgamer.com/hardware/gaming-keyboards/gamakay-x-naughshark-ns68-review/" target="_blank">Gamakay x NaughShark NS68</a> is noticeably a cheaper keyboard in feel, but those internals truly are phenomenal. </p><p><strong>Key specs:</strong> <strong>Wired | 8 KHz | Hall effect </strong><a class="view-deal button" href="https://www.amazon.co.uk/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F283459L?th=1" target="_blank" rel="nofollow" data-dimension112="a9d8fcc6-bb47-11f1-be9a-c116a355cf33" data-action="Deal Block" data-label="x NaughShark NS68 | Wired" data-dimension48="x NaughShark NS68 | Wired" data-dimension25="£47.75">View Deal</a></p></div><div class="product"><a data-dimension112="6102f902-bb51-11f1-a009-1b4d4ee2dfe8" data-action="Deal Block" data-label="G515 Rapid TKL | Wired" data-dimension48="G515 Rapid TKL | Wired" data-dimension25="£92.49" href="https://www.amazon.co.uk/Logitech-LIGHTSPEED-LIGHTSYNC-Tenkeyless-Mechanical/dp/B0FJ8SGY2L" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1503px;"><p class="vanilla-image-block" style="padding-top:99.33%;"><img id="bwEcDNEPsPRhS9v9fBNLAH" name="1790609333.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/bwEcDNEPsPRhS9v9fBNLAH-1920-80.jpg" mos="" align="middle" fullscreen="" width="1503" height="1493" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-LIGHTSPEED-LIGHTSYNC-Tenkeyless-Mechanical/dp/B0FJ8SGY2L" target="_blank" rel="nofollow" data-dimension112="6102f902-bb51-11f1-a009-1b4d4ee2dfe8" data-action="Deal Block" data-label="G515 Rapid TKL | Wired" data-dimension48="G515 Rapid TKL | Wired" data-dimension25="£92.49">G515 Rapid TKL | Wired: was £129.99 now £92.49</a></strong><br>When we <a href="https://www.pcgamer.com/hardware/gaming-keyboards/logitech-g515-rapid-tkl-review/" target="_blank">first reviewed this board</a> it was far too expensive to fit into the mainstream market it felt more suited to. Fast forward nearly a year and the price has dropped down to a more palatable sum. Not bad for rapid trigger functionality in a solid, reliable board.<br><br><strong>Key specs: Wired USB-A to USB-C | Magnetic analogue switches | RGB lighting | PBT keycaps</strong><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-LIGHTSPEED-LIGHTSYNC-Tenkeyless-Mechanical/dp/B0FJ8SGY2L" target="_blank" rel="nofollow" data-dimension112="6102f902-bb51-11f1-a009-1b4d4ee2dfe8" data-action="Deal Block" data-label="G515 Rapid TKL | Wired" data-dimension48="G515 Rapid TKL | Wired" data-dimension25="£92.49">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8fd8e-bb47-11f1-992b-4d62ed1fd33e" data-action="Deal Block" data-label="ROG Strix Scope II 96 | Wireless" data-dimension48="ROG Strix Scope II 96 | Wireless" data-dimension25="£139.99" href="https://www.amazon.co.uk/ASUS-Connection-Dampening-Switch-Dampening-Hot-Swappable/dp/B0BVNWNR1Q/ref=sr_1_1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1508px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="8YbiHBzPro7FyoEqpCierm" name="1731945100.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/8YbiHBzPro7FyoEqpCierm-1920-80.jpg" mos="" align="middle" fullscreen="" width="1508" height="1498" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/ASUS-Connection-Dampening-Switch-Dampening-Hot-Swappable/dp/B0BVNWNR1Q/ref=sr_1_1" target="_blank" rel="nofollow" data-dimension112="a9d8fd8e-bb47-11f1-992b-4d62ed1fd33e" data-action="Deal Block" data-label="ROG Strix Scope II 96 | Wireless" data-dimension48="ROG Strix Scope II 96 | Wireless" data-dimension25="£139.99">ROG Strix Scope II 96 | Wireless: was £169.99 now £139.99</a></strong><br>This is one of the best gaming keyboards going, and even a light discount is pretty good. You're getting excellent typing feel, stellar gaming performance, sound dampening that actually works, and a build quality that stands well above most of the competition. All for one of the best prices we've seen this keyboard going for.</p><p><strong>Key specs: Numpad | Wireless | Hot-swappable mechanical switches</strong></p><p><strong>Price check: </strong><a href="https://www.scan.co.uk/products/asus-rog-strix-scope-ii-96-white-rgb-mechanical-keyboard-rog-nx-snow-n-key-rollover-anti-ghosting" target="_blank">Scan £169.99</a><a class="view-deal button" href="https://www.amazon.co.uk/ASUS-Connection-Dampening-Switch-Dampening-Hot-Swappable/dp/B0BVNWNR1Q/ref=sr_1_1" target="_blank" rel="nofollow" data-dimension112="a9d8fd8e-bb47-11f1-992b-4d62ed1fd33e" data-action="Deal Block" data-label="ROG Strix Scope II 96 | Wireless" data-dimension48="ROG Strix Scope II 96 | Wireless" data-dimension25="£139.99">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8fdf2-bb47-11f1-8043-4503d699a62c" data-action="Deal Block" data-label="ROG Falchion RX Low Profile | Wireless" data-dimension48="ROG Falchion RX Low Profile | Wireless" data-dimension25="£149.50" href="https://www.amazon.co.uk/ASUS-Pre-lubed-Low-Profile-Dampening-Interactive/dp/B07M6HZDSC" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:672px;"><p class="vanilla-image-block" style="padding-top:98.51%;"><img id="WQuwBrKSSvimKgcEsfDZE9" name="1731946043.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/WQuwBrKSSvimKgcEsfDZE9-1920-80.jpg" mos="" align="middle" fullscreen="" width="672" height="662" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/ASUS-Pre-lubed-Low-Profile-Dampening-Interactive/dp/B07M6HZDSC" target="_blank" rel="nofollow" data-dimension112="a9d8fdf2-bb47-11f1-8043-4503d699a62c" data-action="Deal Block" data-label="ROG Falchion RX Low Profile | Wireless" data-dimension48="ROG Falchion RX Low Profile | Wireless" data-dimension25="£149.50">ROG Falchion RX Low Profile | Wireless: was £169.99 now £149.50</a></strong><br>This one's for all you low-profile lovers out there. The Falchion RX Low Profile is a smashing little keyboard—and I do say "little" because it uses a 60% layout, although thankfully it keeps the arrow keys. The switches you get are fantastic, though: pre-lubed and smooth as butter. The board even comes with volume controls along the top.</p><p><strong>Key specs: Tenkeyless | Wireless | Low profile mechanical switches</strong></p><p><strong>Price check: </strong><a href="https://www.scan.co.uk/products/asus-m603-rog-falchion-rx-low-profile-wired-wireless-mechanical-gaming-keyboard-rx-low-profile-switc" target="_blank">Scan £169.99</a><strong></strong><a class="view-deal button" href="https://www.amazon.co.uk/ASUS-Pre-lubed-Low-Profile-Dampening-Interactive/dp/B07M6HZDSC" target="_blank" rel="nofollow" data-dimension112="a9d8fdf2-bb47-11f1-8043-4503d699a62c" data-action="Deal Block" data-label="ROG Falchion RX Low Profile | Wireless" data-dimension48="ROG Falchion RX Low Profile | Wireless" data-dimension25="£149.50">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><section class="article__schema-question"><h3>When is October Prime Day 2026?</h3><article class="article__schema-answer"><p>Amazon's October Prime Day, AKA Big Deal Days, started on <strong>October 6</strong>, and ran though until the end of <strong>October 7</strong>. Many deals continued long after that, though.</p></article></section><h2 class="article-body__section" id="section-buying-advice-gaming-keyboards"><span>Buying advice: gaming keyboards</span></h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-keyboards/best-prime-day-gaming-keyboard-deals/</link>
                                                                            <description>
                            <![CDATA[ Gaming keyboards are a pretty Big Deal (Days) around here. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kHjYQARGFVXrLWHK25o7FY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/rj6tL2sRZkZdtMrXecrGJ3-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 28 Sep 2026 15:33:48 +0000</pubDate>                                                                                                                                <updated>Thu, 08 Oct 2026 09:52:12 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Keyboards]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                <author><![CDATA[ dave.james@futurenet.com (Dave James) ]]></author>                    <dc:creator><![CDATA[ Dave James ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-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/rj6tL2sRZkZdtMrXecrGJ3-1920-80.jpg">
                                                            <media:credit><![CDATA[Asus]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Asus ROG Strix Scope II 96 keyboard on a blue background]]></media:description>                                                            <media:text><![CDATA[Asus ROG Strix Scope II 96 keyboard on a blue background]]></media:text>
                                <media:title type="plain"><![CDATA[Asus ROG Strix Scope II 96 keyboard on a blue background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/rj6tL2sRZkZdtMrXecrGJ3-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The October Prime Day has been and gone, folks. Even after Amazon's Big Deal Days event, though, there are still discounts flowing in.</p><p>👉<a href="https://www.amazon.com/s?k=gaming+keyboard&crid=25G0ND4TIXQKJ&sprefix=gaming+keyboar%2Caps%2C188&ref=nb_sb_noss_2" target="_blank"><strong>ALL of Amazon's keyboard deals</strong></a>👈<br><strong>👉</strong><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>OUR favorite Prime Day PC gaming deals</strong></a><strong>👈</strong></p><p>We're constantly reviewing and picking out the <a href="https://www.pcgamer.com/best-gaming-keyboard/" target="_blank">best gaming keyboards</a> for our guides, so make sure to check in with us throughout the year to find out which are the right ones for you. In the meantime, though, there are still plenty of tempting options below.</p><h2 id="where-to-find-the-best-prime-day-gaming-keyboard-deals">Where to find the best Prime Day gaming keyboard deals</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.com/s?k=gaming+keyboard" target="_blank"><strong>All the gaming keyboards you could ever want</strong></a></li><li><strong>Walmart:</strong> <a href="https://www.walmart.com/search?q=gaming+keyboard" target="_blank">Quality gaming keyboards, superb savings</a></li><li><strong>Best Buy:</strong> <a href="https://www.bestbuy.com/site/searchpage.jsp?st=gaming+keyboards" target="_blank">Big name keyboards with big value discounts</a></li><li><strong>Newegg:</strong> <a href="https://www.newegg.com/Gaming-Keyboard/SubCategory/ID-3523?cm_sp=Cat_Keyboard-Mice_1-_-VisNav-_-Gaming-Keyboards" target="_blank">Big savings on big brand gaming keyboards</a></li></ul><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-6r4uxnr *:not(svg):not(path) { box-sizing: border-box; }    #widget-6r4uxnr h1, #widget-6r4uxnr p, #widget-6r4uxnr h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-6r4uxnr, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-6r4uxnr); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-6r4uxnr tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-6r4uxnr tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-6r4uxnr td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-6r4uxnr: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-6r4uxnr: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-6r4uxnr td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-6r4uxnr td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-6r4uxnr td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-6r4uxnr td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-6r4uxnr td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-6r4uxnr td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-6r4uxnr: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-6r4uxnr: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-6r4uxnr"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 76 gaming keyboard reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Gaming Keyboards";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%225S3EE8WZfdFfAQPjpW6kCT%22%2C%22title%22%3A%22Razer%20Reclusa%20X%20Mini%2065%25%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Frazer-reclusa-x-mini-65-percent-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-24T11%3A05%3A07Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FYSG4N9J9jHFHRxpSnGamWe.jpg%22%2C%22strapline%22%3A%22A%20budget%20mini%20keeb%20that%20somehow%20manages%20to%20feel%20high-end.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Gaming%20keyboard%22%2C%2265%25%20keyboard%22%2C%22Razer%20Reclusa%20X%20Mini%2065%25%22%2C%22ABS%22%2C%22Keycaps%22%2C%22wired%22%2C%22Magnetic%20switches%22%2C%22budget%22%5D%2C%22score%22%3A89%2C%22summary%22%3A%22A%20budget%20mini%20keeb%20that%20somehow%20manages%20to%20feel%20high-end.%22%7D%2C%7B%22id%22%3A%22tQuFw3eZTfok64xVrrkzoL%22%2C%22title%22%3A%22Be%20Quiet!%20Light%20Mount%20TKL%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fbe-quiet-light-mount-tkl-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-25T11%3A00%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FEKFS9yyRcpyGXg4u2d9d7o.jpg%22%2C%22strapline%22%3A%22A%20very%20welcome%20TKL%20update%20that%20didn't%20quite%20leave%20me%20speechless.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Review%22%2C%22Hardware%22%2C%22Gaming%20keyboard%22%2C%22be%20quiet!%20Light%20Mount%20TKL%22%2C%22be%20quiet!%20Light%20Mount%22%2C%22be%20quiet%22%2C%22mechanical%20keyboard%22%2C%22wired%22%2C%22RGB%22%5D%2C%22score%22%3A79%2C%22summary%22%3A%22A%20very%20welcome%20TKL%20update%20that%20didn't%20quite%20leave%20me%20speechless.%22%7D%2C%7B%22id%22%3A%22KhRJpBCxdh3b5buRuEeCGg%22%2C%22title%22%3A%22Keychron%20K8%20Ultra%208K%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fkeychron-k8-ultra-8k-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-19T13%3A29%3A22Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FM3D77H4ZPSveunoRmPb7od.jpg%22%2C%22strapline%22%3A%22Solid%2C%20dependable%20and%20versatile.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22keyboard%22%2C%22Keyboards%22%2C%22Gaming%20keyboards%22%2C%22Mechanical%20keyboards%22%2C%22Gaming%20keyboard%22%5D%2C%22score%22%3A88%2C%22summary%22%3A%22Solid%2C%20dependable%20and%20versatile.%22%7D%2C%7B%22id%22%3A%229kVBbSgAwuM8VfT4bojfLR%22%2C%22title%22%3A%22Asus%20ROG%20Azoth%20Extreme%20Edition%2020%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fasus-rog-azoth-extreme-edition-20-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-24T16%3A30%3A50Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FqHYtJQiCs2CPfmMExTfbJ9.jpg%22%2C%22strapline%22%3A%22The%20type%20of%20keyboard%20you%20buy%20because%20you%20can%2C%20and%20boy%20does%20it%20shine.%20%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22keyboard%22%2C%22Keyboards%22%2C%22Gaming%20keyboards%22%2C%22analog%20keyboards%22%2C%22Mechanical%20keyboards%22%2C%22Gaming%20keyboard%22%2C%22Hardware%22%2C%22Asus%20ROG%22%2C%22Asus%20ROG%20Azoth%20Extreme%20Edition%2020%22%2C%22special%20edition%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22The%20type%20of%20keyboard%20you%20buy%20because%20you%20can%2C%20and%20boy%20does%20it%20shine.%20%22%7D%2C%7B%22id%22%3A%22iHzgHfbNTjfDwcV3YWffkL%22%2C%22title%22%3A%22Turtle%20Beach%20Command%20Series%20KB7%20TKL%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fturtle-beach-command-series-kb7-tkl-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-30T14%3A06%3A39Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FvKQcrwr43mZvxAaNLbjepM.jpg%22%2C%22strapline%22%3A%22Turtle%20Beach%20puts%20a%20screen%20on%20another%20screenless%20PC%20mainstay.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Turtle%20Beach%22%2C%22Turtle%20Beach%20Command%20Series%20KB7%20TKL%20Hall-Effect%20Wired%20Keyboard%22%2C%22Hardware%22%2C%22Gaming%20keyboard%22%5D%2C%22score%22%3A85%2C%22summary%22%3A%22Turtle%20Beach%20puts%20a%20screen%20on%20another%20screenless%20PC%20mainstay.%22%7D%2C%7B%22id%22%3A%22WcYDEAPJkBRVN7qRVyfkfK%22%2C%22title%22%3A%22Logitech%20G316%20X%20(tactile)%20gaming%20keyboard%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Flogitech-g316-x-tactile-gaming-keyboard-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-29T17%3A02%3A11Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FggaGW6h7dZ2MJfcYJDpjwT.jpg%22%2C%22strapline%22%3A%22Oh%20what%20could%20have%20been.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Logitech%20G316%20X%22%2C%22keyboard%22%2C%22Logitech%22%2C%22Gaming%20keyboard%22%2C%22mechanical%22%2C%22mechanical%20keyboard%22%5D%2C%22score%22%3A61%2C%22summary%22%3A%22Oh%20what%20could%20have%20been.%22%7D%2C%7B%22id%22%3A%22gw8kodEU7U8aFntXGVMRcK%22%2C%22title%22%3A%22Melgeek%20Real81%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fmelgeek-real81-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-18T15%3A54%3A15Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FUQoKbXr85QopFn23S5qEgY.jpg%22%2C%22strapline%22%3A%22A%20competitive%20keyboard%20that%20stumbles%20in%20more%20casual%20settings.%20%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22keyboard%22%2C%22Gaming%20keyboard%22%2C%22MelGeek%22%2C%22Melgeek%20Real%2081%22%2C%22competitive%22%2C%228K%22%2C%228%2C000%20hz%22%2C%22Hardware%22%5D%2C%22score%22%3A69%2C%22summary%22%3A%22A%20competitive%20keyboard%20that%20stumbles%20in%20more%20casual%20settings.%20%22%7D%2C%7B%22id%22%3A%22iSxVKWkNTUgDkFbXRUG259%22%2C%22title%22%3A%22MelGeek%20Centauri%2080%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fmelgeek-centauri-80-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-05-28T15%3A01%3A08Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FNJL54WqHVfV4GetNebzSPL.jpg%22%2C%22strapline%22%3A%22A%20lovely%20keyboard%20I%20couldn't%20actually%20recommend%20buying%2C%20unless%20you're%20a%20big%20space%20nerd%20in%20need%20of%20a%20touchscreen.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22keyboard%22%2C%22Gaming%20keyboard%22%2C%22Review%22%2C%22MelGeek%22%2C%22MelGeek%20Centauri%2080%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20lovely%20keyboard%20I%20couldn't%20actually%20recommend%20buying%2C%20unless%20you're%20a%20big%20space%20nerd%20in%20need%20of%20a%20touchscreen.%22%7D%2C%7B%22id%22%3A%22KAYVxexYi6KWXooFXNjdni%22%2C%22title%22%3A%22Logitech%20G512%20X%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Flogitech-g512-x-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-04-28T07%3A01%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F2CFAqkbavRHGfpd2GuKGoT.jpg%22%2C%22strapline%22%3A%22Logitech's%20first%20foray%20into%20TMR%20switches%20is%20a%20triumph%2C%20and%20easily%20one%20of%20the%20best%20gaming%20keyboards%20I've%20used%20in%20recent%20memory.%20%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22keyboard%22%2C%22Keyboards%22%2C%22Gaming%20keyboards%22%2C%22analog%20keyboards%22%2C%22Mechanical%20keyboards%22%2C%22Gaming%20keyboard%22%2C%22best%20gaming%20keyboard%22%2C%22Logitech%22%2C%22Hardware%22%5D%2C%22score%22%3A90%2C%22summary%22%3A%22Logitech's%20first%20foray%20into%20TMR%20switches%20is%20a%20triumph%2C%20and%20easily%20one%20of%20the%20best%20gaming%20keyboards%20I've%20used%20in%20recent%20memory.%20%22%7D%2C%7B%22id%22%3A%22imTAQLqr4QDeG6qpAUz46V%22%2C%22title%22%3A%22Cherry%20XTRFY%20K5%20Pro%20TMR%20Compact%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fcherry-k5-pro-tmr-compact-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-04-09T10%3A00%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FNGvN2pffCkRzZGxW5VKbQ5.png%22%2C%22strapline%22%3A%22It%20ticks%20all%20of%20the%20right%20boxes%2C%20but%20I%20was%20left%20wanting%20just%20a%20little%20more.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Cherry%22%2C%22Hardware%22%2C%22TMR%22%2C%22Xtrfy%22%2C%22Gaming%20keyboard%22%2C%22Magnetic%20switches%22%5D%2C%22score%22%3A76%2C%22summary%22%3A%22It%20ticks%20all%20of%20the%20right%20boxes%2C%20but%20I%20was%20left%20wanting%20just%20a%20little%20more.%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 104;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Gaming Keyboards Widget"></iframe></div><h2 class="article-body__section" id="section-prime-day-gaming-keyboard-deals"><span>Prime Day gaming keyboard deals</span></h2><div class="product"><a data-dimension112="97cb5a08-bb4f-11f1-8c51-19f219b0e354" data-action="Deal Block" data-label="x NaughShark NS68 | Wired" data-dimension48="x NaughShark NS68 | Wired" data-dimension25="$45.99" href="https://www.amazon.com/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F283459L?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1503px;"><p class="vanilla-image-block" style="padding-top:99.33%;"><img id="cbkcaJ68Pwnf5TvXNiYANj" name="1790608297.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/cbkcaJ68Pwnf5TvXNiYANj-1920-80.jpg" mos="" align="middle" fullscreen="" width="1503" height="1493" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F283459L?th=1" target="_blank" rel="nofollow" data-dimension112="97cb5a08-bb4f-11f1-8c51-19f219b0e354" data-action="Deal Block" data-label="x NaughShark NS68 | Wired" data-dimension48="x NaughShark NS68 | Wired" data-dimension25="$45.99">x NaughShark NS68 | Wired: was $49.99 now $45.99</a></strong><br>An 8 KHz polling rate, Hall effect switches, rapid trigger, and nice double-shot PBT keycaps. The <a href="https://www.pcgamer.com/hardware/gaming-keyboards/gamakay-x-naughshark-ns68-review/" target="_blank">Gamakay x NaughShark NS68</a> is noticeably a cheaper keyboard in feel, but those internals truly are phenomenal. </p><p><strong>Key specs:</strong> <strong>Wired | 8,000 Hz | Hall effect </strong><a class="view-deal button" href="https://www.amazon.com/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F283459L?th=1" target="_blank" rel="nofollow" data-dimension112="97cb5a08-bb4f-11f1-8c51-19f219b0e354" data-action="Deal Block" data-label="x NaughShark NS68 | Wired" data-dimension48="x NaughShark NS68 | Wired" data-dimension25="$45.99">View Deal</a></p></div><div class="product"><a data-dimension112="97cb5a8a-bb4f-11f1-bf4f-3916c3bfff25" data-action="Deal Block" data-label="Reclusa X Mini 65% | Wired" data-dimension48="Reclusa X Mini 65% | Wired" data-dimension25="$49.99" href="https://www.amazon.com/Razer-Reclusa-Hot-Swappable-Mechanical-Keyboard/dp/B0H9CC8JCZ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="DDJyygUrhBvvRA35DZWvy8" name="1790608391.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/DDJyygUrhBvvRA35DZWvy8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1499" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-Reclusa-Hot-Swappable-Mechanical-Keyboard/dp/B0H9CC8JCZ" target="_blank" rel="nofollow" data-dimension112="97cb5a8a-bb4f-11f1-bf4f-3916c3bfff25" data-action="Deal Block" data-label="Reclusa X Mini 65% | Wired" data-dimension48="Reclusa X Mini 65% | Wired" data-dimension25="$49.99">Reclusa X Mini 65% | Wired: $49.99</a></strong><br>Okay, this one's not actually on sale, but we <a href="https://www.pcgamer.com/hardware/gaming-keyboards/razer-reclusa-x-mini-65-percent-review/" target="_blank">reviewed this new Razer budget keyboard very favourably</a> when it launched recently, so it's worth highlighting what a good keyboard it is. It doesn't have the competitive gaming features of the Naughshark above, but if you just want an excellent keyboard for typing and regular ol' gaming action, the build quality on the Reclusa is hard to beat at this price.<br><br><strong>Key specs: Wired USB-A to USB-C | 1,000 Hz | RGB lighting | 65% size </strong><a class="view-deal button" href="https://www.amazon.com/Razer-Reclusa-Hot-Swappable-Mechanical-Keyboard/dp/B0H9CC8JCZ" target="_blank" rel="nofollow" data-dimension112="97cb5a8a-bb4f-11f1-bf4f-3916c3bfff25" data-action="Deal Block" data-label="Reclusa X Mini 65% | Wired" data-dimension48="Reclusa X Mini 65% | Wired" data-dimension25="$49.99">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8f712-bb47-11f1-893f-3f2d56427584" data-action="Deal Block" data-label="Huntsman Mini | Wired" data-dimension48="Huntsman Mini | Wired" data-dimension25="$69.00" href="https://www.amazon.com/Razer-Huntsman-Mini-Gaming-Keyboard/dp/B0FFJDH7GM" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ieEsaMbBWvzjtMBSVc2zHf" name="1698929091.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ieEsaMbBWvzjtMBSVc2zHf-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-Huntsman-Mini-Gaming-Keyboard/dp/B0FFJDH7GM" target="_blank" rel="nofollow" data-dimension112="a9d8f712-bb47-11f1-893f-3f2d56427584" data-action="Deal Block" data-label="Huntsman Mini | Wired" data-dimension48="Huntsman Mini | Wired" data-dimension25="$69.00">Huntsman Mini | Wired: was $129.99 now $69.00</a></strong><br>A teeny-tiny keyboard with impressive credentials. You can customize the lighting to your heart's content with Razer's Chroma RGB lighting, but the headline feature here is the inclusion of optical-mechanical switches. It's also got PBT keys and Razer Hypershift for all your favorite macros.</p><p><strong>Key specs: Tenkeyless | Razer optomechanical switch (clicky or linear) | Chroma RGB lighting</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/site/razer-huntsman-mini-60-wired-optical-clicky-switch-gaming-keyboard-with-chroma-rgb-backlighting-black/6417111.p?skuId=6417111" target="_blank">Best Buy $69.00 (black model)</a><strong></strong><a class="view-deal button" href="https://www.amazon.com/Razer-Huntsman-Mini-Gaming-Keyboard/dp/B0FFJDH7GM" target="_blank" rel="nofollow" data-dimension112="a9d8f712-bb47-11f1-893f-3f2d56427584" data-action="Deal Block" data-label="Huntsman Mini | Wired" data-dimension48="Huntsman Mini | Wired" data-dimension25="$69.00">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8f83e-bb47-11f1-b679-53ec45644ec3" data-action="Deal Block" data-label="ROG Strix Scope X | Wired" data-dimension48="ROG Strix Scope X | Wired" data-dimension25="$85.49" href="https://www.amazon.com/dp/B0FGGZK4X7" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="6QKGW8GFyBNo2hgf3BuQxJ" name="AsusROGStrixScopeIIX" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6QKGW8GFyBNo2hgf3BuQxJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FGGZK4X7" target="_blank" rel="nofollow" data-dimension112="a9d8f83e-bb47-11f1-b679-53ec45644ec3" data-action="Deal Block" data-label="ROG Strix Scope X | Wired" data-dimension48="ROG Strix Scope X | Wired" data-dimension25="$85.49">ROG Strix Scope X | Wired: was $129.99 now $85.49</a></strong><br>This is the full size (and wired) variant of one of our all-time favourite keebs. It's a bit of a desk dominator, but if you don't mind the size and dealing with a cable, it's got a very attractive price. It's got pre-lubed NX Snow V2 linear switches and the switch dampening pads we love so much, so the typing feel should be pretty ace.</p><p><strong>Key specs: Full-size | ROG RX pre-lubed linear linear switches | PBT doubleshot | sound-dampened | wired USB Type-C</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FGGZK4X7" target="_blank" rel="nofollow" data-dimension112="a9d8f83e-bb47-11f1-b679-53ec45644ec3" data-action="Deal Block" data-label="ROG Strix Scope X | Wired" data-dimension48="ROG Strix Scope X | Wired" data-dimension25="$85.49">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8f776-bb47-11f1-a43f-ff8eabc44183" data-action="Deal Block" data-label="G Pro | Wired" data-dimension48="G Pro | Wired" data-dimension25="$85.49" href="https://www.amazon.com/Logitech-Mechanical-Tenkeyless-Detachable-LIGHTSYNC/dp/B07QQB9VCV?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="TdwJBFg7MUjmSDUQybdXCD" name="1698923788.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TdwJBFg7MUjmSDUQybdXCD-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-Mechanical-Tenkeyless-Detachable-LIGHTSYNC/dp/B07QQB9VCV?th=1" target="_blank" rel="nofollow" data-dimension112="a9d8f776-bb47-11f1-a43f-ff8eabc44183" data-action="Deal Block" data-label="G Pro | Wired" data-dimension48="G Pro | Wired" data-dimension25="$85.49">G Pro | Wired: was $119.99 now $85.49</a></strong><br>This Logitech G Pro gives you all the functionality with less of the fuss. It comes with a choice of key switches, a detachable Micro USB cable for easy portability, 3-step angle adjustment and a lot of customization options in the G Hub software. Those backlit keys are on the subtle side of RGB lighting, and the Logitech comes off as a class act for less at this price. </p><p><strong>Key specs: Tenkeyless | Mechanical | Lightsync RGB backlit keys</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/logitech-g-pro-tkl-wired-mechanical-gx-blue-clicky-switch-gaming-keyboard-with-rgb-backlighting-for-pc-black/J7H7ZYXWCJ" target="_blank">Best Buy $119.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-Mechanical-Tenkeyless-Detachable-LIGHTSYNC/dp/B07QQB9VCV?th=1" target="_blank" rel="nofollow" data-dimension112="a9d8f776-bb47-11f1-a43f-ff8eabc44183" data-action="Deal Block" data-label="G Pro | Wired" data-dimension48="G Pro | Wired" data-dimension25="$85.49">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8f7da-bb47-11f1-a3c6-8346dad04957" data-action="Deal Block" data-label="G515 Wireless TKL" data-dimension48="G515 Wireless TKL" data-dimension25="$97.03" href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1504px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="mSngcsZXFHBy4ZVCVYNZF5" name="1781521507.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mSngcsZXFHBy4ZVCVYNZF5-1920-80.jpg" mos="" align="middle" fullscreen="" width="1504" height="1494" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19" target="_blank" rel="nofollow" data-dimension112="a9d8f7da-bb47-11f1-a3c6-8346dad04957" data-action="Deal Block" data-label="G515 Wireless TKL" data-dimension48="G515 Wireless TKL" data-dimension25="$97.03">G515 Wireless TKL: was $159.99 now $97.03</a></strong><br>This compact keyboard is especially affordable in this light purple colorway. We reviewed the <a href="https://www.pcgamer.com/hardware/gaming-keyboards/logitech-g515-rapid-tkl-review/" target="_blank">wired Rapid version with magnetic switches a while back</a> and thought it was a bit expensive for what you get—but this is the wireless version with standard keys for much, much less cash.</p><p><strong>Key specs: Wireless | Low-profile | PBT keycaps</strong><a class="view-deal button" href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19" target="_blank" rel="nofollow" data-dimension112="a9d8f7da-bb47-11f1-a3c6-8346dad04957" data-action="Deal Block" data-label="G515 Wireless TKL" data-dimension48="G515 Wireless TKL" data-dimension25="$97.03">View Deal</a></p></div><div class="product"><a data-dimension112="76c0352c-c180-11f1-ab2c-77eba1e51548" data-action="Deal Block" data-label="MSI GF65" data-dimension48="BlackWidow V4 TKL Wireless" data-dimension25="$99.99" href="https://www.amazon.com/dp/B0FD5276Z6" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="t93oNJaeWt2bWkXRLbSXKa" name="Razerkeeb" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/t93oNJaeWt2bWkXRLbSXKa-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FD5276Z6" target="_blank" rel="nofollow" data-dimension112="76c0352c-c180-11f1-ab2c-77eba1e51548" data-action="Deal Block" data-label="MSI GF65" data-dimension48="BlackWidow V4 TKL Wireless" data-dimension25="$99.99">BlackWidow V4 TKL Wireless: was $149.99 now $99.99</a></strong><br>Gamer aesthetic doesn't make you flinch; on the contrary, you love it? I mean, same. I own a previous version of the BlackWidow, and I love just how clicky it is, plus it's super sturdy. I tend to mash my keys with the force of an angry sledgehammer, but Razer's signature gaming keyboard doesn't bat an eye.</p><p><strong>Key specs:</strong> <strong>TKL | Orange switches | Multi-function roller | 3 control buttons | Hot-swappable | 2.4 GHz, Bluetooth  | Up to 980h battery life</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FD5276Z6" target="_blank" rel="nofollow" data-dimension112="76c0352c-c180-11f1-ab2c-77eba1e51548" data-action="Deal Block" data-label="MSI GF65" data-dimension48="BlackWidow V4 TKL Wireless" data-dimension25="$99.99">View Deal</a></p></div><div class="product"><a data-dimension112="76c035cc-c180-11f1-b931-bfcd87681c8b" data-action="Deal Block" data-label="MSI GF65" data-dimension48="K2 HE Wireless 75%" data-dimension25="$111.99" href="https://www.amazon.com/dp/B0DCVPGB9N" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:81.00%;"><img id="zRyyXmxqYXZ4b7TUXNo9zm" name="61ioq+AEmlL._AC_SL1500_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/zRyyXmxqYXZ4b7TUXNo9zm-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1215" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0DCVPGB9N" target="_blank" rel="nofollow" data-dimension112="76c035cc-c180-11f1-b931-bfcd87681c8b" data-action="Deal Block" data-label="MSI GF65" data-dimension48="K2 HE Wireless 75%" data-dimension25="$111.99">K2 HE Wireless 75%: was $139.99 now $111.99</a></strong><br>I love me a stylish gaming keeb, and this Keychron K2 HE gives you Noctua fan vibes while delivering on the performance front. This isn't the type of keyboard that'll scream "gamer," so you can keep it in your office and pretend that you're a fully functioning member of society while still mashing away until the early hours. We <a href="https://www.pcgamer.com/hardware/gaming-keyboards/keychron-k2-he-review/" target="_blank">liked this one a lot</a>, by the way, so it's not just nice to look at.</p><p><strong>Key specs:</strong> <strong>75% layout | Magnetic sensors | Customizable actuation | 2.4 GHz, Bluetooth 5.2, USB Type-C | 1,000 Hz polling rate</strong></p><p><strong>Price check: </strong><a href="https://www.newegg.com/p/0TP-032N-004N0" target="_blank">Newegg $272.48</a><a class="view-deal button" href="https://www.amazon.com/dp/B0DCVPGB9N" target="_blank" rel="nofollow" data-dimension112="76c035cc-c180-11f1-b931-bfcd87681c8b" data-action="Deal Block" data-label="MSI GF65" data-dimension48="K2 HE Wireless 75%" data-dimension25="$111.99">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8f8fc-bb47-11f1-9b93-8d8521974fb3" data-action="Deal Block" data-label="ROG Strix Scope II 96 RX | Wireless" data-dimension48="ROG Strix Scope II 96 RX | Wireless" data-dimension25="$119.69" href="https://www.amazon.com/ASUS-II-96-RX-Wireless/dp/B0GMZ5Z9G4/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="aBkTkcypaZkMRFHYZ9uCRf" name="1781598708.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/aBkTkcypaZkMRFHYZ9uCRf-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1499" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/ASUS-II-96-RX-Wireless/dp/B0GMZ5Z9G4/" target="_blank" rel="nofollow" data-dimension112="a9d8f8fc-bb47-11f1-9b93-8d8521974fb3" data-action="Deal Block" data-label="ROG Strix Scope II 96 RX | Wireless" data-dimension48="ROG Strix Scope II 96 RX | Wireless" data-dimension25="$119.69">ROG Strix Scope II 96 RX | Wireless: was $179.99 now $119.69</a></strong><br>This is one of the best keyboards going and right now it's at a cracking price. You're getting excellent typing feel, stellar gaming performance, sound dampening that actually works, and a build quality that stands well above most of the competition. The RX version is optical, too, though non-adjustable.</p><p><strong>Key specs: 96% | Wireless | sound dampening</strong><a class="view-deal button" href="https://www.amazon.com/ASUS-II-96-RX-Wireless/dp/B0GMZ5Z9G4/" target="_blank" rel="nofollow" data-dimension112="a9d8f8fc-bb47-11f1-9b93-8d8521974fb3" data-action="Deal Block" data-label="ROG Strix Scope II 96 RX | Wireless" data-dimension48="ROG Strix Scope II 96 RX | Wireless" data-dimension25="$119.69">View Deal</a></p></div><div class="product"><a data-dimension112="3383dc4c-c233-11f1-8932-8d3dada81fac" data-action="Deal Block" data-label="Vanguard Pro 96" data-dimension48="Vanguard Pro 96" data-dimension25="$149.99" href="https://www.amazon.com/Corsair-Vanguard-Magnetic-Mechanical-Keyboard-PC/dp/B0FKHPRZ45" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Srw8Ws3JmR6R9hyH6YomwV" name="Vanguard Pro 96" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Srw8Ws3JmR6R9hyH6YomwV-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Corsair-Vanguard-Magnetic-Mechanical-Keyboard-PC/dp/B0FKHPRZ45" target="_blank" rel="nofollow" data-dimension112="3383dc4c-c233-11f1-8932-8d3dada81fac" data-action="Deal Block" data-label="Vanguard Pro 96" data-dimension48="Vanguard Pro 96" data-dimension25="$149.99">Vanguard Pro 96: was $229.99 now $149.99</a></strong><br>Getting an <a href="https://www.pcgamer.com/hardware/gaming-keyboards/corsair-vanguard-pro-96-review/" target="_blank">85% from us</a> late last year, this keyboard has responsive and powerful Hall effect switches, and it even comes with macro keys and a wrist rest. The price is hefty, and it's only wired but it's a great keeb, nonetheless</p><p><strong>Key specs: Corsair MGX Overdrive switches | wired | PBT doubleshot | Hall effect</strong></p><p><strong>Price check:</strong> <a href="https://www.bestbuy.com/product/corsair-vanguard-pro-96-rgb-wired-magnetic-hall-effect-mgx-linear-96-gaming-keyboard-with-flashtap-socd-rapid-trigger-black/J39TSCPZC5" target="_blank">Best Buy $229.99</a><a class="view-deal button" href="https://www.amazon.com/Corsair-Vanguard-Magnetic-Mechanical-Keyboard-PC/dp/B0FKHPRZ45" target="_blank" rel="nofollow" data-dimension112="3383dc4c-c233-11f1-8932-8d3dada81fac" data-action="Deal Block" data-label="Vanguard Pro 96" data-dimension48="Vanguard Pro 96" data-dimension25="$149.99">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8f960-bb47-11f1-904c-d31a1dd5e324" data-action="Deal Block" data-label="Apex Pro Gen 3 | Wired" data-dimension48="Apex Pro Gen 3 | Wired" data-dimension25="$199.99" href="https://www.amazon.com/SteelSeries-Apex-Pro-TKL-Gen/dp/B0DGZLHN8G" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="SAo3QyrPMzu3j2SfKjWVtZ" name="key" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/SAo3QyrPMzu3j2SfKjWVtZ-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/SteelSeries-Apex-Pro-TKL-Gen/dp/B0DGZLHN8G" target="_blank" rel="nofollow" data-dimension112="a9d8f960-bb47-11f1-904c-d31a1dd5e324" data-action="Deal Block" data-label="Apex Pro Gen 3 | Wired" data-dimension48="Apex Pro Gen 3 | Wired" data-dimension25="$199.99">Apex Pro Gen 3 | Wired: was $239.99 now $199.99</a></strong><br>It's quite a lot of cash for a keyboard, but it shows in not only the tech underneath the keys (like some impressive switches) but also the build quality and extra quality-of-life features. If you're looking for a rapid trigger keyboard to cut fractions off your reaction times, and like the idea of an extra little screen to display in-game information, this is an excellent choice, especially with a tidy discount. </p><p><strong>Key specs: OmniPoint 3.0 HyperMagnetic Switches | Wired | Rapid trigger </strong></p><p><strong>Price check:</strong> <a href="https://www.bestbuy.com/product/steelseries-apex-pro-gen-3-full-size-wired-mechanical-omnipoint-adjustable-gaming-keyboard-with-rapid-tap-black/J3GTVPQWWX" target="_blank">Best Buy $228.99</a><a class="view-deal button" href="https://www.amazon.com/SteelSeries-Apex-Pro-TKL-Gen/dp/B0DGZLHN8G" target="_blank" rel="nofollow" data-dimension112="a9d8f960-bb47-11f1-904c-d31a1dd5e324" data-action="Deal Block" data-label="Apex Pro Gen 3 | Wired" data-dimension48="Apex Pro Gen 3 | Wired" data-dimension25="$199.99">View Deal</a></p></div><div class="product"><a data-dimension112="3383dd1e-c233-11f1-a148-71afe111e854" data-action="Deal Block" data-label="Galleon 100 SD" data-dimension48="Galleon 100 SD" data-dimension25="$284.99" href="https://www.amazon.com/Corsair-Galleon-Mechanical-Gaming-Keyboard/dp/B0G3PN1VS4" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="EbCb4ApJhSjhgtrmpdMSTG" name="Galleon 100 SD" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/EbCb4ApJhSjhgtrmpdMSTG-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>A grand keyboard with a grand price tag, the <a href="https://www.pcgamer.com/hardware/gaming-keyboards/corsair-galleon-100-sd-review/" target="_blank" data-dimension112="3383dd1e-c233-11f1-a148-71afe111e854" data-action="Deal Block" data-label="Galleon 100 SD" data-dimension48="Galleon 100 SD" data-dimension25="$284.99">Corsair Galleon 100 SD</a> is well-built, with a great sound and a built-in Stream Deck. The only major caveats are the price and mediocre USB passthrough.</p><p><strong>Key specs: Full size |  Corsair MLX Pulse switches | Up to 8,000 Hz | Wired</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/corsair-galleon-100-sd-stream-deck-integrated-mechanical-gaming-keyboard-black/J39TSCSCRT" target="_blank">Best Buy $299.99</a><strong></strong><a class="view-deal button" href="https://www.amazon.com/Corsair-Galleon-Mechanical-Gaming-Keyboard/dp/B0G3PN1VS4" target="_blank" rel="nofollow" data-dimension112="3383dd1e-c233-11f1-a148-71afe111e854" data-action="Deal Block" data-label="Galleon 100 SD" data-dimension48="Galleon 100 SD" data-dimension25="$284.99">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8fa0a-bb47-11f1-9430-134d818f0d28" data-action="Deal Block" data-label="ROG Azoth Extreme | Wireless" data-dimension48="ROG Azoth Extreme | Wireless" data-dimension25="$334.99" href="https://www.amazon.com/ASUS-Extreme-Wireless-Mechanical-Keyboard/dp/B0D45ZHYZJ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="govmE7Ga4oRFS7SZ2kqPCi" name="a" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/govmE7Ga4oRFS7SZ2kqPCi-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/ASUS-Extreme-Wireless-Mechanical-Keyboard/dp/B0D45ZHYZJ" target="_blank" rel="nofollow" data-dimension112="a9d8fa0a-bb47-11f1-9430-134d818f0d28" data-action="Deal Block" data-label="ROG Azoth Extreme | Wireless" data-dimension48="ROG Azoth Extreme | Wireless" data-dimension25="$334.99">ROG Azoth Extreme | Wireless: was $499.99 now $334.99</a></strong><br>The Asus ROG Azoth Extreme Wireless is still a pricey 'ol keeb even with a discount. We still liked it a lot in <a href="https://www.pcgamer.com/hardware/gaming-keyboards/asus-rog-azoth-extreme-review/" target="_blank">our review</a>, though, and that's for good reason. It's beautifully constructed, with a super typing feel and useful media controls. </p><p><strong>Key specs: 75% | ROG NX Snow linear switches | Aluminium chassis | OLED screen</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/asus-rog-azoth-extreme-75-wireless-mechanical-gaming-keyboard-with-rog-nx-snow-linear-switches-and-color-oled-touchscreen-black/JJGGLQLYRY/sku/6606308" target="_blank">Best Buy $334.99</a><a class="view-deal button" href="https://www.amazon.com/ASUS-Extreme-Wireless-Mechanical-Keyboard/dp/B0D45ZHYZJ" target="_blank" rel="nofollow" data-dimension112="a9d8fa0a-bb47-11f1-9430-134d818f0d28" data-action="Deal Block" data-label="ROG Azoth Extreme | Wireless" data-dimension48="ROG Azoth Extreme | Wireless" data-dimension25="$334.99">View Deal</a></p></div><h2 id="check-out-all-our-latest-deals-in-any-category-2">Check out all our latest deals in any category:</h2><div class="vizualizer-embed"><fc-author-commerce-widget data-fcaw-version="1" data-fcaw-full-bleed="false">  <style data-fcaw-host-protection>fc-author-commerce-widget[data-fcaw-version="1"] {  display: block !important;  width: 100% !important;  min-width: 0 !important;  max-width: none !important;  isolation: isolate !important;  contain: style !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]{  width: min(    1200px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1200px !important;  margin-left: var(    --fcaw-full-bleed-offset,    calc(50% - min(600px, 50vw))  ) !important;  margin-right: 0 !important;  position: relative !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]  #tg-df-spreadsheet-filters {  width: min(    1500px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1500px !important;  margin-left: calc(    (      100% -      min(1500px, var(--fcaw-viewport-width, 100vw))    ) / 2  ) !important;  margin-right: 0 !important;}fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::before,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::after {  box-sizing: border-box;}</style>  <div data-fcaw-fallback class="fcaw-v1-fallback">    <style>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with 'tg-df-' to prevent CMS style leakage.    */    .tg-df-container { user-select: text; -webkit-user-select: text;      container-type: inline-size;      container-name: tg-df;                  --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]    {      width: min(        1200px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1200px !important;      margin-left: calc(        (          100% -          min(1200px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;      position: relative !important;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]      #tg-df-spreadsheet-filters {      width: min(        1500px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1500px !important;      margin-left: calc(        (          100% -          min(1500px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: var(--tg-df-blue);    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }        .tg-df-filters {      display: flex;      justify-content: center;      width: 100%;      gap: 12px;      margin: 0 auto;      max-width: 42rem;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;      max-width: 280px;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    .tg-df-scroll-btn {      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 4px;    }    .tg-df-scroll-btn.right {      right: 4px;    }    @container tg-df (max-width: 768px) {      .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;      margin: 0 auto;    }    .tg-df-filters {        justify-content: center;        width: 100%;        margin: 0 auto;        margin-bottom: -320px;        padding: 0 0 320px 0;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: calc(100% + 32px);      max-width: none;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;      margin: 0 -16px -16px -16px;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }    .tg-df-buying-guide-badge {      left: auto;      right: 12px;      max-width: calc(100% - 24px);      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges { position: absolute; bottom: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; z-index: 10; }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-card-listings {      margin: 0 0 12px;    }    .tg-df-card-listings-title {      display: block;      color: var(--tg-df-text-muted);      font-size: 11px;      font-weight: 700;      letter-spacing: 0.45px;      line-height: 1.2;      margin-bottom: 4px;      text-transform: uppercase;    }    .tg-df-card-listings-links {      border-top: 1px solid var(--tg-df-border);    }    .tg-df-container .tg-df-card-listing-link {      align-items: center;      border-bottom: 1px solid var(--tg-df-border);      box-sizing: border-box;      color: var(--tg-df-blue);      display: flex;      font-size: 13px;      font-weight: 700;      justify-content: space-between;      line-height: 1.2;      min-height: 34px;      padding: 5px 2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-listing-link::after {      content: '↗';      font-size: 14px;      font-weight: 600;      margin-left: 8px;    }    .tg-df-container .tg-df-card-listing-link:hover,    .tg-df-container .tg-df-card-listing-link:focus-visible {      background: #f8fafc;      color: var(--tg-df-blue);      outline: 2px solid var(--tg-df-blue);      outline-offset: -2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: calc(100% + 32px);      max-width: none;      box-sizing: border-box;      background-color: var(--tg-df-blue);      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;      margin: 0 -16px -16px -16px;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      filter: brightness(0.85);    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /* Optional mobile 2x2 filter grid */    .tg-df-mobile-2x2-container {      display: none;      width: 100%;      margin: 0 0 16px 0;      position: relative;      z-index: 30;    }    .tg-df-mobile-2x2-grid {      display: grid;      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);      width: 100%;      border: 1px solid var(--tg-df-border, #e2e8f0);      background: var(--tg-df-bg, #ffffff);    }    .tg-df-container .tg-df-mobile-grid-cell {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      min-width: 0;      padding: 12px 14px;      font-family: inherit;      font-size: 11px;      font-weight: 600;      line-height: 1.2;      text-transform: uppercase;      letter-spacing: 0.5px;      text-align: left;      color: var(--tg-df-text-muted, #64748b);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-mobile-grid-cell > span {      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }    .tg-df-mobile-grid-cell > svg {      flex: 0 0 auto;      margin-left: 8px;      transition: transform 0.15s ease;    }    .tg-df-mobile-grid-cell > svg.is-open {      transform: rotate(180deg);    }    .tg-df-mobile-grid-cell {      border-bottom: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-grid-cell:nth-child(odd) {      border-right: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-2x2-grid--even .tg-df-mobile-grid-cell:nth-last-child(-n + 2) {      border-bottom: 0;    }    .tg-df-mobile-2x2-grid--odd .tg-df-mobile-grid-cell:last-child {      grid-column: 1 / -1;      border-right: 0;      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-grid-cell.active,    .tg-df-container .tg-df-mobile-grid-cell:hover {      background: var(--tg-df-bg-secondary, #f8fafc);      color: var(--tg-df-text, #0f172a);    }    .tg-df-container .tg-df-mobile-grid-cell.has-active-filter {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;    }    .tg-df-mobile-menu-drawer {      width: 100%;      max-height: 260px;      overflow-y: auto;      overscroll-behavior: contain;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-top: 0;      background: var(--tg-df-bg, #ffffff);      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);    }    .tg-df-container .tg-df-mobile-menu-item {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      width: 100%;      min-height: 42px;      padding: 12px 16px;      font-family: inherit;      font-size: 12px;      font-weight: 500;      line-height: 1.3;      text-align: left;      color: var(--tg-df-text, #0f172a);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-bottom: 1px solid #f1f5f9;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-container .tg-df-mobile-menu-item:last-child {      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-menu-item.selected {      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.08);      font-weight: 600;    }    .tg-df-container .tg-df-mobile-menu-item:hover {      background: var(--tg-df-bg-secondary, #f8fafc);    }    .tg-df-mobile-cell-badge {      display: inline-flex;      align-items: center;      justify-content: center;      padding: 2px 6px;      margin-left: 4px;      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.1);      border-radius: 9999px;      font-size: 10px;      font-weight: 700;    }    @container tg-df (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    @media (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    /* A non-full-bleed desktop embed is constrained to the article column.       Reuse the compact filter grid there instead of squeezing the rails. */    @container tg-df (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    @media (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-mobile-authors { gap: 16px !important; }      .tg-df-mobile-authors .tg-df-author-row-item { width: 56px !important; }      .tg-df-mobile-authors .tg-df-author-img-wrapper { width: 48px !important; height: 48px !important; }      .tg-df-mobile-authors .tg-df-author-brand-logo { width: 18px !important; height: 18px !important; bottom: -2px !important; right: -2px !important; }      .tg-df-mobile-authors .tg-df-author-row-name { font-size: 11px !important; }      .tg-df-mobile-authors .tg-df-author-row-role { font-size: 10px !important; }            .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-controls {        padding: 16px 0 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 8px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    @media (max-width: 599px) {      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }        .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: var(--tg-df-blue);      position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }      .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }        .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;      scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-scroll-left {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: rgba(255, 255, 255, 0.4);      color: var(--tg-df-blue);      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);      border: none;      cursor: pointer;      transition: background-color 0.2s;      margin-top: -4px;      z-index: 10;    }    .tg-df-container .tg-df-carousel-scroll-right {      right: 0;    }    .tg-df-container .tg-df-carousel-scroll-left {      left: 0;    }    .tg-df-container .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-scroll-left:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left {       height: 30px;       width: 30px;       background-color: rgba(255, 255, 255, 0.8);       box-shadow: 0 2px 4px rgba(0,0,0,0.1);       margin-top: 0;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left:hover {       background-color: white;    }    .tg-df-container .tg-df-grid-wrapper {       position: relative;    }    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-left {       background-color: white;       box-shadow: 0 4px 12px rgba(0,0,0,0.15);       top: 40%;       width: 44px;       height: 44px;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }            .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover, .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      width: calc(100% + 24px);      border-radius: 0;      padding: 8px 10px;      margin: auto -12px -12px -12px;      background-color: var(--tg-df-blue);    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; padding-right: 12px; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @media (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }      .tg-df-container .hawk-deal-widget-title-product-title,      .tg-df-container .hawk-deal-widget-title-price,      .tg-df-container .hawk-deal-widget-title-retailer {        font-size: 14px !important;        line-height: 1.35 !important;        font-weight: 700 !important;      }      .tg-df-container .hawk-deal-widget-title-was-price {        font-size: 13px !important;        line-height: 1.35 !important;      }      .tg-df-container .hawk-deal-widget-text-body-main {        font-size: 14px !important;        line-height: 1.35 !important;        margin-bottom: 8px !important;      }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    /* BESPOKE AUTHOR HEADER STYLES - MAX ISOLATION PROTECTION */    .tg-df-author-embed {      width: 100% !important;      font-family: inherit !important;      background: transparent !important;      margin: 0 !important;      padding: 0 !important;      border: none !important;    }    .tg-df-author-section {      display: block !important;      width: 100% !important;      max-width: 100% !important;      opacity: 1 !important;      overflow: visible !important;      background: transparent !important;      border: none !important;      margin: 0 auto !important;      padding: 0 !important;      box-shadow: none !important;    }    .tg-df-author-card {      text-align: center !important;      padding: 1.75rem 1rem 1.25rem 1rem !important;      margin: 0 auto !important;      max-width: 48rem !important;      background: transparent !important;      border: none !important;      border-radius: 0 !important;      box-sizing: border-box !important;      box-shadow: none !important;    }    .tg-df-author-image {      width: 180px !important;      height: 180px !important;      border-radius: 50% !important;      object-fit: cover !important;      margin: 0 auto 0.75rem auto !important;      display: block !important;      border: none !important;      box-shadow: none !important;      max-width: 100% !important;    }    .tg-df-author-media-slot {      width: 100% !important;      height: 180px !important;      min-height: 180px !important;      margin: 0 auto 0.75rem auto !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;    }    .tg-df-author-media-slot .tg-df-author-image {      margin: 0 auto !important;    }    .tg-df-author-profile-image-wrapper {      position: relative !important;      width: 180px !important;      height: 180px !important;      margin: 0 auto 0.75rem auto !important;      flex: 0 0 auto !important;    }    .tg-df-author-profile-brand-logo {      position: absolute !important;      right: 12px !important;      bottom: 12px !important;      width: 42px !important;      height: 42px !important;      padding: 0 !important;      border: 3px solid var(--tg-df-bg, #fff) !important;      border-radius: 50% !important;      background: #000 !important;      object-fit: contain !important;      box-sizing: border-box !important;    }    .tg-df-author-curated-by {      font-size: 0.875rem !important;      color: #6B7280 !important;      font-style: normal !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      line-height: 1.4 !important;    }    .tg-df-author-name {      font-size: 2rem !important;      font-weight: 300 !important;      color: #111827 !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      line-height: 1.1 !important;      letter-spacing: -0.02em !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-role {      font-size: 0.9375rem !important;      font-weight: 500 !important;      color: var(--tg-df-blue, #1F69FF) !important;      margin: 0 0 1.25rem 0 !important;      padding: 0 !important;      line-height: 1.3 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-meta-slot {      width: 100% !important;      min-height: 88px !important;      display: flex !important;      flex-direction: column !important;      align-items: center !important;      justify-content: flex-start !important;    }    .tg-df-author-meta-slot--site {      padding-top: 1rem !important;    }    .tg-df-author-meta-slot--no-social {      min-height: 0 !important;    }    .tg-df-author-meta-slot--no-social .tg-df-author-role {      margin-bottom: 0.5rem !important;    }    .tg-df-author-social-links {      display: flex !important;      flex-wrap: wrap !important;      align-items: center !important;      justify-content: center !important;      gap: 1rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 !important;      max-width: 42rem !important;      width: 100% !important;      list-style: none !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-social-btn {      display: inline-flex !important;      align-items: center !important;      justify-content: center !important;      padding: 0 !important;      border-radius: 50% !important;      background-color: #f2f2f2 !important;      color: #111111 !important;      font-size: 0.8125rem !important;      font-weight: 500 !important;      text-decoration: none !important;      transition: all 0.2s ease !important;      border: 0 !important;      line-height: 1 !important;      box-shadow: none !important;      cursor: pointer !important;      outline: none !important;      margin: 0 !important;      height: 34px !important;      width: 34px !important;      min-width: 34px !important;      box-sizing: border-box !important;    }    .tg-df-author-social-btn:hover {      background-color: #dedede !important;      color: #111111 !important;      transform: translateY(-1px) !important;    }    .tg-df-author-social-btn > svg {      width: 19px !important;      height: 19px !important;      flex-shrink: 0 !important;      display: block !important;      margin: 0 !important;    }    .tg-df-author-social-btn[data-social-key="facebook"] > svg {      transform: scale(1.25) !important;    }    .tg-df-author-social-btn[data-social-key="pinterest"] > svg,    .tg-df-author-social-btn[data-social-key="tiktok"] > svg {      transform: scale(1.2) !important;    }    .tg-df-author-bio {      max-width: 42rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 0.5rem !important;      color: #4b5563 !important;      line-height: 1.6 !important;      font-weight: 300 !important;      font-size: 0.9375rem !important;      text-align: center !important;      background: none !important;      border: none !important;      border-radius: 0 !important;      box-shadow: none !important;      display: block !important;      height: auto !important;      overflow: visible !important;    }    .tg-df-author-bio-shell--stable {      width: 100% !important;      box-sizing: border-box !important;    }    .tg-df-author-bio--clamped {      min-height: 4.8em !important;      height: 4.8em !important;      max-height: 4.8em !important;      display: -webkit-box !important;      -webkit-box-orient: vertical !important;      -webkit-line-clamp: 3 !important;      overflow: hidden !important;    }    .tg-df-author-bio--expanded {      min-height: 4.8em !important;      height: auto !important;      max-height: none !important;      display: block !important;      overflow: visible !important;    }    .tg-df-author-bio--static,    .tg-df-author-bio--static:hover,    .tg-df-author-bio--static:focus,    .tg-df-author-bio--static:focus-visible {      outline: none !important;      box-shadow: none !important;      cursor: default !important;    }    .tg-df-author-bio-toggle-slot {      height: 28px !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;      margin: 0.125rem 0 0 !important;    }    .tg-df-author-bio-toggle {      appearance: none !important;      border: 0 !important;      border-bottom: 1px solid currentColor !important;      border-radius: 0 !important;      padding: 0.125rem 0 !important;      margin: 0 !important;      background: transparent !important;      color: #4b5563 !important;      box-shadow: none !important;      font: inherit !important;      font-size: 0.75rem !important;      font-weight: 600 !important;      line-height: 1.2 !important;      text-decoration: none !important;      text-transform: none !important;      cursor: pointer !important;    }    .tg-df-author-bio a {      color: var(--tg-df-blue, #1F69FF) !important;      text-decoration: underline !important;      font-weight: 400 !important;      background: none !important;      border: none !important;      padding: 0 !important;      margin: 0 !important;      border-radius: 0 !important;      display: inline !important;      box-shadow: none !important;    }    .tg-df-author-bio p,    .tg-df-author-bio div,    .tg-df-author-bio span {      margin: 0 !important;      padding: 0 !important;      color: inherit !important;      font: inherit !important;      line-height: inherit !important;      text-align: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-bio strong,    .tg-df-author-bio b {      font-weight: 600 !important;    }    .tg-df-author-bio em,    .tg-df-author-bio i {      font-style: italic !important;    }    @container tg-df (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @media (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @container tg-df (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @media (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }    @media (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }        .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button {      align-items: center; background-color: var(--tg-df-blue); box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;    }    .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button:hover { filter: brightness(0.85); text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-active-badges-row {      display: flex;      flex-wrap: wrap;      gap: 8px;      align-items: center;      margin-top: 12px;      margin-bottom: 16px;      width: 100%;    }    .tg-df-active-badge {      display: inline-flex;      align-items: center;      gap: 6px;      padding: 8px 14px;      background-color: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border: 1px solid var(--tg-df-blue, #1f69ff);      border-radius: 0px;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;    }    .tg-df-badge-remove {      display: inline-flex;      align-items: center;      justify-content: center;      width: 16px;      height: 16px;      border-radius: 0px;      border: none;      background: rgba(255, 255, 255, 0.25);      color: #ffffff;      cursor: pointer;      padding: 0;      margin-left: 4px;      transition: background-color 0.15s, color 0.15s;    }    .tg-df-badge-remove:hover {      background: rgba(255, 255, 255, 0.45);      color: #ffffff;    }    .tg-df-badge-clear-all {      display: inline-flex;      align-items: center;      justify-content: center;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;      padding: 8px 14px;      color: var(--tg-df-text-muted, #64748b);      cursor: pointer;      background: #ffffff;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-radius: 0px;      transition: all 0.15s ease;    }    .tg-df-badge-clear-all:hover {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border-color: var(--tg-df-blue, #1f69ff);    }    .tg-df-savings-squad-header {      margin-bottom: 24px;      text-align: center;    }    .tg-df-banner-img-desktop {      display: block;      width: 100%;      height: auto;      margin-bottom: 32px;    }    .tg-df-banner-img-mobile {      display: none;      width: 100%;      height: auto;      margin-bottom: 32px;    }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop {        display: none;      }      .tg-df-banner-img-mobile {        display: block;      }    }    .tg-df-header-title {      font-size: 28px;      font-weight: 700;      color: var(--tg-df-text);      margin: 32px 0 12px 0;      line-height: 1.3;    }    .tg-df-header-subtitle {      font-size: 16px;      color: var(--tg-df-text-muted);      margin: 0 0 32px 0;      line-height: 1.5;    }    @container tg-df (max-width: 599px) {      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    @media (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    /* Article Intro Content Styling */    .tg-df-article-content {      font-size: 1rem;      line-height: 1.7;      color: #334155;    }    .tg-df-article-content p {      margin-bottom: 1.25rem;      line-height: 1.7;      font-size: 1rem;      color: #334155;    }    .tg-df-article-content > p:first-of-type::first-letter {      font-size: 3.25rem;      font-weight: 700;      float: left;      line-height: 0.85;      margin-right: 0.5rem;      margin-top: 0.15rem;      color: #0f172a;      font-family: inherit;    }    .tg-df-article-content a {      color: #0066cc;      text-decoration: underline;      font-weight: 500;    }    .tg-df-article-content a:hover {      color: #004499;    }    .tg-df-article-content strong, .tg-df-article-content b {      font-weight: 700;      color: #0f172a;    }    .tg-df-article-section-banner {      border-bottom: 2px solid #e6007e;      margin: 2.25rem 0 1.25rem 0;      position: relative;      clear: both;    }    .tg-df-article-section-banner span {      background-color: #e6007e;      color: #ffffff;      padding: 6px 16px;      font-weight: 700;      font-size: 0.875rem;      text-transform: uppercase;      letter-spacing: 0.05em;      display: inline-block;    }  </style><div class="tg-df-widget-host" data-vizualizer-embed="true" data-tg-df-full-bleed="false" data-tg-df-mobile-dropdowns="true" data-tg-df-sticky-mobile-filters="false" style="--tg-df-blue: #DC191B;"><div class="tg-df-container article-body" style="background-color: transparent;"><div id="tg-df-spreadsheet-filters" style="display: block; margin-bottom: 16px;"><div class="tg-df-categories-row-container" style="border-bottom: 1px solid var(--tg-df-border); position: relative;"><button aria-label="Scroll left" class="tg-df-scroll-btn left tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 18l-6-6 6-6"></path></svg></button><button aria-label="Scroll right" class="tg-df-scroll-btn right tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-categories-row" style="display: flex; overflow-x: auto; scrollbar-width: none;"><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Hardware <span style="color: var(--tg-df-blue); font-size: 10px;">66</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Monitors <span style="color: var(--tg-df-blue); font-size: 10px;">9</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming PCs <span style="color: var(--tg-df-blue); font-size: 10px;">7</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Mice <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Headsets <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Audio <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">SSDs <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Storage <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Laptops <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Controllers <span style="color: var(--tg-df-blue); font-size: 10px;">1</span></button></div></div></div><div class="tg-df-mobile-2x2-container"><div class="tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--odd"><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>CATEGORIES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>PRICES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell has-active-filter" aria-expanded="false"><span>DISCOUNTS (25%+)</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button></div></div><div class="tg-df-controls" id="tg-df-controls" style="display: flex; margin-top: 12px; margin-bottom: 16px; justify-content: center;"><div class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0px auto;"><button class="tg-df-scroll-btn left" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 18l-6-6 6-6"></path></svg></button><button class="tg-df-scroll-btn right" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-filters"><div class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices"><option value="all">All Prices</option><option value="under50">Under $50</option><option value="50_100">$50 - $100</option><option value="100_200">$100 - $200</option><option value="200_500">$200 - $500</option><option value="over500">Over $500</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount"><option value="all">Any discount</option><option value="5">Min 5%</option><option value="10">Min 10%</option><option value="15">Min 15%</option><option value="20">Min 20%</option><option value="25">Min 25%</option><option value="30">Min 30%</option><option value="40">Min 40%</option><option value="50">Min 50%</option><option value="60">Min 60%</option><option value="70">Min 70%</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-review-sort-wrapper" style="display: none;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 7h16M7 12h10m-7 5h4"></path></svg><select class="tg-df-filter-select" id="tg-df-review-sort" aria-label="Sort Reviews"><option value="date_desc">Most recent</option><option value="rating_desc">Highest rating</option><option value="scored_first">Scored products first</option></select></div></div></div></div><div class="tg-df-active-badges-row" style="display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 10px; margin-bottom: 16px;"><span class="tg-df-active-badge">Min 25% off<button type="button" class="tg-df-badge-remove" aria-label="Remove Min 25% off"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></span></div><div class="tg-df-grid-wrapper"><div class="tg-df-grid article-body tg-df-grid-auto" id="tg-df-grid"><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-0" data-merchant="Amazon" data-previous-price="34.99" data-price="25.99" data-product-name="G203 | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $9</span><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G203 | Wired" class="tg-df-card-image" loading="lazy" src="http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G203 | Wired"><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G203 | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>25.99</span></span><span class="tg-df-card-msrp">$34.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Glorious" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-0" data-merchant="Amazon" data-previous-price="59.99" data-price="26.31" data-product-name="GHS Eternal | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33.68</span><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="GHS Eternal | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="GHS Eternal | 40 mm drivers"><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Glorious GHS Eternal | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>26.31</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-1" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed | Wireless"><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-86" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed"><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-87" data-merchant="Bestbuy" data-previous-price="69.99" data-price="34.98" data-product-name="Basilisk V3"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35.01</span><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Basilisk V3" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Basilisk V3"><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Basilisk V3</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>34.98</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-3" data-merchant="Amazon" data-previous-price="69.99" data-price="37.99" data-product-name="G502 Hero | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $32</span><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G502 Hero | Wired" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G502 Hero | Wired"><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G502 Hero | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>37.99</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-80" data-merchant="Amazon" data-previous-price="59.99" data-price="39.79" data-product-name="BlackShark V2 X"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20.2</span><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="BlackShark V2 X" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="BlackShark V2 X"><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer BlackShark V2 X</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.79</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-1" data-merchant="Amazon" data-previous-price="79.99" data-price="39.99" data-product-name="G432 | 50 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $40</span><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G432 | 50 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G432 | 50 mm drivers"><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G432 | 50 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-2" data-merchant="Amazon" data-previous-price="79.99" data-price="44.99" data-product-name="Kraken V4 X | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35</span><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Kraken V4 X | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Kraken V4 X | 40 mm drivers"><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Kraken V4 X | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>44.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Turtle Beach" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-5" data-merchant="Amazon" data-previous-price="99.99" data-price="54.99" data-product-name="Burst II Air | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $45</span><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Burst II Air | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Burst II Air | Wireless"><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Turtle Beach Burst II Air | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>54.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="HyperX" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-5" data-merchant="Amazon" data-previous-price="99.99" data-price="57.99" data-product-name="Cloud III | 53 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $42</span><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Cloud III | 53 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Cloud III | 53 mm drivers"><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>HyperX Cloud III | 53 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>57.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Nothing" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-15" data-merchant="Amazon" data-previous-price="79" data-price="59" data-product-name="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Nothing Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>59</span></span><span class="tg-df-card-msrp">$79</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="KTC" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-40" data-merchant="Newegg" data-previous-price="99.99" data-price="62.49" data-product-name="H24V27"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $37.5</span><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="H24V27" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="H24V27"><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>KTC H24V27</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code &quot;LDSF246&quot; for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>62.49</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Scuf" data-currency="$" data-deal-id="airedale-A97h9Ug45WeF5xPLdcoJyf-0" data-merchant="Amazon" data-previous-price="109.99" data-price="76.99" data-product-name="Valor Pro"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33</span><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Valor Pro" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Valor Pro"><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Scuf Valor Pro</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>76.99</span></span><span class="tg-df-card-msrp">$109.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Jess Kinghorn" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/controllers/the-best-wired-pc-controller-has-been-knocked-down-to-usd77-so-long-as-you-dont-mind-it-in-white" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Jess Kinghorn</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 24 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Acer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-41" data-merchant="Newegg" data-previous-price="129.99" data-price="79.99" data-product-name="AOpen 24KG1Y X3bip"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="AOpen 24KG1Y X3bip" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="AOpen 24KG1Y X3bip"><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Acer AOpen 24KG1Y X3bip</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Asus" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-82" data-merchant="Amazon" data-previous-price="129.99" data-price="79.99" data-product-name="ROG Pelta"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="ROG Pelta" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="ROG Pelta"><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Asus ROG Pelta</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-43" data-merchant="Bestbuy" data-previous-price="149.99" data-price="97.49" data-product-name="MAG 244F"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $52.5</span><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 244F" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 244F"><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 244F</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>97.49</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-UBBZiFU9BXsLfvbZ8d4awf-1" data-merchant="Walmart" data-previous-price="149.99" data-price="99" data-product-name="MAG 255XFV"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50.99</span><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 255XFV" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 255XFV"><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 255XFV</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>99</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Walmart</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/amazon-prime-day-gaming-monitor-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-load-more-control" style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1; overflow-anchor: none;"><button type="button" class="tg-df-tag-outline" aria-busy="false" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More</button></div><script type="application/ld+json">{"@context":"https://schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Product","name":"G203 | Wired","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":25.99,"url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":2,"item":{"@type":"Product","name":"GHS Eternal | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","brand":{"@type":"Brand","name":"Glorious"},"offers":{"@type":"Offer","priceCurrency":"USD","price":26.31,"url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":3,"item":{"@type":"Product","name":"G305 Lightspeed | Wireless","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":4,"item":{"@type":"Product","name":"G305 Lightspeed","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/dp/B07CMS5Q6P","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":5,"item":{"@type":"Product","name":"Basilisk V3","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":34.98,"url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":6,"item":{"@type":"Product","name":"G502 Hero | Wired","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":37.99,"url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":7,"item":{"@type":"Product","name":"BlackShark V2 X","image":"https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg","description":"The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.79,"url":"https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":8,"item":{"@type":"Product","name":"G432 | 50 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg","description":"Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.99,"url":"https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":9,"item":{"@type":"Product","name":"Kraken V4 X | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg","description":"If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":44.99,"url":"https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":10,"item":{"@type":"Product","name":"Burst II Air | Wireless","image":"https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg","description":"We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99","brand":{"@type":"Brand","name":"Turtle Beach"},"offers":{"@type":"Offer","priceCurrency":"USD","price":54.99,"url":"https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":11,"item":{"@type":"Product","name":"Cloud III | 53 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg","description":"We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99","brand":{"@type":"Brand","name":"HyperX"},"offers":{"@type":"Offer","priceCurrency":"USD","price":57.99,"url":"https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":12,"item":{"@type":"Product","name":"Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)","image":"https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png","description":"These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response","brand":{"@type":"Brand","name":"Nothing"},"offers":{"@type":"Offer","priceCurrency":"USD","price":59,"url":"https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":13,"item":{"@type":"Product","name":"H24V27","image":"https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png","description":"This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code "LDSF246" for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA","brand":{"@type":"Brand","name":"KTC"},"offers":{"@type":"Offer","priceCurrency":"USD","price":62.49,"url":"https://www.newegg.com/p/3D4-007C-00016","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":14,"item":{"@type":"Product","name":"Valor Pro","image":"https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png","description":"This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks","brand":{"@type":"Brand","name":"Scuf"},"offers":{"@type":"Offer","priceCurrency":"USD","price":76.99,"url":"https://www.amazon.com/dp/B0DTB3QCS5","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":15,"item":{"@type":"Product","name":"AOpen 24KG1Y X3bip","image":"https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png","description":"With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"Acer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.newegg.com/p/N82E16824011533","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":16,"item":{"@type":"Product","name":"ROG Pelta","image":"https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg","description":"With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life","brand":{"@type":"Brand","name":"Asus"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":17,"item":{"@type":"Product","name":"MAG 244F","image":"https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png","description":"With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":97.49,"url":"https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":18,"item":{"@type":"Product","name":"MAG 255XFV","image":"https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg","description":"You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":99,"url":"https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174","seller":{"@type":"Organization","name":"Walmart"}}}}]}</script></div></div><div class="tg-df-modal-backdrop "><div class="tg-df-modal"><div class="tg-df-modal-header"><h3 class="tg-df-modal-title">Available Coupons & Deals</h3><button class="tg-df-modal-close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="tg-df-modal-body"><div class="tg-df-message">No active vouchers found for .</div></div></div></div></div></div>  </div>  <script type="application/json" data-fcaw-config>{"authorBioLength":"short","authorFullBleed":false,"authorHandle":"all-authors","authorName":"All authors","backgroundColor":"transparent","customBio":"","discountAmount":"25","editorMode":false,"editorialMaxAgeMonths":"0","includeBuyingGuideProducts":false,"includeCollections":false,"includeDeals":true,"includeReviewProducts":false,"mobileDropdowns":true,"stickyMobileFilters":false,"offerType":"","preloadReviewInventory":false,"lightweightReviewDelivery":false,"hideHawkPrices":false,"prioritiseCommercialProducts":true,"priceRange":"all","productSelection":"mix","query":"","region":"auto","resultCount":"6","retailer":"","selectedBrands":[],"showAuthorBio":false,"showAuthorCounters":true,"showAuthorIdentity":false,"showAuthorRail":false,"showBrandRail":false,"showCategoryRail":true,"showCollectionsDropdown":false,"showPriceDiscountFilters":true,"showReviewSort":false,"showSocialButtons":false,"showCountdown":false,"showHeaderDetails":true,"showFreeformTagRail":false,"sort":"price_asc","viewMode":"author","website":"pcgamer","widgetSubtitle":"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.","widgetTitle":"Top Deals Handpicked by Our Editors","brands":[],"shortenedHeadlines":{},"compactEmbed":true}</script>  <script type="application/json" data-fcaw-preload>{"authors":[{"bioLong":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","bioShort":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","name":"James","fullName":"James Bentley","handle":"james-bentley","role":"Hardware writer","image":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","brandKey":"pcgamer"},{"bioLong":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","bioShort":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","name":"Dave","fullName":"Dave James","handle":"dave-james","role":"Editor-in-Chief, Hardware","image":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/not_the_gk","label":"X (Twitter)"},{"key":"email","href":"mailto:dave.james@futurenet.com","label":"Email"}]},{"bioLong":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","bioShort":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","name":"Jacob","fullName":"Jacob Fox","handle":"jacob-fox","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","brandKey":"pcgamer"},{"bioLong":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","bioShort":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","name":"Andy","fullName":"Andy Edser","handle":"andy-edser","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","brandKey":"pcgamer"},{"bioLong":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","bioShort":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","name":"Jess","fullName":"Jess Kinghorn","handle":"jess-kinghorn","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/KoeniginKatze","label":"X (Twitter)"},{"key":"linkedin","href":"https://www.linkedin.com/in/jess-kinghorn","label":"LinkedIn"}]}],"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"activeDealTag":null,"activeFreeformTag":null,"activeFreeformTags":[],"couponMap":{"Amazon":"has","Bestbuy":"none","Newegg":"none","Walmart":"none"},"totalAuthorCount":5,"totalDealCount":56,"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"reviewInventoryBaked":false,"regionalDealManifests":{"US":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-0","url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":25.99,"rawMsrp":34.99,"price":"25.99","msrp":"34.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $9","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362\" target=\"_blank\"\u003eBest Buy $39.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-0","url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","title":"GHS Eternal | 40 mm drivers","brand":"Glorious","productName":"GHS Eternal | 40 mm drivers","merchant":"Amazon","rawPrice":26.31,"rawMsrp":59.99,"price":"26.31","msrp":"59.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $33.68","savingType":"amount","isPrime":false,"starRating":null,"description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","text":"\u003cp\u003eWith a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20 hz - 20 kHz | 255 g\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-1","url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite budget wireless mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR\" target=\"_blank\"\u003eBest Buy $49.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-86","url":"https://www.amazon.com/dp/B07CMS5Q6P","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","title":"G305 Lightspeed","brand":"Logitech","productName":"G305 Lightspeed","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","text":"\u003cp\u003eAlready reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-87","url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","title":"Basilisk V3","brand":"Razer","productName":"Basilisk V3","merchant":"Bestbuy","rawPrice":34.98,"rawMsrp":69.99,"price":"34.98","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $35.01","savingType":"amount","isPrime":false,"starRating":null,"description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","text":"\u003cp\u003eThis mouse might be a few years old, but we scored it highly in \u003ca href=\"https://www.pcgamer.com/razer-basilisk-v3-gaming-mouse-review/\" target=\"_blank\"\u003eour review\u003c/a\u003e in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to \u003ca href=\"https://www.pcgamer.com/hardware/im-ashamed-to-say-that-this-razer-mouse-has-made-me-actually-take-a-shine-to-rgb-and-now-you-can-be-persuaded-too-for-almost-50-percent-off/\" target=\"_blank\"\u003etempt even those who usually hate RGB lighting\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-3","url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":37.99,"rawMsrp":69.99,"price":"37.99","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $32","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","text":"\u003cp\u003eThis is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133\" target=\"_blank\"\u003eBest Buy $69.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true}],"GB":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-10","url":"https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":19.99,"rawMsrp":30.99,"price":"19.99","msrp":"30.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £11","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-11","url":"https://www.amazon.co.uk/Logitech-Wireless-Lightweight-Programmable-compatible/dp/B07CGPZ3ZQ","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":19.99,"rawMsrp":27.99,"price":"19.99","msrp":"27.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £8","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite wireless budget mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays. Key specs: Wireless | 12,000 DPI | Right-handed","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite wireless budget mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-19","url":"https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/","image":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","title":"Quantum 100 | 40 mm drivers","brand":"JBL","productName":"Quantum 100 | 40 mm drivers","merchant":"Amazon","rawPrice":19.99,"rawMsrp":29.99,"price":"19.99","msrp":"29.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £10","savingType":"amount","isPrime":false,"starRating":null,"description":"JBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired","text":"\u003cp\u003eJBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-12","url":"https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":22.01,"rawMsrp":37.79,"price":"22.01","msrp":"37.79","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £15.78","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness. Key specs: Wired | 25,600 DPI | Right-handed","text":"\u003cp\u003eThis is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-23","url":"https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1","image":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","title":"G321 Lightspeed | 40 mm drivers","brand":"Logitech","productName":"G321 Lightspeed | 40 mm drivers","merchant":"Amazon","rawPrice":32.99,"rawMsrp":59.99,"price":"32.99","msrp":"59.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £27","savingType":"amount","isPrime":false,"starRating":null,"description":"This very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in his review. It won't blow you away with bass or features, but at this price it's still worth considering. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless Price check: Currys £42.99","text":"\u003cp\u003eThis very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in \u003ca href=\"https://www.pcgamer.com/hardware/gaming-headsets/logitech-g321-lightspeed-review/\" target=\"_blank\"\u003ehis review\u003c/a\u003e. It won't blow you away with bass or features, but at this price it's still worth considering.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless \u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g321-lightspeed-wireless-bluetooth-gaming-headset-black-10289632.html\" target=\"_blank\"\u003eCurrys £42.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-20","url":"https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/","image":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","title":"G335 | 40 mm drivers","brand":"Logitech","productName":"G335 | 40 mm drivers","merchant":"Amazon","rawPrice":34.99,"rawMsrp":64.99,"price":"34.99","msrp":"64.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £30","savingType":"amount","isPrime":false,"starRating":null,"description":"This Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired Price check: Currys £34.99","text":"\u003cp\u003eThis Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g335-gaming-headset-black-10227173.html\" target=\"_blank\"\u003eCurrys £34.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true}],"AU":[{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-5","url":"https://www.amazon.com.au/JBL-QuantumSOUND-Signature-Comfortable-Breathable/dp/B0D6NLHV8N","image":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","title":"Quantum 100M2","brand":"JBL","productName":"Quantum 100M2","merchant":"Amazon","rawPrice":29,"rawMsrp":59.95,"price":"29","msrp":"59.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$30.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.","text":"\u003cp\u003eIf you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-1","url":"https://www.amazon.com.au/dp/B0CMCPY4VG","image":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","title":"Nova Lite","brand":"GameSir","productName":"Nova Lite","merchant":"Amazon","rawPrice":32,"rawMsrp":45,"price":"32","msrp":"45","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$13","savingType":"amount","isPrime":false,"starRating":null,"description":"Our favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.","text":"\u003cp\u003eOur favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-15","url":"https://www.amazon.com.au/dp/B07MG5547J","image":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","title":"G502 Hero","brand":"Logitech","productName":"G502 Hero","merchant":"Amazon","rawPrice":55.99,"rawMsrp":149.95,"price":"55.99","msrp":"149.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$93.96","savingType":"amount","isPrime":false,"starRating":null,"description":"Logitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;","text":"\u003cp\u003eLogitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-8","url":"https://www.amazon.com.au/CORSAIR-Membrane-Wired-Gaming-Keyboard/dp/B0CP6BR96G","image":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","title":"K55 Core Membrane","brand":"Corsair","productName":"K55 Core Membrane","merchant":"Amazon","rawPrice":59,"rawMsrp":79.95,"price":"59","msrp":"79.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$20.95","savingType":"amount","isPrime":false,"starRating":null,"description":"This discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.","text":"\u003cp\u003eThis discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-11","url":"https://www.amazon.com.au/dp/B01K48R5V4","image":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","fallbackImage":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","title":"G G213 Prodigy","brand":"Logitech","productName":"G G213 Prodigy","merchant":"Amazon","rawPrice":72,"rawMsrp":129.95,"price":"72","msrp":"129.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$57.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.","text":"\u003cp\u003eIf you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-13","url":"https://www.amazon.com.au/CORSAIR-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8/","image":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","title":"Sabre v2 Pro","brand":"Corsair","productName":"Sabre v2 Pro","merchant":"Amazon","rawPrice":79,"rawMsrp":169,"price":"79","msrp":"169","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$90","savingType":"amount","isPrime":false,"starRating":null,"description":"The Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox loved its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life.","text":"\u003cp\u003eThe Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox \u003ca href=\"https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/\"\u003eloved\u003c/a\u003e its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life. \u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true}]},"regionalDealRailData":{"US":{"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"totalAuthorCount":5,"totalDealCount":56},"GB":{"brands":[{"formatted_value":"Logitech","count":6},{"formatted_value":"Steelseries","count":2},{"formatted_value":"EarFun","count":2},{"formatted_value":"Lexar","count":2},{"formatted_value":"AOC","count":2},{"formatted_value":"MSI","count":2},{"formatted_value":"JBL","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Turtle Beach","count":1}],"freeformTagCounts":{"hardware":17,"mouse":5,"gaming-mouse":5,"prime-day":5,"amazon-prime-day-2026":14,"amazon-prime-day":17,"prime-day-deals":8,"deals":17,"deal":17,"big-deal-days":17,"gaming-headset":9,"amazon-prime":3,"ssd":1,"pc-deals":3,"gaming-monitor":2,"monitors":2,"solid-state-drive":1,"solid-state":1,"hdd":1,"hard-drive":1,"storage":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"}],"tagCounts":{"Gaming Mice":5,"Hardware":17,"Gaming Headsets":9,"Gaming Audio":9,"SSDs":1,"Storage":1,"Gaming Monitors":2},"tags":["Hardware","Gaming Headsets","Gaming Audio","Gaming Mice","Gaming Monitors","SSDs","Storage"],"totalAuthorCount":4,"totalDealCount":17},"AU":{"brands":[{"formatted_value":"Logitech","count":7},{"formatted_value":"Corsair","count":4},{"formatted_value":"JBL","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"GameSir","count":1},{"formatted_value":"8BitDo","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Asus","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"SteelSeries","count":1}],"freeformTagCounts":{"hardware":20,"amazon-prime":20,"pc-deals":20,"deals":20,"prime-day-deals":20},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"}],"tagCounts":{"Hardware":20},"tags":["Hardware"],"totalAuthorCount":1,"totalDealCount":20}}}</script></fc-author-commerce-widget><script>(()=>{var Z1=Object.create;var cg=Object.defineProperty;var W1=Object.getOwnPropertyDescriptor;var I1=Object.getOwnPropertyNames;var J1=Object.getPrototypeOf,$1=Object.prototype.hasOwnProperty;var un=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var eb=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of I1(t))!$1.call(e,l)&&l!==n&&cg(e,l,{get:()=>t[l],enumerable:!(a=W1(t,l))||a.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Z1(J1(e)):{},eb(t||!e||!e.__esModule?cg(n,"default",{value:e,enumerable:!0}):n,e));var Ag=un(z=>{"use strict";var Tc=Symbol.for("react.transitional.element"),tb=Symbol.for("react.portal"),nb=Symbol.for("react.fragment"),ab=Symbol.for("react.strict_mode"),lb=Symbol.for("react.profiler"),ib=Symbol.for("react.consumer"),rb=Symbol.for("react.context"),ob=Symbol.for("react.forward_ref"),ub=Symbol.for("react.suspense"),cb=Symbol.for("react.memo"),mg=Symbol.for("react.lazy"),sb=Symbol.for("react.activity"),sg=Symbol.iterator;function db(e){return e===null||typeof e!="object"?null:(e=sg&&e[sg]||e["@@iterator"],typeof e=="function"?e:null)}var hg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pg=Object.assign,yg={};function ml(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}ml.prototype.isReactComponent={};ml.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ml.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function vg(){}vg.prototype=ml.prototype;function Ec(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}var Dc=Ec.prototype=new vg;Dc.constructor=Ec;pg(Dc,ml.prototype);Dc.isPureReactComponent=!0;var dg=Array.isArray;function Rc(){}var he={H:null,A:null,T:null,S:null},bg=Object.prototype.hasOwnProperty;function xc(e,t,n){var a=n.ref;return{$$typeof:Tc,type:e,key:t,ref:a!==void 0?a:null,props:n}}function fb(e,t){return xc(e.type,t,e.props)}function Mc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function gb(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var fg=/\/+/g;function Cc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?gb(""+e.key):t.toString(36)}function mb(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Rc,Rc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function gl(e,t,n,a,l){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var r=!1;if(e===null)r=!0;else switch(i){case"bigint":case"string":case"number":r=!0;break;case"object":switch(e.$$typeof){case Tc:case tb:r=!0;break;case mg:return r=e._init,gl(r(e._payload),t,n,a,l)}}if(r)return l=l(e),r=a===""?"."+Cc(e,0):a,dg(l)?(n="",r!=null&&(n=r.replace(fg,"$&/")+"/"),gl(l,t,n,"",function(c){return c})):l!=null&&(Mc(l)&&(l=fb(l,n+(l.key==null||e&&e.key===l.key?"":(""+l.key).replace(fg,"$&/")+"/")+r)),t.push(l)),1;r=0;var o=a===""?".":a+":";if(dg(e))for(var u=0;u<e.length;u++)a=e[u],i=o+Cc(a,u),r+=gl(a,t,n,i,l);else if(u=db(e),typeof u=="function")for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,i=o+Cc(a,u++),r+=gl(a,t,n,i,l);else if(i==="object"){if(typeof e.then=="function")return gl(mb(e),t,n,a,l);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return r}function ro(e,t,n){if(e==null)return e;var a=[],l=0;return gl(e,a,"","",function(i){return t.call(n,i,l++)}),a}function hb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var gg=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},pb={map:ro,forEach:function(e,t,n){ro(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ro(e,function(){t++}),t},toArray:function(e){return ro(e,function(t){return t})||[]},only:function(e){if(!Mc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};z.Activity=sb;z.Children=pb;z.Component=ml;z.Fragment=nb;z.Profiler=lb;z.PureComponent=Ec;z.StrictMode=ab;z.Suspense=ub;z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=he;z.__COMPILER_RUNTIME={__proto__:null,c:function(e){return he.H.useMemoCache(e)}};z.cache=function(e){return function(){return e.apply(null,arguments)}};z.cacheSignal=function(){return null};z.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=pg({},e.props),l=e.key;if(t!=null)for(i in t.key!==void 0&&(l=""+t.key),t)!bg.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(a[i]=t[i]);var i=arguments.length-2;if(i===1)a.children=n;else if(1<i){for(var r=Array(i),o=0;o<i;o++)r[o]=arguments[o+2];a.children=r}return xc(e.type,l,a)};z.createContext=function(e){return e={$$typeof:rb,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:ib,_context:e},e};z.createElement=function(e,t,n){var a,l={},i=null;if(t!=null)for(a in t.key!==void 0&&(i=""+t.key),t)bg.call(t,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(l[a]=t[a]);var r=arguments.length-2;if(r===1)l.children=n;else if(1<r){for(var o=Array(r),u=0;u<r;u++)o[u]=arguments[u+2];l.children=o}if(e&&e.defaultProps)for(a in r=e.defaultProps,r)l[a]===void 0&&(l[a]=r[a]);return xc(e,i,l)};z.createRef=function(){return{current:null}};z.forwardRef=function(e){return{$$typeof:ob,render:e}};z.isValidElement=Mc;z.lazy=function(e){return{$$typeof:mg,_payload:{_status:-1,_result:e},_init:hb}};z.memo=function(e,t){return{$$typeof:cb,type:e,compare:t===void 0?null:t}};z.startTransition=function(e){var t=he.T,n={};he.T=n;try{var a=e(),l=he.S;l!==null&&l(n,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Rc,gg)}catch(i){gg(i)}finally{t!==null&&n.types!==null&&(t.types=n.types),he.T=t}};z.unstable_useCacheRefresh=function(){return he.H.useCacheRefresh()};z.use=function(e){return he.H.use(e)};z.useActionState=function(e,t,n){return he.H.useActionState(e,t,n)};z.useCallback=function(e,t){return he.H.useCallback(e,t)};z.useContext=function(e){return he.H.useContext(e)};z.useDebugValue=function(){};z.useDeferredValue=function(e,t){return he.H.useDeferredValue(e,t)};z.useEffect=function(e,t){return he.H.useEffect(e,t)};z.useEffectEvent=function(e){return he.H.useEffectEvent(e)};z.useId=function(){return he.H.useId()};z.useImperativeHandle=function(e,t,n){return he.H.useImperativeHandle(e,t,n)};z.useInsertionEffect=function(e,t){return he.H.useInsertionEffect(e,t)};z.useLayoutEffect=function(e,t){return he.H.useLayoutEffect(e,t)};z.useMemo=function(e,t){return he.H.useMemo(e,t)};z.useOptimistic=function(e,t){return he.H.useOptimistic(e,t)};z.useReducer=function(e,t,n){return he.H.useReducer(e,t,n)};z.useRef=function(e){return he.H.useRef(e)};z.useState=function(e){return he.H.useState(e)};z.useSyncExternalStore=function(e,t,n){return he.H.useSyncExternalStore(e,t,n)};z.useTransition=function(){return he.H.useTransition()};z.version="19.2.8"});var ft=un((zS,wg)=>{"use strict";wg.exports=Ag()});var Bg=un(Se=>{"use strict";function Oc(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,l=e[a];if(0<oo(l,t))e[a]=t,e[n]=l,n=a;else break e}}function cn(e){return e.length===0?null:e[0]}function co(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,l=e.length,i=l>>>1;a<i;){var r=2*(a+1)-1,o=e[r],u=r+1,c=e[u];if(0>oo(o,n))u<l&&0>oo(c,o)?(e[a]=c,e[u]=n,a=u):(e[a]=o,e[r]=n,a=r);else if(u<l&&0>oo(c,n))e[a]=c,e[u]=n,a=u;else break e}}return t}function oo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Se.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Sg=performance,Se.unstable_now=function(){return Sg.now()}):(_c=Date,Cg=_c.now(),Se.unstable_now=function(){return _c.now()-Cg});var Sg,_c,Cg,wn=[],Qn=[],yb=1,Ut=null,et=3,kc=!1,Mi=!1,_i=!1,Lc=!1,Eg=typeof setTimeout=="function"?setTimeout:null,Dg=typeof clearTimeout=="function"?clearTimeout:null,Rg=typeof setImmediate<"u"?setImmediate:null;function uo(e){for(var t=cn(Qn);t!==null;){if(t.callback===null)co(Qn);else if(t.startTime<=e)co(Qn),t.sortIndex=t.expirationTime,Oc(wn,t);else break;t=cn(Qn)}}function Hc(e){if(_i=!1,uo(e),!Mi)if(cn(wn)!==null)Mi=!0,pl||(pl=!0,hl());else{var t=cn(Qn);t!==null&&zc(Hc,t.startTime-e)}}var pl=!1,Bi=-1,xg=5,Mg=-1;function _g(){return Lc?!0:!(Se.unstable_now()-Mg<xg)}function Bc(){if(Lc=!1,pl){var e=Se.unstable_now();Mg=e;var t=!0;try{e:{Mi=!1,_i&&(_i=!1,Dg(Bi),Bi=-1),kc=!0;var n=et;try{t:{for(uo(e),Ut=cn(wn);Ut!==null&&!(Ut.expirationTime>e&&_g());){var a=Ut.callback;if(typeof a=="function"){Ut.callback=null,et=Ut.priorityLevel;var l=a(Ut.expirationTime<=e);if(e=Se.unstable_now(),typeof l=="function"){Ut.callback=l,uo(e),t=!0;break t}Ut===cn(wn)&&co(wn),uo(e)}else co(wn);Ut=cn(wn)}if(Ut!==null)t=!0;else{var i=cn(Qn);i!==null&&zc(Hc,i.startTime-e),t=!1}}break e}finally{Ut=null,et=n,kc=!1}t=void 0}}finally{t?hl():pl=!1}}}var hl;typeof Rg=="function"?hl=function(){Rg(Bc)}:typeof MessageChannel<"u"?(Nc=new MessageChannel,Tg=Nc.port2,Nc.port1.onmessage=Bc,hl=function(){Tg.postMessage(null)}):hl=function(){Eg(Bc,0)};var Nc,Tg;function zc(e,t){Bi=Eg(function(){e(Se.unstable_now())},t)}Se.unstable_IdlePriority=5;Se.unstable_ImmediatePriority=1;Se.unstable_LowPriority=4;Se.unstable_NormalPriority=3;Se.unstable_Profiling=null;Se.unstable_UserBlockingPriority=2;Se.unstable_cancelCallback=function(e){e.callback=null};Se.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):xg=0<e?Math.floor(1e3/e):5};Se.unstable_getCurrentPriorityLevel=function(){return et};Se.unstable_next=function(e){switch(et){case 1:case 2:case 3:var t=3;break;default:t=et}var n=et;et=t;try{return e()}finally{et=n}};Se.unstable_requestPaint=function(){Lc=!0};Se.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=et;et=e;try{return t()}finally{et=n}};Se.unstable_scheduleCallback=function(e,t,n){var a=Se.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?a+n:a):n=a,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return l=n+l,e={id:yb++,callback:t,priorityLevel:e,startTime:n,expirationTime:l,sortIndex:-1},n>a?(e.sortIndex=n,Oc(Qn,e),cn(wn)===null&&e===cn(Qn)&&(_i?(Dg(Bi),Bi=-1):_i=!0,zc(Hc,n-a))):(e.sortIndex=l,Oc(wn,e),Mi||kc||(Mi=!0,pl||(pl=!0,hl()))),e};Se.unstable_shouldYield=_g;Se.unstable_wrapCallback=function(e){var t=et;return function(){var n=et;et=t;try{return e.apply(this,arguments)}finally{et=n}}}});var Og=un((GS,Ng)=>{"use strict";Ng.exports=Bg()});var Lg=un(ot=>{"use strict";var vb=ft();function kg(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Kn(){}var rt={d:{f:Kn,r:function(){throw Error(kg(522))},D:Kn,C:Kn,L:Kn,m:Kn,X:Kn,S:Kn,M:Kn},p:0,findDOMNode:null},bb=Symbol.for("react.portal");function Ab(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:bb,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}var Ni=vb.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function so(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ot.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=rt;ot.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(kg(299));return Ab(e,t,null,n)};ot.flushSync=function(e){var t=Ni.T,n=rt.p;try{if(Ni.T=null,rt.p=2,e)return e()}finally{Ni.T=t,rt.p=n,rt.d.f()}};ot.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,rt.d.C(e,t))};ot.prefetchDNS=function(e){typeof e=="string"&&rt.d.D(e)};ot.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin),l=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?rt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:l,fetchPriority:i}):n==="script"&&rt.d.X(e,{crossOrigin:a,integrity:l,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ot.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=so(t.as,t.crossOrigin);rt.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&rt.d.M(e)};ot.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin);rt.d.L(e,n,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};ot.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=so(t.as,t.crossOrigin);rt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else rt.d.m(e)};ot.requestFormReset=function(e){rt.d.r(e)};ot.unstable_batchedUpdates=function(e,t){return e(t)};ot.useFormState=function(e,t,n){return Ni.H.useFormState(e,t,n)};ot.useFormStatus=function(){return Ni.H.useHostTransitionStatus()};ot.version="19.2.8"});var Ug=un((qS,zg)=>{"use strict";function Hg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Hg)}catch(e){console.error(e)}}Hg(),zg.exports=Lg()});var Wy=un(Hu=>{"use strict";var Ge=Og(),sh=ft(),wb=Ug();function S(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function dh(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function vr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function fh(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function gh(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Gg(e){if(vr(e)!==e)throw Error(S(188))}function Sb(e){var t=e.alternate;if(!t){if(t=vr(e),t===null)throw Error(S(188));return t!==e?null:e}for(var n=e,a=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(a=l.return,a!==null){n=a;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return Gg(l),e;if(i===a)return Gg(l),t;i=i.sibling}throw Error(S(188))}if(n.return!==a.return)n=l,a=i;else{for(var r=!1,o=l.child;o;){if(o===n){r=!0,n=l,a=i;break}if(o===a){r=!0,a=l,n=i;break}o=o.sibling}if(!r){for(o=i.child;o;){if(o===n){r=!0,n=i,a=l;break}if(o===a){r=!0,a=i,n=l;break}o=o.sibling}if(!r)throw Error(S(189))}}if(n.alternate!==a)throw Error(S(190))}if(n.tag!==3)throw Error(S(188));return n.stateNode.current===n?e:t}function mh(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=mh(e),t!==null)return t;e=e.sibling}return null}var ve=Object.assign,Cb=Symbol.for("react.element"),fo=Symbol.for("react.transitional.element"),Pi=Symbol.for("react.portal"),Sl=Symbol.for("react.fragment"),hh=Symbol.for("react.strict_mode"),ys=Symbol.for("react.profiler"),ph=Symbol.for("react.consumer"),Mn=Symbol.for("react.context"),fd=Symbol.for("react.forward_ref"),vs=Symbol.for("react.suspense"),bs=Symbol.for("react.suspense_list"),gd=Symbol.for("react.memo"),Zn=Symbol.for("react.lazy");Symbol.for("react.scope");var As=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var Rb=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var Pg=Symbol.iterator;function Oi(e){return e===null||typeof e!="object"?null:(e=Pg&&e[Pg]||e["@@iterator"],typeof e=="function"?e:null)}var Tb=Symbol.for("react.client.reference");function ws(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Tb?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Sl:return"Fragment";case ys:return"Profiler";case hh:return"StrictMode";case vs:return"Suspense";case bs:return"SuspenseList";case As:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Pi:return"Portal";case Mn:return e.displayName||"Context";case ph:return(e._context.displayName||"Context")+".Consumer";case fd:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gd:return t=e.displayName||null,t!==null?t:ws(e.type)||"Memo";case Zn:t=e._payload,e=e._init;try{return ws(e(t))}catch{}}return null}var qi=Array.isArray,L=sh.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=wb.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,za={pending:!1,data:null,method:null,action:null},Ss=[],Cl=-1;function mn(e){return{current:e}}function Fe(e){0>Cl||(e.current=Ss[Cl],Ss[Cl]=null,Cl--)}function ge(e,t){Cl++,Ss[Cl]=e.current,e.current=t}var gn=mn(null),lr=mn(null),ra=mn(null),Vo=mn(null);function Xo(e,t){switch(ge(ra,t),ge(lr,e),ge(gn,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qm(t),e=Hy(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Fe(gn),ge(gn,e)}function ql(){Fe(gn),Fe(lr),Fe(ra)}function Cs(e){e.memoizedState!==null&&ge(Vo,e);var t=gn.current,n=Hy(t,e.type);t!==n&&(ge(lr,e),ge(gn,n))}function Qo(e){lr.current===e&&(Fe(gn),Fe(lr)),Vo.current===e&&(Fe(Vo),hr._currentValue=za)}var Uc,qg;function Oa(e){if(Uc===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Uc=t&&t[1]||"",qg=-1<n.stack.indexOf(`    at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return``+Uc+e+qg}var Gc=!1;function Pc(e,t){if(!e||Gc)return"";Gc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(m){var d=m}Reflect.construct(e,[],f)}else{try{f.call()}catch(m){d=m}e.call(f.prototype)}}else{try{throw Error()}catch(m){d=m}(f=e())&&typeof f.catch=="function"&&f.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),r=i[0],o=i[1];if(r&&o){var u=r.split(``),c=o.split(``);for(l=a=0;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;for(;l<c.length&&!c[l].includes("DetermineComponentFrameRoot");)l++;if(a===u.length||l===c.length)for(a=u.length-1,l=c.length-1;1<=a&&0<=l&&u[a]!==c[l];)l--;for(;1<=a&&0<=l;a--,l--)if(u[a]!==c[l]){if(a!==1||l!==1)do if(a--,l--,0>l||u[a]!==c[l]){var s=``+u[a].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=a&&0<=l);break}}}finally{Gc=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Oa(n):""}function Eb(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return Pc(e.type,!1);case 11:return Pc(e.type.render,!1);case 1:return Pc(e.type,!0);case 31:return Oa("Activity");default:return""}}function Fg(e){try{var t="",n=null;do t+=Eb(e,n),n=e,e=e.return;while(e);return t}catch(a){return`Error generating stack: `+a.message+``+a.stack}}var Rs=Object.prototype.hasOwnProperty,md=Ge.unstable_scheduleCallback,qc=Ge.unstable_cancelCallback,Db=Ge.unstable_shouldYield,xb=Ge.unstable_requestPaint,Dt=Ge.unstable_now,Mb=Ge.unstable_getCurrentPriorityLevel,yh=Ge.unstable_ImmediatePriority,vh=Ge.unstable_UserBlockingPriority,Ko=Ge.unstable_NormalPriority,_b=Ge.unstable_LowPriority,bh=Ge.unstable_IdlePriority,Bb=Ge.log,Nb=Ge.unstable_setDisableYieldValue,br=null,xt=null;function ta(e){if(typeof Bb=="function"&&Nb(e),xt&&typeof xt.setStrictMode=="function")try{xt.setStrictMode(br,e)}catch{}}var Mt=Math.clz32?Math.clz32:Lb,Ob=Math.log,kb=Math.LN2;function Lb(e){return e>>>=0,e===0?32:31-(Ob(e)/kb|0)|0}var go=256,mo=262144,ho=4194304;function ka(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Au(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var o=a&134217727;return o!==0?(a=o&~i,a!==0?l=ka(a):(r&=o,r!==0?l=ka(r):n||(n=o&~e,n!==0&&(l=ka(n))))):(o=a&~i,o!==0?l=ka(o):r!==0?l=ka(r):n||(n=a&~e,n!==0&&(l=ka(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function Ar(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Hb(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ah(){var e=ho;return ho<<=1,(ho&62914560)===0&&(ho=4194304),e}function Fc(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wr(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function zb(e,t,n,a,l,i){var r=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,u=e.expirationTimes,c=e.hiddenUpdates;for(n=r&~n;0<n;){var s=31-Mt(n),f=1<<s;o[s]=0,u[s]=-1;var d=c[s];if(d!==null)for(c[s]=null,s=0;s<d.length;s++){var m=d[s];m!==null&&(m.lane&=-536870913)}n&=~f}a!==0&&wh(e,a,0),i!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=i&~(r&~t))}function wh(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Mt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function Sh(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Mt(n),l=1<<a;l&t|e[a]&t&&(e[a]|=t),n&=~l}}function Ch(e,t){var n=t&-t;return n=(n&42)!==0?1:hd(n),(n&(e.suspendedLanes|t))!==0?0:n}function hd(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function pd(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Rh(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:Qy(e.type))}function jg(e,t){var n=$.p;try{return $.p=e,t()}finally{$.p=n}}var ba=Math.random().toString(36).slice(2),Ve="__reactFiber$"+ba,vt="__reactProps$"+ba,Jl="__reactContainer$"+ba,Ts="__reactEvents$"+ba,Ub="__reactListeners$"+ba,Gb="__reactHandles$"+ba,Yg="__reactResources$"+ba,Sr="__reactMarker$"+ba;function yd(e){delete e[Ve],delete e[vt],delete e[Ts],delete e[Ub],delete e[Gb]}function Rl(e){var t=e[Ve];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jl]||n[Ve]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Jm(e);e!==null;){if(n=e[Ve])return n;e=Jm(e)}return t}e=n,n=e.parentNode}return null}function $l(e){if(e=e[Ve]||e[Jl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Fi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(S(33))}function kl(e){var t=e[Yg];return t||(t=e[Yg]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function qe(e){e[Sr]=!0}var Th=new Set,Eh={};function Qa(e,t){Fl(e,t),Fl(e+"Capture",t)}function Fl(e,t){for(Eh[e]=t,e=0;e<t.length;e++)Th.add(t[e])}var Pb=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Vg={},Xg={};function qb(e){return Rs.call(Xg,e)?!0:Rs.call(Vg,e)?!1:Pb.test(e)?Xg[e]=!0:(Vg[e]=!0,!1)}function _o(e,t,n){if(qb(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function po(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function Sn(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+a)}}function Pt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fb(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,i=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(r){n=""+r,i.call(this,r)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){if(!e._valueTracker){var t=Dh(e)?"checked":"value";e._valueTracker=Fb(e,t,""+e[t])}}function xh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=Dh(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Zo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var jb=/[\n"\\]/g;function jt(e){return e.replace(jb,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ds(e,t,n,a,l,i,r,o){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pt(t)):e.value!==""+Pt(t)&&(e.value=""+Pt(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?xs(e,r,Pt(t)):n!=null?xs(e,r,Pt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+Pt(o):e.removeAttribute("name")}function Mh(e,t,n,a,l,i,r,o){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Es(e);return}n=n!=null?""+Pt(n):"",t=t!=null?""+Pt(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=o?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),Es(e)}function xs(e,t,n){t==="number"&&Zo(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ll(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&a&&(e[n].defaultSelected=!0)}else{for(n=""+Pt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,a&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function _h(e,t,n){if(t!=null&&(t=""+Pt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Pt(n):""}function Bh(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(S(92));if(qi(a)){if(1<a.length)throw Error(S(93));a=a[0]}n=a}n==null&&(n=""),t=n}n=Pt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==""&&a!==null&&(e.value=a),Es(e)}function jl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Qg(e,t,n){var a=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,n):typeof n!="number"||n===0||Yb.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Nh(e,t,n){if(t!=null&&typeof t!="object")throw Error(S(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var l in t)a=t[l],t.hasOwnProperty(l)&&n[l]!==a&&Qg(e,l,a)}else for(var i in t)t.hasOwnProperty(i)&&Qg(e,i,t[i])}function vd(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Xb=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Bo(e){return Xb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function _n(){}var Ms=null;function bd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tl=null,Hl=null;function Kg(e){var t=$l(e);if(t&&(e=t.stateNode)){var n=e[vt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Ds(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+jt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var l=a[vt]||null;if(!l)throw Error(S(90));Ds(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&xh(a)}break e;case"textarea":_h(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ll(e,!!n.multiple,t,!1)}}}var jc=!1;function Oh(e,t,n){if(jc)return e(t,n);jc=!0;try{var a=e(t);return a}finally{if(jc=!1,(Tl!==null||Hl!==null)&&(Nu(),Tl&&(t=Tl,e=Hl,Hl=Tl=null,Kg(t),e)))for(t=0;t<e.length;t++)Kg(e[t])}}function ir(e,t){var n=e.stateNode;if(n===null)return null;var a=n[vt]||null;if(a===null)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(S(231,t,typeof n));return n}var Ln=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_s=!1;if(Ln)try{yl={},Object.defineProperty(yl,"passive",{get:function(){_s=!0}}),window.addEventListener("test",yl,yl),window.removeEventListener("test",yl,yl)}catch{_s=!1}var yl,na=null,Ad=null,No=null;function kh(){if(No)return No;var e,t=Ad,n=t.length,a,l="value"in na?na.value:na.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var r=n-e;for(a=1;a<=r&&t[n-a]===l[i-a];a++);return No=l.slice(e,1<a?1-a:void 0)}function Oo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yo(){return!0}function Zg(){return!1}function bt(e){function t(n,a,l,i,r){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=i,this.target=r,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?yo:Zg,this.isPropagationStopped=Zg,this}return ve(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=yo)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var Ka={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},wu=bt(Ka),Cr=ve({},Ka,{view:0,detail:0}),Qb=bt(Cr),Yc,Vc,ki,Su=ve({},Cr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wd,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ki&&(ki&&e.type==="mousemove"?(Yc=e.screenX-ki.screenX,Vc=e.screenY-ki.screenY):Vc=Yc=0,ki=e),Yc)},movementY:function(e){return"movementY"in e?e.movementY:Vc}}),Wg=bt(Su),Kb=ve({},Su,{dataTransfer:0}),Zb=bt(Kb),Wb=ve({},Cr,{relatedTarget:0}),Xc=bt(Wb),Ib=ve({},Ka,{animationName:0,elapsedTime:0,pseudoElement:0}),Jb=bt(Ib),$b=ve({},Ka,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),eA=bt($b),tA=ve({},Ka,{data:0}),Ig=bt(tA),nA={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},aA={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},lA={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function iA(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=lA[e])?!!t[e]:!1}function wd(){return iA}var rA=ve({},Cr,{key:function(e){if(e.key){var t=nA[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Oo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?aA[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wd,charCode:function(e){return e.type==="keypress"?Oo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Oo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),oA=bt(rA),uA=ve({},Su,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jg=bt(uA),cA=ve({},Cr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wd}),sA=bt(cA),dA=ve({},Ka,{propertyName:0,elapsedTime:0,pseudoElement:0}),fA=bt(dA),gA=ve({},Su,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mA=bt(gA),hA=ve({},Ka,{newState:0,oldState:0}),pA=bt(hA),yA=[9,13,27,32],Sd=Ln&&"CompositionEvent"in window,Vi=null;Ln&&"documentMode"in document&&(Vi=document.documentMode);var vA=Ln&&"TextEvent"in window&&!Vi,Lh=Ln&&(!Sd||Vi&&8<Vi&&11>=Vi),$g=" ",em=!1;function Hh(e,t){switch(e){case"keyup":return yA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var El=!1;function bA(e,t){switch(e){case"compositionend":return zh(t);case"keypress":return t.which!==32?null:(em=!0,$g);case"textInput":return e=t.data,e===$g&&em?null:e;default:return null}}function AA(e,t){if(El)return e==="compositionend"||!Sd&&Hh(e,t)?(e=kh(),No=Ad=na=null,El=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Lh&&t.locale!=="ko"?null:t.data;default:return null}}var wA={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tm(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!wA[e.type]:t==="textarea"}function Uh(e,t,n,a){Tl?Hl?Hl.push(a):Hl=[a]:Tl=a,t=gu(t,"onChange"),0<t.length&&(n=new wu("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Xi=null,rr=null;function SA(e){Oy(e,0)}function Cu(e){var t=Fi(e);if(xh(t))return e}function nm(e,t){if(e==="change")return t}var Gh=!1;Ln&&(Ln?(bo="oninput"in document,bo||(Qc=document.createElement("div"),Qc.setAttribute("oninput","return;"),bo=typeof Qc.oninput=="function"),vo=bo):vo=!1,Gh=vo&&(!document.documentMode||9<document.documentMode));var vo,bo,Qc;function am(){Xi&&(Xi.detachEvent("onpropertychange",Ph),rr=Xi=null)}function Ph(e){if(e.propertyName==="value"&&Cu(rr)){var t=[];Uh(t,rr,e,bd(e)),Oh(SA,t)}}function CA(e,t,n){e==="focusin"?(am(),Xi=t,rr=n,Xi.attachEvent("onpropertychange",Ph)):e==="focusout"&&am()}function RA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Cu(rr)}function TA(e,t){if(e==="click")return Cu(t)}function EA(e,t){if(e==="input"||e==="change")return Cu(t)}function DA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bt=typeof Object.is=="function"?Object.is:DA;function or(e,t){if(Bt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!Rs.call(t,l)||!Bt(e[l],t[l]))return!1}return!0}function lm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function im(e,t){var n=lm(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lm(n)}}function qh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Zo(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Zo(e.document)}return t}function Cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var xA=Ln&&"documentMode"in document&&11>=document.documentMode,Dl=null,Bs=null,Qi=null,Ns=!1;function rm(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ns||Dl==null||Dl!==Zo(a)||(a=Dl,"selectionStart"in a&&Cd(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Qi&&or(Qi,a)||(Qi=a,a=gu(Bs,"onSelect"),0<a.length&&(t=new wu("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=Dl)))}function Na(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xl={animationend:Na("Animation","AnimationEnd"),animationiteration:Na("Animation","AnimationIteration"),animationstart:Na("Animation","AnimationStart"),transitionrun:Na("Transition","TransitionRun"),transitionstart:Na("Transition","TransitionStart"),transitioncancel:Na("Transition","TransitionCancel"),transitionend:Na("Transition","TransitionEnd")},Kc={},jh={};Ln&&(jh=document.createElement("div").style,"AnimationEvent"in window||(delete xl.animationend.animation,delete xl.animationiteration.animation,delete xl.animationstart.animation),"TransitionEvent"in window||delete xl.transitionend.transition);function Za(e){if(Kc[e])return Kc[e];if(!xl[e])return e;var t=xl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in jh)return Kc[e]=t[n];return e}var Yh=Za("animationend"),Vh=Za("animationiteration"),Xh=Za("animationstart"),MA=Za("transitionrun"),_A=Za("transitionstart"),BA=Za("transitioncancel"),Qh=Za("transitionend"),Kh=new Map,Os="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Os.push("scrollEnd");function tn(e,t){Kh.set(e,t),Qa(t,[e])}var Wo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Gt=[],Ml=0,Rd=0;function Ru(){for(var e=Ml,t=Rd=Ml=0;t<e;){var n=Gt[t];Gt[t++]=null;var a=Gt[t];Gt[t++]=null;var l=Gt[t];Gt[t++]=null;var i=Gt[t];if(Gt[t++]=null,a!==null&&l!==null){var r=a.pending;r===null?l.next=l:(l.next=r.next,r.next=l),a.pending=l}i!==0&&Zh(n,l,i)}}function Tu(e,t,n,a){Gt[Ml++]=e,Gt[Ml++]=t,Gt[Ml++]=n,Gt[Ml++]=a,Rd|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function Td(e,t,n,a){return Tu(e,t,n,a),Io(e)}function Wa(e,t){return Tu(e,null,null,t),Io(e)}function Zh(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var l=!1,i=e.return;i!==null;)i.childLanes|=n,a=i.alternate,a!==null&&(a.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(l=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,l&&t!==null&&(l=31-Mt(n),e=i.hiddenUpdates,a=e[l],a===null?e[l]=[t]:a.push(t),t.lane=n|536870912),i):null}function Io(e){if(50<nr)throw nr=0,ed=null,Error(S(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var _l={};function NA(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(e,t,n,a){return new NA(e,t,n,a)}function Ed(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nn(e,t){var n=e.alternate;return n===null?(n=Tt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Wh(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ko(e,t,n,a,l,i){var r=0;if(a=e,typeof e=="function")Ed(e)&&(r=1);else if(typeof e=="string")r=Lw(e,n,gn.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case As:return e=Tt(31,n,t,l),e.elementType=As,e.lanes=i,e;case Sl:return Ua(n.children,l,i,t);case hh:r=8,l|=24;break;case ys:return e=Tt(12,n,t,l|2),e.elementType=ys,e.lanes=i,e;case vs:return e=Tt(13,n,t,l),e.elementType=vs,e.lanes=i,e;case bs:return e=Tt(19,n,t,l),e.elementType=bs,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Mn:r=10;break e;case ph:r=9;break e;case fd:r=11;break e;case gd:r=14;break e;case Zn:r=16,a=null;break e}r=29,n=Error(S(130,e===null?"null":typeof e,"")),a=null}return t=Tt(r,n,t,l),t.elementType=e,t.type=a,t.lanes=i,t}function Ua(e,t,n,a){return e=Tt(7,e,a,t),e.lanes=n,e}function Zc(e,t,n){return e=Tt(6,e,null,t),e.lanes=n,e}function Ih(e){var t=Tt(18,null,null,0);return t.stateNode=e,t}function Wc(e,t,n){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var om=new WeakMap;function Yt(e,t){if(typeof e=="object"&&e!==null){var n=om.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Fg(t)},om.set(e,t),t)}return{value:e,source:t,stack:Fg(t)}}var Bl=[],Nl=0,Jo=null,ur=0,qt=[],Ft=0,ha=null,sn=1,dn="";function Dn(e,t){Bl[Nl++]=ur,Bl[Nl++]=Jo,Jo=e,ur=t}function Jh(e,t,n){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,ha=e;var a=sn;e=dn;var l=32-Mt(a)-1;a&=~(1<<l),n+=1;var i=32-Mt(t)+l;if(30<i){var r=l-l%5;i=(a&(1<<r)-1).toString(32),a>>=r,l-=r,sn=1<<32-Mt(t)+l|n<<l|a,dn=i+e}else sn=1<<i|n<<l|a,dn=e}function Dd(e){e.return!==null&&(Dn(e,1),Jh(e,1,0))}function xd(e){for(;e===Jo;)Jo=Bl[--Nl],Bl[Nl]=null,ur=Bl[--Nl],Bl[Nl]=null;for(;e===ha;)ha=qt[--Ft],qt[Ft]=null,dn=qt[--Ft],qt[Ft]=null,sn=qt[--Ft],qt[Ft]=null}function $h(e,t){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,sn=t.id,dn=t.overflow,ha=e}var Xe=null,ye=null,V=!1,oa=null,Vt=!1,ks=Error(S(519));function pa(e){var t=Error(S(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw cr(Yt(t,e)),ks}function um(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[Ve]=e,t[vt]=a,n){case"dialog":q("cancel",t),q("close",t);break;case"iframe":case"object":case"embed":q("load",t);break;case"video":case"audio":for(n=0;n<gr.length;n++)q(gr[n],t);break;case"source":q("error",t);break;case"img":case"image":case"link":q("error",t),q("load",t);break;case"details":q("toggle",t);break;case"input":q("invalid",t),Mh(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":q("invalid",t);break;case"textarea":q("invalid",t),Bh(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||a.suppressHydrationWarning===!0||Ly(t.textContent,n)?(a.popover!=null&&(q("beforetoggle",t),q("toggle",t)),a.onScroll!=null&&q("scroll",t),a.onScrollEnd!=null&&q("scrollend",t),a.onClick!=null&&(t.onclick=_n),t=!0):t=!1,t||pa(e,!0)}function cm(e){for(Xe=e.return;Xe;)switch(Xe.tag){case 5:case 31:case 13:Vt=!1;return;case 27:case 3:Vt=!0;return;default:Xe=Xe.return}}function vl(e){if(e!==Xe)return!1;if(!V)return cm(e),V=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||id(e.type,e.memoizedProps)),n=!n),n&&ye&&pa(e),cm(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else t===27?(t=ye,Aa(e.type)?(e=cd,cd=null,ye=e):ye=t):ye=Xe?Qt(e.stateNode.nextSibling):null;return!0}function Fa(){ye=Xe=null,V=!1}function Ic(){var e=oa;return e!==null&&(pt===null?pt=e:pt.push.apply(pt,e),oa=null),e}function cr(e){oa===null?oa=[e]:oa.push(e)}var Ls=mn(null),Ia=null,Bn=null;function In(e,t,n){ge(Ls,t._currentValue),t._currentValue=n}function On(e){e._currentValue=Ls.current,Fe(Ls)}function Hs(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function zs(e,t,n,a){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var i=l.dependencies;if(i!==null){var r=l.child;i=i.firstContext;e:for(;i!==null;){var o=i;i=l;for(var u=0;u<t.length;u++)if(o.context===t[u]){i.lanes|=n,o=i.alternate,o!==null&&(o.lanes|=n),Hs(i.return,n,e),a||(r=null);break e}i=o.next}}else if(l.tag===18){if(r=l.return,r===null)throw Error(S(341));r.lanes|=n,i=r.alternate,i!==null&&(i.lanes|=n),Hs(r,n,e),r=null}else r=l.child;if(r!==null)r.return=l;else for(r=l;r!==null;){if(r===e){r=null;break}if(l=r.sibling,l!==null){l.return=r.return,r=l;break}r=r.return}l=r}}function ei(e,t,n,a){e=null;for(var l=t,i=!1;l!==null;){if(!i){if((l.flags&524288)!==0)i=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var r=l.alternate;if(r===null)throw Error(S(387));if(r=r.memoizedProps,r!==null){var o=l.type;Bt(l.pendingProps.value,r.value)||(e!==null?e.push(o):e=[o])}}else if(l===Vo.current){if(r=l.alternate,r===null)throw Error(S(387));r.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(hr):e=[hr])}l=l.return}e!==null&&zs(t,e,n,a),t.flags|=262144}function $o(e){for(e=e.firstContext;e!==null;){if(!Bt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ja(e){Ia=e,Bn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Qe(e){return ep(Ia,e)}function Ao(e,t){return Ia===null&&ja(e),ep(e,t)}function ep(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Bn===null){if(e===null)throw Error(S(308));Bn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Bn=Bn.next=t;return n}var OA=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},kA=Ge.unstable_scheduleCallback,LA=Ge.unstable_NormalPriority,ke={$$typeof:Mn,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Md(){return{controller:new OA,data:new Map,refCount:0}}function Rr(e){e.refCount--,e.refCount===0&&kA(LA,function(){e.controller.abort()})}var Ki=null,Us=0,Yl=0,zl=null;function HA(e,t){if(Ki===null){var n=Ki=[];Us=0,Yl=ef(),zl={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Us++,t.then(sm,sm),t}function sm(){if(--Us===0&&Ki!==null){zl!==null&&(zl.status="fulfilled");var e=Ki;Ki=null,Yl=0,zl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function zA(e,t){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var l=0;l<n.length;l++)(0,n[l])(t)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var dm=L.S;L.S=function(e,t){my=Dt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&HA(e,t),dm!==null&&dm(e,t)};var Ga=mn(null);function _d(){var e=Ga.current;return e!==null?e:ue.pooledCache}function Lo(e,t){t===null?ge(Ga,Ga.current):ge(Ga,t.pool)}function tp(){var e=_d();return e===null?null:{parent:ke._currentValue,pool:e}}var ti=Error(S(460)),Bd=Error(S(474)),Eu=Error(S(542)),eu={then:function(){}};function fm(e){return e=e.status,e==="fulfilled"||e==="rejected"}function np(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(_n,_n),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e;default:if(typeof t.status=="string")t.then(_n,_n);else{if(e=ue,e!==null&&100<e.shellSuspendCounter)throw Error(S(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=a}},function(a){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e}throw Pa=t,ti}}function La(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Pa=n,ti):n}}var Pa=null;function gm(){if(Pa===null)throw Error(S(459));var e=Pa;return Pa=null,e}function mm(e){if(e===ti||e===Eu)throw Error(S(483))}var Ul=null,sr=0;function wo(e){var t=sr;return sr+=1,Ul===null&&(Ul=[]),np(Ul,e,t)}function Li(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function So(e,t){throw t.$$typeof===Cb?Error(S(525)):(e=Object.prototype.toString.call(t),Error(S(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ap(e){function t(h,g){if(e){var p=h.deletions;p===null?(h.deletions=[g],h.flags|=16):p.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function a(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function l(h,g){return h=Nn(h,g),h.index=0,h.sibling=null,h}function i(h,g,p){return h.index=p,e?(p=h.alternate,p!==null?(p=p.index,p<g?(h.flags|=67108866,g):p):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function r(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function o(h,g,p,y){return g===null||g.tag!==6?(g=Zc(p,h.mode,y),g.return=h,g):(g=l(g,p),g.return=h,g)}function u(h,g,p,y){var C=p.type;return C===Sl?s(h,g,p.props.children,y,p.key):g!==null&&(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type)?(g=l(g,p.props),Li(g,p),g.return=h,g):(g=ko(p.type,p.key,p.props,null,h.mode,y),Li(g,p),g.return=h,g)}function c(h,g,p,y){return g===null||g.tag!==4||g.stateNode.containerInfo!==p.containerInfo||g.stateNode.implementation!==p.implementation?(g=Wc(p,h.mode,y),g.return=h,g):(g=l(g,p.children||[]),g.return=h,g)}function s(h,g,p,y,C){return g===null||g.tag!==7?(g=Ua(p,h.mode,y,C),g.return=h,g):(g=l(g,p),g.return=h,g)}function f(h,g,p){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Zc(""+g,h.mode,p),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case fo:return p=ko(g.type,g.key,g.props,null,h.mode,p),Li(p,g),p.return=h,p;case Pi:return g=Wc(g,h.mode,p),g.return=h,g;case Zn:return g=La(g),f(h,g,p)}if(qi(g)||Oi(g))return g=Ua(g,h.mode,p,null),g.return=h,g;if(typeof g.then=="function")return f(h,wo(g),p);if(g.$$typeof===Mn)return f(h,Ao(h,g),p);So(h,g)}return null}function d(h,g,p,y){var C=g!==null?g.key:null;if(typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint")return C!==null?null:o(h,g,""+p,y);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:return p.key===C?u(h,g,p,y):null;case Pi:return p.key===C?c(h,g,p,y):null;case Zn:return p=La(p),d(h,g,p,y)}if(qi(p)||Oi(p))return C!==null?null:s(h,g,p,y,null);if(typeof p.then=="function")return d(h,g,wo(p),y);if(p.$$typeof===Mn)return d(h,g,Ao(h,p),y);So(h,p)}return null}function m(h,g,p,y,C){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return h=h.get(p)||null,o(g,h,""+y,C);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case fo:return h=h.get(y.key===null?p:y.key)||null,u(g,h,y,C);case Pi:return h=h.get(y.key===null?p:y.key)||null,c(g,h,y,C);case Zn:return y=La(y),m(h,g,p,y,C)}if(qi(y)||Oi(y))return h=h.get(p)||null,s(g,h,y,C,null);if(typeof y.then=="function")return m(h,g,p,wo(y),C);if(y.$$typeof===Mn)return m(h,g,p,Ao(g,y),C);So(g,y)}return null}function v(h,g,p,y){for(var C=null,R=null,T=g,M=g=0,w=null;T!==null&&M<p.length;M++){T.index>M?(w=T,T=null):w=T.sibling;var D=d(h,T,p[M],y);if(D===null){T===null&&(T=w);break}e&&T&&D.alternate===null&&t(h,T),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D,T=w}if(M===p.length)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;M<p.length;M++)T=f(h,p[M],y),T!==null&&(g=i(T,g,M),R===null?C=T:R.sibling=T,R=T);return V&&Dn(h,M),C}for(T=a(T);M<p.length;M++)w=m(T,h,M,p[M],y),w!==null&&(e&&w.alternate!==null&&T.delete(w.key===null?M:w.key),g=i(w,g,M),R===null?C=w:R.sibling=w,R=w);return e&&T.forEach(function(k){return t(h,k)}),V&&Dn(h,M),C}function A(h,g,p,y){if(p==null)throw Error(S(151));for(var C=null,R=null,T=g,M=g=0,w=null,D=p.next();T!==null&&!D.done;M++,D=p.next()){T.index>M?(w=T,T=null):w=T.sibling;var k=d(h,T,D.value,y);if(k===null){T===null&&(T=w);break}e&&T&&k.alternate===null&&t(h,T),g=i(k,g,M),R===null?C=k:R.sibling=k,R=k,T=w}if(D.done)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;!D.done;M++,D=p.next())D=f(h,D.value,y),D!==null&&(g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return V&&Dn(h,M),C}for(T=a(T);!D.done;M++,D=p.next())D=m(T,h,M,D.value,y),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?M:D.key),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return e&&T.forEach(function(se){return t(h,se)}),V&&Dn(h,M),C}function b(h,g,p,y){if(typeof p=="object"&&p!==null&&p.type===Sl&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:e:{for(var C=p.key;g!==null;){if(g.key===C){if(C=p.type,C===Sl){if(g.tag===7){n(h,g.sibling),y=l(g,p.props.children),y.return=h,h=y;break e}}else if(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type){n(h,g.sibling),y=l(g,p.props),Li(y,p),y.return=h,h=y;break e}n(h,g);break}else t(h,g);g=g.sibling}p.type===Sl?(y=Ua(p.props.children,h.mode,y,p.key),y.return=h,h=y):(y=ko(p.type,p.key,p.props,null,h.mode,y),Li(y,p),y.return=h,h=y)}return r(h);case Pi:e:{for(C=p.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===p.containerInfo&&g.stateNode.implementation===p.implementation){n(h,g.sibling),y=l(g,p.children||[]),y.return=h,h=y;break e}else{n(h,g);break}else t(h,g);g=g.sibling}y=Wc(p,h.mode,y),y.return=h,h=y}return r(h);case Zn:return p=La(p),b(h,g,p,y)}if(qi(p))return v(h,g,p,y);if(Oi(p)){if(C=Oi(p),typeof C!="function")throw Error(S(150));return p=C.call(p),A(h,g,p,y)}if(typeof p.then=="function")return b(h,g,wo(p),y);if(p.$$typeof===Mn)return b(h,g,Ao(h,p),y);So(h,p)}return typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint"?(p=""+p,g!==null&&g.tag===6?(n(h,g.sibling),y=l(g,p),y.return=h,h=y):(n(h,g),y=Zc(p,h.mode,y),y.return=h,h=y),r(h)):n(h,g)}return function(h,g,p,y){try{sr=0;var C=b(h,g,p,y);return Ul=null,C}catch(T){if(T===ti||T===Eu)throw T;var R=Tt(29,T,null,h.mode);return R.lanes=y,R.return=h,R}finally{}}}var Ya=ap(!0),lp=ap(!1),Wn=!1;function Nd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gs(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ca(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(J&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=Io(e),Zh(e,null,n),t}return Tu(e,a,t,n),Io(e)}function Zi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}function Jc(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var r={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=r:i=i.next=r,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ps=!1;function Wi(){if(Ps){var e=zl;if(e!==null)throw e}}function Ii(e,t,n,a){Ps=!1;var l=e.updateQueue;Wn=!1;var i=l.firstBaseUpdate,r=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var u=o,c=u.next;u.next=null,r===null?i=c:r.next=c,r=u;var s=e.alternate;s!==null&&(s=s.updateQueue,o=s.lastBaseUpdate,o!==r&&(o===null?s.firstBaseUpdate=c:o.next=c,s.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;r=0,s=c=u=null,o=i;do{var d=o.lane&-536870913,m=d!==o.lane;if(m?(Y&d)===d:(a&d)===d){d!==0&&d===Yl&&(Ps=!0),s!==null&&(s=s.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var v=e,A=o;d=t;var b=n;switch(A.tag){case 1:if(v=A.payload,typeof v=="function"){f=v.call(b,f,d);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=A.payload,d=typeof v=="function"?v.call(b,f,d):v,d==null)break e;f=ve({},f,d);break e;case 2:Wn=!0}}d=o.callback,d!==null&&(e.flags|=64,m&&(e.flags|=8192),m=l.callbacks,m===null?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:o.tag,payload:o.payload,callback:o.callback,next:null},s===null?(c=s=m,u=f):s=s.next=m,r|=d;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;m=o,o=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);s===null&&(u=f),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=s,i===null&&(l.shared.lanes=0),va|=r,e.lanes=r,e.memoizedState=f}}function ip(e,t){if(typeof e!="function")throw Error(S(191,e));e.call(t)}function rp(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ip(n[e],t)}var Vl=mn(null),tu=mn(0);function hm(e,t){e=Gn,ge(tu,e),ge(Vl,t),Gn=e|t.baseLanes}function qs(){ge(tu,Gn),ge(Vl,Vl.current)}function Od(){Gn=tu.current,Fe(Vl),Fe(tu)}var Nt=mn(null),Xt=null;function Jn(e){var t=e.alternate;ge(xe,xe.current&1),ge(Nt,e),Xt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Xt=e)}function Fs(e){ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)}function op(e){e.tag===22?(ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)):$n(e)}function $n(){ge(xe,xe.current),ge(Nt,Nt.current)}function Rt(e){Fe(Nt),Xt===e&&(Xt=null),Fe(xe)}var xe=mn(0);function nu(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||od(n)||ud(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hn=0,G=null,re=null,Ne=null,au=!1,Gl=!1,Va=!1,lu=0,dr=0,Pl=null,UA=0;function Re(){throw Error(S(321))}function kd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Bt(e[n],t[n]))return!1;return!0}function Ld(e,t,n,a,l,i){return Hn=i,G=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=e===null||e.memoizedState===null?Up:Xd,Va=!1,i=n(a,l),Va=!1,Gl&&(i=cp(t,n,a,l)),up(e),i}function up(e){L.H=fr;var t=re!==null&&re.next!==null;if(Hn=0,Ne=re=G=null,au=!1,dr=0,Pl=null,t)throw Error(S(300));e===null||Le||(e=e.dependencies,e!==null&&$o(e)&&(Le=!0))}function cp(e,t,n,a){G=e;var l=0;do{if(Gl&&(Pl=null),dr=0,Gl=!1,25<=l)throw Error(S(301));if(l+=1,Ne=re=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}L.H=Gp,i=t(n,a)}while(Gl);return i}function GA(){var e=L.H,t=e.useState()[0];return t=typeof t.then=="function"?Tr(t):t,e=e.useState()[0],(re!==null?re.memoizedState:null)!==e&&(G.flags|=1024),t}function Hd(){var e=lu!==0;return lu=0,e}function zd(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ud(e){if(au){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}au=!1}Hn=0,Ne=re=G=null,Gl=!1,dr=lu=0,Pl=null}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e,Ne}function Me(){if(re===null){var e=G.alternate;e=e!==null?e.memoizedState:null}else e=re.next;var t=Ne===null?G.memoizedState:Ne.next;if(t!==null)Ne=t,re=e;else{if(e===null)throw G.alternate===null?Error(S(467)):Error(S(310));re=e,e={memoizedState:re.memoizedState,baseState:re.baseState,baseQueue:re.baseQueue,queue:re.queue,next:null},Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e}return Ne}function Du(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Tr(e){var t=dr;return dr+=1,Pl===null&&(Pl=[]),e=np(Pl,e,t),t=G,(Ne===null?t.memoizedState:Ne.next)===null&&(t=t.alternate,L.H=t===null||t.memoizedState===null?Up:Xd),e}function xu(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Tr(e);if(e.$$typeof===Mn)return Qe(e)}throw Error(S(438,String(e)))}function Gd(e){var t=null,n=G.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=G.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Du(),G.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=Rb;return t.index++,n}function zn(e,t){return typeof t=="function"?t(e):t}function Ho(e){var t=Me();return Pd(t,re,e)}function Pd(e,t,n){var a=e.queue;if(a===null)throw Error(S(311));a.lastRenderedReducer=n;var l=e.baseQueue,i=a.pending;if(i!==null){if(l!==null){var r=l.next;l.next=i.next,i.next=r}t.baseQueue=l=i,a.pending=null}if(i=e.baseState,l===null)e.memoizedState=i;else{t=l.next;var o=r=null,u=null,c=t,s=!1;do{var f=c.lane&-536870913;if(f!==c.lane?(Y&f)===f:(Hn&f)===f){var d=c.revertLane;if(d===0)u!==null&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===Yl&&(s=!0);else if((Hn&d)===d){c=c.next,d===Yl&&(s=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=f,r=i):u=u.next=f,G.lanes|=d,va|=d;f=c.action,Va&&n(i,f),i=c.hasEagerState?c.eagerState:n(i,f)}else d={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=d,r=i):u=u.next=d,G.lanes|=f,va|=f;c=c.next}while(c!==null&&c!==t);if(u===null?r=i:u.next=o,!Bt(i,e.memoizedState)&&(Le=!0,s&&(n=zl,n!==null)))throw n;e.memoizedState=i,e.baseState=r,e.baseQueue=u,a.lastRenderedState=i}return l===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function $c(e){var t=Me(),n=t.queue;if(n===null)throw Error(S(311));n.lastRenderedReducer=e;var a=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var r=l=l.next;do i=e(i,r.action),r=r.next;while(r!==l);Bt(i,t.memoizedState)||(Le=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function sp(e,t,n){var a=G,l=Me(),i=V;if(i){if(n===void 0)throw Error(S(407));n=n()}else n=t();var r=!Bt((re||l).memoizedState,n);if(r&&(l.memoizedState=n,Le=!0),l=l.queue,qd(gp.bind(null,a,l,e),[e]),l.getSnapshot!==t||r||Ne!==null&&Ne.memoizedState.tag&1){if(a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,l,n,t),null),ue===null)throw Error(S(349));i||(Hn&127)!==0||dp(a,t,n)}return n}function dp(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=G.updateQueue,t===null?(t=Du(),G.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function fp(e,t,n,a){t.value=n,t.getSnapshot=a,mp(t)&&hp(e)}function gp(e,t,n){return n(function(){mp(t)&&hp(e)})}function mp(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Bt(e,n)}catch{return!0}}function hp(e){var t=Wa(e,2);t!==null&&yt(t,e,2)}function js(e){var t=ut();if(typeof e=="function"){var n=e;if(e=n(),Va){ta(!0);try{n()}finally{ta(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:e},t}function pp(e,t,n,a){return e.baseState=n,Pd(e,re,typeof a=="function"?a:zn)}function PA(e,t,n,a,l){if(_u(e))throw Error(S(485));if(e=t.action,e!==null){var i={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){i.listeners.push(r)}};L.T!==null?n(!0):i.isTransition=!1,a(i),n=t.pending,n===null?(i.next=t.pending=i,yp(t,i)):(i.next=n.next,t.pending=n.next=i)}}function yp(e,t){var n=t.action,a=t.payload,l=e.state;if(t.isTransition){var i=L.T,r={};L.T=r;try{var o=n(l,a),u=L.S;u!==null&&u(r,o),pm(e,t,o)}catch(c){Ys(e,t,c)}finally{i!==null&&r.types!==null&&(i.types=r.types),L.T=i}}else try{i=n(l,a),pm(e,t,i)}catch(c){Ys(e,t,c)}}function pm(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){ym(e,t,a)},function(a){return Ys(e,t,a)}):ym(e,t,n)}function ym(e,t,n){t.status="fulfilled",t.value=n,vp(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,yp(e,n)))}function Ys(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=n,vp(t),t=t.next;while(t!==a)}e.action=null}function vp(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function bp(e,t){return t}function vm(e,t){if(V){var n=ue.formState;if(n!==null){e:{var a=G;if(V){if(ye){t:{for(var l=ye,i=Vt;l.nodeType!==8;){if(!i){l=null;break t}if(l=Qt(l.nextSibling),l===null){l=null;break t}}i=l.data,l=i==="F!"||i==="F"?l:null}if(l){ye=Qt(l.nextSibling),a=l.data==="F!";break e}}pa(a)}a=!1}a&&(t=n[0])}}return n=ut(),n.memoizedState=n.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bp,lastRenderedState:t},n.queue=a,n=Lp.bind(null,G,a),a.dispatch=n,a=js(!1),i=Vd.bind(null,G,!1,a.queue),a=ut(),l={state:t,dispatch:null,action:e,pending:null},a.queue=l,n=PA.bind(null,G,l,i,n),l.dispatch=n,a.memoizedState=e,[t,n,!1]}function bm(e){var t=Me();return Ap(t,re,e)}function Ap(e,t,n){if(t=Pd(e,t,bp)[0],e=Ho(zn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=Tr(t)}catch(r){throw r===ti?Eu:r}else a=t;t=Me();var l=t.queue,i=l.dispatch;return n!==t.memoizedState&&(G.flags|=2048,Xl(9,{destroy:void 0},qA.bind(null,l,n),null)),[a,i,e]}function qA(e,t){e.action=t}function Am(e){var t=Me(),n=re;if(n!==null)return Ap(t,n,e);Me(),t=t.memoizedState,n=Me();var a=n.queue.dispatch;return n.memoizedState=e,[t,a,!1]}function Xl(e,t,n,a){return e={tag:e,create:n,deps:a,inst:t,next:null},t=G.updateQueue,t===null&&(t=Du(),G.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function wp(){return Me().memoizedState}function zo(e,t,n,a){var l=ut();G.flags|=e,l.memoizedState=Xl(1|t,{destroy:void 0},n,a===void 0?null:a)}function Mu(e,t,n,a){var l=Me();a=a===void 0?null:a;var i=l.memoizedState.inst;re!==null&&a!==null&&kd(a,re.memoizedState.deps)?l.memoizedState=Xl(t,i,n,a):(G.flags|=e,l.memoizedState=Xl(1|t,i,n,a))}function wm(e,t){zo(8390656,8,e,t)}function qd(e,t){Mu(2048,8,e,t)}function FA(e){G.flags|=4;var t=G.updateQueue;if(t===null)t=Du(),G.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Sp(e){var t=Me().memoizedState;return FA({ref:t,nextImpl:e}),function(){if((J&2)!==0)throw Error(S(440));return t.impl.apply(void 0,arguments)}}function Cp(e,t){return Mu(4,2,e,t)}function Rp(e,t){return Mu(4,4,e,t)}function Tp(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ep(e,t,n){n=n!=null?n.concat([e]):null,Mu(4,4,Tp.bind(null,t,e),n)}function Fd(){}function Dp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;return t!==null&&kd(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function xp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;if(t!==null&&kd(t,a[1]))return a[0];if(a=e(),Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a}function jd(e,t,n){return n===void 0||(Hn&1073741824)!==0&&(Y&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=py(),G.lanes|=e,va|=e,n)}function Mp(e,t,n,a){return Bt(n,t)?n:Vl.current!==null?(e=jd(e,n,a),Bt(e,t)||(Le=!0),e):(Hn&42)===0||(Hn&1073741824)!==0&&(Y&261930)===0?(Le=!0,e.memoizedState=n):(e=py(),G.lanes|=e,va|=e,t)}function _p(e,t,n,a,l){var i=$.p;$.p=i!==0&&8>i?i:8;var r=L.T,o={};L.T=o,Vd(e,!1,t,n);try{var u=l(),c=L.S;if(c!==null&&c(o,u),u!==null&&typeof u=="object"&&typeof u.then=="function"){var s=zA(u,a);Ji(e,t,s,_t(e))}else Ji(e,t,a,_t(e))}catch(f){Ji(e,t,{then:function(){},status:"rejected",reason:f},_t())}finally{$.p=i,r!==null&&o.types!==null&&(r.types=o.types),L.T=r}}function jA(){}function Vs(e,t,n,a){if(e.tag!==5)throw Error(S(476));var l=Bp(e).queue;_p(e,l,t,za,n===null?jA:function(){return Np(e),n(a)})}function Bp(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:za,baseState:za,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:za},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Np(e){var t=Bp(e);t.next===null&&(t=e.alternate.memoizedState),Ji(e,t.next.queue,{},_t())}function Yd(){return Qe(hr)}function Op(){return Me().memoizedState}function kp(){return Me().memoizedState}function YA(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_t();e=ua(n);var a=ca(t,e,n);a!==null&&(yt(a,t,n),Zi(a,t,n)),t={cache:Md()},e.payload=t;return}t=t.return}}function VA(e,t,n){var a=_t();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},_u(e)?Hp(t,n):(n=Td(e,t,n,a),n!==null&&(yt(n,e,a),zp(n,t,a)))}function Lp(e,t,n){var a=_t();Ji(e,t,n,a)}function Ji(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(_u(e))Hp(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,o=i(r,n);if(l.hasEagerState=!0,l.eagerState=o,Bt(o,r))return Tu(e,t,l,0),ue===null&&Ru(),!1}catch{}finally{}if(n=Td(e,t,l,a),n!==null)return yt(n,e,a),zp(n,t,a),!0}return!1}function Vd(e,t,n,a){if(a={lane:2,revertLane:ef(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},_u(e)){if(t)throw Error(S(479))}else t=Td(e,n,a,2),t!==null&&yt(t,e,2)}function _u(e){var t=e.alternate;return e===G||t!==null&&t===G}function Hp(e,t){Gl=au=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zp(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}var fr={readContext:Qe,use:xu,useCallback:Re,useContext:Re,useEffect:Re,useImperativeHandle:Re,useLayoutEffect:Re,useInsertionEffect:Re,useMemo:Re,useReducer:Re,useRef:Re,useState:Re,useDebugValue:Re,useDeferredValue:Re,useTransition:Re,useSyncExternalStore:Re,useId:Re,useHostTransitionStatus:Re,useFormState:Re,useActionState:Re,useOptimistic:Re,useMemoCache:Re,useCacheRefresh:Re};fr.useEffectEvent=Re;var Up={readContext:Qe,use:xu,useCallback:function(e,t){return ut().memoizedState=[e,t===void 0?null:t],e},useContext:Qe,useEffect:wm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,zo(4194308,4,Tp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zo(4194308,4,e,t)},useInsertionEffect:function(e,t){zo(4,2,e,t)},useMemo:function(e,t){var n=ut();t=t===void 0?null:t;var a=e();if(Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=ut();if(n!==void 0){var l=n(t);if(Va){ta(!0);try{n(t)}finally{ta(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=VA.bind(null,G,e),[a.memoizedState,e]},useRef:function(e){var t=ut();return e={current:e},t.memoizedState=e},useState:function(e){e=js(e);var t=e.queue,n=Lp.bind(null,G,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Fd,useDeferredValue:function(e,t){var n=ut();return jd(n,e,t)},useTransition:function(){var e=js(!1);return e=_p.bind(null,G,e.queue,!0,!1),ut().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=G,l=ut();if(V){if(n===void 0)throw Error(S(407));n=n()}else{if(n=t(),ue===null)throw Error(S(349));(Y&127)!==0||dp(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,wm(gp.bind(null,a,i,e),[e]),a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,i,n,t),null),n},useId:function(){var e=ut(),t=ue.identifierPrefix;if(V){var n=dn,a=sn;n=(a&~(1<<32-Mt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=lu++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=UA++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Yd,useFormState:vm,useActionState:vm,useOptimistic:function(e){var t=ut();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Vd.bind(null,G,!0,n),n.dispatch=t,[e,t]},useMemoCache:Gd,useCacheRefresh:function(){return ut().memoizedState=YA.bind(null,G)},useEffectEvent:function(e){var t=ut(),n={impl:e};return t.memoizedState=n,function(){if((J&2)!==0)throw Error(S(440));return n.impl.apply(void 0,arguments)}}},Xd={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:Ho,useRef:wp,useState:function(){return Ho(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=Ho(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:bm,useActionState:bm,useOptimistic:function(e,t){var n=Me();return pp(n,re,e,t)},useMemoCache:Gd,useCacheRefresh:kp};Xd.useEffectEvent=Sp;var Gp={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:$c,useRef:wp,useState:function(){return $c(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return re===null?jd(n,e,t):Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=$c(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:Am,useActionState:Am,useOptimistic:function(e,t){var n=Me();return re!==null?pp(n,re,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Gd,useCacheRefresh:kp};Gp.useEffectEvent=Sp;function es(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:ve({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xs={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=_t(),a=ua(n);a.tag=2,t!=null&&(a.callback=t),t=ca(e,a,n),t!==null&&(yt(t,e,n),Zi(t,e,n))}};function Sm(e,t,n,a,l,i,r){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,r):t.prototype&&t.prototype.isPureReactComponent?!or(n,a)||!or(l,i):!0}function Cm(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Xs.enqueueReplaceState(t,t.state,null)}function Xa(e,t){var n=t;if("ref"in t){n={};for(var a in t)a!=="ref"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=ve({},n));for(var l in e)n[l]===void 0&&(n[l]=e[l])}return n}function Pp(e){Wo(e)}function qp(e){console.error(e)}function Fp(e){Wo(e)}function iu(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function Rm(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Qs(e,t,n){return n=ua(n),n.tag=3,n.payload={element:null},n.callback=function(){iu(e,t)},n}function jp(e){return e=ua(e),e.tag=3,e}function Yp(e,t,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var i=a.value;e.payload=function(){return l(i)},e.callback=function(){Rm(t,n,a)}}var r=n.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){Rm(t,n,a),typeof l!="function"&&(sa===null?sa=new Set([this]):sa.add(this));var o=a.stack;this.componentDidCatch(a.value,{componentStack:o!==null?o:""})})}function XA(e,t,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=n.alternate,t!==null&&ei(t,n,l,!0),n=Nt.current,n!==null){switch(n.tag){case 31:case 13:return Xt===null?su():n.alternate===null&&Te===0&&(Te=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),ds(e,a,l)),!1;case 22:return n.flags|=65536,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),ds(e,a,l)),!1}throw Error(S(435,n.tag))}return ds(e,a,l),su(),!1}if(V)return t=Nt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,a!==ks&&(e=Error(S(422),{cause:a}),cr(Yt(e,n)))):(a!==ks&&(t=Error(S(423),{cause:a}),cr(Yt(t,n))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,a=Yt(a,n),l=Qs(e.stateNode,a,l),Jc(e,l),Te!==4&&(Te=2)),!1;var i=Error(S(520),{cause:a});if(i=Yt(i,n),tr===null?tr=[i]:tr.push(i),Te!==4&&(Te=2),t===null)return!0;a=Yt(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=l&-l,n.lanes|=e,e=Qs(n.stateNode,a,e),Jc(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(sa===null||!sa.has(i))))return n.flags|=65536,l&=-l,n.lanes|=l,l=jp(l),Yp(l,e,n,a),Jc(n,l),!1}n=n.return}while(n!==null);return!1}var Qd=Error(S(461)),Le=!1;function Ye(e,t,n,a){t.child=e===null?lp(t,null,n,a):Ya(t,e.child,n,a)}function Tm(e,t,n,a,l){n=n.render;var i=t.ref;if("ref"in a){var r={};for(var o in a)o!=="ref"&&(r[o]=a[o])}else r=a;return ja(t),a=Ld(e,t,n,r,i,l),o=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&o&&Dd(t),t.flags|=1,Ye(e,t,a,l),t.child)}function Em(e,t,n,a,l){if(e===null){var i=n.type;return typeof i=="function"&&!Ed(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,Vp(e,t,i,a,l)):(e=ko(n.type,null,a,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Kd(e,l)){var r=i.memoizedProps;if(n=n.compare,n=n!==null?n:or,n(r,a)&&e.ref===t.ref)return Un(e,t,l)}return t.flags|=1,e=Nn(i,a),e.ref=t.ref,e.return=t,t.child=e}function Vp(e,t,n,a,l){if(e!==null){var i=e.memoizedProps;if(or(i,a)&&e.ref===t.ref)if(Le=!1,t.pendingProps=a=i,Kd(e,l))(e.flags&131072)!==0&&(Le=!0);else return t.lanes=e.lanes,Un(e,t,l)}return Ks(e,t,n,a,l)}function Xp(e,t,n,a){var l=a.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(a=t.child=e.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~i}else a=0,t.child=null;return Dm(e,t,i,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Lo(t,i!==null?i.cachePool:null),i!==null?hm(t,i):qs(),op(t);else return a=t.lanes=536870912,Dm(e,t,i!==null?i.baseLanes|n:n,n,a)}else i!==null?(Lo(t,i.cachePool),hm(t,i),$n(t),t.memoizedState=null):(e!==null&&Lo(t,null),qs(),$n(t));return Ye(e,t,l,n),t.child}function ji(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Dm(e,t,n,a,l){var i=_d();return i=i===null?null:{parent:ke._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Lo(t,null),qs(),op(t),e!==null&&ei(e,t,a,!0),t.childLanes=l,null}function Uo(e,t){return t=ru({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function xm(e,t,n){return Ya(t,e.child,null,n),e=Uo(t,t.pendingProps),e.flags|=2,Rt(t),t.memoizedState=null,e}function QA(e,t,n){var a=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(V){if(a.mode==="hidden")return e=Uo(t,a),t.lanes=536870912,ji(null,e);if(Fs(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return t.lanes=536870912,null}return Uo(t,a)}var i=e.memoizedState;if(i!==null){var r=i.dehydrated;if(Fs(t),l)if(t.flags&256)t.flags&=-257,t=xm(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(S(558));else if(Le||ei(e,t,n,!1),l=(n&e.childLanes)!==0,Le||l){if(a=ue,a!==null&&(r=Ch(a,n),r!==0&&r!==i.retryLane))throw i.retryLane=r,Wa(e,r),yt(a,e,r),Qd;su(),t=xm(e,t,n)}else e=i.treeContext,ye=Qt(r.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Uo(t,a),t.flags|=4096;return t}return e=Nn(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Go(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(S(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Ks(e,t,n,a,l){return ja(t),n=Ld(e,t,n,a,void 0,l),a=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,l),t.child)}function Mm(e,t,n,a,l,i){return ja(t),t.updateQueue=null,n=cp(t,a,n,l),up(e),a=Hd(),e!==null&&!Le?(zd(e,t,i),Un(e,t,i)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,i),t.child)}function _m(e,t,n,a,l){if(ja(t),t.stateNode===null){var i=_l,r=n.contextType;typeof r=="object"&&r!==null&&(i=Qe(r)),i=new n(a,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Xs,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=a,i.state=t.memoizedState,i.refs={},Nd(t),r=n.contextType,i.context=typeof r=="object"&&r!==null?Qe(r):_l,i.state=t.memoizedState,r=n.getDerivedStateFromProps,typeof r=="function"&&(es(t,n,r,a),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&Xs.enqueueReplaceState(i,i.state,null),Ii(t,a,i,l),Wi(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){i=t.stateNode;var o=t.memoizedProps,u=Xa(n,o);i.props=u;var c=i.context,s=n.contextType;r=_l,typeof s=="object"&&s!==null&&(r=Qe(s));var f=n.getDerivedStateFromProps;s=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function",o=t.pendingProps!==o,s||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o||c!==r)&&Cm(t,i,a,r),Wn=!1;var d=t.memoizedState;i.state=d,Ii(t,a,i,l),Wi(),c=t.memoizedState,o||d!==c||Wn?(typeof f=="function"&&(es(t,n,f,a),c=t.memoizedState),(u=Wn||Sm(t,n,u,a,d,c,r))?(s||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=r,a=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Gs(e,t),r=t.memoizedProps,s=Xa(n,r),i.props=s,f=t.pendingProps,d=i.context,c=n.contextType,u=_l,typeof c=="object"&&c!==null&&(u=Qe(c)),o=n.getDerivedStateFromProps,(c=typeof o=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r!==f||d!==u)&&Cm(t,i,a,u),Wn=!1,d=t.memoizedState,i.state=d,Ii(t,a,i,l),Wi();var m=t.memoizedState;r!==f||d!==m||Wn||e!==null&&e.dependencies!==null&&$o(e.dependencies)?(typeof o=="function"&&(es(t,n,o,a),m=t.memoizedState),(s=Wn||Sm(t,n,s,a,d,m,u)||e!==null&&e.dependencies!==null&&$o(e.dependencies))?(c||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(a,m,u),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(a,m,u)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=u,a=s):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return i=a,Go(e,t),a=(t.flags&128)!==0,i||a?(i=t.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&a?(t.child=Ya(t,e.child,null,l),t.child=Ya(t,null,n,l)):Ye(e,t,n,l),t.memoizedState=i.state,e=t.child):e=Un(e,t,l),e}function Bm(e,t,n,a){return Fa(),t.flags|=256,Ye(e,t,n,a),t.child}var ts={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ns(e){return{baseLanes:e,cachePool:tp()}}function as(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Et),e}function Qp(e,t,n){var a=t.pendingProps,l=!1,i=(t.flags&128)!==0,r;if((r=i)||(r=e!==null&&e.memoizedState===null?!1:(xe.current&2)!==0),r&&(l=!0,t.flags&=-129),r=(t.flags&32)!==0,t.flags&=-33,e===null){if(V){if(l?Jn(t):$n(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return ud(e)?t.lanes=32:t.lanes=536870912,null}var o=a.children;return a=a.fallback,l?($n(t),l=t.mode,o=ru({mode:"hidden",children:o},l),a=Ua(a,l,n,null),o.return=t,a.return=t,o.sibling=a,t.child=o,a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,ji(null,a)):(Jn(t),Zs(t,o))}var u=e.memoizedState;if(u!==null&&(o=u.dehydrated,o!==null)){if(i)t.flags&256?(Jn(t),t.flags&=-257,t=ls(e,t,n)):t.memoizedState!==null?($n(t),t.child=e.child,t.flags|=128,t=null):($n(t),o=a.fallback,l=t.mode,a=ru({mode:"visible",children:a.children},l),o=Ua(o,l,n,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,Ya(t,e.child,null,n),a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,t=ji(null,a));else if(Jn(t),ud(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var c=r.dgst;r=c,a=Error(S(419)),a.stack="",a.digest=r,cr({value:a,source:null,stack:null}),t=ls(e,t,n)}else if(Le||ei(e,t,n,!1),r=(n&e.childLanes)!==0,Le||r){if(r=ue,r!==null&&(a=Ch(r,n),a!==0&&a!==u.retryLane))throw u.retryLane=a,Wa(e,a),yt(r,e,a),Qd;od(o)||su(),t=ls(e,t,n)}else od(o)?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,ye=Qt(o.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Zs(t,a.children),t.flags|=4096);return t}return l?($n(t),o=a.fallback,l=t.mode,u=e.child,c=u.sibling,a=Nn(u,{mode:"hidden",children:a.children}),a.subtreeFlags=u.subtreeFlags&65011712,c!==null?o=Nn(c,o):(o=Ua(o,l,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,ji(null,a),a=t.child,o=e.child.memoizedState,o===null?o=ns(n):(l=o.cachePool,l!==null?(u=ke._currentValue,l=l.parent!==u?{parent:u,pool:u}:l):l=tp(),o={baseLanes:o.baseLanes|n,cachePool:l}),a.memoizedState=o,a.childLanes=as(e,r,n),t.memoizedState=ts,ji(e.child,a)):(Jn(t),n=e.child,e=n.sibling,n=Nn(n,{mode:"visible",children:a.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Zs(e,t){return t=ru({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ru(e,t){return e=Tt(22,e,null,t),e.lanes=0,e}function ls(e,t,n){return Ya(t,e.child,null,n),e=Zs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nm(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Hs(e.return,t,n)}function is(e,t,n,a,l,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=l,r.treeForkCount=i)}function Kp(e,t,n){var a=t.pendingProps,l=a.revealOrder,i=a.tail;a=a.children;var r=xe.current,o=(r&2)!==0;if(o?(r=r&1|2,t.flags|=128):r&=1,ge(xe,r),Ye(e,t,a,n),a=V?ur:0,!o&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nm(e,n,t);else if(e.tag===19)Nm(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&nu(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),is(t,!1,l,n,i,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&nu(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}is(t,!0,n,null,i,a);break;case"together":is(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function Un(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),va|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ei(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(S(153));if(t.child!==null){for(e=t.child,n=Nn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Nn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Kd(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&$o(e)))}function KA(e,t,n){switch(t.tag){case 3:Xo(t,t.stateNode.containerInfo),In(t,ke,e.memoizedState.cache),Fa();break;case 27:case 5:Cs(t);break;case 4:Xo(t,t.stateNode.containerInfo);break;case 10:In(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Fs(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(Jn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Qp(e,t,n):(Jn(t),e=Un(e,t,n),e!==null?e.sibling:null);Jn(t);break;case 19:var l=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||(ei(e,t,n,!1),a=(n&t.childLanes)!==0),l){if(a)return Kp(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ge(xe,xe.current),a)break;return null;case 22:return t.lanes=0,Xp(e,t,n,t.pendingProps);case 24:In(t,ke,e.memoizedState.cache)}return Un(e,t,n)}function Zp(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Le=!0;else{if(!Kd(e,n)&&(t.flags&128)===0)return Le=!1,KA(e,t,n);Le=(e.flags&131072)!==0}else Le=!1,V&&(t.flags&1048576)!==0&&Jh(t,ur,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=La(t.elementType),t.type=e,typeof e=="function")Ed(e)?(a=Xa(e,a),t.tag=1,t=_m(null,t,e,a,n)):(t.tag=0,t=Ks(null,t,e,a,n));else{if(e!=null){var l=e.$$typeof;if(l===fd){t.tag=11,t=Tm(null,t,e,a,n);break e}else if(l===gd){t.tag=14,t=Em(null,t,e,a,n);break e}}throw t=ws(e)||e,Error(S(306,t,""))}}return t;case 0:return Ks(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,l=Xa(a,t.pendingProps),_m(e,t,a,l,n);case 3:e:{if(Xo(t,t.stateNode.containerInfo),e===null)throw Error(S(387));a=t.pendingProps;var i=t.memoizedState;l=i.element,Gs(e,t),Ii(t,a,null,n);var r=t.memoizedState;if(a=r.cache,In(t,ke,a),a!==i.cache&&zs(t,[ke],n,!0),Wi(),a=r.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:r.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Bm(e,t,a,n);break e}else if(a!==l){l=Yt(Error(S(424)),t),cr(l),t=Bm(e,t,a,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(ye=Qt(e.firstChild),Xe=t,V=!0,oa=null,Vt=!0,n=lp(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Fa(),a===l){t=Un(e,t,n);break e}Ye(e,t,a,n)}t=t.child}return t;case 26:return Go(e,t),e===null?(n=eh(t.type,null,t.pendingProps,null))?t.memoizedState=n:V||(n=t.type,e=t.pendingProps,a=mu(ra.current).createElement(n),a[Ve]=t,a[vt]=e,Ke(a,n,e),qe(a),t.stateNode=a):t.memoizedState=eh(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Cs(t),e===null&&V&&(a=t.stateNode=Gy(t.type,t.pendingProps,ra.current),Xe=t,Vt=!0,l=ye,Aa(t.type)?(cd=l,ye=Qt(a.firstChild)):ye=l),Ye(e,t,t.pendingProps.children,n),Go(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&V&&((l=a=ye)&&(a=Sw(a,t.type,t.pendingProps,Vt),a!==null?(t.stateNode=a,Xe=t,ye=Qt(a.firstChild),Vt=!1,l=!0):l=!1),l||pa(t)),Cs(t),l=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,a=i.children,id(l,i)?a=null:r!==null&&id(l,r)&&(t.flags|=32),t.memoizedState!==null&&(l=Ld(e,t,GA,null,null,n),hr._currentValue=l),Go(e,t),Ye(e,t,a,n),t.child;case 6:return e===null&&V&&((e=n=ye)&&(n=Cw(n,t.pendingProps,Vt),n!==null?(t.stateNode=n,Xe=t,ye=null,e=!0):e=!1),e||pa(t)),null;case 13:return Qp(e,t,n);case 4:return Xo(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ya(t,null,a,n):Ye(e,t,a,n),t.child;case 11:return Tm(e,t,t.type,t.pendingProps,n);case 7:return Ye(e,t,t.pendingProps,n),t.child;case 8:return Ye(e,t,t.pendingProps.children,n),t.child;case 12:return Ye(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,In(t,t.type,a.value),Ye(e,t,a.children,n),t.child;case 9:return l=t.type._context,a=t.pendingProps.children,ja(t),l=Qe(l),a=a(l),t.flags|=1,Ye(e,t,a,n),t.child;case 14:return Em(e,t,t.type,t.pendingProps,n);case 15:return Vp(e,t,t.type,t.pendingProps,n);case 19:return Kp(e,t,n);case 31:return QA(e,t,n);case 22:return Xp(e,t,n,t.pendingProps);case 24:return ja(t),a=Qe(ke),e===null?(l=_d(),l===null&&(l=ue,i=Md(),l.pooledCache=i,i.refCount++,i!==null&&(l.pooledCacheLanes|=n),l=i),t.memoizedState={parent:a,cache:l},Nd(t),In(t,ke,l)):((e.lanes&n)!==0&&(Gs(e,t),Ii(t,null,null,n),Wi()),l=e.memoizedState,i=t.memoizedState,l.parent!==a?(l={parent:a,cache:a},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),In(t,ke,a)):(a=i.cache,In(t,ke,a),a!==l.cache&&zs(t,[ke],n,!0))),Ye(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(S(156,t.tag))}function Cn(e){e.flags|=4}function rs(e,t,n,a,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(by())e.flags|=8192;else throw Pa=eu,Bd}else e.flags&=-16777217}function Om(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Fy(t))if(by())e.flags|=8192;else throw Pa=eu,Bd}function Co(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ah():536870912,e.lanes|=t,Ql|=t)}function Hi(e,t){if(!V)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function ZA(e,t,n){var a=t.pendingProps;switch(xd(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pe(t),null;case 1:return pe(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),On(ke),ql(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(vl(t)?Cn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ic())),pe(t),null;case 26:var l=t.type,i=t.memoizedState;return e===null?(Cn(t),i!==null?(pe(t),Om(t,i)):(pe(t),rs(t,l,null,a,n))):i?i!==e.memoizedState?(Cn(t),pe(t),Om(t,i)):(pe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&Cn(t),pe(t),rs(t,l,e,a,n)),null;case 27:if(Qo(t),n=ra.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}e=gn.current,vl(t)?um(t,e):(e=Gy(l,a,n),t.stateNode=e,Cn(t))}return pe(t),null;case 5:if(Qo(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}if(i=gn.current,vl(t))um(t,i);else{var r=mu(ra.current);switch(i){case 1:i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":i=r.createElement("div"),i.innerHTML="<script><\/scr"+"ipt>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?r.createElement(l,{is:a.is}):r.createElement(l)}}i[Ve]=t,i[vt]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(Ke(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Cn(t)}}return pe(t),rs(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(S(166));if(e=ra.current,vl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=Xe,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[Ve]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Ly(e.nodeValue,n)),e||pa(t,!0)}else e=mu(e).createTextNode(a),e[Ve]=t,t.stateNode=e}return pe(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=vl(t),n!==null){if(e===null){if(!a)throw Error(S(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(557));e[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),e=!1}else n=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Rt(t),t):(Rt(t),null);if((t.flags&128)!==0)throw Error(S(558))}return pe(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=vl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(S(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(317));l[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),l=!1}else l=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Rt(t),t):(Rt(t),null)}return Rt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Co(t,t.updateQueue),pe(t),null);case 4:return ql(),e===null&&tf(t.stateNode.containerInfo),pe(t),null;case 10:return On(t.type),pe(t),null;case 19:if(Fe(xe),a=t.memoizedState,a===null)return pe(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)Hi(a,!1);else{if(Te!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=nu(e),i!==null){for(t.flags|=128,Hi(a,!1),e=i.updateQueue,t.updateQueue=e,Co(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Wh(n,e),n=n.sibling;return ge(xe,xe.current&1|2),V&&Dn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Dt()>uu&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304)}else{if(!l)if(e=nu(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Co(t,e),Hi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!V)return pe(t),null}else 2*Dt()-a.renderingStartTime>uu&&n!==536870912&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Dt(),e.sibling=null,n=xe.current,ge(xe,l?n&1|2:n&1),V&&Dn(t,a.treeForkCount),e):(pe(t),null);case 22:case 23:return Rt(t),Od(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(pe(t),t.subtreeFlags&6&&(t.flags|=8192)):pe(t),n=t.updateQueue,n!==null&&Co(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&Fe(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),On(ke),pe(t),null;case 25:return null;case 30:return null}throw Error(S(156,t.tag))}function WA(e,t){switch(xd(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return On(ke),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Qo(t),null;case 31:if(t.memoizedState!==null){if(Rt(t),t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Rt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fe(xe),null;case 4:return ql(),null;case 10:return On(t.type),null;case 22:case 23:return Rt(t),Od(),e!==null&&Fe(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return On(ke),null;case 25:return null;default:return null}}function Wp(e,t){switch(xd(t),t.tag){case 3:On(ke),ql();break;case 26:case 27:case 5:Qo(t);break;case 4:ql();break;case 31:t.memoizedState!==null&&Rt(t);break;case 13:Rt(t);break;case 19:Fe(xe);break;case 10:On(t.type);break;case 22:case 23:Rt(t),Od(),e!==null&&Fe(Ga);break;case 24:On(ke)}}function Er(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,r=n.inst;a=i(),r.destroy=a}n=n.next}while(n!==l)}}catch(o){le(t,t.return,o)}}function ya(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var r=a.inst,o=r.destroy;if(o!==void 0){r.destroy=void 0,l=t;var u=n,c=o;try{c()}catch(s){le(l,u,s)}}}a=a.next}while(a!==i)}}catch(s){le(t,t.return,s)}}function Ip(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{rp(t,n)}catch(a){le(e,e.return,a)}}}function Jp(e,t,n){n.props=Xa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){le(e,t,a)}}function $i(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){le(e,t,l)}}function fn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){le(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){le(e,t,l)}else n.current=null}function $p(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){le(e,e.return,l)}}function os(e,t,n){try{var a=e.stateNode;pw(a,e.type,n,t),a[vt]=t}catch(l){le(e,e.return,l)}}function ey(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Aa(e.type)||e.tag===4}function us(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ey(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Aa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ws(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=_n));else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Ws(e,t,n),e=e.sibling;e!==null;)Ws(e,t,n),e=e.sibling}function ou(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ou(e,t,n),e=e.sibling;e!==null;)ou(e,t,n),e=e.sibling}function ty(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);Ke(t,a,n),t[Ve]=e,t[vt]=n}catch(i){le(e,e.return,i)}}var xn=!1,Oe=!1,cs=!1,km=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function IA(e,t){if(e=e.containerInfo,ad=vu,e=Fh(e),Cd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var r=0,o=-1,u=-1,c=0,s=0,f=e,d=null;t:for(;;){for(var m;f!==n||l!==0&&f.nodeType!==3||(o=r+l),f!==i||a!==0&&f.nodeType!==3||(u=r+a),f.nodeType===3&&(r+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===n&&++c===l&&(o=r),d===i&&++s===a&&(u=r),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}n=o===-1||u===-1?null:{start:o,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ld={focusedElem:e,selectionRange:n},vu=!1,Pe=t;Pe!==null;)if(t=Pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Pe=e;else for(;Pe!==null;){switch(t=Pe,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)l=e[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,l=i.memoizedProps,i=i.memoizedState,a=n.stateNode;try{var v=Xa(n.type,l);e=a.getSnapshotBeforeUpdate(v,i),a.__reactInternalSnapshotBeforeUpdate=e}catch(A){le(n,n.return,A)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)rd(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":rd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(S(163))}if(e=t.sibling,e!==null){e.return=t.return,Pe=e;break}Pe=t.return}}function ny(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Tn(e,n),a&4&&Er(5,n);break;case 1:if(Tn(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(r){le(n,n.return,r)}else{var l=Xa(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(r){le(n,n.return,r)}}a&64&&Ip(n),a&512&&$i(n,n.return);break;case 3:if(Tn(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{rp(e,t)}catch(r){le(n,n.return,r)}}break;case 27:t===null&&a&4&&ty(n);case 26:case 5:Tn(e,n),t===null&&a&4&&$p(n),a&512&&$i(n,n.return);break;case 12:Tn(e,n);break;case 31:Tn(e,n),a&4&&iy(e,n);break;case 13:Tn(e,n),a&4&&ry(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=rw.bind(null,n),Rw(e,n))));break;case 22:if(a=n.memoizedState!==null||xn,!a){t=t!==null&&t.memoizedState!==null||Oe,l=xn;var i=Oe;xn=a,(Oe=t)&&!i?En(e,n,(n.subtreeFlags&8772)!==0):Tn(e,n),xn=l,Oe=i}break;case 30:break;default:Tn(e,n)}}function ay(e){var t=e.alternate;t!==null&&(e.alternate=null,ay(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&yd(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ce=null,ht=!1;function Rn(e,t,n){for(n=n.child;n!==null;)ly(e,t,n),n=n.sibling}function ly(e,t,n){if(xt&&typeof xt.onCommitFiberUnmount=="function")try{xt.onCommitFiberUnmount(br,n)}catch{}switch(n.tag){case 26:Oe||fn(n,t),Rn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Oe||fn(n,t);var a=Ce,l=ht;Aa(n.type)&&(Ce=n.stateNode,ht=!1),Rn(e,t,n),ar(n.stateNode),Ce=a,ht=l;break;case 5:Oe||fn(n,t);case 6:if(a=Ce,l=ht,Ce=null,Rn(e,t,n),Ce=a,ht=l,Ce!==null)if(ht)try{(Ce.nodeType===9?Ce.body:Ce.nodeName==="HTML"?Ce.ownerDocument.body:Ce).removeChild(n.stateNode)}catch(i){le(n,t,i)}else try{Ce.removeChild(n.stateNode)}catch(i){le(n,t,i)}break;case 18:Ce!==null&&(ht?(e=Ce,Zm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),Il(e)):Zm(Ce,n.stateNode));break;case 4:a=Ce,l=ht,Ce=n.stateNode.containerInfo,ht=!0,Rn(e,t,n),Ce=a,ht=l;break;case 0:case 11:case 14:case 15:ya(2,n,t),Oe||ya(4,n,t),Rn(e,t,n);break;case 1:Oe||(fn(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"&&Jp(n,t,a)),Rn(e,t,n);break;case 21:Rn(e,t,n);break;case 22:Oe=(a=Oe)||n.memoizedState!==null,Rn(e,t,n),Oe=a;break;default:Rn(e,t,n)}}function iy(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Il(e)}catch(n){le(t,t.return,n)}}}function ry(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Il(e)}catch(n){le(t,t.return,n)}}function JA(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new km),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new km),t;default:throw Error(S(435,e.tag))}}function Ro(e,t){var n=JA(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var l=ow.bind(null,e,a);a.then(l,l)}})}function gt(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var l=n[a],i=e,r=t,o=r;e:for(;o!==null;){switch(o.tag){case 27:if(Aa(o.type)){Ce=o.stateNode,ht=!1;break e}break;case 5:Ce=o.stateNode,ht=!1;break e;case 3:case 4:Ce=o.stateNode.containerInfo,ht=!0;break e}o=o.return}if(Ce===null)throw Error(S(160));ly(i,r,l),Ce=null,ht=!1,i=l.alternate,i!==null&&(i.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)oy(t,e),t=t.sibling}var en=null;function oy(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),mt(e),a&4&&(ya(3,e,e.return),Er(3,e),ya(5,e,e.return));break;case 1:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&64&&xn&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var l=en;if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&4){var i=n!==null?n.memoizedState:null;if(a=e.memoizedState,n===null)if(a===null)if(e.stateNode===null){e:{a=e.type,n=e.memoizedProps,l=l.ownerDocument||l;t:switch(a){case"title":i=l.getElementsByTagName("title")[0],(!i||i[Sr]||i[Ve]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=l.createElement(a),l.head.insertBefore(i,l.querySelector("head > title"))),Ke(i,a,n),i[Ve]=e,qe(i),a=i;break e;case"link":var r=nh("link","href",l).get(a+(n.href||""));if(r){for(var o=0;o<r.length;o++)if(i=r[o],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;case"meta":if(r=nh("meta","content",l).get(a+(n.content||""))){for(o=0;o<r.length;o++)if(i=r[o],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;default:throw Error(S(468,a))}i[Ve]=e,qe(i),a=i}e.stateNode=a}else ah(l,e.type,e.stateNode);else e.stateNode=th(l,a,e.memoizedProps);else i!==a?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count--,a===null?ah(l,e.type,e.stateNode):th(l,a,e.memoizedProps)):a===null&&e.stateNode!==null&&os(e,e.memoizedProps,n.memoizedProps)}break;case 27:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),n!==null&&a&4&&os(e,e.memoizedProps,n.memoizedProps);break;case 5:if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),e.flags&32){l=e.stateNode;try{jl(l,"")}catch(v){le(e,e.return,v)}}a&4&&e.stateNode!=null&&(l=e.memoizedProps,os(e,l,n!==null?n.memoizedProps:l)),a&1024&&(cs=!0);break;case 6:if(gt(t,e),mt(e),a&4){if(e.stateNode===null)throw Error(S(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(v){le(e,e.return,v)}}break;case 3:if(Fo=null,l=en,en=hu(t.containerInfo),gt(t,e),en=l,mt(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Il(t.containerInfo)}catch(v){le(e,e.return,v)}cs&&(cs=!1,uy(e));break;case 4:a=en,en=hu(e.stateNode.containerInfo),gt(t,e),mt(e),en=a;break;case 12:gt(t,e),mt(e);break;case 31:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 13:gt(t,e),mt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Bu=Dt()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 22:l=e.memoizedState!==null;var u=n!==null&&n.memoizedState!==null,c=xn,s=Oe;if(xn=c||l,Oe=s||u,gt(t,e),Oe=s,xn=c,mt(e),a&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(n===null||u||xn||Oe||Ha(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){u=n=t;try{if(i=u.stateNode,l)r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{o=u.stateNode;var f=u.memoizedProps.style,d=f!=null&&f.hasOwnProperty("display")?f.display:null;o.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(v){le(u,u.return,v)}}}else if(t.tag===6){if(n===null){u=t;try{u.stateNode.nodeValue=l?"":u.memoizedProps}catch(v){le(u,u.return,v)}}}else if(t.tag===18){if(n===null){u=t;try{var m=u.stateNode;l?Wm(m,!0):Wm(u.stateNode,!1)}catch(v){le(u,u.return,v)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,Ro(e,n))));break;case 19:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 30:break;case 21:break;default:gt(t,e),mt(e)}}function mt(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(ey(a)){n=a;break}a=a.return}if(n==null)throw Error(S(160));switch(n.tag){case 27:var l=n.stateNode,i=us(e);ou(e,i,l);break;case 5:var r=n.stateNode;n.flags&32&&(jl(r,""),n.flags&=-33);var o=us(e);ou(e,o,r);break;case 3:case 4:var u=n.stateNode.containerInfo,c=us(e);Ws(e,c,u);break;default:throw Error(S(161))}}catch(s){le(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function uy(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;uy(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Tn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ny(e,t.alternate,t),t=t.sibling}function Ha(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ya(4,t,t.return),Ha(t);break;case 1:fn(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Jp(t,t.return,n),Ha(t);break;case 27:ar(t.stateNode);case 26:case 5:fn(t,t.return),Ha(t);break;case 22:t.memoizedState===null&&Ha(t);break;case 30:Ha(t);break;default:Ha(t)}e=e.sibling}}function En(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,l=e,i=t,r=i.flags;switch(i.tag){case 0:case 11:case 15:En(l,i,n),Er(4,i);break;case 1:if(En(l,i,n),a=i,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(c){le(a,a.return,c)}if(a=i,l=a.updateQueue,l!==null){var o=a.stateNode;try{var u=l.shared.hiddenCallbacks;if(u!==null)for(l.shared.hiddenCallbacks=null,l=0;l<u.length;l++)ip(u[l],o)}catch(c){le(a,a.return,c)}}n&&r&64&&Ip(i),$i(i,i.return);break;case 27:ty(i);case 26:case 5:En(l,i,n),n&&a===null&&r&4&&$p(i),$i(i,i.return);break;case 12:En(l,i,n);break;case 31:En(l,i,n),n&&r&4&&iy(l,i);break;case 13:En(l,i,n),n&&r&4&&ry(l,i);break;case 22:i.memoizedState===null&&En(l,i,n),$i(i,i.return);break;case 30:break;default:En(l,i,n)}t=t.sibling}}function Zd(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Rr(n))}function Wd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e))}function $t(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)cy(e,t,n,a),t=t.sibling}function cy(e,t,n,a){var l=t.flags;switch(t.tag){case 0:case 11:case 15:$t(e,t,n,a),l&2048&&Er(9,t);break;case 1:$t(e,t,n,a);break;case 3:$t(e,t,n,a),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e)));break;case 12:if(l&2048){$t(e,t,n,a),e=t.stateNode;try{var i=t.memoizedProps,r=i.id,o=i.onPostCommit;typeof o=="function"&&o(r,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(u){le(t,t.return,u)}}else $t(e,t,n,a);break;case 31:$t(e,t,n,a);break;case 13:$t(e,t,n,a);break;case 23:break;case 22:i=t.stateNode,r=t.alternate,t.memoizedState!==null?i._visibility&2?$t(e,t,n,a):er(e,t):i._visibility&2?$t(e,t,n,a):(i._visibility|=2,Al(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Zd(r,t);break;case 24:$t(e,t,n,a),l&2048&&Wd(t.alternate,t);break;default:$t(e,t,n,a)}}function Al(e,t,n,a,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,r=t,o=n,u=a,c=r.flags;switch(r.tag){case 0:case 11:case 15:Al(i,r,o,u,l),Er(8,r);break;case 23:break;case 22:var s=r.stateNode;r.memoizedState!==null?s._visibility&2?Al(i,r,o,u,l):er(i,r):(s._visibility|=2,Al(i,r,o,u,l)),l&&c&2048&&Zd(r.alternate,r);break;case 24:Al(i,r,o,u,l),l&&c&2048&&Wd(r.alternate,r);break;default:Al(i,r,o,u,l)}t=t.sibling}}function er(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,l=a.flags;switch(a.tag){case 22:er(n,a),l&2048&&Zd(a.alternate,a);break;case 24:er(n,a),l&2048&&Wd(a.alternate,a);break;default:er(n,a)}t=t.sibling}}var Yi=8192;function bl(e,t,n){if(e.subtreeFlags&Yi)for(e=e.child;e!==null;)sy(e,t,n),e=e.sibling}function sy(e,t,n){switch(e.tag){case 26:bl(e,t,n),e.flags&Yi&&e.memoizedState!==null&&Hw(n,en,e.memoizedState,e.memoizedProps);break;case 5:bl(e,t,n);break;case 3:case 4:var a=en;en=hu(e.stateNode.containerInfo),bl(e,t,n),en=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=Yi,Yi=16777216,bl(e,t,n),Yi=a):bl(e,t,n));break;default:bl(e,t,n)}}function dy(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function zi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)fy(e),e=e.sibling}function fy(e){switch(e.tag){case 0:case 11:case 15:zi(e),e.flags&2048&&ya(9,e,e.return);break;case 3:zi(e);break;case 12:zi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Po(e)):zi(e);break;default:zi(e)}}function Po(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ya(8,t,t.return),Po(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Po(t));break;default:Po(t)}e=e.sibling}}function gy(e,t){for(;Pe!==null;){var n=Pe;switch(n.tag){case 0:case 11:case 15:ya(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Rr(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,Pe=a;else e:for(n=e;Pe!==null;){a=Pe;var l=a.sibling,i=a.return;if(ay(a),a===n){Pe=null;break e}if(l!==null){l.return=i,Pe=l;break e}Pe=i}}}var $A={getCacheForType:function(e){var t=Qe(ke),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Qe(ke).controller.signal}},ew=typeof WeakMap=="function"?WeakMap:Map,J=0,ue=null,F=null,Y=0,ae=0,Ct=null,aa=!1,ni=!1,Id=!1,Gn=0,Te=0,va=0,qa=0,Jd=0,Et=0,Ql=0,tr=null,pt=null,Is=!1,Bu=0,my=0,uu=1/0,cu=null,sa=null,Ue=0,da=null,Kl=null,kn=0,Js=0,$s=null,hy=null,nr=0,ed=null;function _t(){return(J&2)!==0&&Y!==0?Y&-Y:L.T!==null?ef():Rh()}function py(){if(Et===0)if((Y&536870912)===0||V){var e=mo;mo<<=1,(mo&3932160)===0&&(mo=262144),Et=e}else Et=536870912;return e=Nt.current,e!==null&&(e.flags|=32),Et}function yt(e,t,n){(e===ue&&(ae===2||ae===9)||e.cancelPendingCommit!==null)&&(Zl(e,0),la(e,Y,Et,!1)),wr(e,n),((J&2)===0||e!==ue)&&(e===ue&&((J&2)===0&&(qa|=n),Te===4&&la(e,Y,Et,!1)),hn(e))}function yy(e,t,n){if((J&6)!==0)throw Error(S(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Ar(e,t),l=a?aw(e,t):ss(e,t,!0),i=a;do{if(l===0){ni&&!a&&la(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!tw(n)){l=ss(e,t,!1),i=!1;continue}if(l===2){if(i=t,e.errorRecoveryDisabledLanes&i)var r=0;else r=e.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){t=r;e:{var o=e;l=tr;var u=o.current.memoizedState.isDehydrated;if(u&&(Zl(o,r).flags|=256),r=ss(o,r,!1),r!==2){if(Id&&!u){o.errorRecoveryDisabledLanes|=i,qa|=i,l=4;break e}i=pt,pt=l,i!==null&&(pt===null?pt=i:pt.push.apply(pt,i))}l=r}if(i=!1,l!==2)continue}}if(l===1){Zl(e,0),la(e,t,0,!0);break}e:{switch(a=e,i=l,i){case 0:case 1:throw Error(S(345));case 4:if((t&4194048)!==t)break;case 6:la(a,t,Et,!aa);break e;case 2:pt=null;break;case 3:case 5:break;default:throw Error(S(329))}if((t&62914560)===t&&(l=Bu+300-Dt(),10<l)){if(la(a,t,Et,!aa),Au(a,0,!0)!==0)break e;kn=t,a.timeoutHandle=zy(Lm.bind(null,a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,"Throttled",-0,0),l);break e}Lm(a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,null,-0,0)}}break}while(!0);hn(e)}function Lm(e,t,n,a,l,i,r,o,u,c,s,f,d,m){if(e.timeoutHandle=-1,f=t.subtreeFlags,f&8192||(f&16785408)===16785408){f={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:_n},sy(t,i,f);var v=(i&62914560)===i?Bu-Dt():(i&4194048)===i?my-Dt():0;if(v=zw(f,v),v!==null){kn=i,e.cancelPendingCommit=v(zm.bind(null,e,t,i,n,a,l,r,o,u,s,f,null,d,m)),la(e,i,r,!c);return}}zm(e,t,i,n,a,l,r,o,u)}function tw(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],i=l.getSnapshot;l=l.value;try{if(!Bt(i(),l))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function la(e,t,n,a){t&=~Jd,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var l=t;0<l;){var i=31-Mt(l),r=1<<i;a[i]=-1,l&=~r}n!==0&&wh(e,n,t)}function Nu(){return(J&6)===0?(Dr(0,!1),!1):!0}function $d(){if(F!==null){if(ae===0)var e=F.return;else e=F,Bn=Ia=null,Ud(e),Ul=null,sr=0,e=F;for(;e!==null;)Wp(e.alternate,e),e=e.return;F=null}}function Zl(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,bw(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),kn=0,$d(),ue=e,F=n=Nn(e.current,null),Y=t,ae=0,Ct=null,aa=!1,ni=Ar(e,t),Id=!1,Ql=Et=Jd=qa=va=Te=0,pt=tr=null,Is=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var l=31-Mt(a),i=1<<l;t|=e[l],a&=~i}return Gn=t,Ru(),n}function vy(e,t){G=null,L.H=fr,t===ti||t===Eu?(t=gm(),ae=3):t===Bd?(t=gm(),ae=4):ae=t===Qd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ct=t,F===null&&(Te=1,iu(e,Yt(t,e.current)))}function by(){var e=Nt.current;return e===null?!0:(Y&4194048)===Y?Xt===null:(Y&62914560)===Y||(Y&536870912)!==0?e===Xt:!1}function Ay(){var e=L.H;return L.H=fr,e===null?fr:e}function wy(){var e=L.A;return L.A=$A,e}function su(){Te=4,aa||(Y&4194048)!==Y&&Nt.current!==null||(ni=!0),(va&134217727)===0&&(qa&134217727)===0||ue===null||la(ue,Y,Et,!1)}function ss(e,t,n){var a=J;J|=2;var l=Ay(),i=wy();(ue!==e||Y!==t)&&(cu=null,Zl(e,t)),t=!1;var r=Te;e:do try{if(ae!==0&&F!==null){var o=F,u=Ct;switch(ae){case 8:$d(),r=6;break e;case 3:case 2:case 9:case 6:Nt.current===null&&(t=!0);var c=ae;if(ae=0,Ct=null,Ol(e,o,u,c),n&&ni){r=0;break e}break;default:c=ae,ae=0,Ct=null,Ol(e,o,u,c)}}nw(),r=Te;break}catch(s){vy(e,s)}while(!0);return t&&e.shellSuspendCounter++,Bn=Ia=null,J=a,L.H=l,L.A=i,F===null&&(ue=null,Y=0,Ru()),r}function nw(){for(;F!==null;)Sy(F)}function aw(e,t){var n=J;J|=2;var a=Ay(),l=wy();ue!==e||Y!==t?(cu=null,uu=Dt()+500,Zl(e,t)):ni=Ar(e,t);e:do try{if(ae!==0&&F!==null){t=F;var i=Ct;t:switch(ae){case 1:ae=0,Ct=null,Ol(e,t,i,1);break;case 2:case 9:if(fm(i)){ae=0,Ct=null,Hm(t);break}t=function(){ae!==2&&ae!==9||ue!==e||(ae=7),hn(e)},i.then(t,t);break e;case 3:ae=7;break e;case 4:ae=5;break e;case 7:fm(i)?(ae=0,Ct=null,Hm(t)):(ae=0,Ct=null,Ol(e,t,i,7));break;case 5:var r=null;switch(F.tag){case 26:r=F.memoizedState;case 5:case 27:var o=F;if(r?Fy(r):o.stateNode.complete){ae=0,Ct=null;var u=o.sibling;if(u!==null)F=u;else{var c=o.return;c!==null?(F=c,Ou(c)):F=null}break t}}ae=0,Ct=null,Ol(e,t,i,5);break;case 6:ae=0,Ct=null,Ol(e,t,i,6);break;case 8:$d(),Te=6;break e;default:throw Error(S(462))}}lw();break}catch(s){vy(e,s)}while(!0);return Bn=Ia=null,L.H=a,L.A=l,J=n,F!==null?0:(ue=null,Y=0,Ru(),Te)}function lw(){for(;F!==null&&!Db();)Sy(F)}function Sy(e){var t=Zp(e.alternate,e,Gn);e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Hm(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Mm(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=Mm(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:Ud(t);default:Wp(n,t),t=F=Wh(t,Gn),t=Zp(n,t,Gn)}e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Ol(e,t,n,a){Bn=Ia=null,Ud(t),Ul=null,sr=0;var l=t.return;try{if(XA(e,l,t,n,Y)){Te=1,iu(e,Yt(n,e.current)),F=null;return}}catch(i){if(l!==null)throw F=l,i;Te=1,iu(e,Yt(n,e.current)),F=null;return}t.flags&32768?(V||a===1?e=!0:ni||(Y&536870912)!==0?e=!1:(aa=e=!0,(a===2||a===9||a===3||a===6)&&(a=Nt.current,a!==null&&a.tag===13&&(a.flags|=16384))),Cy(t,e)):Ou(t)}function Ou(e){var t=e;do{if((t.flags&32768)!==0){Cy(t,aa);return}e=t.return;var n=ZA(t.alternate,t,Gn);if(n!==null){F=n;return}if(t=t.sibling,t!==null){F=t;return}F=t=e}while(t!==null);Te===0&&(Te=5)}function Cy(e,t){do{var n=WA(e.alternate,e);if(n!==null){n.flags&=32767,F=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){F=e;return}F=e=n}while(e!==null);Te=6,F=null}function zm(e,t,n,a,l,i,r,o,u){e.cancelPendingCommit=null;do ku();while(Ue!==0);if((J&6)!==0)throw Error(S(327));if(t!==null){if(t===e.current)throw Error(S(177));if(i=t.lanes|t.childLanes,i|=Rd,zb(e,n,i,r,o,u),e===ue&&(F=ue=null,Y=0),Kl=t,da=e,kn=n,Js=i,$s=l,hy=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,uw(Ko,function(){return xy(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=L.T,L.T=null,l=$.p,$.p=2,r=J,J|=4;try{IA(e,t,n)}finally{J=r,$.p=l,L.T=a}}Ue=1,Ry(),Ty(),Ey()}}function Ry(){if(Ue===1){Ue=0;var e=da,t=Kl,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{oy(t,e);var i=ld,r=Fh(e.containerInfo),o=i.focusedElem,u=i.selectionRange;if(r!==o&&o&&o.ownerDocument&&qh(o.ownerDocument.documentElement,o)){if(u!==null&&Cd(o)){var c=u.start,s=u.end;if(s===void 0&&(s=c),"selectionStart"in o)o.selectionStart=c,o.selectionEnd=Math.min(s,o.value.length);else{var f=o.ownerDocument||document,d=f&&f.defaultView||window;if(d.getSelection){var m=d.getSelection(),v=o.textContent.length,A=Math.min(u.start,v),b=u.end===void 0?A:Math.min(u.end,v);!m.extend&&A>b&&(r=b,b=A,A=r);var h=im(o,A),g=im(o,b);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var p=f.createRange();p.setStart(h.node,h.offset),m.removeAllRanges(),A>b?(m.addRange(p),m.extend(g.node,g.offset)):(p.setEnd(g.node,g.offset),m.addRange(p))}}}}for(f=[],m=o;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<f.length;o++){var y=f[o];y.element.scrollLeft=y.left,y.element.scrollTop=y.top}}vu=!!ad,ld=ad=null}finally{J=l,$.p=a,L.T=n}}e.current=t,Ue=2}}function Ty(){if(Ue===2){Ue=0;var e=da,t=Kl,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{ny(e,t.alternate,t)}finally{J=l,$.p=a,L.T=n}}Ue=3}}function Ey(){if(Ue===4||Ue===3){Ue=0,xb();var e=da,t=Kl,n=kn,a=hy;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ue=5:(Ue=0,Kl=da=null,Dy(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(sa=null),pd(n),t=t.stateNode,xt&&typeof xt.onCommitFiberRoot=="function")try{xt.onCommitFiberRoot(br,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=L.T,l=$.p,$.p=2,L.T=null;try{for(var i=e.onRecoverableError,r=0;r<a.length;r++){var o=a[r];i(o.value,{componentStack:o.stack})}}finally{L.T=t,$.p=l}}(kn&3)!==0&&ku(),hn(e),l=e.pendingLanes,(n&261930)!==0&&(l&42)!==0?e===ed?nr++:(nr=0,ed=e):nr=0,Dr(0,!1)}}function Dy(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Rr(t)))}function ku(){return Ry(),Ty(),Ey(),xy()}function xy(){if(Ue!==5)return!1;var e=da,t=Js;Js=0;var n=pd(kn),a=L.T,l=$.p;try{$.p=32>n?32:n,L.T=null,n=$s,$s=null;var i=da,r=kn;if(Ue=0,Kl=da=null,kn=0,(J&6)!==0)throw Error(S(331));var o=J;if(J|=4,fy(i.current),cy(i,i.current,r,n),J=o,Dr(0,!1),xt&&typeof xt.onPostCommitFiberRoot=="function")try{xt.onPostCommitFiberRoot(br,i)}catch{}return!0}finally{$.p=l,L.T=a,Dy(e,t)}}function Um(e,t,n){t=Yt(n,t),t=Qs(e.stateNode,t,2),e=ca(e,t,2),e!==null&&(wr(e,2),hn(e))}function le(e,t,n){if(e.tag===3)Um(e,e,n);else for(;t!==null;){if(t.tag===3){Um(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(sa===null||!sa.has(a))){e=Yt(n,e),n=jp(2),a=ca(t,n,2),a!==null&&(Yp(n,a,t,e),wr(a,2),hn(a));break}}t=t.return}}function ds(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new ew;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Id=!0,l.add(n),e=iw.bind(null,e,t,n),t.then(e,e))}function iw(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ue===e&&(Y&n)===n&&(Te===4||Te===3&&(Y&62914560)===Y&&300>Dt()-Bu?(J&2)===0&&Zl(e,0):Jd|=n,Ql===Y&&(Ql=0)),hn(e)}function My(e,t){t===0&&(t=Ah()),e=Wa(e,t),e!==null&&(wr(e,t),hn(e))}function rw(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),My(e,n)}function ow(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(S(314))}a!==null&&a.delete(t),My(e,n)}function uw(e,t){return md(e,t)}var du=null,wl=null,td=!1,fu=!1,fs=!1,ia=0;function hn(e){e!==wl&&e.next===null&&(wl===null?du=wl=e:wl=wl.next=e),fu=!0,td||(td=!0,sw())}function Dr(e,t){if(!fs&&fu){fs=!0;do for(var n=!1,a=du;a!==null;){if(!t)if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var r=a.suspendedLanes,o=a.pingedLanes;i=(1<<31-Mt(42|e)+1)-1,i&=l&~(r&~o),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,Gm(a,i))}else i=Y,i=Au(a,a===ue?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||Ar(a,i)||(n=!0,Gm(a,i));a=a.next}while(n);fs=!1}}function cw(){_y()}function _y(){fu=td=!1;var e=0;ia!==0&&vw()&&(e=ia);for(var t=Dt(),n=null,a=du;a!==null;){var l=a.next,i=By(a,t);i===0?(a.next=null,n===null?du=l:n.next=l,l===null&&(wl=n)):(n=a,(e!==0||(i&3)!==0)&&(fu=!0)),a=l}Ue!==0&&Ue!==5||Dr(e,!1),ia!==0&&(ia=0)}function By(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var r=31-Mt(i),o=1<<r,u=l[r];u===-1?((o&n)===0||(o&a)!==0)&&(l[r]=Hb(o,t)):u<=t&&(e.expiredLanes|=o),i&=~o}if(t=ue,n=Y,n=Au(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(ae===2||ae===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&qc(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Ar(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&qc(a),pd(n)){case 2:case 8:n=vh;break;case 32:n=Ko;break;case 268435456:n=bh;break;default:n=Ko}return a=Ny.bind(null,e),n=md(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&qc(a),e.callbackPriority=2,e.callbackNode=null,2}function Ny(e,t){if(Ue!==0&&Ue!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(ku()&&e.callbackNode!==n)return null;var a=Y;return a=Au(e,e===ue?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(yy(e,a,t),By(e,Dt()),e.callbackNode!=null&&e.callbackNode===n?Ny.bind(null,e):null)}function Gm(e,t){if(ku())return null;yy(e,t,!0)}function sw(){Aw(function(){(J&6)!==0?md(yh,cw):_y()})}function ef(){if(ia===0){var e=Yl;e===0&&(e=go,go<<=1,(go&261888)===0&&(go=256)),ia=e}return ia}function Pm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Bo(""+e)}function qm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function dw(e,t,n,a,l){if(t==="submit"&&n&&n.stateNode===l){var i=Pm((l[vt]||null).action),r=a.submitter;r&&(t=(t=r[vt]||null)?Pm(t.formAction):r.getAttribute("formAction"),t!==null&&(i=t,r=null));var o=new wu("action","action",null,a,l);e.push({event:o,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(ia!==0){var u=r?qm(l,r):new FormData(l);Vs(n,{pending:!0,data:u,method:l.method,action:i},null,u)}}else typeof i=="function"&&(o.preventDefault(),u=r?qm(l,r):new FormData(l),Vs(n,{pending:!0,data:u,method:l.method,action:i},i,u))},currentTarget:l}]})}}for(To=0;To<Os.length;To++)Eo=Os[To],Fm=Eo.toLowerCase(),jm=Eo[0].toUpperCase()+Eo.slice(1),tn(Fm,"on"+jm);var Eo,Fm,jm,To;tn(Yh,"onAnimationEnd");tn(Vh,"onAnimationIteration");tn(Xh,"onAnimationStart");tn("dblclick","onDoubleClick");tn("focusin","onFocus");tn("focusout","onBlur");tn(MA,"onTransitionRun");tn(_A,"onTransitionStart");tn(BA,"onTransitionCancel");tn(Qh,"onTransitionEnd");Fl("onMouseEnter",["mouseout","mouseover"]);Fl("onMouseLeave",["mouseout","mouseover"]);Fl("onPointerEnter",["pointerout","pointerover"]);Fl("onPointerLeave",["pointerout","pointerover"]);Qa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Qa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Qa("onBeforeInput",["compositionend","keypress","textInput","paste"]);Qa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),fw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(gr));function Oy(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],l=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var r=a.length-1;0<=r;r--){var o=a[r],u=o.instance,c=o.currentTarget;if(o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}else for(r=0;r<a.length;r++){if(o=a[r],u=o.instance,c=o.currentTarget,o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}}}}function q(e,t){var n=t[Ts];n===void 0&&(n=t[Ts]=new Set);var a=e+"__bubble";n.has(a)||(ky(t,e,2,!1),n.add(a))}function gs(e,t,n){var a=0;t&&(a|=4),ky(n,e,a,t)}var Do="_reactListening"+Math.random().toString(36).slice(2);function tf(e){if(!e[Do]){e[Do]=!0,Th.forEach(function(n){n!=="selectionchange"&&(fw.has(n)||gs(n,!1,e),gs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Do]||(t[Do]=!0,gs("selectionchange",!1,t))}}function ky(e,t,n,a){switch(Qy(t)){case 2:var l=Pw;break;case 8:l=qw;break;default:l=rf}n=l.bind(null,t,n,e),l=void 0,!_s||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),a?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function ms(e,t,n,a,l){var i=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var r=a.tag;if(r===3||r===4){var o=a.stateNode.containerInfo;if(o===l)break;if(r===4)for(r=a.return;r!==null;){var u=r.tag;if((u===3||u===4)&&r.stateNode.containerInfo===l)return;r=r.return}for(;o!==null;){if(r=Rl(o),r===null)return;if(u=r.tag,u===5||u===6||u===26||u===27){a=i=r;continue e}o=o.parentNode}}a=a.return}Oh(function(){var c=i,s=bd(n),f=[];e:{var d=Kh.get(e);if(d!==void 0){var m=wu,v=e;switch(e){case"keypress":if(Oo(n)===0)break e;case"keydown":case"keyup":m=oA;break;case"focusin":v="focus",m=Xc;break;case"focusout":v="blur",m=Xc;break;case"beforeblur":case"afterblur":m=Xc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Wg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Zb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=sA;break;case Yh:case Vh:case Xh:m=Jb;break;case Qh:m=fA;break;case"scroll":case"scrollend":m=Qb;break;case"wheel":m=mA;break;case"copy":case"cut":case"paste":m=eA;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Jg;break;case"toggle":case"beforetoggle":m=pA}var A=(t&4)!==0,b=!A&&(e==="scroll"||e==="scrollend"),h=A?d!==null?d+"Capture":null:d;A=[];for(var g=c,p;g!==null;){var y=g;if(p=y.stateNode,y=y.tag,y!==5&&y!==26&&y!==27||p===null||h===null||(y=ir(g,h),y!=null&&A.push(mr(g,y,p))),b)break;g=g.return}0<A.length&&(d=new m(d,v,null,n,s),f.push({event:d,listeners:A}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",d&&n!==Ms&&(v=n.relatedTarget||n.fromElement)&&(Rl(v)||v[Jl]))break e;if((m||d)&&(d=s.window===s?s:(d=s.ownerDocument)?d.defaultView||d.parentWindow:window,m?(v=n.relatedTarget||n.toElement,m=c,v=v?Rl(v):null,v!==null&&(b=vr(v),A=v.tag,v!==b||A!==5&&A!==27&&A!==6)&&(v=null)):(m=null,v=c),m!==v)){if(A=Wg,y="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(A=Jg,y="onPointerLeave",h="onPointerEnter",g="pointer"),b=m==null?d:Fi(m),p=v==null?d:Fi(v),d=new A(y,g+"leave",m,n,s),d.target=b,d.relatedTarget=p,y=null,Rl(s)===c&&(A=new A(h,g+"enter",v,n,s),A.target=p,A.relatedTarget=b,y=A),b=y,m&&v)t:{for(A=gw,h=m,g=v,p=0,y=h;y;y=A(y))p++;y=0;for(var C=g;C;C=A(C))y++;for(;0<p-y;)h=A(h),p--;for(;0<y-p;)g=A(g),y--;for(;p--;){if(h===g||g!==null&&h===g.alternate){A=h;break t}h=A(h),g=A(g)}A=null}else A=null;m!==null&&Ym(f,d,m,A,!1),v!==null&&b!==null&&Ym(f,b,v,A,!0)}}e:{if(d=c?Fi(c):window,m=d.nodeName&&d.nodeName.toLowerCase(),m==="select"||m==="input"&&d.type==="file")var R=nm;else if(tm(d))if(Gh)R=EA;else{R=RA;var T=CA}else m=d.nodeName,!m||m.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?c&&vd(c.elementType)&&(R=nm):R=TA;if(R&&(R=R(e,c))){Uh(f,R,n,s);break e}T&&T(e,d,c),e==="focusout"&&c&&d.type==="number"&&c.memoizedProps.value!=null&&xs(d,"number",d.value)}switch(T=c?Fi(c):window,e){case"focusin":(tm(T)||T.contentEditable==="true")&&(Dl=T,Bs=c,Qi=null);break;case"focusout":Qi=Bs=Dl=null;break;case"mousedown":Ns=!0;break;case"contextmenu":case"mouseup":case"dragend":Ns=!1,rm(f,n,s);break;case"selectionchange":if(xA)break;case"keydown":case"keyup":rm(f,n,s)}var M;if(Sd)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else El?Hh(e,n)&&(w="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(w="onCompositionStart");w&&(Lh&&n.locale!=="ko"&&(El||w!=="onCompositionStart"?w==="onCompositionEnd"&&El&&(M=kh()):(na=s,Ad="value"in na?na.value:na.textContent,El=!0)),T=gu(c,w),0<T.length&&(w=new Ig(w,e,null,n,s),f.push({event:w,listeners:T}),M?w.data=M:(M=zh(n),M!==null&&(w.data=M)))),(M=vA?bA(e,n):AA(e,n))&&(w=gu(c,"onBeforeInput"),0<w.length&&(T=new Ig("onBeforeInput","beforeinput",null,n,s),f.push({event:T,listeners:w}),T.data=M)),dw(f,e,c,n,s)}Oy(f,t)})}function mr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function gu(e,t){for(var n=t+"Capture",a=[];e!==null;){var l=e,i=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||i===null||(l=ir(e,n),l!=null&&a.unshift(mr(e,l,i)),l=ir(e,t),l!=null&&a.push(mr(e,l,i))),e.tag===3)return a;e=e.return}return[]}function gw(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ym(e,t,n,a,l){for(var i=t._reactName,r=[];n!==null&&n!==a;){var o=n,u=o.alternate,c=o.stateNode;if(o=o.tag,u!==null&&u===a)break;o!==5&&o!==26&&o!==27||c===null||(u=c,l?(c=ir(n,i),c!=null&&r.unshift(mr(n,c,u))):l||(c=ir(n,i),c!=null&&r.push(mr(n,c,u)))),n=n.return}r.length!==0&&e.push({event:t,listeners:r})}var mw=/\r\n?/g,hw=/\u0000|\uFFFD/g;function Vm(e){return(typeof e=="string"?e:""+e).replace(mw,``).replace(hw,"")}function Ly(e,t){return t=Vm(t),Vm(e)===t}function ie(e,t,n,a,l,i){switch(n){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||jl(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&jl(e,""+a);break;case"className":po(e,"class",a);break;case"tabIndex":po(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":po(e,n,a);break;case"style":Nh(e,a,i);break;case"data":if(t!=="object"){po(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(n==="formAction"?(t!=="input"&&ie(e,t,"name",l.name,l,null),ie(e,t,"formEncType",l.formEncType,l,null),ie(e,t,"formMethod",l.formMethod,l,null),ie(e,t,"formTarget",l.formTarget,l,null)):(ie(e,t,"encType",l.encType,l,null),ie(e,t,"method",l.method,l,null),ie(e,t,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"onClick":a!=null&&(e.onclick=_n);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}n=Bo(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""+a):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":a===!0?e.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,a):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case"popover":q("beforetoggle",e),q("toggle",e),_o(e,"popover",a);break;case"xlinkActuate":Sn(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Sn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Sn(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Sn(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Sn(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Sn(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":_o(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Vb.get(n)||n,_o(e,n,a))}}function nd(e,t,n,a,l,i){switch(n){case"style":Nh(e,a,i);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"children":typeof a=="string"?jl(e,a):(typeof a=="number"||typeof a=="bigint")&&jl(e,""+a);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"onClick":a!=null&&(e.onclick=_n);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eh.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),t=n.slice(2,l?n.length-7:void 0),i=e[vt]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,l),typeof a=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,l);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,""):_o(e,n,a)}}}function Ke(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":q("error",e),q("load",e);var a=!1,l=!1,i;for(i in n)if(n.hasOwnProperty(i)){var r=n[i];if(r!=null)switch(i){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,i,r,n,null)}}l&&ie(e,t,"srcSet",n.srcSet,n,null),a&&ie(e,t,"src",n.src,n,null);return;case"input":q("invalid",e);var o=i=r=l=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case"name":l=s;break;case"type":r=s;break;case"checked":u=s;break;case"defaultChecked":c=s;break;case"value":i=s;break;case"defaultValue":o=s;break;case"children":case"dangerouslySetInnerHTML":if(s!=null)throw Error(S(137,t));break;default:ie(e,t,a,s,n,null)}}Mh(e,i,o,u,c,r,l,!1);return;case"select":q("invalid",e),a=r=i=null;for(l in n)if(n.hasOwnProperty(l)&&(o=n[l],o!=null))switch(l){case"value":i=o;break;case"defaultValue":r=o;break;case"multiple":a=o;default:ie(e,t,l,o,n,null)}t=i,n=r,e.multiple=!!a,t!=null?Ll(e,!!a,t,!1):n!=null&&Ll(e,!!a,n,!0);return;case"textarea":q("invalid",e),i=l=a=null;for(r in n)if(n.hasOwnProperty(r)&&(o=n[r],o!=null))switch(r){case"value":a=o;break;case"defaultValue":l=o;break;case"children":i=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(S(91));break;default:ie(e,t,r,o,n,null)}Bh(e,a,l,i);return;case"option":for(u in n)if(n.hasOwnProperty(u)&&(a=n[u],a!=null))switch(u){case"selected":e.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:ie(e,t,u,a,n,null)}return;case"dialog":q("beforetoggle",e),q("toggle",e),q("cancel",e),q("close",e);break;case"iframe":case"object":q("load",e);break;case"video":case"audio":for(a=0;a<gr.length;a++)q(gr[a],e);break;case"image":q("error",e),q("load",e);break;case"details":q("toggle",e);break;case"embed":case"source":case"link":q("error",e),q("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(a=n[c],a!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,c,a,n,null)}return;default:if(vd(t)){for(s in n)n.hasOwnProperty(s)&&(a=n[s],a!==void 0&&nd(e,t,s,a,n,void 0));return}}for(o in n)n.hasOwnProperty(o)&&(a=n[o],a!=null&&ie(e,t,o,a,n,null))}function pw(e,t,n,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,i=null,r=null,o=null,u=null,c=null,s=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":u=f;default:a.hasOwnProperty(m)||ie(e,t,m,null,a,f)}}for(var d in a){var m=a[d];if(f=n[d],a.hasOwnProperty(d)&&(m!=null||f!=null))switch(d){case"type":i=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":s=m;break;case"value":r=m;break;case"defaultValue":o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(S(137,t));break;default:m!==f&&ie(e,t,d,m,a,f)}}Ds(e,r,o,u,c,s,i,l);return;case"select":m=r=o=d=null;for(i in n)if(u=n[i],n.hasOwnProperty(i)&&u!=null)switch(i){case"value":break;case"multiple":m=u;default:a.hasOwnProperty(i)||ie(e,t,i,null,a,u)}for(l in a)if(i=a[l],u=n[l],a.hasOwnProperty(l)&&(i!=null||u!=null))switch(l){case"value":d=i;break;case"defaultValue":o=i;break;case"multiple":r=i;default:i!==u&&ie(e,t,l,i,a,u)}t=o,n=r,a=m,d!=null?Ll(e,!!n,d,!1):!!a!=!!n&&(t!=null?Ll(e,!!n,t,!0):Ll(e,!!n,n?[]:"",!1));return;case"textarea":m=d=null;for(o in n)if(l=n[o],n.hasOwnProperty(o)&&l!=null&&!a.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:ie(e,t,o,null,a,l)}for(r in a)if(l=a[r],i=n[r],a.hasOwnProperty(r)&&(l!=null||i!=null))switch(r){case"value":d=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(S(91));break;default:l!==i&&ie(e,t,r,l,a,i)}_h(e,d,m);return;case"option":for(var v in n)if(d=n[v],n.hasOwnProperty(v)&&d!=null&&!a.hasOwnProperty(v))switch(v){case"selected":e.selected=!1;break;default:ie(e,t,v,null,a,d)}for(u in a)if(d=a[u],m=n[u],a.hasOwnProperty(u)&&d!==m&&(d!=null||m!=null))switch(u){case"selected":e.selected=d&&typeof d!="function"&&typeof d!="symbol";break;default:ie(e,t,u,d,a,m)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var A in n)d=n[A],n.hasOwnProperty(A)&&d!=null&&!a.hasOwnProperty(A)&&ie(e,t,A,null,a,d);for(c in a)if(d=a[c],m=n[c],a.hasOwnProperty(c)&&d!==m&&(d!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(S(137,t));break;default:ie(e,t,c,d,a,m)}return;default:if(vd(t)){for(var b in n)d=n[b],n.hasOwnProperty(b)&&d!==void 0&&!a.hasOwnProperty(b)&&nd(e,t,b,void 0,a,d);for(s in a)d=a[s],m=n[s],!a.hasOwnProperty(s)||d===m||d===void 0&&m===void 0||nd(e,t,s,d,a,m);return}}for(var h in n)d=n[h],n.hasOwnProperty(h)&&d!=null&&!a.hasOwnProperty(h)&&ie(e,t,h,null,a,d);for(f in a)d=a[f],m=n[f],!a.hasOwnProperty(f)||d===m||d==null&&m==null||ie(e,t,f,d,a,m)}function Xm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function yw(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],i=l.transferSize,r=l.initiatorType,o=l.duration;if(i&&o&&Xm(r)){for(r=0,o=l.responseEnd,a+=1;a<n.length;a++){var u=n[a],c=u.startTime;if(c>o)break;var s=u.transferSize,f=u.initiatorType;s&&Xm(f)&&(u=u.responseEnd,r+=s*(u<o?1:(o-c)/(u-c)))}if(--a,t+=8*(i+r)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var ad=null,ld=null;function mu(e){return e.nodeType===9?e:e.ownerDocument}function Qm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Hy(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function id(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var hs=null;function vw(){var e=window.event;return e&&e.type==="popstate"?e===hs?!1:(hs=e,!0):(hs=null,!1)}var zy=typeof setTimeout=="function"?setTimeout:void 0,bw=typeof clearTimeout=="function"?clearTimeout:void 0,Km=typeof Promise=="function"?Promise:void 0,Aw=typeof queueMicrotask=="function"?queueMicrotask:typeof Km<"u"?function(e){return Km.resolve(null).then(e).catch(ww)}:zy;function ww(e){setTimeout(function(){throw e})}function Aa(e){return e==="head"}function Zm(e,t){var n=t,a=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"||n==="/&"){if(a===0){e.removeChild(l),Il(t);return}a--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")a++;else if(n==="html")ar(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,ar(n);for(var i=n.firstChild;i;){var r=i.nextSibling,o=i.nodeName;i[Sr]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&i.rel.toLowerCase()==="stylesheet"||n.removeChild(i),i=r}}else n==="body"&&ar(e.ownerDocument.body);n=l}while(n);Il(t)}function Wm(e,t){var n=e;e=0;do{var a=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=a}while(n)}function rd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":rd(n),yd(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Sw(e,t,n,a){for(;e.nodeType===1;){var l=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(a){if(!e[Sr])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Qt(e.nextSibling),e===null)break}return null}function Cw(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qt(e.nextSibling),e===null))return null;return e}function Uy(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qt(e.nextSibling),e===null))return null;return e}function od(e){return e.data==="$?"||e.data==="$~"}function ud(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Rw(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var a=function(){t(),n.removeEventListener("DOMContentLoaded",a)};n.addEventListener("DOMContentLoaded",a),e._reactRetry=a}}function Qt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var cd=null;function Im(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qt(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Jm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Gy(e,t,n){switch(t=mu(n),e){case"html":if(e=t.documentElement,!e)throw Error(S(452));return e;case"head":if(e=t.head,!e)throw Error(S(453));return e;case"body":if(e=t.body,!e)throw Error(S(454));return e;default:throw Error(S(451))}}function ar(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);yd(e)}var Kt=new Map,$m=new Set;function hu(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Pn=$.d;$.d={f:Tw,r:Ew,D:Dw,C:xw,L:Mw,m:_w,X:Nw,S:Bw,M:Ow};function Tw(){var e=Pn.f(),t=Nu();return e||t}function Ew(e){var t=$l(e);t!==null&&t.tag===5&&t.type==="form"?Np(t):Pn.r(e)}var ai=typeof document>"u"?null:document;function Py(e,t,n){var a=ai;if(a&&typeof t=="string"&&t){var l=jt(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),$m.has(l)||($m.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function Dw(e){Pn.D(e),Py("dns-prefetch",e,null)}function xw(e,t){Pn.C(e,t),Py("preconnect",e,t)}function Mw(e,t,n){Pn.L(e,t,n);var a=ai;if(a&&e&&t){var l='link[rel="preload"][as="'+jt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+jt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+jt(n.imageSizes)+'"]')):l+='[href="'+jt(e)+'"]';var i=l;switch(t){case"style":i=Wl(e);break;case"script":i=li(e)}Kt.has(i)||(e=ve({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Kt.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(xr(i))||t==="script"&&a.querySelector(Mr(i))||(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function _w(e,t){Pn.m(e,t);var n=ai;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+jt(a)+'"][href="'+jt(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=li(e)}if(!Kt.has(i)&&(e=ve({rel:"modulepreload",href:e},t),Kt.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Mr(i)))return}a=n.createElement("link"),Ke(a,"link",e),qe(a),n.head.appendChild(a)}}}function Bw(e,t,n){Pn.S(e,t,n);var a=ai;if(a&&e){var l=kl(a).hoistableStyles,i=Wl(e);t=t||"default";var r=l.get(i);if(!r){var o={loading:0,preload:null};if(r=a.querySelector(xr(i)))o.loading=5;else{e=ve({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Kt.get(i))&&nf(e,n);var u=r=a.createElement("link");qe(u),Ke(u,"link",e),u._p=new Promise(function(c,s){u.onload=c,u.onerror=s}),u.addEventListener("load",function(){o.loading|=1}),u.addEventListener("error",function(){o.loading|=2}),o.loading|=4,qo(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:o},l.set(i,r)}}}function Nw(e,t){Pn.X(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ow(e,t){Pn.M(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0,type:"module"},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function eh(e,t,n,a){var l=(l=ra.current)?hu(l):null;if(!l)throw Error(S(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Wl(n.href),n=kl(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Wl(n.href);var i=kl(l).hoistableStyles,r=i.get(e);if(r||(l=l.ownerDocument||l,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=l.querySelector(xr(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Kt.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Kt.set(e,n),i||kw(l,e,n,r.state))),t&&a===null)throw Error(S(528,""));return r}if(t&&a!==null)throw Error(S(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=li(n),n=kl(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(S(444,e))}}function Wl(e){return'href="'+jt(e)+'"'}function xr(e){return'link[rel="stylesheet"]['+e+"]"}function qy(e){return ve({},e,{"data-precedence":e.precedence,precedence:null})}function kw(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Ke(t,"link",n),qe(t),e.head.appendChild(t))}function li(e){return'[src="'+jt(e)+'"]'}function Mr(e){return"script[async]"+e}function th(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+jt(n.href)+'"]');if(a)return t.instance=a,qe(a),a;var l=ve({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),qe(a),Ke(a,"style",l),qo(a,n.precedence,e),t.instance=a;case"stylesheet":l=Wl(n.href);var i=e.querySelector(xr(l));if(i)return t.state.loading|=4,t.instance=i,qe(i),i;a=qy(n),(l=Kt.get(l))&&nf(a,l),i=(e.ownerDocument||e).createElement("link"),qe(i);var r=i;return r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),t.state.loading|=4,qo(i,n.precedence,e),t.instance=i;case"script":return i=li(n.src),(l=e.querySelector(Mr(i)))?(t.instance=l,qe(l),l):(a=n,(l=Kt.get(i))&&(a=ve({},n),af(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),qe(l),Ke(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(S(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,qo(a,n.precedence,e));return t.instance}function qo(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,r=0;r<a.length;r++){var o=a[r];if(o.dataset.precedence===t)i=o;else if(i!==l)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function nf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function af(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Fo=null;function nh(e,t,n){if(Fo===null){var a=new Map,l=Fo=new Map;l.set(n,a)}else l=Fo,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),l=0;l<n.length;l++){var i=n[l];if(!(i[Sr]||i[Ve]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var r=i.getAttribute(t)||"";r=e+r;var o=a.get(r);o?o.push(i):a.set(r,[i])}}return a}function ah(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function Lw(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Fy(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Hw(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Wl(a.href),i=t.querySelector(xr(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=pu.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,qe(i);return}i=t.ownerDocument||t,a=qy(a),(l=Kt.get(l))&&nf(a,l),i=i.createElement("link"),qe(i);var r=i;r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=pu.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ps=0;function zw(e,t){return e.stylesheets&&e.count===0&&jo(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&ps===0&&(ps=62500*yw());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>ps?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function pu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jo(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var yu=null;function jo(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,yu=new Map,t.forEach(Uw,e),yu=null,pu.call(e))}function Uw(e,t){if(!(t.state.loading&4)){var n=yu.get(e);if(n)var a=n.get(null);else{n=new Map,yu.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<l.length;i++){var r=l[i];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(n.set(r.dataset.precedence,r),a=r)}a&&n.set(null,a)}l=t.instance,r=l.getAttribute("data-precedence"),i=n.get(r)||a,i===a&&n.set(null,l),n.set(r,l),this.count++,a=pu.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),i?i.parentNode.insertBefore(l,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var hr={$$typeof:Mn,Provider:null,Consumer:null,_currentValue:za,_currentValue2:za,_threadCount:0};function Gw(e,t,n,a,l,i,r,o,u){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Fc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fc(0),this.hiddenUpdates=Fc(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=i,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=u,this.incompleteTransitions=new Map}function jy(e,t,n,a,l,i,r,o,u,c,s,f){return e=new Gw(e,t,n,r,u,c,s,f,o),t=1,i===!0&&(t|=24),i=Tt(3,null,null,t),e.current=i,i.stateNode=e,t=Md(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:a,isDehydrated:n,cache:t},Nd(i),e}function Yy(e){return e?(e=_l,e):_l}function Vy(e,t,n,a,l,i){l=Yy(l),a.context===null?a.context=l:a.pendingContext=l,a=ua(t),a.payload={element:n},i=i===void 0?null:i,i!==null&&(a.callback=i),n=ca(e,a,t),n!==null&&(yt(n,e,t),Zi(n,e,t))}function lh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lf(e,t){lh(e,t),(e=e.alternate)&&lh(e,t)}function Xy(e){if(e.tag===13||e.tag===31){var t=Wa(e,67108864);t!==null&&yt(t,e,67108864),lf(e,67108864)}}function ih(e){if(e.tag===13||e.tag===31){var t=_t();t=hd(t);var n=Wa(e,t);n!==null&&yt(n,e,t),lf(e,t)}}var vu=!0;function Pw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=2,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function qw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=8,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function rf(e,t,n,a){if(vu){var l=sd(a);if(l===null)ms(e,t,a,bu,n),rh(e,a);else if(jw(l,e,t,n,a))a.stopPropagation();else if(rh(e,a),t&4&&-1<Fw.indexOf(e)){for(;l!==null;){var i=$l(l);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var r=ka(i.pendingLanes);if(r!==0){var o=i;for(o.pendingLanes|=2,o.entangledLanes|=2;r;){var u=1<<31-Mt(r);o.entanglements[1]|=u,r&=~u}hn(i),(J&6)===0&&(uu=Dt()+500,Dr(0,!1))}}break;case 31:case 13:o=Wa(i,2),o!==null&&yt(o,i,2),Nu(),lf(i,2)}if(i=sd(a),i===null&&ms(e,t,a,bu,n),i===l)break;l=i}l!==null&&a.stopPropagation()}else ms(e,t,a,null,n)}}function sd(e){return e=bd(e),of(e)}var bu=null;function of(e){if(bu=null,e=Rl(e),e!==null){var t=vr(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=fh(t),e!==null)return e;e=null}else if(n===31){if(e=gh(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return bu=e,null}function Qy(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Mb()){case yh:return 2;case vh:return 8;case Ko:case _b:return 32;case bh:return 268435456;default:return 32}default:return 32}}var dd=!1,fa=null,ga=null,ma=null,pr=new Map,yr=new Map,ea=[],Fw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function rh(e,t){switch(e){case"focusin":case"focusout":fa=null;break;case"dragenter":case"dragleave":ga=null;break;case"mouseover":case"mouseout":ma=null;break;case"pointerover":case"pointerout":pr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yr.delete(t.pointerId)}}function Ui(e,t,n,a,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[l]},t!==null&&(t=$l(t),t!==null&&Xy(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function jw(e,t,n,a,l){switch(t){case"focusin":return fa=Ui(fa,e,t,n,a,l),!0;case"dragenter":return ga=Ui(ga,e,t,n,a,l),!0;case"mouseover":return ma=Ui(ma,e,t,n,a,l),!0;case"pointerover":var i=l.pointerId;return pr.set(i,Ui(pr.get(i)||null,e,t,n,a,l)),!0;case"gotpointercapture":return i=l.pointerId,yr.set(i,Ui(yr.get(i)||null,e,t,n,a,l)),!0}return!1}function Ky(e){var t=Rl(e.target);if(t!==null){var n=vr(t);if(n!==null){if(t=n.tag,t===13){if(t=fh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===31){if(t=gh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Yo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=sd(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Ms=a,n.target.dispatchEvent(a),Ms=null}else return t=$l(n),t!==null&&Xy(t),e.blockedOn=n,!1;t.shift()}return!0}function oh(e,t,n){Yo(e)&&n.delete(t)}function Yw(){dd=!1,fa!==null&&Yo(fa)&&(fa=null),ga!==null&&Yo(ga)&&(ga=null),ma!==null&&Yo(ma)&&(ma=null),pr.forEach(oh),yr.forEach(oh)}function xo(e,t){e.blockedOn===t&&(e.blockedOn=null,dd||(dd=!0,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,Yw)))}var Mo=null;function uh(e){Mo!==e&&(Mo=e,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,function(){Mo===e&&(Mo=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],l=e[t+2];if(typeof a!="function"){if(of(a||n)===null)continue;break}var i=$l(n);i!==null&&(e.splice(t,3),t-=3,Vs(i,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function Il(e){function t(u){return xo(u,e)}fa!==null&&xo(fa,e),ga!==null&&xo(ga,e),ma!==null&&xo(ma,e),pr.forEach(t),yr.forEach(t);for(var n=0;n<ea.length;n++){var a=ea[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<ea.length&&(n=ea[0],n.blockedOn===null);)Ky(n),n.blockedOn===null&&ea.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],i=n[a+1],r=l[vt]||null;if(typeof i=="function")r||uh(n);else if(r){var o=null;if(i&&i.hasAttribute("formAction")){if(l=i,r=i[vt]||null)o=r.formAction;else if(of(l)!==null)continue}else o=r.action;typeof o=="function"?n[a+1]=o:(n.splice(a,3),a-=3),uh(n)}}}function Zy(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(r){return l=r})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function uf(e){this._internalRoot=e}Lu.prototype.render=uf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(S(409));var n=t.current,a=_t();Vy(n,a,e,t,null,null)};Lu.prototype.unmount=uf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Vy(e.current,2,null,e,null,null),Nu(),t[Jl]=null}};function Lu(e){this._internalRoot=e}Lu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rh();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ea.length&&t!==0&&t<ea[n].priority;n++);ea.splice(n,0,e),n===0&&Ky(e)}};var ch=sh.version;if(ch!=="19.2.8")throw Error(S(527,ch,"19.2.8"));$.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(S(188)):(e=Object.keys(e).join(","),Error(S(268,e)));return e=Sb(t),e=e!==null?mh(e):null,e=e===null?null:e.stateNode,e};var Vw={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Gi=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Gi.isDisabled&&Gi.supportsFiber))try{br=Gi.inject(Vw),xt=Gi}catch{}var Gi;Hu.createRoot=function(e,t){if(!dh(e))throw Error(S(299));var n=!1,a="",l=Pp,i=qp,r=Fp;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=jy(e,1,!1,null,null,n,a,null,l,i,r,Zy),e[Jl]=t.current,tf(e),new uf(t)};Hu.hydrateRoot=function(e,t,n){if(!dh(e))throw Error(S(299));var a=!1,l="",i=Pp,r=qp,o=Fp,u=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(i=n.onUncaughtError),n.onCaughtError!==void 0&&(r=n.onCaughtError),n.onRecoverableError!==void 0&&(o=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=jy(e,1,!0,t,n??null,a,l,u,i,r,o,Zy),t.context=Yy(null),n=t.current,a=_t(),a=hd(a),l=ua(a),l.callback=null,ca(n,l,a),n=a,t.current.lanes=n,wr(t,n),hn(t),e[Jl]=t.current,tf(e),new Lu(t)};Hu.version="19.2.8"});var $y=un((jS,Jy)=>{"use strict";function Iy(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Iy)}catch(e){console.error(e)}}Iy(),Jy.exports=Wy()});var t0=un(zu=>{"use strict";var Xw=Symbol.for("react.transitional.element"),Qw=Symbol.for("react.fragment");function e0(e,t,n){var a=null;if(n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),"key"in t){n={};for(var l in t)l!=="key"&&(n[l]=t[l])}else n=t;return t=n.ref,{$$typeof:Xw,type:e,key:a,ref:t!==void 0?t:null,props:n}}zu.Fragment=Qw;zu.jsx=e0;zu.jsxs=e0});var O=un((VS,n0)=>{"use strict";n0.exports=t0()});var Lt=B(ft(),1),s1=B($y(),1);var Wv=B(ft(),1);var qn=B(O(),1);function Kw(e){return{under50:"Under $50",over50:"Over $50",over30:"Over $30",over500:"Over $500","50_100":"$50 - $100","100_200":"$100 - $200","200_500":"$200 - $500"}[e]||e}function a0({activeDealTag:e,activeFreeformTags:t,airedaleTags:n,freeformTags:a,discountAmount:l,onBrandSelect:i,onBrandToggle:r,onDiscountAmountChange:o,onPriceRangeChange:u,onTagClear:c,onFreeformTagClear:s,onFreeformTagToggle:f,priceRange:d,selectedBrands:m}){let v=m.map(b=>({type:"brand",value:b,label:b}));if(e){let b=n.find(h=>h.startsWith(e+":::")||h===e);v.push({type:"category",value:e,label:b?b.split(":::")[1]||b.split(":::")[0]:e})}if(t.forEach(b=>{let h=a.find(g=>g.handle===b);v.push({type:"freeform-tag",value:b,label:h?.label||b})}),d&&d!=="all"&&v.push({type:"price",value:d,label:Kw(d)}),l&&l!=="0"&&l!=="all"&&v.push({type:"discount",value:l,label:`Min ${l}% off`}),v.length===0)return null;let A=b=>{b.type==="brand"&&r?.(b.value),b.type==="category"&&c(),b.type==="freeform-tag"&&f(b.value),b.type==="discount"&&o?.("0"),b.type==="price"&&u?.("all")};return(0,qn.jsxs)("div",{className:"tg-df-active-badges-row",style:{display:"flex",flexWrap:"wrap",gap:"4px",alignItems:"center",marginTop:"10px",marginBottom:"16px"},children:[v.map(b=>(0,qn.jsxs)("span",{className:"tg-df-active-badge",children:[b.label,(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-remove","aria-label":`Remove ${b.label}`,onClick:()=>A(b),children:(0,qn.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,qn.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,qn.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},b.type+"-"+b.value)),v.length>1&&(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-clear-all",onClick:()=>{i?.([]),c(),s(),o?.("0"),u?.("all")},children:"Clear all"})]})}function l0(e){if(!e)return null;let t=e.documentname||e.title||"";!t&&e.documentnametext&&(t=Array.isArray(e.documentnametext)?e.documentnametext[0]:e.documentnametext),!t&&e.articlename&&(t=Array.isArray(e.articlename)?e.articlename[0]:e.articlename),!t&&e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&(t=e.articlesocialtitle[0]);let n=e.strapline||e.articlestrapline||e.subtitle||e.dek||"";!n&&e.image_thumbnail&&e.image_thumbnail.dek&&(n=e.image_thumbnail.dek),Array.isArray(n)&&(n=n[0]||"");let a="";if(e.articlepage)try{let l=e.articlepage;if(typeof l=="string")try{l=JSON.parse(l)}catch{}if(Array.isArray(l)&&l.length>0){let i=l[0];if(typeof i=="string")try{i=JSON.parse(i)}catch{}if(Array.isArray(i)){let r=[];for(let o of i){if(o.type==="featured-product")break;if(o.type==="text"&&o.data)Array.isArray(o.data.paragraphs)?o.data.paragraphs.forEach(u=>{u&&r.push(u.startsWith("<")?u:`<p>${u}<\/p>`)}):typeof o.data.text=="string"&&o.data.text&&r.push(o.data.text.startsWith("<")?o.data.text:`<p>${o.data.text}<\/p>`);else if(o.type==="section"&&o.data){let u=o.data.text||o.data.heading||o.data.title||"";u&&r.push(`<div class="tg-df-article-section-banner"><span>${u}<\/span><\/div>`)}}r.length>0&&(a=r.join(""))}}}catch(l){console.error("Error parsing articlepage",l)}return!a&&e.content?a=typeof e.content=="string"?e.content:"":!a&&e.intro?a=typeof e.intro=="string"?e.intro:"":!a&&e.paragraphs&&(a=(Array.isArray(e.paragraphs)?e.paragraphs:[e.paragraphs]).map(i=>`<p>${i}<\/p>`).join("")),{headline:t,strapline:n,contentHtml:a}}var ii=B(O(),1);function i0({articles:e,selectedArticleId:t}){if(!t)return null;let n=e.find(l=>l.id===t);if(!n)return null;let a=l0(n);return!a||!a.headline&&!a.strapline&&!a.contentHtml?null:(0,ii.jsxs)("div",{className:"tg-df-article-intro-container",id:"tg-df-article-intro",style:{margin:"0 auto 32px",width:"100%",maxWidth:"800px",textAlign:"left",padding:"0 16px"},children:[a.headline&&(0,ii.jsx)("h2",{className:"tg-df-article-headline",id:"tg-df-article-headline",style:{fontSize:"1.75rem",fontWeight:800,color:"#0f172a",marginBottom:"1rem",lineHeight:1.25},children:a.headline}),a.strapline&&(0,ii.jsx)("p",{className:"tg-df-article-strapline",id:"tg-df-article-strapline",style:{fontSize:"1.125rem",fontWeight:600,color:"#334155",marginBottom:"1.25rem",lineHeight:1.4},children:a.strapline}),a.contentHtml&&(0,ii.jsx)("div",{className:"tg-df-article-content",id:"tg-df-article-content",dangerouslySetInnerHTML:{__html:a.contentHtml}})]})}var Fn=B(O(),1);function Zw({articles:e,authorHandle:t,authorName:n}){let a=n||e.length>0&&(e[0].articleauthortext?.[0]||e[0].articleauthor?.[0])||"Author";(t==="all-authors"||n==="all-authors"||n==="All authors")&&(a="All authors");let l=a.trim().split(" ")[0]||"Author";return a==="All authors"&&(l="All authors"),`Shop all ${l==="All authors"?"authors'":l.endsWith("'s")||l.endsWith("\u2019s")?l:`${l}'s`} collections`}function Ww(e){let t=[];return e.documentnametext&&t.push(e.documentnametext),e.documentname&&t.push(e.documentname),e.articlename&&t.push(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&t.push(...e.articlesocialtitle),t.length>0?t.reduce((n,a)=>a&&a.length<n.length?a:n,t[0]):"Article"}function r0({articles:e,authorHandle:t,authorName:n,onChange:a,selectedArticleId:l,shortenedHeadlines:i}){return(0,Fn.jsx)("div",{className:"tg-df-top-bar",id:"tg-df-top-bar",style:{position:"relative",zIndex:100,margin:"0 auto 20px",width:"100%",display:"flex",justifyContent:"center"},children:(0,Fn.jsxs)("div",{className:"tg-df-sort-wrapper",style:{width:"auto",maxWidth:"320px",display:"inline-flex",position:"relative"},children:[(0,Fn.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",width:"14px",height:"14px",color:"var(--tg-df-text-muted)",pointerEvents:"none",zIndex:2},children:(0,Fn.jsx)("path",{d:"M12 2l-10 4.5 10 4.5 10-4.5-10-4.5zm0 6.5l-8-3.6 8-3.6 8 3.6-8 3.6zm-10 6l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5zm0 5l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5z"})}),(0,Fn.jsxs)("select",{className:"tg-df-filter-select tg-df-article-select",style:{width:"100%",maxWidth:"320px",padding:"10px 36px 10px 38px",fontSize:"14px",fontWeight:500,borderRadius:"100px",border:"1px solid var(--tg-df-border)",color:"var(--tg-df-text)",backgroundColor:"var(--tg-df-bg-secondary)",appearance:"none",backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E")`,backgroundRepeat:"no-repeat",backgroundPosition:"right 14px center",textAlign:"left",textAlignLast:"left",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",cursor:"pointer"},value:l||"",onChange:r=>a(r.target.value),children:[(0,Fn.jsx)("option",{value:"",style:{textAlign:"left"},children:Zw({articles:e,authorHandle:t,authorName:n})}),e.map(r=>{let o=i?.[r.id]||Ww(r);return o&&o.length>38&&(o=o.substring(0,36)+"\u2026"),(0,Fn.jsx)("option",{value:r.id,style:{textAlign:"left"},children:o},r.id)})]})]})})}var A0=B(ft(),1);function o0(e,t=new Date){if(!e)return"";let n=new Date(e),a=Math.floor((t.getTime()-n.getTime())/1e3);if(a<60)return"Just now";let l=Math.floor(a/60);if(l<60)return`${l} min${l>1?"s":""} ago`;let i=Math.floor(l/60);if(i<24)return`${i} hr${i>1?"s":""} ago`;let r=Math.floor(i/24);if(r<30)return`${r} day${r>1?"s":""} ago`;let o=Math.floor(r/30);if(o<12)return`${o} mo${o>1?"s":""} ago`;let u=Math.floor(r/365);return`${u} yr${u>1?"s":""} ago`}function Iw(e){return e.replace(/<\/p\s*>/gi," ").replace(/<p[^>]*>/gi," ").replace(/<br\s*\/?>/gi," ").replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim()}function _r(e,t,n){let a="";return n==="short"?a=e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"":a=e.articleauthorlongbio&&e.articleauthorlongbio[t]&&e.articleauthorlongbio[t]!=="null"?e.articleauthorlongbio[t]:e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"",a?Iw(a):""}function u0(e,t){return e.articleauthorrole&&e.articleauthorrole[t]&&e.articleauthorrole[t]!=="null"?e.articleauthorrole[t]:""}function c0(e,t){return e.articleauthormedia&&e.articleauthormedia[t]?e.articleauthormedia[t]:""}function ri(e){if(typeof e!="string"||!e.trim())return"";try{let t=new URL(e);if(t.hostname.toLowerCase()!=="cdn.mos.cms.futurecdn.net")return e;let n=/\.(?:jpe?g|png|webp)$/i;return!n.test(t.pathname)||/-\d+-\d+\.(?:jpe?g|png|webp)$/i.test(t.pathname)?e:(t.pathname=t.pathname.replace(n,"-480-80$&"),t.toString())}catch{return e}}function Uu(e,t=0){if(!e||!e.articleauthorsocialnetworks)return[];let n=e.articleauthorsocialnetworks[t];if(n||(n=e.articleauthorsocialnetworks[0]),!n)return[];let a=null;if(typeof n=="string")try{a=JSON.parse(n)}catch{try{a=JSON.parse(n.replace(/\\"/g,'"'))}catch{}}else typeof n=="object"&&n!==null&&(a=n);if(!a||typeof a!="object")return[];let l=[];for(let[i,r]of Object.entries(a)){if(!r)continue;let o="",u="";if(typeof r=="string"?o=r:typeof r=="object"&&r!==null&&(o=r.url||r.address||r.link||"",u=r.address||""),!o&&!u)continue;let c=i.toLowerCase().trim(),s=o||u;c==="email"?s.startsWith("mailto:")||(s=s.includes("@")?`mailto:${s}`:`mailto:${s}`):!s.startsWith("http://")&&!s.startsWith("https://")&&!s.startsWith("//")&&(s=`https://${s}`);let f=c.charAt(0).toUpperCase()+c.slice(1);c==="linkedin"?f="LinkedIn":c==="youtube"?f="YouTube":c==="tiktok"?f="TikTok":c==="twitch"?f="Twitch":c==="steam"?f="Steam":c==="github"?f="GitHub":c==="rss"?f="RSS":(c==="x"||c==="twitter")&&(f="X (Twitter)"),l.push({key:c,href:s,label:f})}return l}function ee(e){if(!e)return"";let t=String(e);for(let n=0;n<3;n+=1){let a=t.replace(/&/gi,"&").replace(/£/g,"\xA3").replace(/£/gi,"\xA3").replace(/$/g,"$").replace(/&dollar;/gi,"$").replace(/€/g,"\u20AC").replace(/€/gi,"\u20AC").replace(/&#(\d+);/g,(l,i)=>String.fromCharCode(Number(i))).replace(/&#x([0-9a-f]+);/gi,(l,i)=>String.fromCharCode(parseInt(i,16)));if(a===t)break;t=a}return t}var Ee=B(O(),1);function cf({authorUrl:e,deal:t}){if(!t.authorName)return null;let n=ee(String(t.authorName)),a=t.authorRole&&!["null","nul","undefined"].includes(String(t.authorRole).toLowerCase())?` \u2022 ${ee(String(t.authorRole))}`:"";return(0,Ee.jsx)("div",{className:"tg-df-author-line-desktop",style:{padding:"0 0 12px 0"},children:(0,Ee.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[t.authorImage&&(0,Ee.jsx)("img",{src:ri(t.authorImage),alt:n,className:"tg-df-author-img",width:"36",height:"36",style:{borderRadius:"50%",objectFit:"cover",flexShrink:0,aspectRatio:"1 / 1",minWidth:"36px",minHeight:"36px"}}),(0,Ee.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,Ee.jsx)("div",{style:{fontSize:"10px",color:"var(--tg-df-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px",fontWeight:600},children:t.isReviewProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Product tested by:"}):t.isBuyingGuideProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Expert review by:"}):t.isFeatured?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:"Top product"})," ","recommended by:"]}):(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:t.merchant})," ","deal recommended by:"]})}),(0,Ee.jsxs)("div",{style:{fontSize:"11px",color:"var(--tg-df-text)",lineHeight:1.2},children:[(0,Ee.jsx)("strong",{children:(0,Ee.jsx)("a",{href:e,target:"_blank",rel:"noopener",style:{textDecoration:"none",color:"inherit",borderBottom:"1px dotted var(--tg-df-text-muted)"},children:n})}),a,t.modifiedDate?(0,Ee.jsxs)("span",{style:{color:"var(--tg-df-text-muted)"},children:[" ","\u2022 ",o0(t.modifiedDate)]}):""]})]})]})})}var K=B(O(),1);function s0({authorUrl:e,deal:t,hideHawkPrices:n,msrpFormatted:a,sourceArticleUrl:l}){let i=ee(String(t.merchant||"")),r=ee(String(t.currency||""));if(t.isBuyingGuideProduct||t.isReviewProduct){let o=!!t.hasCommerceOffer,u=o&&!t.isCheckPrice,c=!!t.hawkPricePending,s=!!t.isReviewProduct&&!c&&!o,f=n&&o&&Array.isArray(t.hawkListings)?t.hawkListings.filter(m=>m?.merchant&&m?.url).slice(0,4):[],d=f.length>0;return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[c?(0,K.jsx)("div",{className:"tg-df-card-price-group","aria-live":"polite",children:(0,K.jsx)("span",{className:"tg-df-card-price",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"Checking live price\u2026"})}):d?(0,K.jsxs)("div",{className:"tg-df-card-listings",children:[(0,K.jsx)("span",{className:"tg-df-card-listings-title",children:"Today's cheapest prices:"}),(0,K.jsx)("div",{className:"tg-df-card-listings-links",children:f.map((m,v)=>{let A=ee(String(m.merchant));return(0,K.jsx)("a",{"aria-label":`View product at ${A}`,className:"tg-df-card-listing-link hawk-affiliate-link-container","data-fcaw-affiliate-link":"","data-merchant":A,"data-merchant-id":m.merchantId||void 0,"data-model-id":m.modelId||void 0,"data-product-key":m.productKey||void 0,href:m.url,rel:"sponsored nofollow noopener",target:"_blank",children:A},`${m.merchant}-${m.url}-${v}`)})})]}):u?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsxs)("div",{className:"tg-df-card-price-group",children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})]}):s?(0,K.jsx)("div",{className:"tg-df-card-price-group",children:(0,K.jsx)("span",{className:"tg-df-card-price tg-df-card-price--unavailable",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"No retail listing found"})}):null,(0,K.jsx)(cf,{authorUrl:e,deal:t}),!d&&(0,K.jsx)("a",{href:o?t.url:l,"data-fcaw-affiliate-link":o?"":void 0,target:"_blank",rel:o?"sponsored nofollow noopener":"noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},children:o?u?"VIEW DEAL":"CHECK PRICE":"READ REVIEW"})]})}return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[!(t.authorName&&!t.isFeatured)&&(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsx)("div",{className:"tg-df-card-price-group",children:t.isCheckPrice?(0,K.jsx)("span",{className:"tg-df-card-price",style:{fontSize:"15px",fontWeight:500,fontStyle:"italic"},children:"See price at retailer"}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})}),(0,K.jsx)(cf,{authorUrl:e,deal:t}),(0,K.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":"",target:"_blank",rel:"sponsored nofollow noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},"data-model-id":t.modelId||void 0,"data-product-key":t.productKey||void 0,"data-merchant-id":t.merchantId||void 0,children:t.isCheckPrice?"CHECK PRICE":t.isFeatured?"SHOP NOW":"VIEW DEAL"})]})}var Ze=B(O(),1);function d0({couponStatus:e,deal:t,onOpenVouchers:n}){let a=!!t.hasCommerceOffer;return(0,Ze.jsxs)("div",{className:"tg-df-card-image-box",children:[t.buyingGuideBadge?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge tg-df-buying-guide-badge",children:t.buyingGuideBadge}):t.savingLabel&&!t.isCheckPrice?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge",children:ee(t.savingLabel)}):null,(0,Ze.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":a?"":void 0,className:a?"hawk-affiliate-link-deal-widget":void 0,target:"_blank",rel:a?"sponsored nofollow noopener":"noopener",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",height:"100%"},children:(0,Ze.jsx)("img",{src:t.image||void 0,alt:ee(String(t.title||"")),className:"tg-df-card-image",loading:"lazy",onError:l=>{t.fallbackImage&&!l.currentTarget.dataset.fb?(l.currentTarget.dataset.fb="1",l.currentTarget.src=t.fallbackImage):l.currentTarget.style.opacity="0"}})}),(0,Ze.jsxs)("div",{className:"tg-df-card-badges",children:[t.isPrime&&(0,Ze.jsxs)("span",{className:"tg-df-tag tg-df-tag-prime",children:[(0,Ze.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ze.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})," ","Prime"]}),!t.merchant?.toLowerCase().includes("amazon")&&(e==="loading"||e==="has")&&(0,Ze.jsx)("div",{className:"tg-df-coupon-wrapper",style:{display:"inline-flex",alignItems:"center"},children:e==="loading"?(0,Ze.jsx)("div",{className:"tg-df-coupon-spinner"}):(0,Ze.jsxs)("button",{type:"button",className:"tg-df-tag tg-df-tag-coupons",onClick:l=>{l.preventDefault(),n(t.merchant)},children:[(0,Ze.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,Ze.jsx)("path",{d:"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"}),(0,Ze.jsx)("line",{x1:"7",y1:"7",x2:"7.01",y2:"7"})]})," ","Coupons"]})})]})]})}var ct=B(O(),1);function f0({label:e="Tom's Guide:",starRating:t,color:n="#1f69ff"}){if(!t||t<=0)return null;let a=Math.floor(t),l=t-a>=.5?1:0,i=Math.max(0,5-a-l),r=[];for(let o=0;o<a;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:n,stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`f${o}`));l&&r.push((0,ct.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"url(#halfGrad)",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,ct.jsx)("defs",{children:(0,ct.jsxs)("linearGradient",{id:"halfGrad",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,ct.jsx)("stop",{offset:"50%",stopColor:n}),(0,ct.jsx)("stop",{offset:"50%",stopColor:"transparent"})]})}),(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})]},"h"));for(let o=0;o<i;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:n,opacity:"0.35",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`e${o}`));return(0,ct.jsxs)("div",{className:"tg-df-card-stars",style:{display:"flex",alignItems:"center",marginBottom:"8px",fontSize:"13px",fontWeight:600,color:"var(--tg-df-text-muted)"},children:[e&&(0,ct.jsx)("span",{style:{marginRight:"6px"},children:e}),(0,ct.jsx)("div",{style:{display:"flex",gap:"2px"},children:r})]})}var At=B(O(),1);function g0({heading:e,items:t}){return t.length===0?null:(0,At.jsxs)("div",{style:{marginBottom:"10px"},children:[(0,At.jsx)("strong",{style:{display:"block",fontSize:"12px",marginBottom:"3px"},children:e}),(0,At.jsx)("ul",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:0,paddingLeft:"18px"},children:t.map(n=>{let a=ee(String(n));return(0,At.jsx)("li",{children:a},n)})})]})}function m0({cons:e=[],expanded:t,fullReviewUrl:n,onToggle:a,pros:l=[],subtitle:i="",truncateSubtitle:r=!1}){let o=l.length>0||e.length>0,u=ee(i);return!u&&!o?null:(0,At.jsxs)("div",{style:{marginBottom:"12px"},children:[u&&(0,At.jsx)("p",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:"0 0 8px",display:!t&&r?"-webkit-box":"block",WebkitLineClamp:!t&&r?3:void 0,WebkitBoxOrient:!t&&r?"vertical":void 0,overflow:!t&&r?"hidden":void 0},children:u}),t&&o&&(0,At.jsxs)("div",{children:[(0,At.jsx)(g0,{heading:"Pros",items:l}),(0,At.jsx)(g0,{heading:"Cons",items:e})]}),(o||r)&&(0,At.jsxs)("div",{className:"tg-df-review-summary-actions",style:{alignItems:"flex-start",display:"flex",flexDirection:"column",gap:t&&n?"4px":0},children:[t&&n&&(0,At.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"tg-df-review-full-link",style:{alignItems:"center",color:"var(--tg-df-blue)",display:"flex",fontSize:"12px",fontWeight:700,minHeight:"40px",paddingRight:"12px",textDecoration:"underline"},children:"Read our full review"}),(0,At.jsx)("button",{type:"button",onClick:c=>{c.preventDefault(),c.stopPropagation(),a()},className:"tg-df-review-summary-toggle",style:{appearance:"none",background:"transparent",border:"none",color:"#000000",cursor:"pointer",fontFamily:"inherit",fontSize:"11px",fontWeight:700,minHeight:"40px",padding:"0 12px 0 0",textTransform:"uppercase"},children:t?"LESS":"READ MORE"})]})]})}var oi=B(ft(),1);var Br=B(O(),1);function h0({text:e,expanded:t,onToggle:n}){let[a,l]=(0,oi.useState)(!1),i=(0,oi.useRef)(null),r=ee(e);return(0,oi.useEffect)(()=>{i.current&&l(i.current.scrollHeight>i.current.clientHeight||i.current.scrollHeight>60)},[r]),r?(0,Br.jsxs)("div",{style:{marginBottom:"12px",position:"relative"},children:[(0,Br.jsx)("p",{ref:i,style:{fontSize:"13px",color:"var(--tg-df-text-muted)",marginBottom:"0",lineHeight:"1.4",display:t?"inline":"-webkit-box",WebkitLineClamp:t?"unset":3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r}),a&&(0,Br.jsx)("button",{type:"button",onClick:o=>{o.preventDefault(),o.stopPropagation(),n()},style:{display:"block",appearance:"none",border:"none",color:"#000000",fontSize:"11px",fontWeight:700,textTransform:"uppercase",cursor:"pointer",fontFamily:"inherit",position:t?"static":"absolute",bottom:"2px",right:0,background:t?"transparent":"linear-gradient(to right, transparent, #fff 20%, #fff)",padding:t?"0":"0 0 0 16px"},children:t?"LESS":"READ MORE"})]}):null}var p0={pcgamer:"#DC191B",space:"#2E4A7F",tomsguide:"#1F69FF",techradar:"#E40784",golfmonthly:"#FFFFFF",androidcentral:"#1CCC3E",cinemablend:"#FFC033",creativebloq:"#DC361A",cyclingnews:"#371B51",cyclingweekly:"#AE1305",decanter:"#1B1B1B",digitalcameraworld:"#CAEBF2",fitandwell:"#BED100",fourfourtwo:"#AE1006",gamesradar:"#DC361A",guitarplayer:"#FFFFFF",guitarworld:"#DC1F26",homesandgardens:"#185A7D",idealhome:"#CAEBF2",imore:"#FFD600",livescience:"#023953",livingetc:"#FFFFFF",loudersound:"#DC0F17",marieclaireus:"#FFFFFF",marieclaireuk:"#FFFFFF",musicradar:"#006EA9",shortlist:"#2853E0",t3:"#DF0A14",theweek:"#DF0A14",theweekjuniorus:"#10A0B0",tomshardware:"#D8373B",wallpaper:"#FFFFFF",whathifi:"#E02928",whowhatwear:"#FFFFFF",windowscentral:"#CE0E5F",womanandhome:"#2F746E"},Nr={tomsguide:"https://proof.vanilla.tools/media/images/brandLogos/tomsguide.png",techradar:"https://proof.vanilla.tools/media/images/brandLogos/techradar.png",tomshardware:"https://proof.vanilla.tools/media/images/brandLogos/tomshardware.png",pcgamer:"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png",gamesradar:"https://proof.vanilla.tools/media/images/brandLogos/gamesradar.png",creativebloq:"https://proof.vanilla.tools/media/images/brandLogos/creativebloq.png",space:"https://proof.vanilla.tools/media/images/brandLogos/space.png",livescience:"https://proof.vanilla.tools/media/images/brandLogos/livescience.png",cinemablend:"https://proof.vanilla.tools/media/images/brandLogos/cinemablend.png",marieclaireus:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireus.png",marieclaireuk:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireuk.png",homesandgardens:"https://proof.vanilla.tools/media/images/brandLogos/homesandgardens.png",whowhatwear:"https://proof.vanilla.tools/media/images/brandLogos/whowhatwear.png",idealhome:"https://proof.vanilla.tools/media/images/brandLogos/idealhome.png",womanandhome:"https://proof.vanilla.tools/media/images/brandLogos/womanandhome.png",livingetc:"https://proof.vanilla.tools/media/images/brandLogos/livingetc.png",t3:"https://proof.vanilla.tools/media/images/brandLogos/t3.png",whathifi:"https://proof.vanilla.tools/media/images/brandLogos/whathifi.png",digitalcameraworld:"https://proof.vanilla.tools/media/images/brandLogos/digitalcameraworld.png",fitandwell:"https://proof.vanilla.tools/media/images/brandLogos/fitandwell.png",golfmonthly:"https://proof.vanilla.tools/media/images/brandLogos/golfmonthly.png",musicradar:"https://proof.vanilla.tools/media/images/brandLogos/musicradar.png",windowscentral:"https://proof.vanilla.tools/media/images/brandLogos/windowscentral.png",cyclingnews:"https://proof.vanilla.tools/media/images/brandLogos/cyclingnews.png",cyclingweekly:"https://proof.vanilla.tools/media/images/brandLogos/cyclingweekly.png",loudersound:"https://proof.vanilla.tools/media/images/brandLogos/loudersound.png",guitarworld:"https://proof.vanilla.tools/media/images/brandLogos/guitarworld.png",guitarplayer:"https://proof.vanilla.tools/media/images/brandLogos/guitarplayer.png",wallpaper:"https://proof.vanilla.tools/media/images/brandLogos/wallpaper.png",fourfourtwo:"https://proof.vanilla.tools/media/images/brandLogos/fourfourtwo.png",shortlist:"https://proof.vanilla.tools/media/images/brandLogos/shortlist.png",advnture:"https://proof.vanilla.tools/media/images/brandLogos/advnture.png",countrylife:"https://proof.vanilla.tools/media/images/brandLogos/countrylife.png",gardeningknowhow:"https://proof.vanilla.tools/media/images/brandLogos/gardeningknowhow.png",gnomesingardens:"https://proof.vanilla.tools/media/images/brandLogos/gnomesingardens.png",kiplinger:"https://proof.vanilla.tools/media/images/brandLogos/kiplinger.png",moneyweek:"https://proof.vanilla.tools/media/images/brandLogos/moneyweek.png",toptenreviews:"https://proof.vanilla.tools/media/images/brandLogos/toptenreviews.png"},Gu={tomsguide:"Tom's Guide",techradar:"TechRadar",tomshardware:"Tom's Hardware",pcgamer:"PC Gamer",gamesradar:"GamesRadar+",creativebloq:"Creative Bloq",space:"Space",livescience:"Live Science",cinemablend:"CinemaBlend",marieclaireus:"Marie Claire US",marieclaireuk:"Marie Claire UK",homesandgardens:"Homes & Gardens",whowhatwear:"Who What Wear",idealhome:"Ideal Home",womanandhome:"Woman & Home",livingetc:"Living Etc",t3:"T3",whathifi:"What Hi-Fi?",digitalcameraworld:"Digital Camera World",fitandwell:"Fit & Well",golfmonthly:"Golf Monthly",musicradar:"MusicRadar",androidcentral:"Android Central",imore:"iMore",windowscentral:"Windows Central",cyclingnews:"Cycling News",cyclingweekly:"Cycling Weekly",loudersound:"Louder Sound",guitarworld:"Guitar World",guitarplayer:"Guitar Player",theweek:"The Week",theweekjuniorus:"The Week Junior US",wallpaper:"Wallpaper",decanter:"Decanter",fourfourtwo:"FourFourTwo",shortlist:"ShortList",advnture:"Advnture",countrylife:"Country Life",gardeningknowhow:"Gardening Know How",gnomesingardens:"Gnomes in Gardens",kiplinger:"Kiplinger",moneyweek:"Money Week",toptenreviews:"Top 10 Reviews"},y0={pcgamer:[{key:"steam",href:"https://steamcommunity.com/groups/pcgamer",label:"PC Gamer on Steam"},{key:"x",href:"https://twitter.com/pcgamer",label:"PC Gamer on X"},{key:"facebook",href:"https://www.facebook.com/pcgamermagazine",label:"PC Gamer on Facebook"},{key:"instagram",href:"https://www.instagram.com/pcgamer_mag/?hl=en",label:"PC Gamer on Instagram"},{key:"youtube",href:"https://www.youtube.com/user/pcgamer",label:"PC Gamer on YouTube"},{key:"twitch",href:"https://www.twitch.tv/pcgamer",label:"PC Gamer on Twitch"},{key:"tiktok",href:"https://www.tiktok.com/@pcgamer_mag?lang=en",label:"PC Gamer on TikTok"}],homesandgardens:[{key:"instagram",href:"https://www.instagram.com/homesandgardensofficial",label:"Homes & Gardens on Instagram"},{key:"facebook",href:"https://www.facebook.com/homesandgardens/",label:"Homes & Gardens on Facebook"},{key:"x",href:"https://x.com/homesandgardens",label:"Homes & Gardens on X"},{key:"tiktok",href:"https://www.tiktok.com/@homesandgardensofficial",label:"Homes & Gardens on TikTok"},{key:"pinterest",href:"https://pinterest.com/homesgardensofficial/",label:"Homes & Gardens on Pinterest"}],whowhatwear:[{key:"x",href:"https://twitter.com/WhoWhatWear",label:"Who What Wear on X"},{key:"instagram",href:"https://www.instagram.com/whowhatwear/",label:"Who What Wear on Instagram"},{key:"facebook",href:"https://www.facebook.com/WhoWhatWear/",label:"Who What Wear on Facebook"},{key:"pinterest",href:"https://www.pinterest.co.uk/whowhatwearuk/",label:"Who What Wear on Pinterest"},{key:"tiktok",href:"https://www.tiktok.com/@whowhatwear.uk",label:"Who What Wear on TikTok"}]};var Ot=B(O(),1);function v0(e){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").trim().toLowerCase()}function Jw(e){let t=ee(String(e.brand||"")).trim(),n=ee(String(e.productName||e.title||"")).trim(),a=v0(t),l=v0(n);return a.length>0&&l.startsWith(a)&&!/^[a-z0-9]/.test(l.slice(a.length))||!t?n:`${t} ${n}`.trim()}function b0({couponStatus:e,deal:t,editorMode:n,hideHawkPrices:a,isDescriptionExpanded:l,isSelected:i,onDescriptionToggle:r,onOpenVouchers:o,onSelectionChange:u,website:c}){let s=ee(String(t.currency||"")),f=t.rawMsrp?s+t.rawMsrp:null,d=Jw(t),m=ee(String(t.title||"")),v=Gu[c||"tomsguide"]||c||"Tom's Guide",A=(c||"tomsguide").includes(".")?(c||"").startsWith("http")?c:`https://${c}`:`https://www.${c||"tomsguide"}.com`,b=(t.documentUrl||"").replace(/^\/+/,""),h=b.startsWith("http://")||b.startsWith("https://")?b:`${A}/${b}`,g=String(t.sourceArticleUrl||t.documentUrl||t.url||"").replace(/^\/+/,""),p=g.startsWith("http://")||g.startsWith("https://")?g:`${A}/${g}`,y=!!t.hasCommerceOffer;return(0,Ot.jsxs)("div",{className:"tg-df-card","data-brand":t.modelBrand||t.brand||void 0,"data-currency":t.isoCurrencyCode||s||void 0,"data-deal-id":t.externalProductId||t.id||void 0,"data-merchant":t.merchant||void 0,"data-merchant-id":t.merchantId||void 0,"data-model-id":t.modelId||void 0,"data-previous-price":t.rawMsrp||void 0,"data-price":t.rawPrice||void 0,"data-product-key":t.productKey||void 0,"data-product-name":t.productName||t.title||void 0,"data-review-product":t.isReviewProduct?"true":void 0,"data-source-article-url":t.isReviewProduct?p:void 0,children:[n&&(0,Ot.jsx)("input",{type:"checkbox",className:"tg-df-deal-checkbox",checked:i,onChange:C=>u(C.target.checked)}),(0,Ot.jsx)(d0,{couponStatus:e,deal:t,onOpenVouchers:o}),(0,Ot.jsxs)("div",{className:"tg-df-card-body",children:[(0,Ot.jsx)("h3",{className:"tg-df-card-title",title:m,children:(0,Ot.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":y?"":void 0,className:y?"hawk-affiliate-link-container":void 0,target:"_blank",rel:y?"sponsored nofollow noopener":"noopener",style:{textDecoration:"none",color:"inherit"},children:(0,Ot.jsx)("strong",{children:d})})}),(0,Ot.jsx)(f0,{label:t.isBuyingGuideProduct?"":`${v} rating:`,starRating:t.starRating,color:t.isReviewProduct?"var(--tg-df-blue)":void 0}),t.isBuyingGuideProduct||t.isReviewProduct?(0,Ot.jsx)(m0,{cons:t.cons,expanded:l,fullReviewUrl:t.isReviewProduct&&g?p:void 0,onToggle:r,pros:t.pros,subtitle:t.isReviewProduct?t.description:t.subtitle,truncateSubtitle:t.isReviewProduct}):t.description?(0,Ot.jsx)(h0,{text:t.description,expanded:l,onToggle:r}):null,(0,Ot.jsx)(s0,{authorUrl:h,deal:t,hideHawkPrices:a,msrpFormatted:f,sourceArticleUrl:p})]})]})}var ce=B(O(),1);function $w({activeDealTag:e,activeFreeformTags:t=[],query:n,selectedBrands:a=[]}){let l=o=>{let u=String(o||"").trim();return u&&u.toLowerCase()!=="everything"?u:""},r=(t.length>0?t:e?[e]:a.length>0?a:[n]).map(l).filter(Boolean).map(o=>o.replace(/\s+deals?$/i,"").trim()).filter((o,u,c)=>c.findIndex(s=>s.toLowerCase()===o.toLowerCase())===u);return r.length<=1?r[0]||"":`${r.slice(0,-1).join(", ")} or ${r.at(-1)}`}function e2(){return(0,ce.jsx)(ce.Fragment,{children:Array.from({length:6}).map((e,t)=>(0,ce.jsxs)("div",{className:"tg-df-card",children:[(0,ce.jsx)("div",{className:"tg-df-card-image-box tg-df-skeleton"}),(0,ce.jsxs)("div",{className:"tg-df-card-body",children:[(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short",style:{marginBottom:"24px"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title",style:{width:"80%"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short"}),(0,ce.jsx)("div",{className:"tg-df-card-cta tg-df-skeleton",style:{width:"100%",height:"40px",marginTop:"auto",border:"none"}})]})]},t))})}function t2(e,t){return{"@context":"https://schema.org","@type":"ItemList",itemListElement:e.slice(0,t).map((n,a)=>{let l="USD";return n.currency==="\xA3"?l="GBP":n.currency==="\u20AC"?l="EUR":n.currency==="A$"?l="AUD":n.currency==="CA$"&&(l="CAD"),{"@type":"ListItem",position:a+1,item:{"@type":"Product",name:n.title,image:n.image||"",description:n.description||"",brand:{"@type":"Brand",name:n.brand||""},offers:{"@type":"Offer",priceCurrency:l,price:n.rawPrice||0,url:n.url||"",seller:{"@type":"Organization",name:n.merchant||""}}}}}).filter(n=>n.item.name)}}function w0({activeDealTag:e,activeFreeformTags:t,couponMap:n,deals:a,displayCount:l,editorMode:i,error:r,expandedDealIds:o,hasMore:u,hideHawkPrices:c,loading:s,loadingMore:f,loadMoreStartCount:d,onDescriptionToggle:m,onLoadMore:v,onOpenVouchers:A,query:b,recentDealsOnly:h,selectedBrands:g,selectedDeals:p,setSelectedDeals:y,website:C}){let R=$w({activeDealTag:e,activeFreeformTags:t,query:b,selectedBrands:g}),T=f&&d!=null?d:l,M=!f&&d!=null&&d<T?d:null,w=D=>D.map(k=>(0,ce.jsx)(A0.default.Fragment,{children:(0,ce.jsx)(b0,{couponStatus:n[k.merchant],deal:k,editorMode:i,hideHawkPrices:c,isDescriptionExpanded:o.has(k.id),isSelected:p.has(k.id),onDescriptionToggle:()=>m(k.id),onOpenVouchers:A,onSelectionChange:se=>{let I=new Map(p);se?I.set(k.id,k):I.delete(k.id),y(I)},website:C})},k.id));return(0,ce.jsx)("div",{className:"tg-df-grid-wrapper",children:(0,ce.jsx)("div",{className:"tg-df-grid article-body tg-df-grid-auto",id:"tg-df-grid",children:s?(0,ce.jsx)(e2,{}):r?(0,ce.jsx)("div",{className:"tg-df-message",children:"Failed to load deals. Please try again."}):a.length===0?(0,ce.jsx)("div",{className:"tg-df-message",children:h?`No ${R?`${R} `:""}deals found from the last 30 days.`:!b||b.length<=2||b.toLowerCase()==="everything"?"No deals found for this author.":`No savings squad match your search for "${b}".`}):(0,ce.jsxs)(ce.Fragment,{children:[w(a.slice(0,M??T)),M!=null&&(0,ce.jsx)("div",{"aria-live":"polite",className:"tg-df-load-more-boundary",style:{alignItems:"center",color:"var(--tg-df-text-muted)",display:"flex",fontSize:"13px",fontWeight:600,gridColumn:"1 / -1",justifyContent:"center",marginTop:"16px",minHeight:"40px",overflowAnchor:"none"},children:"More products"}),M!=null&&w(a.slice(M,T)),u&&(0,ce.jsx)("div",{className:"tg-df-load-more-control",style:{width:"100%",display:"flex",justifyContent:"center",marginTop:"16px",gridColumn:"1 / -1",overflowAnchor:"none"},children:(0,ce.jsx)("button",{type:"button",className:"tg-df-tag-outline",style:{padding:"8px 24px",borderRadius:"100px",fontWeight:600,fontSize:"14px",cursor:"pointer"},"aria-busy":f,disabled:f,onClick:D=>{D.preventDefault(),D.stopPropagation(),v()},children:f?"Loading more products\u2026":"Load More"})}),a.length>0&&(0,ce.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t2(a,T))}})]})})})}var S0=B(O(),1);var pn=B(ft(),1),nn=B(O(),1);function Pu({onScrollLeft:e,onScrollRight:t,showLeft:n,showRight:a}){return(0,nn.jsxs)(nn.Fragment,{children:[(0,nn.jsx)("button",{"aria-label":"Scroll left",className:"tg-df-scroll-btn left tg-df-desktop-only",onClick:e,style:{display:n?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,nn.jsx)("button",{"aria-label":"Scroll right",className:"tg-df-scroll-btn right tg-df-desktop-only",onClick:t,style:{display:a?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})}function qu(e){let t=(0,pn.useRef)(null),[n,a]=(0,pn.useState)(!1),[l,i]=(0,pn.useState)(!1),r=(0,pn.useCallback)(()=>{let u=t.current;u&&(a(u.scrollLeft>1),i(Math.ceil(u.scrollLeft+u.clientWidth)<u.scrollWidth-1))},[]);(0,pn.useLayoutEffect)(()=>{let u=t.current;if(!u)return;r();let c=requestAnimationFrame(r),s=typeof ResizeObserver>"u"?null:new ResizeObserver(r);return s?.observe(u),()=>{cancelAnimationFrame(c),s?.disconnect()}},[e,r]);let o=(0,pn.useCallback)(u=>{t.current?.scrollBy({left:u,behavior:"smooth"})},[]);return{onScroll:r,railRef:t,scrollLeft:()=>o(-240),scrollRight:()=>o(240),showLeft:n,showRight:l}}var jn=B(O(),1);function ui({containerClassName:e,itemClassName:t,items:n,loading:a,loadingKey:l,onItemClick:i,rowClassName:r,showCounters:o}){let u=qu(n.length);return n.length===0&&!a?null:(0,jn.jsxs)("div",{className:e,style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[n.length>0&&(0,jn.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,jn.jsx)("div",{className:r,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none"},onScroll:u.onScroll,children:n.length>0?n.map(c=>(0,jn.jsxs)("button",{className:t,onClick:()=>i(c.key),style:{border:"none",borderRight:"1px solid var(--tg-df-border)",padding:"12px 20px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"1px",cursor:"pointer",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:"6px",...t==="tg-df-brand-row-item"?{transition:"all 0.2s ease"}:{},background:c.selected?"var(--tg-df-bg-secondary)":"var(--tg-df-bg)",color:c.selected?"var(--tg-df-text-primary)":"var(--tg-df-text-muted)",fontWeight:c.selected?600:500},children:[c.label," ",l===c.key&&(0,jn.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading",style:{borderWidth:"2px",height:"12px",width:"12px"}}),o!==!1&&(0,jn.jsx)("span",{style:{color:"var(--tg-df-blue)",fontSize:"10px",...t==="tg-df-brand-row-item"?{fontWeight:400}:{}},children:c.count})]},c.key)):[1,2,3,4,5].map(c=>(0,jn.jsx)("div",{className:"tg-df-skeleton",style:{height:"36px",width:"80px",borderRadius:"18px",flexShrink:0,margin:"8px 12px"}},`${r}-skeleton-${c}`))})]})}var R0=B(O(),1);function C0({airedaleBrands:e,brands:t,loading:n,refreshing:a,onBrandToggle:l,selectedBrands:i,showAuthorCounters:r}){let o=e.length>0?e:t||[],u=o.slice(0,15).map(c=>({count:c.count||0,key:c.formatted_value,label:c.formatted_value,selected:i?.includes(c.formatted_value)||!1}));return(0,R0.jsx)(ui,{containerClassName:"tg-df-brands-row-container",itemClassName:"tg-df-brand-row-item",items:u,loading:n&&o.length===0,loadingKey:a?i?.[0]:null,onItemClick:c=>l?.(c),rowClassName:"tg-df-brands-row",showCounters:r})}var E0=B(O(),1);function T0({activeDealTag:e,airedaleTagCounts:t,airedaleTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>{let c=u.split(":::"),s=c[0];return{count:t[u]||0,key:s,label:c[1]||u,selected:e===s}});return(0,E0.jsx)(ui,{containerClassName:"tg-df-categories-row-container",itemClassName:"tg-df-category-row-item",items:o,loading:a&&n.length===0,loadingKey:l?e:null,onItemClick:i,rowClassName:"tg-df-categories-row",showCounters:r})}var x0=B(O(),1);function D0({activeFreeformTags:e,freeformTagCounts:t,freeformTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>({count:t[u.handle]||0,key:u.handle,label:u.label,selected:e.includes(u.handle)}));return(0,x0.jsx)(ui,{containerClassName:"tg-df-freeform-tags-row-container",itemClassName:"tg-df-freeform-tag-row-item",items:o,loading:a&&n.length===0,loadingKey:l&&e.at(-1)||null,onItemClick:i,rowClassName:"tg-df-freeform-tags-row",showCounters:r})}var _e=B(O(),1),n2=4;function M0({authors:e,clickedAuthorOverride:t,loading:n,refreshing:a,onAuthorClick:l,overriddenAuthorHandle:i,overriddenAuthorName:r,website:o}){let u=qu(e.length);return e.length===0&&!n?null:(0,_e.jsxs)("div",{className:"tg-df-authors-row-container",style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[e.length>0&&(0,_e.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,_e.jsx)("div",{className:"tg-df-authors-row tg-df-mobile-authors",onScroll:u.onScroll,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",gap:"24px",padding:"4px 16px 2px 16px",alignItems:"flex-start"},children:e.length>0?e.map((c,s)=>{let f=Nr[c.brandKey]||Nr[o||"tomsguide"],d=t&&(i===c.handle||r===c.fullName);return(0,_e.jsxs)("div",{className:"tg-df-author-row-item",onClick:()=>l(c),style:{cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px",opacity:t?d?1:.4:1},children:[(0,_e.jsxs)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px",borderRadius:"50%",boxShadow:d?"0 0 0 3px var(--tg-df-blue, #1F69FF)":"none"},children:[(0,_e.jsx)("img",{src:ri(c.image),alt:c.fullName,decoding:"async",loading:s<n2?"eager":"lazy",style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover",filter:t&&!d?"grayscale(100%)":"none"}}),d&&(0,_e.jsx)("span",{"aria-label":`Clear ${c.fullName} selection`,className:"tg-df-author-clear-badge",title:"Click again to clear selection",style:{alignItems:"center",backgroundColor:"#dc2626",border:"2px solid var(--tg-df-bg, #fff)",borderRadius:"50%",boxShadow:"0 1px 3px rgb(0 0 0 / 25%)",color:"#fff",display:"flex",fontSize:"15px",fontWeight:700,height:"20px",justifyContent:"center",lineHeight:1,position:"absolute",right:"-5px",top:"-5px",width:"20px",zIndex:1},children:(0,_e.jsx)("span",{"aria-hidden":"true",style:{display:"block",transform:"translateY(-1px)"},children:"\xD7"})}),f&&(0,_e.jsx)("img",{src:f,alt:"",className:"tg-df-author-brand-logo",decoding:"async",loading:"lazy",style:{position:"absolute",bottom:"-4px",right:"-4px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid var(--tg-df-bg, #fff)",backgroundColor:"#000",objectFit:"contain",filter:t&&!d?"grayscale(100%)":"none"}})]}),(0,_e.jsxs)("div",{style:{textAlign:"center"},children:[(0,_e.jsxs)("div",{className:"tg-df-author-row-name",style:{fontSize:"13px",fontWeight:700,color:"var(--tg-df-text)",lineHeight:"1.2"},children:[c.name,a&&d&&(0,_e.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading author products",style:{borderWidth:"2px",display:"inline-block",height:"11px",marginLeft:"4px",width:"11px"}})]}),c.role&&(0,_e.jsx)("div",{className:"tg-df-author-row-role",style:{fontSize:"11px",color:"var(--tg-df-text-muted)",lineHeight:"1.2",marginTop:"2px",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word"},children:c.role})]})]},c.handle)}):[1,2,3,4].map(c=>(0,_e.jsxs)("div",{className:"tg-df-author-row-item",style:{display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px"},children:[(0,_e.jsx)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px"},children:(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),(0,_e.jsxs)("div",{style:{textAlign:"center",width:"100%"},children:[(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"12px",width:"80%",margin:"0 auto 4px auto",borderRadius:"2px"}}),(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"10px",width:"60%",margin:"0 auto",borderRadius:"2px"}})]})]},`author-skeleton-${c}`))})]})}var Ja=B(O(),1);function _0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,freeformTagCounts:i,freeformTags:r,allAuthorsList:o,brands:u,clickedAuthorOverride:c,loading:s,refreshing:f,onAuthorClick:d,onBrandToggle:m,onTagClick:v,onFreeformTagClick:A,overriddenAuthorHandle:b,overriddenAuthorName:h,selectedBrands:g,showAuthorRail:p,showAuthorCounters:y,showBrandRail:C,showCategoryRail:R,showFreeformTagRail:T,website:M}){let w=R!==!1&&l.length>0||T!==!1&&r.length>0||C!==!1&&(n.length>0||!!u?.length)||p&&o.length>0;return!(p||R!==!1||T!==!1||C!==!1)||!w&&!s?null:(0,Ja.jsxs)("div",{id:"tg-df-spreadsheet-filters",style:{display:"block",marginBottom:"16px"},children:[p&&(0,Ja.jsx)(M0,{authors:o,clickedAuthorOverride:c,loading:s&&o.length===0,refreshing:f,onAuthorClick:d,overriddenAuthorHandle:b,overriddenAuthorName:h,website:M}),R!==!1&&(0,Ja.jsx)(T0,{activeDealTag:e,airedaleTagCounts:a,airedaleTags:l,loading:s,refreshing:f,onTagClick:v,showAuthorCounters:y}),T!==!1&&(0,Ja.jsx)(D0,{activeFreeformTags:t,freeformTagCounts:i,freeformTags:r,loading:s,refreshing:f,onTagClick:A,showAuthorCounters:y}),C!==!1&&(0,Ja.jsx)(C0,{airedaleBrands:n,brands:u,loading:s,refreshing:f,onBrandToggle:m,selectedBrands:g,showAuthorCounters:y})]})}var O0=B(ft(),1);var B0=[{value:"date_desc",label:"Most recent"},{value:"rating_desc",label:"Highest rating"},{value:"scored_first",label:"Scored products first"}];function Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}){return!!(a&&e!==!0&&t===!1&&n===!1)}function Fu({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a,lightweightReviewDelivery:l,showPriceDiscountFilters:i,showReviewSort:r}){return!!(l&&i===!1&&r===!1&&Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}))}function ju(e=!0){return e?B0:B0.filter(t=>t.value!=="scored_first")}function wa(e,t=!0){return!t&&e==="scored_first"?"date_desc":e||"date_desc"}var H=B(O(),1),N0=[{value:"all",label:"All Prices",shortLabel:""},{value:"under50",label:"Under $50",shortLabel:"< $50"},{value:"50_100",label:"$50 - $100",shortLabel:"$50-$100"},{value:"100_200",label:"$100 - $200",shortLabel:"$100-$200"},{value:"200_500",label:"$200 - $500",shortLabel:"$200-$500"},{value:"over500",label:"Over $500",shortLabel:"> $500"}],a2=[{value:"0",label:"Any discount"},...[5,10,15,20,25,30,40,50,60,70].map(e=>({value:String(e),label:`Min ${e}% off`}))];function l2({open:e}){return(0,H.jsx)("svg",{"aria-hidden":"true",className:e?"is-open":void 0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("path",{d:"m6 9 6 6 6-6"})})}function Yn(){return(0,H.jsx)("svg",{"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function k0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,brands:i,discountAmount:r,enabled:o,freeformTagCounts:u,freeformTags:c,includeScoredFirst:s,onBrandSelect:f,onBrandToggle:d,onDiscountAmountChange:m,onFreeformTagClear:v,onFreeformTagToggle:A,onPriceRangeChange:b,onReviewSortChange:h,onTagClear:g,onTagClick:p,priceRange:y,reviewSort:C,selectedBrands:R,showCounters:T,showBrandRail:M,showCategoryRail:w,showFreeformTagRail:D,showPriceDiscountFilters:k,showReviewSort:se}){let[I,j]=(0,O0.useState)(null);if(!o)return null;let He=l.map(x=>{let P=x.split(":::");return{count:a[x]||0,handle:P[0],label:P[1]||x}}),ze=n.length>0?n:i||[],St=He.find(x=>x.handle===e),Ie=y||"all",rn=!r||r==="all"?"0":r,Be=N0.find(x=>x.value===Ie),Je=k!==!1,nt=wa(C,s),X=ju(s),de=nt==="rating_desc"?"Highest rating":nt==="scored_first"?"Scored first":"Most recent",$e=x=>{j(P=>P===x?null:x)},Z=[];return w!==!1&&Z.push({active:!!e,label:`CATEGORIES${St?` (${St.label})`:""}`,menu:"categories"}),D!==!1&&Z.push({active:t.length>0,label:`KEYWORDS${t.length>0?` (${t.length})`:""}`,menu:"keywords"}),M!==!1&&Z.push({active:R.length>0,label:`BRANDS${R.length>0?` (${R.length})`:""}`,menu:"brands"}),Je&&Z.push({active:Ie!=="all",label:`PRICES${Be?.shortLabel?` (${Be.shortLabel})`:""}`,menu:"prices"}),(Je||se)&&Z.push({active:se?nt!=="date_desc":rn!=="0",label:se?`SORT REVIEWS (${de})`:`DISCOUNTS${rn!=="0"?` (${rn}%+)`:""}`,menu:se?"review-sort":"discounts"}),(0,H.jsxs)("div",{className:"tg-df-mobile-2x2-container",children:[(0,H.jsx)("div",{className:`tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--${Z.length%2===0?"even":"odd"}`,children:Z.map(x=>(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-grid-cell${x.active?" has-active-filter":""}${I===x.menu?" active":""}`,"aria-expanded":I===x.menu,onClick:()=>$e(x.menu),children:[(0,H.jsx)("span",{children:x.label}),(0,H.jsx)(l2,{open:I===x.menu})]},x.menu))}),w!==!1&&I==="categories"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${e?"":" selected"}`,onClick:()=>{g(),j(null)},children:[(0,H.jsx)("span",{children:"All Categories"}),!e&&(0,H.jsx)(Yn,{})]}),He.map(x=>{let P=e===x.handle;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{p(x.handle),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},x.handle)})]}),M!==!1&&I==="brands"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${R.length===0?" selected":""}`,onClick:()=>f?.([]),children:[(0,H.jsx)("span",{children:"All Brands"}),R.length===0&&(0,H.jsx)(Yn,{})]}),ze.map(x=>{let P=x.formatted_value,Q=R.includes(P);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${Q?" selected":""}`,onClick:()=>d?.(P),children:[(0,H.jsx)("span",{children:P}),Q?(0,H.jsx)(Yn,{}):T!==!1&&x.count?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},P)})]}),D!==!1&&I==="keywords"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${t.length===0?" selected":""}`,onClick:()=>{v(),j(null)},children:[(0,H.jsx)("span",{children:"All Keywords"}),t.length===0&&(0,H.jsx)(Yn,{})]}),c.map(x=>{let P=t.includes(x.handle);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>A(x.handle),children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1&&u[x.handle]?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:u[x.handle]}):null]},x.handle)})]}),I==="prices"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:N0.map(x=>{let P=Ie===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{b?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="discounts"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:a2.map(x=>{let P=rn===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{m?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="review-sort"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:X.map(x=>{let P=nt===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{h?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})})]})}var $a=B(ft(),1);var W=B(O(),1);function L0({airedaleBrands:e,airedaleTags:t,discountAmount:n,hidden:a,includeScoredFirst:l,onDiscountAmountChange:i,onPriceRangeChange:r,onReviewSortChange:o,priceRange:u,reviewSort:c,showReviewSort:s,showPriceDiscountFilters:f}){let d=(0,$a.useRef)(null),[m,v]=(0,$a.useState)(!1),[A,b]=(0,$a.useState)(!1),h=ju(l),g=wa(c,l),p=()=>{if(!d.current)return;let{scrollLeft:y,scrollWidth:C,clientWidth:R}=d.current;v(y>0),b(Math.ceil(y+R)<C-5)};return(0,$a.useEffect)(()=>(p(),window.addEventListener("resize",p),setTimeout(p,100),setTimeout(()=>{document.querySelector(".tg-df-categories-row")?.dispatchEvent(new Event("scroll")),document.querySelector(".tg-df-brands-row")?.dispatchEvent(new Event("scroll"))},150),()=>window.removeEventListener("resize",p)),[t,e]),(0,W.jsx)("div",{className:"tg-df-controls",id:"tg-df-controls",style:{display:a?"none":"flex",marginTop:"12px",marginBottom:"16px",justifyContent:"center"},children:(0,W.jsxs)("div",{className:"tg-df-filters-container",style:{position:"relative",width:"100%",maxWidth:"800px",margin:"0 auto"},children:[(0,W.jsx)("button",{className:"tg-df-scroll-btn left",style:{display:m?"flex":"none"},onClick:()=>d.current?.scrollBy({left:-200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,W.jsx)("button",{className:"tg-df-scroll-btn right",style:{display:A?"flex":"none"},onClick:()=>d.current?.scrollBy({left:200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M9 18l6-6-6-6"})})}),(0,W.jsxs)("div",{className:"tg-df-filters",ref:d,onScroll:p,children:[(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-legacy-price-wrapper",style:{display:f!==!1?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-price-filter","aria-label":"Filter Prices",value:u||"all",onChange:y=>r?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"All Prices"}),(0,W.jsx)("option",{value:"under50",children:"Under $50"}),(0,W.jsx)("option",{value:"50_100",children:"$50 - $100"}),(0,W.jsx)("option",{value:"100_200",children:"$100 - $200"}),(0,W.jsx)("option",{value:"200_500",children:"$200 - $500"}),(0,W.jsx)("option",{value:"over500",children:"Over $500"})]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-discount-filter-wrapper",style:{display:f!==!1&&!s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-discount-filter","aria-label":"Discount Amount",value:n||"all",onChange:y=>i?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"Any discount"}),[5,10,15,20,25,30,40,50,60,70].map(y=>(0,W.jsxs)("option",{value:y,children:["Min ",y,"%"]},y))]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-review-sort-wrapper",style:{display:s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M4 7h16M7 12h10m-7 5h4"})}),(0,W.jsx)("select",{className:"tg-df-filter-select",id:"tg-df-review-sort","aria-label":"Sort Reviews",value:g,onChange:y=>o?.(y.target.value),children:h.map(y=>(0,W.jsx)("option",{value:y.value,children:y.label},y.value))})]})]})]})})}var be=B(ft(),1);function kr(e,t){return e.filter(n=>{let a=n.handle.toLowerCase(),l=n.fullName.toLowerCase(),i=n.name.toLowerCase();return t.some(r=>{let o=r.articleauthorhandle||[],u=r.articleauthor||[],c=r.articleauthortext||[];return[...o,...u,...c].some(s=>{let f=String(s||"").toLowerCase();return f===a||f===l||f===i})})})}function Yu(e,t){return e.map((n,a)=>({index:a,profile:n,productCount:t[n.handle]||0})).sort((n,a)=>a.productCount-n.productCount||n.index-a.index).map(({profile:n})=>n)}function Vu(e,t){return e==="all-authors"||t==="all-authors"||t==="All authors"||!e&&!t}function Xu(e,t,n){let a=e;if((t||n)&&t!=="all-authors"&&n!=="all-authors"&&n!=="All authors"){if(t){let l=t.toLowerCase(),i=e.filter(r=>r.articleauthorhandle&&r.articleauthorhandle.some(o=>o.toLowerCase()===l));if(i.length>0)a=i;else if(n){let r=n.toLowerCase(),o=e.filter(u=>u.articleauthor&&u.articleauthor.some(c=>c.toLowerCase()===r));o.length>0&&(a=o)}}else if(n){let l=n.toLowerCase();a=e.filter(i=>i.articleauthor&&i.articleauthor.some(r=>r.toLowerCase()===l))}}return a}function sf(e,t,n){let a=0;if(t&&e.articleauthorhandle){let l=e.articleauthorhandle.findIndex(i=>i.toLowerCase()===t.toLowerCase());l>=0&&(a=l)}else if(n&&e.articleauthor){let l=e.articleauthor.findIndex(i=>i.toLowerCase()===n.toLowerCase());l>=0&&(a=l)}return a}function Qu(e,t,n){let a=sf(e,t,n),l=i=>typeof i=="string"?ee(i):i||"";return{authorName:e.articleauthortext?l(e.articleauthortext[a]):e.articleauthor?l(e.articleauthor[a]):"",authorRole:e.articleauthorrole?l(e.articleauthorrole[a]):"",authorImage:e.articleauthormedia?e.articleauthormedia[a]:""}}function Lr(e,t){let n=new Map;return e.forEach(a=>{if(!a.articleauthor)return;let l=t;if(a.documenturl)try{let f=new URL(a.documenturl).hostname.replace("www.","").split(".");f.length>0&&(l=f[0].toLowerCase())}catch{}let i=a.articleauthorhandle||[],r=a.articleauthor||[],o=a.articleauthortext||[],u=a.articleauthorrole||[],c=a.articleauthormedia||[];r.forEach((s,f)=>{if(!s||s==="null"||s.toLowerCase()==="all authors")return;let d=i[f]&&i[f]!=="null"?i[f]:s.toLowerCase().replace(/\s+/g,"-");if(!d||d==="null")return;let m=o[f]&&o[f]!=="null"?o[f]:s,v=u[f]&&u[f]!=="null"?u[f]:"",A=ee(String(m)),b=ee(String(v)),h=c[f]&&c[f]!=="null"?c[f]:"",g=A.split(" ")[0],p=_r(a,f,"short"),y=_r(a,f,"long"),C=Uu(a,f),R=n.get(d);!R&&A&&h?n.set(d,{...y?{bioLong:y}:{},...p?{bioShort:p}:{},name:g,fullName:A,handle:d,role:b,image:h,brandKey:l,...C.length>0?{socialNetworks:C}:{}}):R&&(!R.bioShort&&p&&(R.bioShort=p),!R.bioLong&&y&&(R.bioLong=y),!R.socialNetworks?.length&&C.length>0&&(R.socialNetworks=C))})}),Array.from(n.values())}var E=B(O(),1);function z0(e){let t=(0,be.useRef)(""),n=(0,be.useRef)(null),a=(0,be.useCallback)(()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null)},[]),l=(0,be.useCallback)(r=>{a(),t.current=r},[a]),i=(0,be.useCallback)((r,o,u=!1)=>{if(!e)return;if(r===t.current){a();return}let c=()=>{n.current=null,t.current=r,e(o)};a(),u?c():n.current=window.setTimeout(c,350)},[a,e]);return(0,be.useEffect)(()=>a,[a]),{save:i,synchronise:l}}function H0({contentKey:e,defaultText:t,kind:n,onChange:a,value:l}){let i=(0,be.useRef)(null),r=(0,be.useRef)(e),[o,u]=(0,be.useState)(!1),c=l??t,s=!!a,{save:f,synchronise:d}=z0(a);(0,be.useLayoutEffect)(()=>{let g=r.current!==e;i.current&&(g||document.activeElement!==i.current)&&(i.current.innerHTML!==c&&(i.current.innerHTML=c),d(c)),r.current=e},[e,d,c]);let m=(g=!1)=>{if(!i.current)return;let p=i.current.innerHTML;f(p,p===t?void 0:p,g)},v=(g,p)=>{document.execCommand(g,!1,p),m(!0)},A=n==="kicker"?{fontSize:"0.875rem",color:"#6B7280",fontStyle:"normal",margin:"0 0 0.25rem 0"}:{fontSize:"2.25rem",fontWeight:300,color:"#111827",margin:"0 0 0.25rem 0",lineHeight:1.1,letterSpacing:"-0.02em"},b=n==="kicker"?"tg-df-author-curated-by tg-df-author-kicker":"tg-df-author-name",h=()=>n==="kicker"?(0,E.jsx)("p",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}}):(0,E.jsx)("h2",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}});return s?(0,E.jsxs)("div",{className:"tg-df-author-header-text-shell",style:{position:"relative"},children:[o&&(0,E.jsxs)("div",{className:"tg-df-author-header-text-toolbar",role:"toolbar","aria-label":`${n==="kicker"?"Shop by text":"Site or author name"} formatting`,style:{display:"flex",justifyContent:"center",alignItems:"center",gap:"0.25rem",margin:"0 auto 0.375rem",width:"fit-content",padding:"0.25rem 0.5rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",fontSize:"11px",zIndex:10},children:[(0,E.jsx)("span",{style:{color:"#64748b",padding:"2px 2px 2px 0"},children:"Editing"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("bold"),title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("italic"),title:"Italic",children:(0,E.jsx)("em",{children:"I"})}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{let g=prompt("Enter URL:");g&&v("createLink",g)},title:"Add link",children:"\u{1F517}"}),l!==void 0&&(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{i.current&&(i.current.innerHTML=t),d(t),a?.(void 0)},title:"Restore default",children:"Reset"})]}),h()]}):h()}function i2({contentKey:e,initialBio:t,defaultPlaceholder:n,onBioChange:a,stabilizeHeight:l=!1}){let r=(0,be.useRef)(null),o=(0,be.useRef)(e),u=(0,be.useRef)(n),c=(0,be.useRef)(!1),[s,f]=(0,be.useState)(!1),[d,m]=(0,be.useState)(!1),[v,A]=(0,be.useState)(!1),b=t||n,h=l&&b.replace(/<[^>]*>/g,"").trim().length>240,g=!!a,{save:p,synchronise:y}=z0(a);(0,be.useLayoutEffect)(()=>{let w=o.current!==e,D=u.current!==n;w&&(c.current=!1);let k=!t&&D&&!c.current;r.current&&(w||document.activeElement!==r.current||k)&&(r.current.innerHTML!==b&&(r.current.innerHTML=b),y(b)),o.current=e,u.current=n},[b,e,n,t,y]),(0,be.useLayoutEffect)(()=>{m(!1)},[e]),(0,be.useLayoutEffect)(()=>{if(!h||!r.current){A(!1);return}let w=r.current,D=()=>{A(w.scrollHeight>w.clientHeight+1)};if(D(),typeof ResizeObserver>"u")return;let k=new ResizeObserver(D);return k.observe(w),()=>k.disconnect()},[b,e,d,h]);let C=(w,D=null)=>{if(c.current=!0,document.execCommand(w,!1,D||void 0),r.current){let k=r.current.innerHTML;p(k,k===n?"":k,!0)}},R=(w=!1)=>{if(!r.current)return;let D=r.current.innerHTML;p(D,D===n?"":D,w)};return(0,E.jsxs)("div",{style:{position:"relative",maxWidth:"42rem",margin:"0 auto 0.5rem auto",padding:"0.25rem 0.5rem"},className:`tg-df-author-bio-shell${l?" tg-df-author-bio-shell--stable":""}`,children:[g&&s&&(0,E.jsxs)("div",{role:"toolbar","aria-label":"Introduction text formatting",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"0.375rem",marginBottom:"0.5rem",padding:"0.25rem 0.625rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",width:"fit-content",margin:"0 auto 0.5rem auto",fontSize:"12px",userSelect:"none",zIndex:10},children:[(0,E.jsx)("span",{style:{fontSize:"11px",color:"#64748b",fontWeight:500,marginRight:"2px"},children:"Editing \u2014 saves when you click away"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("bold"),style:{fontWeight:"bold",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("italic"),style:{fontStyle:"italic",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Italic",children:"I"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>{let w=prompt("Enter URL:");w&&C("createLink",w)},style:{padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Add Link",children:"\u{1F517}"}),t&&(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:w=>{w.preventDefault(),w.stopPropagation(),r.current&&(r.current.innerHTML=n),c.current=!1,y(n),a&&a("")},style:{fontSize:"10px",padding:"2px 8px",borderRadius:"4px",background:"#fee2e2",color:"#991b1b",cursor:"pointer",border:"1px solid #fca5a5"},title:"Reset Bio",children:"Reset"})]}),(0,E.jsx)("div",{ref:r,contentEditable:g?!0:void 0,suppressContentEditableWarning:g,onFocus:g?()=>{f(!0)}:void 0,onBlur:g?()=>{f(!1),R(!0),c.current=!1}:void 0,onInput:g?()=>{c.current=!0}:void 0,className:`tg-df-author-bio ${g?"wysiwyg-bio-editable":"tg-df-author-bio--static"}${h?d?" tg-df-author-bio--expanded":" tg-df-author-bio--clamped":""}`,style:{color:"#4b5563",lineHeight:1.6,fontWeight:300,fontSize:"0.9375rem",textAlign:"center",outline:g&&s?"2px solid #3b82f6":"none",borderRadius:"6px",padding:"0.375rem 0.5rem",cursor:g?"text":"default",transition:"all 0.15s ease-in-out"}}),h?(0,E.jsx)("div",{className:"tg-df-author-bio-toggle-slot",children:(0,E.jsx)("button",{type:"button",className:"tg-df-author-bio-toggle","aria-expanded":d,onClick:()=>m(w=>!w),style:{visibility:v||d?"visible":"hidden"},children:d?"Show less":"Read more"})}):null]})}function r2(e){let t=(e||"").toLowerCase();return t==="linkedin"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"})}):t==="twitter"||t==="x"?(0,E.jsx)("svg",{className:"icon-svg",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,E.jsx)("path",{fill:"currentColor",d:"M18 2h4l-8 9 9 11h-7l-5-7-6 7H2l7-9L1 2h7l5 6zm-1 18h2L7 4H5z"})}):t==="email"||t==="mail"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),(0,E.jsx)("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}):t==="instagram"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"5",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"12",cy:"12",r:"4.25",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"17.4",cy:"6.7",r:"1.25",fill:"currentColor"})]}):t==="steam"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("circle",{fill:"#0f1618",cx:"12",cy:"12",r:"12"}),(0,E.jsx)("path",{d:"m18.22 8.9a2.269 2.269 0 1 1 -2.27-2.265 2.267 2.267 0 0 1 2.27 2.265zm2.258.005a4.534 4.534 0 0 1 -4.533 4.526h-.1l-4.087 2.911v.161a3.4 3.4 0 0 1 -6.74.669l-4.549-1.879c-.032-.109-.057-.219-.085-.329a11.973 11.973 0 0 1 -.384-2.964c0-.214.02-.423.032-.635 0-.1.008-.206.016-.308l6.394 2.643a3.385 3.385 0 0 1 1.915-.591c.065 0 .127 0 .191.005l2.865-4.145v-.062a4.533 4.533 0 0 1 9.066 0zm-9.763 6.618a2.55 2.55 0 0 0 -3.262-1.411l1.525.63a1.877 1.877 0 1 1 -1.446 3.464l-1.475-.606a2.529 2.529 0 0 0 1.315 1.25 2.559 2.559 0 0 0 3.339-1.374 2.526 2.526 0 0 0 .004-1.951zm8.251-6.618a3.021 3.021 0 1 0 -3.021 3.015 3.022 3.022 0 0 0 3.021-3.013z",fill:"#fff"})]}):t==="youtube"?(0,E.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})}):t==="twitch"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"m24 12a12 12 0 1 1 -12-12 12 12 0 0 1 12 12z",fill:"#111"}),(0,E.jsx)("path",{d:"m12.308 17.167-1.833 1.833h-1.818v-1.833h-3.357v-9.733l.925-2.434h12.475v8.517l-3.648 3.65zm5.175-10.95h-10.043v8.824h2.743v1.833l1.817-1.833h3.342l2.14-2.126zm-5.483 6.083v-3.65h-1.218v3.65zm3.342 0v-3.65h-1.216v3.65z",fill:"#fff"})]}):t==="facebook"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m13.079 19h-2.9v-7h-1.441v-2.408h1.442v-1.456c0-1.96.813-3.136 3.136-3.136h1.933v2.408h-1.2c-.91 0-.965.35-.965.966v1.218h2.183l-.257 2.408h-1.931z",fill:"currentColor"})}):t==="pinterest"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.336 5c-3.822 0-5.754 2.744-5.754 5.025a3.065 3.065 0 0 0 1.652 3.066.279.279 0 0 0 .407-.2l.154-.644a.373.373 0 0 0-.113-.448 2.341 2.341 0 0 1-.532-1.582 3.812 3.812 0 0 1 3.961-3.849 3.009 3.009 0 0 1 3.346 3.08c0 2.323-1.022 4.283-2.547 4.283a1.253 1.253 0 0 1-1.273-1.554 17.616 17.616 0 0 0 .713-2.856 1.081 1.081 0 0 0-1.092-1.2c-.854 0-1.553.881-1.553 2.071a2.954 2.954 0 0 0 .266 1.274l-1.038 4.383a9.389 9.389 0 0 0-.027 3.065.109.109 0 0 0 .2.042 8.737 8.737 0 0 0 1.457-2.631l.561-2.212a2.3 2.3 0 0 0 1.959 1.008c2.59 0 4.34-2.366 4.34-5.516a4.8 4.8 0 0 0-5.087-4.605z",fill:"currentColor"})}):t==="substack"?(0,E.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z"})}):t==="threads"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12.186 24h-.007c-3.582-.024-6.332-1.22-8.173-3.555C2.26 18.212 1.5 15.228 1.5 11.83 1.5 8.16 2.673 5.097 4.902 2.935 7.026.877 10.02 0 13.565 0c3.784 0 6.81 1.028 8.995 3.056 2.008 1.862 3.013 4.417 2.91 7.391-.122 3.518-1.57 6.136-4.304 7.781-1.892 1.138-4.103 1.62-6.57 1.433-.122.392-.266.769-.434 1.127-.514 1.096-1.18 1.96-1.982 2.569-.884.67-1.933 1.01-3.118 1.01-1.34 0-2.42-.42-3.21-1.248-.78-.82-1.17-1.89-1.17-3.18 0-1.512.52-2.73 1.545-3.62 1.018-.883 2.45-1.33 4.258-1.33.56 0 1.11.04 1.63.12-.04-.53-.13-1.02-.27-1.46-.26-.81-.71-1.45-1.34-1.92-.62-.47-1.42-.71-2.38-.71-1.09 0-2.02.29-2.77.87-.29.22-.68.17-.9-.12l-.76-1.03c-.22-.3-.16-.71.13-.93C7.43 5.37 8.95 4.9 10.8 4.9c1.64 0 2.99.41 4.02 1.22 1.04.81 1.73 1.93 2.06 3.33.15.65.25 1.42.3 2.31 1.68-.31 3.05-1.05 4.08-2.2 1.01-1.13 1.52-2.58 1.52-4.31 0-2.43-.84-4.32-2.5-5.62C18.63 1.32 16.32.5 13.56.5c-3.03 0-5.54.73-7.27 2.21C4.48 4.27 3.5 6.78 3.5 10c0 3.1.66 5.62 1.96 7.49 1.34 1.93 3.38 2.92 6.07 2.95 1.76.02 3.32-.34 4.64-1.07.28-.15.63-.05.78.22l.55.98c.15.28.05.63-.22.78-1.63.9-3.55 1.35-5.7 1.35z"})}):t==="tiktok"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.308 5.012c.763-.012 1.522 0 2.281-.012a3.636 3.636 0 0 0 1.02 2.434 4.12 4.12 0 0 0 2.473 1.043v2.349a6.177 6.177 0 0 1-2.449-.564 7.207 7.207 0 0 1-.947-.543c0 1.705.008 3.406-.01 5.105a4.442 4.442 0 0 1-.789 2.3 4.343 4.343 0 0 1-3.448 1.872 4.254 4.254 0 0 1-2.379-.6 4.393 4.393 0 0 1-2.127-3.331c-.014-.292-.019-.584-.007-.868a4.395 4.395 0 0 1 5.091-3.9c.013.864-.021 1.727-.021 2.591a2.007 2.007 0 0 0-2.558 1.237 2.316 2.316 0 0 0-.079.939 1.992 1.992 0 0 0 3.658.736 1.39 1.39 0 0 0 .239-.62c.057-1.043.034-2.082.041-3.126.006-2.351-.007-4.7.011-7.041z",fill:"currentColor"})}):t==="bluesky"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.879.139 2.588-.02 3.868.002 5.03c.08 4.201 1.84 10.024 3.931 12.397 2.091 2.373 4.545 1.573 5.467.927.817-.573 1.564-1.611 2.6-2.92 1.036 1.309 1.783 2.347 2.6 2.92.922.646 3.376 1.446 5.467-.927 2.091-2.373 3.851-8.196 3.931-12.397.022-1.162-.137-2.442-.9-3.151-.659-.613-1.664-.935-4.3-1.074C16.046 4.747 13.087 8.686 12 10.8z"})}):t==="github"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})}):t==="rss"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M4 11a9 9 0 0 1 9 9"}),(0,E.jsx)("path",{d:"M4 4a16 16 0 0 1 16 16"}),(0,E.jsx)("circle",{cx:"5",cy:"19",r:"1"})]}):(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,E.jsx)("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),(0,E.jsx)("path",{d:"M2 12h20"})]})}function U0({authorCount:e=0,authorArticlesList:t,authorBioLength:n,customBio:a,customHeaderKicker:l,customHeaderTitle:i,effectiveAuthorHandle:r,effectiveAuthorName:o,isReviewWidget:u=!1,onBioChange:c,onHeaderKickerChange:s,onHeaderTitleChange:f,selectedProfile:d,showAuthorBio:m=!0,showAuthorIdentity:v=!0,showSocialButtons:A=!0,stabilizeBio:b=!1,totalDealCount:h=0,website:g}){let p=Vu(r,o),y=g||"tomsguide",C=Gu[y]||y,R=Nr[y],T=r?.toLowerCase(),M=o?.toLowerCase(),w=t.find(Be=>T&&Be.articleauthorhandle?.some(Je=>Je?.toLowerCase()===T)||M&&Be.articleauthor?.some(Je=>Je?.toLowerCase()===M))||null,D=w?sf(w,r,o):0,k=d?.image||(w?c0(w,D):""),se=d?n==="short"?d.bioShort||"":d.bioLong||d.bioShort||"":w?_r(w,D,n):"",I=p?`Our team is dedicated to researching, reviewing and recommending the latest and best products in all the categories that matter to you. Below you can shop the latest ${h} ${u?"review ":""}recommendations from ${e} ${C} ${u?"editor tests":"editors"}.`:se||`Handpicked deals and recommendations curated by ${o||"our expert editorial team"}.`,j=d?.role||"",He=p?y0[y]||[]:d?.socialNetworks||[];!p&&w&&(j||(j=u0(w,D)),He.length===0&&(He=Uu(w,D)));let ze=d?.fullName||o||"Author Name",St=p?`site:${y}`:`author:${d?.handle||r||ze}`,Ie=A&&He.length>0,rn=!p&&!!j||Ie;return(0,E.jsxs)("div",{className:"tg-df-author-card",style:{textAlign:"center",padding:"1.75rem 1rem 0.25rem 1rem",margin:"0 auto",maxWidth:"48rem"},children:[v&&(p?(0,E.jsx)("div",{className:"tg-df-author-media-slot tg-df-author-image-container",style:{margin:"0 auto 0.75rem auto",textAlign:"center",minHeight:"180px",display:"flex",alignItems:"center",justifyContent:"center"},children:R?(0,E.jsx)("img",{src:R,alt:C,className:"tg-df-site-logo",style:{maxHeight:"150px",maxWidth:"520px",objectFit:"contain",margin:"0 auto",display:"block"}}):(0,E.jsx)("div",{style:{fontSize:"1.75rem",fontWeight:700,color:"#111827"},children:C})}):(0,E.jsx)("div",{className:"tg-df-author-media-slot",children:(0,E.jsxs)("div",{className:"tg-df-author-profile-image-wrapper",children:[k?(0,E.jsx)("img",{src:ri(k),alt:ze,className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",objectFit:"cover",display:"block"}}):(0,E.jsx)("div",{className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",background:"#e2e8f0",display:"block"}}),R?(0,E.jsx)("img",{src:R,alt:"",className:"tg-df-author-profile-brand-logo"}):null]})})),v&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(H0,{contentKey:`${St}:kicker`,defaultText:u?"Reviews shop by":"Shop by",kind:"kicker",onChange:s,value:l}),(0,E.jsx)(H0,{contentKey:`${St}:title`,defaultText:p?C:ze,kind:"title",onChange:f,value:i}),rn&&(0,E.jsxs)("div",{className:`tg-df-author-meta-slot${p?" tg-df-author-meta-slot--site":""}${Ie?"":" tg-df-author-meta-slot--no-social"}`,children:[!p&&j?(0,E.jsx)("div",{className:"tg-df-author-role",id:"tg-df-author-role-display",style:{fontSize:"0.9375rem",fontWeight:500,color:"var(--tg-df-blue, #1F69FF)",margin:"0 0 0.5rem 0",lineHeight:1.3},children:j}):null,Ie?(0,E.jsx)("div",{className:"tg-df-author-social-links",children:He.map(Be=>(0,E.jsx)("a",{href:Be.href,target:"_blank",rel:"noopener noreferrer",title:Be.label,"aria-label":Be.label,className:"tg-df-author-social-btn","data-social-key":Be.key.toLowerCase(),children:r2(Be.key)},Be.key))}):null]})]}),m&&(0,E.jsx)(i2,{contentKey:St,initialBio:a,defaultPlaceholder:I,onBioChange:c,stabilizeHeight:b})]})}var te=B(O(),1);function df(e){if(!e||typeof e!="object")return"";if(e.type==="voucher_code"&&e.display_value)return e.display_value;let t=Array.isArray(e)?e:Object.keys(e).filter(n=>Object.prototype.hasOwnProperty.call(e,n)).map(n=>e[n]);for(let n of t){let a=df(n);if(a)return a}return""}function o2({endTime:e}){if(!e)return null;let t=e;!isNaN(Number(t))&&String(t).length===10&&(t=Number(t)*1e3);let n=new Date(t),a=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"});return(0,te.jsxs)("span",{className:"tg-df-voucher-expiry",children:[(0,te.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginRight:"4px"},children:[(0,te.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,te.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"Expires ",a.format(n)]})}function G0({error:e,loading:t,merchant:n,onClose:a,vouchers:l}){return(0,te.jsx)("div",{className:`tg-df-modal-backdrop ${n?"active":""}`,onClick:i=>{i.target===i.currentTarget&&a()},children:(0,te.jsxs)("div",{className:"tg-df-modal",children:[(0,te.jsxs)("div",{className:"tg-df-modal-header",children:[(0,te.jsx)("h3",{className:"tg-df-modal-title",children:n?`${n} Coupons & Deals`:"Available Coupons & Deals"}),(0,te.jsx)("button",{className:"tg-df-modal-close",onClick:a,children:(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,te.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,te.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),(0,te.jsx)("div",{className:"tg-df-modal-body",children:t?(0,te.jsx)("div",{className:"tg-df-message",children:(0,te.jsx)("div",{className:"tg-df-coupon-spinner",style:{width:"24px",height:"24px",borderColor:"#ccc",borderTopColor:"#3b82f6"}})}):e?(0,te.jsx)("div",{className:"tg-df-message",children:"Failed to load vouchers."}):l.length===0?(0,te.jsxs)("div",{className:"tg-df-message",children:["No active vouchers found for ",n,"."]}):l.map((i,r)=>{let o=i.offer?.name||i.offer?.title||i.name||i.title||i.model_name||"Voucher",u=i.offer?.link||i.offer?.url||i.link||i.url||"#",c=i.merchant,s=Array.isArray(c)?c[0]?.logo_url||"":c?.logo_url||"",f=df(i.offer)||df(i)||i.offer?.voucher_code||i.voucher_code||"",d=i.offer?.end_time||i.end_time||"";return(0,te.jsxs)("a",{href:u,target:"_blank",rel:"noopener nofollow",className:"tg-df-voucher-item",children:[s?(0,te.jsx)("img",{src:s,alt:"Logo",className:"tg-df-voucher-logo"}):(0,te.jsx)("div",{className:"tg-df-voucher-logo",style:{background:"#e2e8f0"}}),(0,te.jsxs)("div",{className:"tg-df-voucher-content",children:[(0,te.jsx)("h4",{className:"tg-df-voucher-title",children:o}),(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginTop:"8px"},children:[f&&(0,te.jsxs)("span",{className:"tg-df-voucher-code",title:"Copy to clipboard",onClick:m=>{m.preventDefault(),m.stopPropagation();let v=m.currentTarget;navigator.clipboard.writeText(f).then(()=>{v.classList.add("copied");let A=v.querySelector(".tg-df-voucher-code-text"),b=v.querySelector(".tg-df-voucher-copy-icon"),h=A.innerText,g=b.innerHTML;A.innerText="Copied!",b.innerHTML='<polyline points="20 6 9 17 4 12"><\/polyline>',setTimeout(()=>{v.classList.remove("copied"),A&&(A.innerText=h),b&&(b.innerHTML=g)},2e3)})},children:[(0,te.jsx)("span",{className:"tg-df-voucher-code-text",children:f}),(0,te.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:"6px",flexShrink:0},className:"tg-df-voucher-copy-icon",children:[(0,te.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,te.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})]}),d&&(0,te.jsx)(o2,{endTime:d})]})]})]},r)})})]})})}var N=B(ft(),1);function ci(e){if(!e||!e.articlepage)return[];try{let t=e.articlepage;if(!Array.isArray(t))return typeof t=="string"?JSON.parse(t):t;if(t.length===0)return[];let n=t[0];return typeof n=="string"?JSON.parse(n):Array.isArray(n)?n:n&&typeof n=="object"&&"type"in n?t:n}catch{return[]}}function si(e,t=!1,{includeCollections:n=!0,includeDeals:a=!0}={}){let l=t?e.filter(r=>r.type==="buying-guide"):[];if(l.length>0)return l;let i=e.filter(r=>r.type==="deal"||r.type==="featured-product");return a&&!n&&!t?i.filter(r=>r.type==="deal"):i}function di(e,t){if(!t||t.length===0)return!0;let n=e&&(e.brand||e.retailer)||"";if(!n)return!1;let a=n.replace(/^\d+\.\s*/,"").trim().toLowerCase();return t.some(l=>{let i=l.trim().toLowerCase();return a===i||a.startsWith(`${i} `)||a.includes(i)||i.includes(a)})}function wt(e){return!e||e==="auto"?"US":e}function an(e){return e==="GB"||e==="UK"?"GBP":e==="AU"?"AUD":e==="CA"?"CAD":["DE","FR","IT","ES","NL"].includes(e)?"EUR":"USD"}function P0(e,t){if(e.isBuyingGuideProduct||e.isReviewProduct)return!0;if(t==="unavailable")return!1;let n=String(e.isoCurrency||e.currency||"").trim().toUpperCase();return({$:"USD",A$:"AUD",CA$:"CAD","\xA3":"GBP","\u20AC":"EUR"}[n]||n)===an(t)}function fi(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=a?n.currency||(n.price&&typeof n.price=="object"?n.price.currency:""):l.currency||(typeof l=="string"?l:"")||n.currency||"";!i&&n.variants&&n.variants.length>0&&(i=n.variants[0].currency||"");let r="$",o="USD",u=(i||"").toString().toUpperCase().trim();return u==="GBP"||u==="\xA3"||u.includes("POUND")||u.includes("163")?(r="\xA3",o="GBP"):u==="EUR"||u==="\u20AC"||u.includes("EURO")||u.includes("8364")?(r="\u20AC",o="EUR"):u==="AUD"||u==="A$"?(r="A$",o="AUD"):u==="CAD"||u==="CA$"?(r="CA$",o="CAD"):u==="USD"||u==="$"||u.includes("DOLLAR")||u.includes("36")?(r="$",o="USD"):(o=an(t),o==="GBP"?r="\xA3":o==="AUD"?r="A$":o==="CAD"?r="CA$":o==="EUR"&&(r="\u20AC")),{isoCurr:o,currencyStr:r}}function Ku(e){let t=e.data||{},n=e.type==="featured-product",a=t.price||{},l=0,i=0;return n?(l=typeof a=="number"?a:a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):t.msrp?parseFloat(t.msrp):0):(l=a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):0),{rawPrice:l,rawMsrp:i}}function Sa(e,t){if(!t||t==="all"||e<=0)return!0;if(t==="under50"&&e>=50||t==="over50"&&e<=50||t==="over30"&&e<=30||t==="over500"&&e<=500)return!1;if(t.includes("_")){let[n,a]=t.split("_").map(Number);if(n&&e<n||a&&e>a)return!1}return!0}function Ca(e,t,n){if(!n||n==="0"||n==="all")return!0;let a=parseInt(n);return!(!isNaN(a)&&a>0&&(!t||t<=e||Math.round((1-e/t)*100)<a))}var Zu=[0,50,100,150,200,250,300,350,400,450],ff={parameter:"articleControlTag",value:"type_buying_guide"},u2={includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"}]},c2={pcgamer:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["deals","type_deal","channel_gaming_hardware"]}],buyingGuideScopes:[ff]},homesandgardens:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"sig-product-collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"van-hawk-collection-widget",inventoryKind:"collections"},{parameter:"articleControlTag",value:"shopping",requiredArticleType:"news",inventoryKind:"collections"},{parameter:"articleType",value:"deals",inventoryKind:"deals"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["shopping","type_deal"],inventoryKind:"deals"}],buyingGuideScopes:[{parameter:"articleType",value:"buying guide"},ff]},whowhatwear:{includeAllContent:!0,pageStarts:Zu,scopes:[{}]}};function Wu(e,{includeBuyingGuideProducts:t=!1,includeCollections:n=!0,includeDeals:a=!0}={}){let l=c2[e]||u2;if(l.includeAllContent)return l;let i=l.scopes.filter(r=>r.inventoryKind==="collections"?n:r.inventoryKind==="deals"?a:r.value==="sig-product-collection"?n:a);return t?{...l,scopes:[...i,...l.buyingGuideScopes||[ff]]}:{...l,scopes:i}}function gf(e){if(Array.isArray(e))return e;let t=e.data;return t&&Array.isArray(t)?t:[]}function q0(e){let t=new Set;return e.filter(n=>{let a=n.id||n.articleid||n.url;return!a||t.has(a)?!1:(t.add(a),!0)})}function Zt(e){return typeof e.articletype=="string"?e.articletype.toLowerCase():Array.isArray(e.articletype)&&e.articletype.length>0?e.articletype[0].toLowerCase():""}function Hr(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]/g,"")}function mf(e){return[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]].map(Hr)}function s2(e){return Zt(e)==="review"&&mf(e).some(t=>t.includes("channelgaminghardware"))}function F0(e,t,n){let a=Zt(e),l=mf(e),i=c=>l.some(s=>s.includes(c)),r=a==="news"&&i("shopping")&&i("deal")&&i("typedeal"),o=a==="deals"||r,u=a==="collection"||i("sigproductcollection")||i("vanhawkcollectionwidget")||a==="news"&&i("shopping")&&!r||a==="idea"&&i("shopping")&&(i("sigproductcollection")||i("vanhawkcollectionwidget"));return t&&o||n&&u}function el(e,t=!0,n=!0,a){if(a==="homesandgardens")return F0(e,t,n);let l=Zt(e),i=mf(e),r=l==="deals"||i.some(u=>u.includes("typedeal")),o=i.some(u=>u.includes("sigproductcollection"));return t&&r||n&&o}function j0(e,t,n=!1,a=!1,l=!0,i=!0){if(a&&Zt(e)==="review")return t!=="pcgamer"||s2(e);if(t==="homesandgardens")return Zt(e)==="buying guide"?n:F0(e,i,l);let r=Wu(t,{includeBuyingGuideProducts:n,includeCollections:l,includeDeals:i});if(r.includeAllContent)return i&&l?!0:n||el(e,i,l);let o=Zt(e),u=[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]],c=f=>!f.requiredArticleType||o===f.requiredArticleType.toLowerCase(),s=f=>!f.requiredControlTags||f.requiredControlTags.every(d=>u.some(m=>typeof m=="string"&&Hr(m).includes(Hr(d))));return r.scopes.some(f=>!c(f)||!s(f)?!1:f.parameter==="articleType"?o===f.value.toLowerCase():f.parameter==="articleControlTag"?u.some(d=>typeof d=="string"&&Hr(d).includes(Hr(f.value))):!1)}function hf(e,t){let n=e.map(a=>({...a}));return t.filter(a=>(a.isBuyingGuideProduct||a.isReviewProduct)&&a.brand).forEach(a=>{let l=String(a.brand).trim();if(!l)return;let i=n.find(r=>r.formatted_value.toLowerCase()===l.toLowerCase());i?i.count++:n.push({formatted_value:l,count:1})}),n.sort((a,l)=>l.count-a.count)}function Iu(e,t){let n={};return e.forEach(a=>{if(!a.articlepage)return;let l=ci(a),i=si(l,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});(t.includeDeals===!1||t.includeCollections===!1)&&!i.some(r=>r.type==="buying-guide")&&!el(a,t.includeDeals,t.includeCollections,t.website)||i.forEach(r=>{if(fi(r,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:o,rawMsrp:u}=Ku(r);if(!Sa(o,t.priceRange)||!Ca(o,u,t.discountAmount))return;let c=r.data||{},s=c.brand||c.retailer;if(!s)return;let f=s.replace(/^\d+\.\s*/,"").trim(),d=f.toLowerCase(),m=Object.keys(n).find(v=>v.toLowerCase()===d);m?n[m]++:(f===f.toLowerCase()&&(f=f.replace(/\b\w/g,v=>v.toUpperCase())),n[f]=1)})}),Object.keys(n).map(a=>({formatted_value:a,count:n[a]})).sort((a,l)=>l.count-a.count)}function d2(e){return String(e||"").trim().toLowerCase()}function Ju(e){return(Array.isArray(e)?e:[e]).map(d2).filter(Boolean)}function pf(e){let t=Ju(e.articletype),n=[...Ju(e.articlecontroltag),...Ju(e.articletagtypetaghandle)];return t.includes("deals")||n.some(a=>a.replace(/[\s-]+/g,"_")==="type_deal")}function V0(e){let t=Array.isArray(e)?e[0]:e,n=new Date(String(t||"")).getTime();return Number.isFinite(n)?n:null}function f2(e){for(let t of[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]){let n=V0(t);if(n!==null)return n}return null}function g2(e){for(let t of[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]){let n=V0(t);if(n!==null)return n}return null}function Y0(e){return Ju(e.articletype).includes("review")}function yf(e,t=new Date,n=0){let a=pf(e)?1:Y0(e)?36:n;if(a<=0)return!0;let l=Y0(e)?g2(e):f2(e);if(l===null)return!0;let i=new Date(t);return i.setMonth(i.getMonth()-a),l>=i.getTime()}function tl(e,t,n=0){return e.filter(a=>yf(a,t,n))}var m2=15;function Q0(e){return Array.isArray(e.articlemedia)?e.articlemedia[0]:""}function zr(e){return Array.isArray(e.documenturl)?e.documenturl[0]:e.documenturl||""}function h2(e){return kt(String(e||"").replace(/^\d+\.\s*/,"").trim())}function tt(e){return Array.isArray(e)?e.map(tt).find(Boolean)||"":typeof e=="string"||typeof e=="number"?String(e).trim():""}function vf(e,t=!1){return(t?[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]:[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]).map(tt).find(Boolean)||""}function p2(e,t,n){let a=tt(e).match(/^\s*(\d+)\s*[.)]\s*/)?.[1];return a||[t.rank,t.position,t.number,t.productNumber,t.product_number].map(tt).map(i=>i.match(/^\s*(\d+)\s*$/)?.[1]||"").find(Boolean)||String(n+1)}function y2(e){let t=tt(e);try{t=new URL(t).pathname}catch{}return t=t.split(/[?#]/)[0].split("/").filter(Boolean).at(-1)||"",t.split(/[-_]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function v2(e){return tt(e.documenthandle)||tt(e.document_handle)||zr(e)||tt(e.documentname)||tt(e.documentnametext)}function b2(e,t){if(!t)return"";let n=t.length>m2?"Ranked":t;return`#${e} ${n}`}function A2(e){if(typeof e=="object"&&e)return String(e["data-model-name"]||"");try{return String(JSON.parse(String(e||""))["data-model-name"]||"")}catch{return""}}function w2(e){let t=e.brand||e.productBrand||e.manufacturer||e.maker||"";return typeof t=="string"?kt(t.replace(/^\d+\.\s*/,"").trim()):""}function S2(e){let t=e.price&&typeof e.price=="object"?e.price:{},n=Number(t.salePrice||t.price||e.salePrice||e.current_price||(typeof e.price=="number"?e.price:0)),a=Number(t.wasPrice||t.msrp||e.was_price||e.msrp||0),l=e.url||e.link?.url||e.link?.href||"";return{currency:t.currency||e.currency||"",rawMsrp:Number.isFinite(a)?a:0,rawPrice:Number.isFinite(n)?n:0,url:l}}function bf(e){let t=e?.review||{},n=t.rating??t.starRating??t.score??e?.rating??e?.starRating??e?.score,a=Number(n);if(!Number.isFinite(a)||a<=0)return null;let l=a>5?a/20:a;return Math.min(l,5)}function K0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,imageUrl:i}){let r=t.data||{},o=r.review||{},u=h2(r.title),c=p2(r.title,r,a),s=y2(v2(e)),f=zr(e),d=S2(r),m=!!d.url,v=m?d.url:o.url||f,A=i||Q0(e);return{id:`airedale-buying-guide-${n}-${a}`,url:v,image:A,fallbackImage:A,title:u,brand:w2(r),productName:u,merchant:"",rawPrice:d.rawPrice,rawMsrp:d.rawMsrp,price:d.rawPrice>0?String(d.rawPrice):"",msrp:d.rawMsrp>0?String(d.rawMsrp):"",currency:d.currency,isoCurrency:"",isCheckPrice:d.rawPrice<=0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf(r),description:"",text:"",subtitle:kt(r.subtitle||""),pros:Array.isArray(r.pros)?r.pros:[],cons:Array.isArray(r.cons)?r.cons:[],...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:!1,isBuyingGuideProduct:!0,buyingGuideBadge:b2(c,s),hawkModelName:A2(r.hawk),hasCommerceOffer:m,sourceArticleUrl:f}}function C2(e){return gi(e)||tt(e.documentnametext)||tt(e.documentname)}function $u(e){if(Array.isArray(e))return e.map($u).find(Boolean)||"";if(e&&typeof e=="object"){let n=e,a=tt(n["data-widget-type"]||n.dataWidgetType||n.widgetType).toLowerCase(),l=tt(n["data-model-name"]||n.dataModelName||n.modelName);return a==="review"&&l?l:Object.values(n).map($u).find(Boolean)||""}if(typeof e!="string")return"";let t=[e,e.replace(/\\"/g,'"').replace(/\\u0022/gi,'"')];for(let n of t){try{let l=$u(JSON.parse(n));if(l)return l}catch{}let a=n.match(/["']data-widget-type["']\s*:\s*["']review["'][\s\S]{0,1500}?["']data-model-name["']\s*:\s*["']([^"']+)["']/i);if(a?.[1])return a[1].trim()}return""}function gi(e){let t=tt(e.articlehawkmodels);if(t)return t;for(let n of[e.articlepage,e.articlebodypageblock,e.articlepageblock,e.fepjson,e.articlebodyclean]){let a=$u(n);if(a)return a}return""}function X0(e){return(Array.isArray(e)?e:[e]).map(t=>kt(tt(t))).filter(Boolean)}function Z0({article:e,articleIdentity:t,authorProfile:n}){let a=kt(gi(e)),l=kt(C2(e)),i=zr(e),r=Q0(e),o=kt(tt(e.productverdict));return{id:`airedale-review-${t}`,url:i,image:r,fallbackImage:r,title:l,brand:"",productName:l,merchant:"",rawPrice:0,rawMsrp:0,price:"",msrp:"",currency:"",isoCurrency:"",isCheckPrice:!0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf({rating:e.productrating}),description:o,text:o,...n,documentUrl:i,modifiedDate:vf(e,!0),isFeatured:!1,isReviewProduct:!0,hawkModelName:a||l,hasCommerceOffer:!1,sourceArticleUrl:i,pros:X0(e.productpros),cons:X0(e.productcons)}}function kt(e){return typeof e=="string"?ee(e):e}function W0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,currencyString:i,isoCurrency:r,presentation:o,pricing:u}){let c=t.data||{},{isFeatured:s,externalUrl:f,summaryTitle:d,description:m,imageUrl:v,merchantName:A}=o,{rawPrice:b,rawMsrp:h,savingLabel:g}=u;return{id:`airedale-${n}-${a}`,url:f,image:v,fallbackImage:v,title:kt(d),brand:kt(c.brand||""),productName:kt(c.productName||""),merchant:kt(A),rawPrice:b,rawMsrp:h,price:b>0?b.toString():"",msrp:h>0?h.toString():"",currency:i,isoCurrency:r,isCheckPrice:!b,savingLabel:g,savingType:h>b?"amount":"none",isPrime:!1,starRating:bf(c),description:kt(m),text:kt(c.text||""),...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:s,hasCommerceOffer:!!f}}function I0(e,t){let n=t.data||{},a=t.type==="featured-product",l=n.link||{},i=n.image||{};n.brand&&(n.brand=n.brand.replace(/^\d+\.\s*/,"").trim());let r=a?n.url:l.href||null,o=a?n.name||n.brand:n.productName||l.label||(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),u=a?n.strapline||"":n.text||"";if(!a&&!n.productName&&n.text){let f=n.text.split(/<br\s*\/?>/i);if(f.length>1)o=f[0].replace(/<[^>]+>/g,"").trim(),u=f.slice(1).join(" ").replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();else{let d=n.text.match(/<strong>(.*?)<\/strong>/);d&&(o=d[1].replace(/<[^>]+>/g,"").trim(),o.endsWith(":")&&(o=o.slice(0,-1)))}}let c=a?i.mos:i.src||null;c?.startsWith("//")&&(c=`https:${c}`),u=u.replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").replace(/View Deal$/i,"").trim();let s=n.retailer||"";if(!s&&r)try{s=new URL(r).hostname.replace("www.","").split(".")[0],s=s.charAt(0).toUpperCase()+s.slice(1)}catch{}return s||(s="Retailer"),{isFeatured:a,externalUrl:r,summaryTitle:o,description:u,imageUrl:c,merchantName:s}}function J0(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=0,r=0;a?(i=typeof n.salePrice=="number"&&n.salePrice>0?n.salePrice:typeof n.price=="number"?n.price:0,r=typeof n.salePrice=="number"&&typeof n.price=="number"&&n.price>n.salePrice?n.price:0):(i=l.amount?parseFloat(l.amount):0,r=l.amountWas?parseFloat(l.amountWas):0);let o=0,u="";return i>0&&r>i&&(o=parseFloat((r-i).toFixed(2)),u=`Save ${t}${o}`),{rawPrice:i,rawMsrp:r,savingLabel:u}}function R2(e,t){let n=e.indexOf(t);if(n<1)return"";let a=e[n-1]?.data||{},i=a.slides?.[0]?.image||a.image||a;return i?.src||i?.mos||""}function Ur(e,{activeRegionCode:t,targetIso:n,selectedBrands:a,priceRange:l,discountAmount:i,authorHandle:r,authorName:o,createFallbackIdentity:u=Math.random,includeBuyingGuideProducts:c=!1,includeCollections:s=!0,includeDeals:f=!0,includeReviewProducts:d=!1,website:m}){let v=[],A=new Set;return e.forEach(b=>{if(d&&Zt(b)==="review"){v.push(Z0({article:b,articleIdentity:b.id||u(),authorProfile:Qu(b,r,o)}));return}if(!b.articlepage)return;let h=ci(b),g=si(h,c,{includeCollections:s,includeDeals:f});(f===!1||s===!1)&&!g.some(p=>p.type==="buying-guide")&&!el(b,f,s,m)||g.forEach((p,y)=>{if(p.type==="buying-guide"){v.push(K0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),imageUrl:R2(h,p)}));return}let{isoCurr:C,currencyStr:R}=fi(p,t);if(C!==n)return;let T=p.data||{},M=I0(b,p),{externalUrl:w}=M,D=J0(p,R),{rawPrice:k,rawMsrp:se}=D;if(!(a&&a.length>0&&!di(T,a))&&Sa(k,l)&&Ca(k,se,i)){if(w){if(A.has(w))return;A.add(w)}v.push(W0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),currencyString:R,isoCurrency:C,presentation:M,pricing:D}))}})}),v}function mi(e,t){return Ur(e,{...t,selectedBrands:[],priceRange:"all",discountAmount:"0"})}function $0(e,t){return Ur(e,t)}function Gr(e){return(Array.isArray(e)?e:[e]).filter(n=>typeof n=="string").map(n=>n.trim())}function ec(e){return e?.trim().toLowerCase()==="freeform"}function Af(e){return!!e&&!/[^\p{L}\p{N}\s]/u.test(e)}function wf(e){let t=Gr(e.articletag),n=Gr(e.articletaghandle),a=Gr(e.articletagtype),l=new Map;t.forEach((o,u)=>{let c=n[u];!ec(a[u])||!c||!Af(o)||l.set(c.toLowerCase(),{handle:c,label:o,requestValue:o})});let i=Gr(e.articletagtypetag),r=Gr(e.articletagtypetaghandle);return i.forEach((o,u)=>{let[c,...s]=o.split("|"),[f,...d]=(r[u]||"").split("|"),m=s.join("|").trim(),v=d.join("|").trim();!ec(c)||!ec(f)||!v||!Af(m)||l.has(v.toLowerCase())||l.set(v.toLowerCase(),{handle:v,label:m,requestValue:m})}),r.forEach(o=>{let[u,...c]=o.split("|"),s=c.join("|").trim();!ec(u)||!s||!Af(s)||l.has(s.toLowerCase())||l.set(s.toLowerCase(),{handle:s,label:s})}),[...l.values()]}function ev(e,t){if(t)return e.find(n=>n.handle.toLowerCase()===t.toLowerCase())?.requestValue}function hi(e,t){let n=(Array.isArray(t)?t:[t]).filter(a=>typeof a=="string").map(a=>a.trim().toLowerCase()).filter(Boolean);return n.length===0?e:e.filter(a=>wf(a).some(l=>n.includes(l.handle.toLowerCase())))}function T2(e){let t=new Map;return Array.isArray(e.articlecategory)?(e.articlecategory.forEach(n=>{if(typeof n!="string")return;let a=n.trim();a===a.toLowerCase()&&(a=a.replace(/\b\w/g,l=>l.toUpperCase())),a&&!t.has(a.toLowerCase())&&t.set(a.toLowerCase(),{handle:a,label:a})}),[...t.values()]):[]}function tv(e,t,n){let a={},l={},i={};e.forEach(u=>{let c=[];if(t.includeReviewProducts&&Zt(u)==="review"&&c.push(u.id||u.documenturl||u.documenthandle||""),u.articlepage)try{let s=ci(u),f=si(s,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});if((t.includeDeals===!1||t.includeCollections===!1)&&!f.some(d=>d.type==="buying-guide")&&!el(u,t.includeDeals,t.includeCollections,t.website))return;f.forEach(d=>{if(d.type==="buying-guide"){c.push(d.id||JSON.stringify(d.data||{}));return}if(fi(d,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:m,rawMsrp:v}=Ku(d);if(!Sa(m,t.priceRange)||!Ca(m,v,t.discountAmount))return;let A=d.data||{};if(t.selectedBrands&&t.selectedBrands.length>0&&!di(A,t.selectedBrands))return;let h=d.type==="featured-product"?A.primaryLink:A.link,g=A.url||A.link&&A.link.url||h&&h.url;c.push(g||JSON.stringify(A))})}catch{}c.length!==0&&n(u).forEach(s=>{let f=s.handle.toLowerCase(),d=Object.keys(a).find(m=>m.toLowerCase()===f);d||(d=s.handle,a[d]=new Set,l[d]=s.label,i[d]=s.requestValue),c.forEach(m=>a[d].add(m))})});let r={};return Object.keys(a).forEach(u=>{r[u]=a[u].size}),{tags:Object.keys(r).map(u=>({handle:u,label:l[u]||u,requestValue:i[u]})).sort((u,c)=>r[c.handle]-r[u.handle]),tagCounts:r}}function tc(e,t){let{tags:n,tagCounts:a}=tv(e,t,T2);return{tags:n.map(l=>l.label),tagCounts:a}}function nc(e,t){let{tags:n,tagCounts:a}=tv(e,t,wf);return{tags:n,tagCounts:a}}function E2(e,t){return e.documentUrl||e.sourceArticleUrl||e.articleId||`deal-${t}`}function yn(e,t,n){if(t!=="mix"||n!=="date_desc")return e;let a=new Map;e.forEach((o,u)=>{let c=E2(o,u),s=a.get(c)||[];s.push(o),a.set(c,s)});let l=[],i=0,r=!0;for(;r;)r=!1,a.forEach(o=>{let u=o[i];u&&(l.push(u),r=!0)}),i+=1;return l}var nv="compact-v1",D2={brand:"",currency:"",hasCommerceOffer:!1,isoCurrency:"",isCheckPrice:!0,isFeatured:!1,isPrime:!1,merchant:"",merchantId:"",msrp:"",price:"",rawMsrp:0,rawPrice:0,savingLabel:"",savingType:"none"},x2={hasCommerceOffer:!0,hawkPricePending:!1,rawMsrp:0,rawPrice:0};function av(e){return e.map(t=>{if(!t.isReviewProduct)return t;let n=String(t.sourceArticleUrl||t.documentUrl||t.url||""),a=t.fallbackImage??t.image??"",l={...D2,...t,fallbackImage:a,image:t.image??a,sourceArticleUrl:n,documentUrl:t.documentUrl??n,url:t.url??n,title:t.title??t.productName??"",text:t.text??t.description??"",hawkPricePending:t.hawkPricePending??!!t.hawkModelName,pros:t.pros??[],cons:t.cons??[]};return t.hawkRegionalCommerce&&(l.hawkRegionalCommerce=Object.fromEntries(Object.entries(t.hawkRegionalCommerce).map(([i,r])=>{let o=r,u=o.productName??l.productName,c=o.rawPrice??0,s=o.rawMsrp??0;return[i,{...x2,...o,fallbackImage:o.fallbackImage??a,image:o.image??a,productName:u,title:o.title??u??l.title,price:o.price??(c?String(c):""),msrp:o.msrp??(s?String(s):"")}]}))),l})}function ac(e,t,n=100){let a=new Set(e.slice(0,t).map((i,r)=>i.id||`visible-${r}`)),l=e.slice(0,t).filter(i=>i.isReviewProduct).length;return e.filter((i,r)=>{let o=i.id||`visible-${r}`;return a.has(o)?!0:i.isReviewProduct?(l+=1,l<=n):!1})}function lv(e,t){let n=new Map(t.map((a,l)=>[a.id||`enriched-${l}`,a]));return e.map((a,l)=>n.get(a.id||`enriched-${l}`)||a)}var M2=new Set(["deal","featured-product","gallery","buying-guide","text","section"]);function lc(e){return!!e&&typeof e=="object"}function iv(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function rv(e){try{let t=iv(e);if(!Array.isArray(t)||!t[0])return;let n=t[0],a=typeof n=="string"?iv(n):Array.isArray(n)?n:lc(n)&&"type"in n?t:n;if(!Array.isArray(a))return;let l=a.filter(i=>lc(i)&&M2.has(i.type)).map(i=>i.type==="text"&&i.data?{type:"text",data:{paragraphs:Array.isArray(i.data.paragraphs)?i.data.paragraphs.slice(0,3):void 0,text:typeof i.data.text=="string"?i.data.text.slice(0,500):void 0}}:i.type==="section"&&i.data?{type:"section",data:{text:i.data.text,heading:i.data.heading,title:i.data.title}}:i);return l.length>0?[JSON.stringify(l)]:void 0}catch{return}}function ov(e){if(!Array.isArray(e))return[];let t=!1;return e.map(n=>{if(!lc(n))return n;let a=n.articlepage?rv(n.articlepage):void 0,l=!!(n.articleauthormedia||n.articleauthorrole),i=!!(!t&&(n.articleauthorbio||n.articleauthorlongbio||n.articleauthorsocialnetworks));return i&&(t=!0),{id:n.id,articlename:n.articlename,documentname:n.documentname,documentnametext:n.documentnametext,documenthandle:n.documenthandle,articlecategory:n.articlecategory,articletag:n.articletag,articletaghandle:n.articletaghandle,articletagtype:n.articletagtype,articletagtypetag:n.articletagtypetag,articletagtypetaghandle:n.articletagtypetaghandle,articlecontroltag:n.articlecontroltag,articletype:n.articletype,articleauthor:n.articleauthor,articleauthorhandle:n.articleauthorhandle,articleauthortext:n.articleauthortext,...l?{articleauthorrole:n.articleauthorrole,articleauthormedia:n.articleauthormedia}:{},articlestrapline:n.articlestrapline,articlesocialtitle:n.articlesocialtitle,documenturl:n.documenturl,articlemedia:n.articlemedia,articlehawkmodels:n.articlehawkmodels,productrating:n.productrating,productpros:n.productpros,productcons:n.productcons,productverdict:n.productverdict,contentmodifieddate:n.contentmodifieddate,modifieddate:n.modifieddate,createddate:n.createddate,datepublished:n.datepublished,publisheddate:n.publisheddate,...i?{articleauthorbio:n.articleauthorbio,articleauthorlongbio:n.articleauthorlongbio,articleauthorsocialnetworks:n.articleauthorsocialnetworks}:{},...a?{articlepage:a}:{}}})}function uv(e){return Array.isArray(e)?e.map(t=>{if(!lc(t))return t;let n=t.articlepage?rv(t.articlepage):void 0;return{id:t.id,articleid:t.articleid,articlename:t.articlename,documentname:t.documentname,documentnametext:t.documentnametext,documenthandle:t.documenthandle,articleauthor:t.articleauthor,articleauthorhandle:t.articleauthorhandle,articleauthortext:t.articleauthortext,articleauthorrole:t.articleauthorrole,articleauthormedia:t.articleauthormedia,articleauthorbio:t.articleauthorbio,articleauthorlongbio:t.articleauthorlongbio,articleauthorsocialnetworks:t.articleauthorsocialnetworks,articlecategory:t.articlecategory,articletag:t.articletag,articletaghandle:t.articletaghandle,articletagtype:t.articletagtype,articletagtypetag:t.articletagtypetag,articletagtypetaghandle:t.articletagtypetaghandle,articletype:t.articletype,articlestrapline:t.articlestrapline,articlesocialtitle:t.articlesocialtitle,documenturl:t.documenturl,articlemedia:t.articlemedia,articlehawkmodels:t.articlehawkmodels,productrating:t.productrating,productpros:t.productpros,productcons:t.productcons,productverdict:t.productverdict,url:t.url,contentmodifieddate:t.contentmodifieddate,modifieddate:t.modifieddate,createddate:t.createddate,datepublished:t.datepublished,publisheddate:t.publisheddate,content:t.content,dek:t.dek,image_thumbnail:t.image_thumbnail,intro:t.intro,paragraphs:t.paragraphs,strapline:t.strapline,subtitle:t.subtitle,title:t.title,...n?{articlepage:n}:{}}}):[]}function pi(e){if(!e?.modifiedDate)return 0;let t=Array.isArray(e.modifiedDate)?e.modifiedDate[0]:e.modifiedDate,n=new Date(t).getTime();return Number.isNaN(n)?0:n}function nl(e){return e?.hasCommerceOffer===!0?!0:e?.hasCommerceOffer===!1?!1:!!(!e?.isBuyingGuideProduct&&!e?.isReviewProduct&&e?.url)}function ln(e,t,n=!0){let a=!0;t==="date_desc"?e.sort((l,i)=>pi(i)-pi(l)):t==="price_asc"?e.sort((l,i)=>l.rawPrice-i.rawPrice):t==="price_desc"?e.sort((l,i)=>i.rawPrice-l.rawPrice):t==="discount_desc"?e.sort((l,i)=>{let r=l.rawMsrp>l.rawPrice?l.rawMsrp-l.rawPrice:0;return(i.rawMsrp>i.rawPrice?i.rawMsrp-i.rawPrice:0)-r}):t==="rating_desc"?e.sort((l,i)=>{let r=Number(l.starRating)||0;return(Number(i.starRating)||0)-r||pi(i)-pi(l)}):t==="scored_first"?e.sort((l,i)=>{let r=Number(l.starRating)>0?1:0;return(Number(i.starRating)>0?1:0)-r||pi(i)-pi(l)}):a=!1,a&&n&&e.sort((l,i)=>Number(nl(i))-Number(nl(l)))}function cv(e,t,n){let a=e;if(!a&&t){let l=n.find(i=>i.toLowerCase()===t?.toLowerCase());l&&(a=l)}return a}function Pr(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(a=>a.articlecategory&&Array.isArray(a.articlecategory)&&a.articlecategory.some(l=>{if(!l||typeof l!="string")return!1;let i=l.toLowerCase(),r=i.split(":::");return i===n||r[0]===n||i.includes(n)}))}function sv(e){let t=wt(e.region);return{activeRegionCode:t,targetIso:an(t)}}function al(e,t,{discountAmount:n,priceRange:a}={}){let l=!!(a&&a!=="all"),i=!!(n&&n!=="0"&&n!=="all");return!t?.length&&!l&&!i?e:e.filter(r=>!r.isBuyingGuideProduct&&!r.isReviewProduct?!0:t?.length&&!di({brand:r.brand},t)||l&&(!Number(r.rawPrice)||!Sa(Number(r.rawPrice),a))?!1:Ca(Number(r.rawPrice)||0,Number(r.rawMsrp)||0,n))}function _2(e,t){let n=e.articleauthorhandle||[],a=e.articleauthor||[],l=e.articleauthortext||[],i=new Set([t.handle.toLowerCase(),t.fullName.toLowerCase(),t.name.toLowerCase()]);return[...n,...a,...l].some(r=>i.has(String(r||"").toLowerCase()))}function Sf(e,t,n){let a=Object.fromEntries(e.map(l=>[l.handle,0]));return t.forEach(l=>{let i=mi([l],n).length;i!==0&&e.forEach(r=>{_2(l,r)&&(a[r.handle]+=i)})}),a}function Cf(e,t){let n=Xu(e,t.authorHandle,t.authorName),a=t.selectedArticleId?n.filter(A=>A.id===t.selectedArticleId):n,{activeRegionCode:l,targetIso:i}=sv(t),{tags:r,tagCounts:o}=tc(a,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),u=cv(t.activeDealTag,t.query,r),c=Pr(a,u),{tags:s,tagCounts:f}=nc(c,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),d=t.activeFreeformTags?.length?t.activeFreeformTags:t.activeFreeformTag?[t.activeFreeformTag]:[],m=d.flatMap(A=>{let b=s.find(h=>h.handle.toLowerCase()===A.toLowerCase());return b?[b.handle]:[]}),v=t.preserveFreeformTagSelection?d:m;return{activeDealTag:u,activeFreeformTag:v[0]||null,activeFreeformTags:v,activeRegionCode:l,authorArticles:n,freeformTagCounts:f,freeformTags:s,tagCounts:o,tags:r,targetArticles:hi(c,v),targetIso:i}}function ic(e,t,n,a){let l=Iu(e,{activeRegionCode:n,targetIso:a,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),i=Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(i,t.sort,t.prioritiseCommercialProducts);let r=yn(al(i,t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange}),t.productSelection,t.sort).map(o=>(o.isBuyingGuideProduct||o.isReviewProduct)&&o.hawkModelName?{...o,hawkPricePending:!0}:o);return{brands:l,displayedDeals:r,extractedDeals:i}}function dv(e,t){let{activeRegionCode:n,targetIso:a}=sv(t),l=Lr(e,t.website||"tomsguide"),i=e.filter(o=>mi([o],{activeRegionCode:n,targetIso:a,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}).length>0),r=al(Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange});return{authorCount:kr(l,i).length,deals:r}}function fv({allArticles:e,authorArticles:t,inventoryArticles:n,bakeReviewInventory:a,brands:l,couponMap:i,currentDealTag:r,currentFreeformTags:o,displayedDeals:u,options:c,resultCount:s,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}){let h=Lr(e,c.website||"tomsguide"),g=Sf(h,n,{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),selectedBrands:c.selectedBrands,priceRange:c.priceRange,discountAmount:c.discountAmount,includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}),p=kr(h,e.filter(C=>mi([C],{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}).length>0)),y=Number(s)||12;return{activeDealTag:r,activeFreeformTag:o[0]||null,activeFreeformTags:o,allDeals:a?ac(u,y):u,authorArticles:ov(t),authors:Yu(p,g),brands:l,couponMap:i,deals:u.slice(0,y),reviewInventoryBaked:a,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}}function B2(e){return e&&e.widget&&e.widget.data&&Array.isArray(e.widget.data.offers)?e.widget.data.offers:e&&e.data&&Array.isArray(e.data.offers)?e.data.offers:Array.isArray(e)?e:e&&Array.isArray(e.offers)?e.offers:e&&e.offers&&Array.isArray(e.offers.offer)?e.offers.offer:e&&Array.isArray(e.data)?e.data:[]}function gv(e,t,n){let a={...n},l=new Set;return B2(e).forEach(r=>{let o="";r.merchant_name?o=r.merchant_name:r.merchant&&r.merchant[0]&&r.merchant[0].name?o=r.merchant[0].name:r.merchant&&r.merchant.name?o=r.merchant.name:r.retailer&&(o=r.retailer),o&&l.add(o.toLowerCase())}),t.forEach(r=>{a[r]=l.has(r.toLowerCase())?"has":"none"}),a}function mv(e){let t=[];return e?.widget?.data?.offers?t=e.widget.data.offers:e?.data?.offers?t=e.data.offers:Array.isArray(e)?t=e:e?.offers?.offer?t=Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers&&(t=Array.isArray(e.offers)?e.offers:[e.offers]),t}async function hv({couponMap:e,couponUrl:t,fetcher:n=fetch,merchants:a}){if(!t)return e;try{let l=await n(t.toString());return gv(await l.json(),a,e)}catch{let l={...e};return a.forEach(i=>{l[i]="none"}),l}}function pv({enrichingBuyingGuides:e,error:t,loading:n,loadingMore:a,refreshingFeed:l}){return t?"error":a?"loading_more":n?"loading_inventory":l?"refreshing_inventory":e?"enriching_visible_cards":"ready"}function yv(e,t){let n=Xu(tl(e),t.authorHandle,t.authorName),a=wt(t.region),l=an(a),{tags:i,tagCounts:r}=tc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),o=Iu(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),{tags:u,tagCounts:c}=nc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),s=$0(n,{activeRegionCode:a,targetIso:l,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(s,t.sort,t.prioritiseCommercialProducts);let f=yn(s,t.productSelection,t.sort);return{authorArticles:n,brands:o,deals:f,tagCounts:r,tags:i,freeformTagCounts:c,freeformTags:u}}var N2="fc-author-commerce-widget",vn="airedale-feeds";var rc=null;function vv(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Rf(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function Tf(){return rc||(typeof window>"u"||typeof window.indexedDB>"u"?Promise.resolve(null):(rc=new Promise(e=>{let t=window.indexedDB.open(N2,14);t.onupgradeneeded=()=>{let n=t.result;n.objectStoreNames.contains(vn)||n.createObjectStore(vn,{keyPath:"key"})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),rc))}function bv({authorHandle:e,authorName:t,includeBuyingGuideProducts:n,includeCollections:a,includeDeals:l,includeReviewProducts:i,articleCategory:r,articleTag:o,pageStarts:u,reviewPageStarts:c,loadAllReviewPages:s,website:f}){return["v14",f||"tomsguide",e||"",t||"",n?"buying-guides":"",a===!1?"no-collections":"collections",l===!1?"no-deals":"deals",i?"reviews":"",r||"",o||"",u?.join(",")||"",c?.join(",")||"",s===!1?"review-pages-partial":""].map(d=>encodeURIComponent(d)).join("|")}async function O2(e){let t=await Tf();if(!t)return;let n=t.transaction(vn,"readwrite"),a=Rf(n);n.objectStore(vn).delete(e),await a}async function Av(e,t=Date.now()){try{let n=await Tf();if(!n)return null;let a=n.transaction(vn,"readonly"),l=await vv(a.objectStore(vn).get(e));if(!l||l.schemaVersion!==14||!Array.isArray(l.articles)||l.articles.length===0)return null;let i=Math.max(0,t-l.cachedAt);return i>864e5?(O2(e),null):{articles:l.articles,cachedAt:l.cachedAt,isFresh:i<=6e5}}catch{return null}}async function k2(e){let t=e.transaction(vn,"readwrite"),n=Rf(t),a=t.objectStore(vn);(await vv(a.getAll())).sort((i,r)=>r.cachedAt-i.cachedAt).slice(10).forEach(i=>a.delete(i.key)),await n}async function wv(e,t,n=Date.now()){if(t.length!==0)try{let a=await Tf();if(!a)return;let l=a.transaction(vn,"readwrite"),i=Rf(l);l.objectStore(vn).put({articles:t,cachedAt:n,key:e,schemaVersion:14}),await i,await k2(a)}catch{}}var Ef=[];var Mf=[],Df=0;function Sv(){for(;Df<4&&Mf.length>0;){let e=Mf.shift();if(!e)return;Df+=1,e.run().then(e.resolve,e.reject).finally(()=>{Df-=1,Sv()})}}function L2(e){return new Promise((t,n)=>{Mf.push({reject:n,resolve:t,run:e}),Sv()})}function xf(e){Ef.push(e),Ef.length>100&&Ef.shift()}async function oc(e,t,n=4){let a=new Array(e.length),l=0,i=Math.min(Math.max(1,n),e.length);return await Promise.all(Array.from({length:i},async()=>{for(;l<e.length;){let r=l;l+=1,a[r]=await t(e[r],r)}})),a}async function yi(e,t){return L2(async()=>{let n=t.fetcher||fetch,a=Date.now(),l=new AbortController,i=!1,r=()=>l.abort();if(t.signal?.aborted)return xf({durationMs:0,outcome:"aborted",source:t.source,startedAt:a}),{data:null,response:null};t.signal?.addEventListener("abort",r,{once:!0});let o=setTimeout(()=>{i=!0,l.abort()},8e3);try{let u=await n(e,{signal:l.signal}),c=u.ok?await u.json():null;return xf({durationMs:Date.now()-a,outcome:u.ok?"succeeded":"failed",source:t.source,startedAt:a}),{data:c,response:u}}catch{return xf({durationMs:Date.now()-a,outcome:i?"timed_out":t.signal?.aborted?"aborted":"failed",source:t.source,startedAt:a}),{data:null,response:null}}finally{clearTimeout(o),t.signal?.removeEventListener("abort",r)}})}var Bf="https://airedale.futurecdn.net/feeds/feed_1786707986217.json",H2="https://airedale.futurecdn.net/feeds/feed_1786702796175.json",z2="https://airedale.futurecdn.net/feeds/feed_1787582137748.json",U2=2,_f=new Map,Cv=new Map;function Rv(e){let t=new URL(e),n=String(t.searchParams.get("articleType")||"").trim().toLowerCase(),a=String(t.searchParams.get("articleControlTag")||"").replace(/[\s-]+/g,"_").toLowerCase();return n!=="deals"&&a!=="type_deal"?null:(t.searchParams.delete("start"),t.toString())}function G2(e){return!e.response?.ok||e.articles.length<50?!1:!e.articles.some(t=>pf(t)&&!yf(t))}function P2(e){return!e.parameter||!e.value?"":`&${e.parameter}=${encodeURIComponent(e.value)}`}function q2(e,t="",n=!1,a,l,{includeCollections:i=!0,includeDeals:r=!0}={},o){let u=Wu(e,{includeBuyingGuideProducts:n,includeCollections:i,includeDeals:r}),c=a?`&articleCategory=${encodeURIComponent(a)}`:"",s=o?`&articleTag=${encodeURIComponent(o)}`:"";return u.scopes.flatMap(f=>(l||u.pageStarts).map(d=>`${Bf}?site=${e}&limit=${50}&start=${d}${P2(f)}${t}${c}${s}`))}function Tv(e,t="",n,a=0,l){let i=e==="pcgamer"?"&articleControlTag=channel_gaming_hardware":"",r=n?`&articleCategory=${encodeURIComponent(n)}`:"",o=l?`&articleTag=${encodeURIComponent(l)}`:"";return`${H2}?site=${encodeURIComponent(e)}&articleType=review&limit=${50}&start=${a}${i}${t}${r}${o}`}function F2(e,t){return t!=="pcgamer"?e:e.map(n=>{let a=Array.isArray(n.articlecontroltag)?n.articlecontroltag:[];return a.some(l=>String(l).replace(/[^a-z0-9]/gi,"").toLowerCase()==="channelgaminghardware")?n:{...n,articlecontroltag:[...a,"channel_gaming_hardware"]}})}function j2(e,t){return`${z2}?site=${encodeURIComponent(e)}&documentHandle=${encodeURIComponent(t)}&limit=1`}async function Y2(e,t){let n=`${e}|${t}`,a=Cv.get(n);if(a)return a;let l=yi(j2(e,t),{source:"review-model-resolver"}).then(({data:i})=>i?gf(i)[0]:null).then(i=>i?gi(i):"").catch(()=>"");return Cv.set(n,l),l}async function Nf(e,t,n,a="date_desc"){let l=o=>{let u=[o.datepublished,o.publisheddate,o.createddate,o.contentmodifieddate,o.modifieddate].find(s=>s!=null&&String(s).trim()),c=new Date(Array.isArray(u)?u[0]:u).getTime();return Number.isFinite(c)?c:0},i=o=>{let u=Array.isArray(o.productrating)?o.productrating[0]:o.productrating;return Number(u)||0},r=e.filter(o=>Zt(o)==="review"&&!gi(o)&&typeof o.documenthandle=="string"&&o.documenthandle.trim()).sort((o,u)=>{let c=i(o),s=i(u);return a==="rating_desc"?s-c||l(u)-l(o):a==="scored_first"&&+(s>0)-+(c>0)||l(u)-l(o)}).slice(0,n);return await Promise.all(r.map(async o=>{let u=await Y2(t,o.documenthandle);u&&(o.articlehawkmodels=[u])})),e}function xv(e,t){let n=()=>{wv(e,uv(t))};if(typeof window<"u"&&typeof window.requestIdleCallback=="function"){window.requestIdleCallback(n,{timeout:2e3});return}setTimeout(n,0)}function V2(e,t){return e&&e!=="all-authors"?`&articleAuthorHandle=${encodeURIComponent(e)}`:t&&t!=="All authors"&&t!=="all-authors"?`&articleAuthor=${encodeURIComponent(t)}`:""}function X2({articleCategory:e,articleTag:t,authorParameter:n}){return!!(n&&!e&&!t)}async function Mv({authorHandle:e,authorName:t,fallbackAuthorName:n,includeBuyingGuideProducts:a,includeCollections:l,includeDeals:i,includeReviewProducts:r,onProgress:o,articleCategory:u,articleTag:c,pageStarts:s,reviewPageStarts:f,loadAllReviewPages:d,signal:m,throwOnFailure:v,website:A}){let b=A||"tomsguide",h=V2(e,t),g=[],p=!1,y=!0,C=w=>j0(w,b,a,r,l,i),R=()=>q0(g).map(w=>{let D=gi(w);return D&&!String(w.articlehawkmodels||"").trim()?{...w,articlehawkmodels:[D]}:w}).filter(C),T=()=>{let w=R();w.length>0&&o?.(w)};try{let w=q2(b,h,a,u,s,{includeCollections:l,includeDeals:i},c),D=[];r&&(f||[0]).forEach(X=>{let de=Tv(b,h,u,X,c);D.push(de),w.push(de)});let k=async(X,de=D.includes(X)?"review-feed":"author-feed")=>{let $e=await yi(X,{signal:m,source:de});for(let jr=0;jr<U2&&!$e.response?.ok&&!m?.aborted;jr+=1)$e=await yi(X,{signal:m,source:de});let{data:Z,response:x}=$e,P=Z?gf(Z):[],Q=b==="pcgamer"&&de.startsWith("review-feed")?F2(P,b):P,Vn={articles:Q,data:Z,isPcGamerHardwareReviewFeed:b==="pcgamer"&&de.startsWith("review-feed"),response:x,reviewTotalCount:D.includes(X)&&Number(x?.headers.get("x-total-count"))||null};return Q.length>0&&g.push(...Q),Vn},se=w.filter(X=>Number(new URL(X).searchParams.get("start")||0)===0),I=w.filter(X=>!se.includes(X)),j=await oc(se,X=>k(X));T();let He=new Map(se.flatMap((X,de)=>{let $e=Rv(X);return $e?[[$e,j[de]]]:[]})),ze=new Map,St=[];I.forEach(X=>{let de=Rv(X);if(!de){St.push(X);return}ze.set(de,[...ze.get(de)||[],X])});let[Ie,rn]=await Promise.all([oc(St,X=>k(X)),Promise.all([...ze.entries()].map(async([X,de])=>{let $e=[],Z=He.get(X);for(let x of de){if(!Z||!G2(Z))break;let P=await k(x);$e.push(P),Z=P}return $e}))]),Be=[...Ie,...rn.flat()],Je=[...j,...Be];p=Je.length>0&&Je.every(X=>!X.response?.ok);let nt=Je.find(X=>X.reviewTotalCount!==null)?.reviewTotalCount;if(d!==!1&&f&&nt&&nt>f.length*50){let X=new Set(f),de=[];for(let Z=0;Z<nt;Z+=50)X.has(Z)||de.push(Z);let $e=await oc(de,async Z=>await k(Tv(b,h,u,Z,c),"review-feed-page"));Je.push(...$e)}y=Je.every(X=>X.response?.ok)}catch(w){y=!1}if(v&&p)throw new Error("The author feed could not be loaded");let M=R();if(M.length===0&&X2({authorParameter:h,articleCategory:u,articleTag:c}))try{let w=await yi(`${Bf}?site=${b}&limit=150${h}`,{signal:m,source:"author-feed-fallback"});if(!w.response?.ok&&n&&(w=await yi(`${Bf}?site=${b}&limit=150&articleAuthor=${encodeURIComponent(n)}`,{signal:m,source:"author-feed-fallback"})),w.data){let D=w.data,k=Array.isArray(D)?D:D.data||[];k.length>0&&(M=k.slice(0,150))}}catch(w){}return{articles:M.filter(C),complete:!m?.aborted&&y}}function Ev(e,t){let n=_f.get(e);if(n)return n;let a=Mv(t).then(l=>(l.complete&&l.articles.length>0&&xv(e,l.articles),l)).finally(()=>{_f.delete(e)});return _f.set(e,a),a}async function Dv(e,t){let n=await Mv(t);return n.complete&&n.articles.length>0&&xv(e,n.articles),n}async function _v({onBackgroundRefresh:e,onProgress:t,...n}){let a=bv(n),l=await Av(a);return l?(t?.(l.articles),l.isFresh||(n.signal?Dv(a,n):Ev(a,n)).then(({articles:o,complete:u})=>{u&&o.length>0&&e?.(o)}),l.articles):(await(n.signal?Dv(a,{...n,onProgress:t}):Ev(a,{...n,onProgress:t}))).articles}function Of(e,t){let n=e.shipping?.prime===!0,a=e.merchant?.name||e.merchant_name||e.retailer||"Retailer";typeof e.merchant=="string"&&(a=e.merchant);let l=null,i=0,r=String(e.model_id||e.id||"");if(r&&t)if(t[r]&&t[r].score!=null)l=parseFloat(t[r].score);else{let o=Object.values(t).find(u=>String(u.model_id)===r||String(u.id)===r);o&&o.score!=null&&(l=parseFloat(o.score))}return l!=null&&(i=Math.round((l>10?l/20:l/2)*2)/2),{isPrime:n,merchant:a,starRating:i>0?i:null}}function kf(e){let t=String(e.price||e.current_price||"0"),n=String(e.was_price||e.msrp||e.original_price||"0"),a=parseFloat(t.replace(/[^0-9.]/g,""))||0,l=parseFloat(n.replace(/[^0-9.]/g,""))||0,i=a===0||t==="0.00"||t==="0",r=e.currency&&typeof e.currency=="string"?e.currency:e.currency_symbol&&typeof e.currency_symbol=="string"?e.currency_symbol:"$",o=ee(e.percentage_saving_label||"");!o&&l>a&&a>0&&(o=Math.round((l-a)/l*100)+"% OFF");let u=r;return u.includes("&")&&(u.includes("36")?u="$":u.includes("163")||u.includes("pound")?u="\xA3":(u.includes("8364")||u.includes("euro"))&&(u="\u20AC")),{rawPrice:a,rawMsrp:l,currency:u,isCheckPrice:i,savingLabel:o}}function Bv({query:e,region:t,retailer:n,selectedBrands:a,offerType:l,priceRange:i,discountAmount:r,resultCount:o}){let u=new URL("https://search-api.fie.future.net.uk/widget.php");if(u.searchParams.append("model_name",e),t&&t!=="auto"&&u.searchParams.append("area",t),n&&u.searchParams.append("filter_merchant_name",n),a&&a.length>0&&u.searchParams.append("filter_label[text_brand]",a.join(",")),l&&u.searchParams.append("offer",l),i&&i!=="all"){if(i==="under50")u.searchParams.append("filter_max_price","50");else if(i==="over50")u.searchParams.append("filter_min_price","50");else if(i==="over30")u.searchParams.append("filter_min_price","30");else if(i==="over500")u.searchParams.append("filter_min_price","500");else if(i.includes("_")){let[c,s]=i.split("_");c&&u.searchParams.append("filter_min_price",c),s&&u.searchParams.append("filter_max_price",s)}}if(r&&r!=="0"){let c=(100-parseInt(r))/100;u.searchParams.append("min_discount_ratio",c.toString())}return u.searchParams.append("filter_product_types","deals"),u.searchParams.append("rows",String(o||"12")),u}function Nv(e){return e?.widget?.data?.offers?e.widget.data.offers:e?.data?.offers?e.data.offers:Array.isArray(e)?e:e?.offers?.offer?Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers?Array.isArray(e.offers)?e.offers:[e.offers]:[]}function Ov(e){let t=[];return e.forEach(n=>{let a=[];Array.isArray(n.offers)?a=n.offers:Array.isArray(n.offer)?a=n.offer:n.offers&&typeof n.offers=="object"?a=[n.offers]:n.offer&&typeof n.offer=="object"&&(a=[n.offer]),a.length>0?a.forEach(l=>{t.push({...n,...l})}):t.push(n)}),t}function kv(e){return e?.widget?.data?.model_info?e.widget.data.model_info:e?.data?.model_info?e.data.model_info:{}}var Lf=new Map,Q2=3e3,K2=["GB","US"],Lv=6,Z2=["brand","currency","fallbackImage","hasCommerceOffer","hawkPricePending","hawkListings","image","isCheckPrice","merchant","merchantId","modelId","msrp","price","productKey","productName","rawMsrp","rawPrice","savingLabel","title","url"];function Hf(e){return String(e||"").trim().toLowerCase()}function Gv(e){return e==="UK"?"GB":e}function Pv(e,t){let n=String(t||"").trim().toUpperCase(),l={AU:["A$","AUD"],CA:["CA$","CAD"],DE:["\u20AC","EUR"],ES:["\u20AC","EUR"],FR:["\u20AC","EUR"],GB:["\xA3","GBP","GB\xA3"],IT:["\u20AC","EUR"],NL:["\u20AC","EUR"],US:["$","USD","US$"]}[e];return!l||l.includes(n)}function Hv(e,t){return String(e.id||`hawk-deal-${t}`)}function W2(e){return e.map(t=>({...t,hasCommerceOffer:!1,hawkPricePending:!!t.hawkModelName,hawkListings:[],image:t.fallbackImage||t.image||"",isCheckPrice:!0,merchant:"",merchantId:"",msrp:"",price:"",productKey:"",rawMsrp:0,rawPrice:0,savingLabel:"",url:t.sourceArticleUrl||t.documentUrl||t.url}))}function I2(e){return Z2.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}function qv(e){return!!((e.isBuyingGuideProduct||e.isReviewProduct)&&e.hawkModelName)}function J2(e){return e.model_image_url||e.model_image||e.product_image||e.image_url||e.image||""}function Fv(e){return e.link||e.url||e.offer_link||""}function $2(e,t){let n=String(t.model_id||t.id||"");return n&&e[n]?e[n]:Object.values(e).find(a=>String(a?.model_id||a?.id||"")===n)||{}}function eS(e,t,n){let a=e.map(i=>{let r=kf(i),o=Of(i,t),u=Fv(i),c=ee(String(o.merchant||"")).trim();return!u||!c||r.rawPrice<=0||!Pv(n,r.currency)?null:{merchant:c,merchantId:typeof i.merchant=="object"?String(i.merchant?.id||""):"",modelId:String(i.model_id||""),offer:i,productKey:String(i.product_key||""),rawPrice:r.rawPrice,url:u}}).filter(i=>i!==null).sort((i,r)=>i.rawPrice-r.rawPrice||i.merchant.localeCompare(r.merchant)),l=new Set;return a.filter(i=>{let r=i.merchant.toLocaleLowerCase();return l.has(r)?!1:(l.add(r),!0)}).slice(0,4)}async function zv(e,t,n){let a=`${t}|${Hf(e)}`;return Lf.has(a)||Lf.set(a,(async()=>{let l;try{let i=new AbortController;l=setTimeout(()=>i.abort(),Q2);let r=await n(Bv({query:e,region:t,resultCount:12}).toString(),{signal:i.signal});if(!r.ok)return null;let o=await r.json(),u=Ov(Nv(o)),c=Hf(e),s=u.filter(A=>Hf(A.model_name||A.model)===c),f=s.length?s:u,d=f[0]||null;if(!d)return null;let m=kv(o),v=$2(m,d);return{brand:String(v?.brand||d.brand||"").trim(),modelInfo:m,offer:d,offers:f}}catch{return null}finally{l&&clearTimeout(l)}})()),Lf.get(a)}function Uv(e,t,n){return e.map(a=>{let l=String(a.hawkModelName);if(!qv(a)||!t.has(l))return a;let i=t.get(l);if(!i)return{...a,hawkPricePending:!1};let{offer:r}=i.lookup,o=kf(r),u=Of(r,i.lookup.modelInfo),c=J2(r),s=Fv(r),f=ee(String(r.model_name||r.model||a.hawkModelName||a.productName||a.title||"").trim()),d=!!(i.region===n&&s&&Pv(n,o.currency)),m=i.region===n?eS(i.lookup.offers,i.lookup.modelInfo,n).map(({offer:v,...A})=>A):[];return d?{...a,brand:i.lookup.brand||r.brand||a.brand,currency:o.currency||a.currency,fallbackImage:c?a.image:a.fallbackImage,hasCommerceOffer:!0,hawkPricePending:!1,hawkListings:m,image:c||a.image,isCheckPrice:o.isCheckPrice,merchant:u.merchant||a.merchant,merchantId:typeof r.merchant=="object"&&r.merchant?.id||"",modelId:r.model_id||"",msrp:o.rawMsrp>0?String(o.rawMsrp):"",price:o.rawPrice>0?String(o.rawPrice):"",productKey:r.product_key||"",productName:f||a.productName,rawMsrp:o.rawMsrp,rawPrice:o.rawPrice,savingLabel:o.savingLabel,title:f||a.title,url:s||a.url}:{...a,brand:i.lookup.brand||a.brand,fallbackImage:c?a.image:a.fallbackImage,hawkPricePending:!1,image:c||a.image,productName:f||a.productName,title:f||a.title}})}async function vi(e,t,n=fetch,a,l=[],i){let r=Gv(t),o=new Map,u=e.filter(qv).map(f=>String(f.hawkModelName)),c=new Set(u),s=Array.from(new Set([...l.filter(f=>c.has(f)),...u])).slice(0,a);for(let f=0;f<s.length;f+=Lv)await Promise.all(s.slice(f,f+Lv).map(async d=>{let m=await zv(d,r,n),v=m||r==="GB"?null:await zv(d,"GB",n);o.set(d,m?{lookup:m,region:r}:v?{lookup:v,region:"GB"}:null),i?.(Uv(e,o,r))}));return Uv(e,o,r)}async function jv(e,t=fetch){let n=W2(e),a=await Promise.all(K2.map(async i=>[i,await vi(n,i,t)])),l=new Map;return a.forEach(([i,r])=>{r.forEach((o,u)=>{if(!o.hasCommerceOffer)return;let c=Hv(o,u),s=l.get(c)||{};s[i]=I2(o),l.set(c,s)})}),e.map((i,r)=>{let o=l.get(Hv(i,r));return o?{...i,hawkRegionalCommerce:o}:i})}function zf(e,t){let n=Gv(t);return e.map(a=>{let l=a.hawkRegionalCommerce?.[n];return l?{...a,...l,hawkPricePending:!1}:a})}function Yv(e,t){let n=Array.from(new Set(e.map(i=>i.merchant).filter(Boolean))),a={};if(n.forEach(i=>{a[i]="loading"}),n.length===0)return{merchants:n,couponMap:a,couponUrl:null};let l=new URL("https://search-api.fie.future.net.uk/widget.php");return l.searchParams.append("model_name","Everything"),l.searchParams.append("filter_merchant_name",n.join(",")),l.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),l.searchParams.append("sort","voucher"),l.searchParams.append("rows","120"),l.searchParams.append("origin","widgets-clientside"),l.searchParams.append("combine_product_types","1"),l.searchParams.append("language","en-GB"),l.searchParams.append("all_filters","false"),l.searchParams.append("exclude_unlabelled","false"),l.searchParams.append("include_specs","false"),t&&t!=="auto"&&l.searchParams.append("area",t),{merchants:n,couponMap:a,couponUrl:l}}function Vv(e,t){let n=new URL("https://search-api.fie.future.net.uk/widget.php");return n.searchParams.append("model_name","Everything"),n.searchParams.append("language","en-GB"),t&&t!=="auto"&&n.searchParams.append("area",t),n.searchParams.append("combine_product_types","1"),n.searchParams.append("filter_merchant_name",e),n.searchParams.append("all_filters","false"),n.searchParams.append("exclude_unlabelled","false"),n.searchParams.append("include_specs","false"),n.searchParams.append("sort","voucher"),n.searchParams.append("distinct_merchants","natural"),n.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),n.searchParams.append("rows","50"),n.searchParams.append("origin","widgets-clientside"),n}function Uf(e,t,n=!0){if(!e?.length)return e||[];if(t==="date_desc"&&!n)return e;let a=[...e];return ln(a,t,n),a}function uc(e,t,n,a=!0){if(n!=="date_desc"||!e?.length)return t;let l=(c,s)=>String(c.id||s),i=new Map(t.map((c,s)=>[l(c,s),c])),r=new Set,o=e.flatMap((c,s)=>{let f=l(c,s);r.add(f);let d=i.get(f);return d?[d]:[]}),u=t.filter((c,s)=>!r.has(l(c,s)));return a?[...o.filter(nl),...u.filter(nl),...o.filter(c=>!nl(c)),...u.filter(c=>!nl(c))]:[...o,...u]}function Xv({activeDealTag:e,activeFreeformTag:t,clickedAuthorOverride:n,compactEmbed:a,compactInventoryExplored:l,compactLoadRequested:i,initialActiveDealTag:r,initialActiveFreeformTag:o,reviewInventoryBaked:u}){return!!(a&&u&&!n&&!i&&!l&&(!e||e===r)&&(!t||t===o))}var Qv=[0,50,100,150,200,250,300,350,400,450],Gf=4;function Kv(e){return(Array.isArray(e)?e:[e]).reduce((n,a)=>{if(typeof a!="string"||!a.trim())return n;let l=a.trim();return n.some(i=>i.toLowerCase()===l.toLowerCase())?n:[...n,l]},[])}function nS(e,t){return e.length===t.length&&e.every((n,a)=>n===t[a])}function Pf(e){return e.map(t=>t.trim().toLowerCase()).sort().join("|")}function qf(e){let t=e.initialData,n=Fu(e),a=!!(e.preloadReviewInventory&&!n),l=!!(e.preloadReviewInventory&&e.includeReviewProducts&&!e.compactEmbed),i=n?Number(e.resultCount)||12:100,r=n?!1:e.prioritiseCommercialProducts,o=wt(e.region),u=zf(t?.allDeals||t?.deals||[],o).filter(_=>P0(_,o)),c=wa(n?"date_desc":e.sort,!Or(e)),s=!!(e.priceRange&&e.priceRange!=="all")||!!(e.discountAmount&&e.discountAmount!=="0"&&e.discountAmount!=="all"),f=tl(t?.authorArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),d=tl(t?.authorInteractionArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),[m,v]=(0,N.useState)(()=>Uf(u,c,r)),[A,b]=(0,N.useState)(t?.totalDealCount??t?.allDeals?.length??t?.deals?.length??0),[h,g]=(0,N.useState)(t?.totalAuthorCount??t?.authors?.length??0),[p,y]=(0,N.useState)(!t),[C,R]=(0,N.useState)(!1),[T,M]=(0,N.useState)(!1),[w,D]=(0,N.useState)(!1),[k,se]=(0,N.useState)(t?.couponMap||{}),[I,j]=(0,N.useState)(f),[He,ze]=(0,N.useState)(f),[St,Ie]=(0,N.useState)(t?.tags||[]),[rn,Be]=(0,N.useState)(t?.tagCounts||{}),[Je,nt]=(0,N.useState)(t?.freeformTags||[]),[X,de]=(0,N.useState)(t?.freeformTagCounts||{}),[$e,Z]=(0,N.useState)(t?.brands||[]),[x,P]=(0,N.useState)(()=>{let _=t?.activeDealTag||e.query;return _&&_.toLowerCase()!=="everything"?_:null}),[Q,Vn]=(0,N.useState)(()=>Kv(t?.activeFreeformTags||t?.activeFreeformTag)),[jr,bi]=(0,N.useState)(f),[sc,ll]=(0,N.useState)(null),[at,Yr]=(0,N.useState)(!1),[il,Vr]=(0,N.useState)(""),[rl,Xr]=(0,N.useState)(""),[f1,g1]=(0,N.useState)(0),[Wt,dc]=(0,N.useState)(e.resultCount?parseInt(e.resultCount):12),[Xf,fc]=(0,N.useState)(!1),[m1,Qr]=(0,N.useState)(null),[gc,h1]=(0,N.useState)(!1),[mc,p1]=(0,N.useState)([0]),Kr=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`:""),hc=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}|age-${e.editorialMaxAgeMonths||"none"}`:""),y1=(0,N.useRef)(e.website||"tomsguide"),pc=(0,N.useRef)(e.website||"tomsguide"),Qf=(0,N.useRef)(u.length>0),Kf=(0,N.useRef)(null),ol=(0,N.useRef)(new Map),v1=(0,N.useRef)({activeDealTag:String(x||"").trim().toLowerCase(),freeformTags:Pf(Kv(t?.activeFreeformTags||t?.activeFreeformTag)),discountAmount:e.discountAmount,priceRange:e.priceRange}),Xn=(0,N.useRef)(!1),De=(0,N.useRef)(!1),Ai=(0,N.useRef)(!1),Zf=(_,oe,ne=at?il:e.authorHandle,we=at?rl:e.authorName)=>[e.website||"tomsguide",ne||"",we||"",wt(e.region),String(_||"").trim().toLowerCase(),Pf(oe),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),Wf=(_,oe)=>{let ne=v1.current;return!!(e.compactEmbed&&t?.brands?.length&&String(_||"").trim().toLowerCase()===ne.activeDealTag&&Pf(oe)===ne.freeformTags&&e.priceRange===ne.priceRange&&e.discountAmount===ne.discountAmount)},Zr=(_,oe)=>{let ne=ol.current.get(Zf(_,oe));if(ne){Z(ne);return}if(Wf(_,oe)){Z(t?.brands||[]);return}},ul=()=>Xn.current||n?void 0:e.productSelection;(0,N.useEffect)(()=>{ll(null)},[e.authorName,e.authorHandle]),(0,N.useLayoutEffect)(()=>{let _=e.website||"tomsguide";pc.current!==_&&(pc.current=_,v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),ol.current.clear(),se({}),Yr(!1),Vr(""),Xr(""),ll(null),P(null),Vn([]),g(0),b(0),M(!1),fc(!1),Qr(null),Ai.current=!1,R(!0),y(!0))},[e.website]),(0,N.useEffect)(()=>{e.compactEmbed||typeof document>"u"||setTimeout(()=>{document.dispatchEvent(new CustomEvent("processArticle"))},100)},[m,Wt,e.query,x,Q]),(0,N.useEffect)(()=>{e.resultCount&&(dc(parseInt(e.resultCount,10)||12),Qr(null))},[e.resultCount]),(0,N.useEffect)(()=>{Qr(null)},[x,Q,e.authorHandle,e.authorName,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands,e.sort]),(0,N.useEffect)(()=>{if(!t||!e.includeBuyingGuideProducts&&!e.includeReviewProducts||e.compactEmbed&&(De.current||e.refreshDealsOnViewport))return;let _=wt(e.region),oe=zf(t.allDeals||t.deals||[],_);if(_==="unavailable"){let It=oe.map(on=>(on.isBuyingGuideProduct||on.isReviewProduct)&&on.hawkModelName?{...on,hawkPricePending:!1}:on);ln(It,c,r),v(yn(It,ul(),c));return}let ne=al(oe,e.selectedBrands),we=Number(e.resultCount)||12,Ta=typeof navigator>"u"?void 0:navigator.connection,Ea=!Ta?.saveData&&!Ta?.effectiveType?.includes("2g")&&(!e.compactEmbed||!!e.warmInventory),Si=s?ne:t.reviewInventoryBaked?ne.slice(0,Wt+(Ea?we:0)):oe;if(!Si.some(It=>(It.isBuyingGuideProduct||It.isReviewProduct)&&It.hawkModelName))return;let sl=!0;return M(!0),vi(Si,_).then(It=>{if(!sl)return;let on=t.reviewInventoryBaked?lv(oe,It):It,Ir=al(on,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(lt=>(lt.isBuyingGuideProduct||lt.isReviewProduct)&&lt.hawkModelName?{...lt,hawkPricePending:!1}:lt);ln(Ir,c,r),v(yn(Ir,ul(),c)),Z(lt=>t?.brands?.length?lt:hf(lt,It))}).finally(()=>{sl&&M(!1)}),()=>{sl=!1}},[t,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,e.selectedBrands,e.discountAmount,e.priceRange,c,e.productSelection,Wt,e.resultCount,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,x,Q]),(0,N.useEffect)(()=>{let _=!0,oe=new AbortController,ne=Ai.current,we=!e.refreshDealsOnViewport&&Xv({activeDealTag:x,activeFreeformTag:Q[0]||null,clickedAuthorOverride:at,compactEmbed:e.compactEmbed,compactInventoryExplored:De.current,compactLoadRequested:gc,initialActiveDealTag:t?.activeDealTag,initialActiveFreeformTag:t?.activeFreeformTag,reviewInventoryBaked:t?.reviewInventoryBaked}),Ta=u.length>0,Ea=!!(n&&e.compactEmbed&&!De.current),Si=!!(Ea&&e.warmInventory&&I.length===0&&m.length>0),sl=!!(we||e.compactEmbed&&Ta&&I.length===0&&!at&&!gc&&!De.current&&!e.refreshDealsOnViewport&&(!n||!e.warmInventory));return!sl&&!ne&&!Si&&(R(!0),e.compactEmbed&&De.current&&v([])),(async()=>{D(!1),M(!1);let on=m.length>0||St.length>0||Je.length>0||$e.length>0,Ir=sl;try{if(!e.authorName&&!e.authorHandle){v([]),j([]),bi([]),Ie([]),nt([]),Z([]),ll(null),P(null),Vn([]),y(!0);return}let lt=at?il:e.authorHandle,Jr=at?rl:e.authorName,$r=`${e.website||"tomsguide"}|${lt||""}|${Jr||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`,yc=`${$r}|${e.compactEmbed&&x||""}|${e.compactEmbed?Q.join(","):""}|${e.compactEmbed&&De.current?"expanded":e.refreshDealsOnViewport?"viewport-refresh":"initial"}|lightweight-pages-${Ea?mc.join(","):"all"}|age-${e.editorialMaxAgeMonths||"none"}`,Jt=I,$f=St,U1=ev(Je,Q.length===1?Q[0]:null),eg=()=>({activeDealTag:x,activeFreeformTag:Q[0]||null,activeFreeformTags:Q,preserveFreeformTagSelection:!!(e.compactEmbed&&Q.length),authorHandle:lt,authorName:Jr,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,priceRange:e.priceRange,prioritiseCommercialProducts:r,productSelection:ul(),query:e.query,region:e.region,selectedArticleId:sc,selectedBrands:e.selectedBrands,sort:c,website:e.website}),tg=hc.current!==yc||Jt.length===0,Da=[],vc=!1,ng=(me,zt=!1)=>{if(!_||zt&&vc)return;let bn=al(me,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange});ln(bn,c,r);let Di=yn(bn,ul(),c);v(uc(Da,Di,c,r))};if(Ir){y(!1),R(!1);return}if(tg){let me=Kr.current.split("|")[0],zt=e.website||"tomsguide",bn=!!(Kr.current&&me!==zt);!ne&&!Si&&R(!!e.compactEmbed||!on),bn&&(Jt=[],$f=[],v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),se({}),Yr(!1),Vr(""),Xr(""),y(!0));let Di=Qf.current&&Kr.current===$r&&Jt.length===0&&!De.current;Qf.current=!1,!Di&&!on&&y(!0);let lo=Ba=>{if(!_||Ba.length===0)return;let fe=eg(),it=Cf(Ba,fe),{displayedDeals:io}=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);io.length!==0&&(Da=io,v(Da),y(!1),e.includeReviewProducts&&Nf(it.targetArticles,e.website||"tomsguide",Math.min(Wt,Gf),c).then(()=>{if(!_||vc)return;let An=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);Da=An.displayedDeals,v(Da);let xi=An.displayedDeals.filter(dt=>dt.isReviewProduct&&dt.hawkModelName).slice(0,Gf).map(dt=>String(dt.hawkModelName));vi(An.extractedDeals,it.activeRegionCode,void 0,Gf,xi,dt=>ng(dt,!0))}))};if(Jt=await _v({authorHandle:lt,authorName:Jr,fallbackAuthorName:e.authorName,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,articleCategory:e.compactEmbed&&x||void 0,articleTag:e.compactEmbed?U1:void 0,pageStarts:e.compactEmbed&&!e.warmInventory&&!De.current?[0]:void 0,reviewPageStarts:e.includeReviewProducts?Ea?mc:!e.compactEmbed||De.current?Qv:void 0:void 0,loadAllReviewPages:!Ea,throwOnFailure:!!(e.compactEmbed&&De.current),onBackgroundRefresh:Ba=>{if(!_||hc.current!==yc)return;let fe=tl(Ba,void 0,Number(e.editorialMaxAgeMonths)||0);j(fe),at||ze(fe),g1(it=>it+1)},onProgress:lo,signal:oe.signal,website:e.website}),!_)return;if(Jt=tl(Jt,void 0,Number(e.editorialMaxAgeMonths)||0),Kr.current=$r,hc.current=yc,Di&&Jt.length===0){y(!1);return}_&&(j(Jt),at||ze(Jt),R(!1))}let eo=eg(),G1=Cf(Jt,eo),{activeDealTag:xa,activeRegionCode:Ci,authorArticles:ag,activeFreeformTags:Ma,freeformTagCounts:lg,freeformTags:to,tagCounts:ig,tags:Ri,targetArticles:_a,targetIso:P1}=G1,Ti=e.compactEmbed&&x&&!xa?x:xa,Ei=e.compactEmbed&&Q.length>0&&Ma.length===0?Q:Ma,q1=Ri.length>0?Ri:Ti?[Ti]:Ri,F1=to.length>0?to:Ei.length>0?t?.freeformTags?.filter(me=>Ei.includes(me.handle))||[]:to,j1={...ig,...Ti&&!xa?{[Ti]:0}:{}},Y1={...lg,...Object.fromEntries(Ma.length===0?Ei.map(me=>[me,0]):[])},no=Zf(xa,Ma,lt,Jr),rg=[$r,Ci,xa||"",Ma.join(","),e.selectedBrands.join(","),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),dl=null,fl=null;if(!at){let me=Kf.current;if(me?.key===rg&&me.articleCount===_a.length)dl=me.deals.length,fl=me.authorCount;else{let zt=dv(_a,eo);dl=zt.deals.length,fl=zt.authorCount,Kf.current={articleCount:_a.length,authorCount:fl,deals:zt.deals,key:rg}}}$f=Ri;let Ht;_&&(Ie(q1),Be(j1),nt(F1),de(Y1)),e.includeReviewProducts&&await Nf(_a,e.website||"tomsguide",l?Math.min(_a.length,i):Wt,c);let{brands:bc,displayedDeals:Ac,extractedDeals:ao}=ic(_a,eo,Ci,P1),{merchants:V1,couponMap:wc,couponUrl:X1}=Yv(Ac,e.region);_&&se(wc);let Q1=me=>{!_||!Ht||(Ht={...Ht,couponMap:me},window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht))};if(hv({couponMap:wc,couponUrl:X1,merchants:V1}).then(me=>{_&&(se(me),Q1(me))}),_){tg&&P(Ti),nS(Q,Ei)||Vn(Ei),bi(ag);let me=uc(Da,Ac,c,r);if(vc=!0,v(me),dl!==null){let zt=t?.totalDealCount||0,bn=Ea&&zt>dl;b(bn?zt:dl),g(bn?Math.max(t?.totalAuthorCount||0,fl||0):fl||0)}!ol.current.has(no)&&Wf(xa,Ma)&&ol.current.set(no,t?.brands||[]),Z(ol.current.get(no)||bc),y(!1),Ht=fv({allArticles:Jt,authorArticles:ag,bakeReviewInventory:a&&!e.compactEmbed,brands:bc,couponMap:wc,currentDealTag:xa,currentFreeformTags:Ma,displayedDeals:me,inventoryArticles:_a,options:eo,resultCount:e.resultCount,tagCounts:ig,tags:Ri,freeformTagCounts:lg,freeformTags:to,totalAuthorCount:fl??h,totalDealCount:dl??A}),window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht)}if((e.includeBuyingGuideProducts||e.includeReviewProducts)&&Ci!=="unavailable"){let me=Wt,zt=l?ao.filter(fe=>fe.isReviewProduct&&fe.hawkModelName).slice(0,i).map(fe=>String(fe.hawkModelName)):[],bn=Ac.filter(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName).map(fe=>String(fe.hawkModelName));ao.some(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName)&&M(!0);let lo=vi(ao,Ci,void 0,s?void 0:e.includeReviewProducts?l?i:me:void 0,[...zt,...bn],ng).then(async fe=>{if(!_)return;let it=al(fe,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(dt=>(dt.isBuyingGuideProduct||dt.isReviewProduct)&&dt.hawkModelName?{...dt,hawkPricePending:!1}:dt);ln(it,c,r);let io=yn(it,ul(),c),An=uc(Da,io,c,r),xi=hf(bc,fe);if(ol.current.set(no,xi),v(An),Z(xi),s&&b(it.length),Ht){let dt=a&&!e.compactEmbed,og=l,ug=dt?ac(An,Number(e.resultCount)||12):og?An.slice(0,i):An,K1=og?await jv(ug):ug;if(!_)return;let Sc={...Ht,allDeals:K1,deals:An.slice(0,me),brands:xi,totalDealCount:s?it.length:Ht.totalDealCount};Ht=Sc,window.__AUTHOR_PRELOAD_DATA__=Sc,e.onDataLoaded&&e.onDataLoaded(Sc)}}).finally(()=>{_&&M(!1)}),Ba=ao.slice(me,me+(Number(e.resultCount)||12));e.includeReviewProducts&&e.warmInventory&&!s&&!ne&&Ba.some(fe=>fe.hawkModelName)&&lo.then(()=>{_&&vi(Ba,Ci)}),ne&&await lo}}catch(lt){_&&D(!0)}finally{_&&(y(!1),R(!1),fc(!1),Ai.current=!1)}})(),()=>{_=!1,oe.abort()}},[e.query,e.region,e.selectedBrands,e.website,e.resultCount,Wt,c,e.priceRange,e.discountAmount,x,Q,e.authorName,e.authorHandle,e.website,e.authorBioLength,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,s,a,l,i,r,n,mc,e.productSelection,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,e.editorialMaxAgeMonths,sc,at,il,rl,f1,gc]);let Wr=e.website||"tomsguide",st=pc.current!==Wr,Ra=(0,N.useMemo)(()=>st?[]:y1.current===Wr&&t?.authors?t.authors:Lr(He.length>0?He:I,Wr),[I,Wr,He,t?.authors,st]),b1=at?il:e.authorHandle,A1=at?rl:e.authorName,w1=Ra.find(_=>_.handle===b1||_.fullName===A1),cl=He.length>0?He:I,If=(0,N.useMemo)(()=>{if(cl.length===0)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q),we=Sf(Ra,ne,{activeRegionCode:_,targetIso:oe,selectedBrands:e.selectedBrands,priceRange:e.priceRange,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website});return Yu(Ra,we)},[x,Q,Ra,cl,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands]),S1=(0,N.useMemo)(()=>{if(st)return[];if(cl.length===0&&t?.authors?.length||e.compactEmbed&&!x&&Q.length===0&&t?.authors?.length)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q).filter(we=>mi([we],{activeRegionCode:_,targetIso:oe,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website}).length>0);return kr(If,ne)},[x,Q,cl,st,at,t?.authors?.length,e.compactEmbed,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,If,e.website]),Jf=(_,oe)=>{let ne=He.length>0?He:I.length>0?I:d;if(ne.length===0)return;let we=yv(ne,{authorHandle:_,authorName:oe,discountAmount:e.discountAmount,priceRange:e.priceRange,region:e.region,selectedBrands:e.selectedBrands,sort:c,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,prioritiseCommercialProducts:r,website:e.website,productSelection:void 0});ll(null),P(null),Vn([]),bi(we.authorArticles),Ie(we.tags),Be(we.tagCounts),nt(we.freeformTags),de(we.freeformTagCounts),Z(we.brands),v(we.deals),y(!1)},C1=()=>{!e.compactEmbed||!t||(v(yn(Uf(t.deals||t.allDeals||[],c,r),ul(),c)),Ie(t.tags||[]),Be(t.tagCounts||{}),nt(t.freeformTags||[]),de(t.freeformTagCounts||{}),Z(t.brands||[]),se(t.couponMap||{}),g(t.totalAuthorCount??t.authors?.length??0),b(t.totalDealCount??t.deals?.length??t.allDeals?.length??0))},R1=_=>{Xn.current=!0,De.current=!0,R(!0),at&&(il===_.handle||rl===_.fullName)?(e.compactEmbed&&t?C1():Jf(e.authorHandle,e.authorName),Yr(!1),Vr(""),Xr("")):(Jf(_.handle,_.fullName),Yr(!0),Vr(_.handle),Xr(_.fullName)),e.onQueryChange?.("")},T1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=x===_?null:_;Zr(oe,Q),P(oe),e.onQueryChange?.("")},E1=()=>{Xn.current=!0,De.current=!0,R(!0)},D1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(null,Q),P(null),e.onQueryChange?.("")},x1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=Q.some(ne=>ne.toLowerCase()===_.toLowerCase())?Q.filter(ne=>ne.toLowerCase()!==_.toLowerCase()):[...Q,_];Zr(x,oe),Vn(oe)},M1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(x,[]),Vn([])},_1=_=>{Xn.current=!0,De.current=!0,R(!0),ll(_)},B1=()=>{if(Ai.current)return;Ai.current=!0,fc(!0);let _=Wt+(e.resultCount?parseInt(e.resultCount,10):12);!!(n&&e.compactEmbed&&!De.current)&&I.length>0&&m.length<_&&p1(we=>{let Ta=Qv[we.length];return Ta===void 0?we:[...we,Ta]}),dc(we=>(Qr(we),we+(e.resultCount?parseInt(e.resultCount,10):12)));let ne=!!(t?.reviewInventoryBaked&&m.length>Wt);e.compactEmbed&&I.length===0&&!ne&&(R(!0),h1(!0))},wi=e.compactEmbed&&!e.refreshDealsOnViewport,N1=wi&&t?.tags?.length?t.tags:St,O1=wi&&t?.tags?.length?t.tagCounts||{}:rn,k1=wi&&!De.current&&t?.brands?.length?t.brands:$e,L1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTags:Je,H1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTagCounts||{}:X,z1=pv({enrichingBuyingGuides:T,error:w,loading:p,loadingMore:Xf,refreshingFeed:C});return{activeDealTag:x,activeFreeformTags:Q,airedaleBrands:st?[]:k1,airedaleTagCounts:st?{}:O1,airedaleTags:st?[]:N1,airedaleFreeformTagCounts:st?{}:H1,airedaleFreeformTags:st?[]:L1,allAuthorsList:S1,authorArticlesList:st?[]:jr,clickedAuthorOverride:at,couponMap:k,deals:st?[]:m,displayCount:Wt,error:w,enrichingBuyingGuides:T,effectiveAuthorProfile:st?void 0:w1,loading:p,loadingMore:Xf,loadMoreStartCount:m1,markProductSelectionInteracted:E1,hasMore:m.length>Wt||!!e.compactEmbed&&A>m.length,loadMore:B1,refreshingFeed:C,overriddenAuthorHandle:il,overriddenAuthorName:rl,selectedArticleId:sc,setActiveDealTag:P,clearDealTag:D1,clearFreeformTags:M1,selectArticle:_1,setDisplayCount:dc,setSelectedArticleId:ll,status:z1,toggleAuthorOverride:R1,toggleDealTag:T1,toggleFreeformTag:x1,totalAuthorCount:st?0:h,totalDealCount:st?0:A}}var aS=B(ft(),1);var Fr=B(ft(),1);function Zv(e){let[t,n]=(0,Fr.useState)(null),[a,l]=(0,Fr.useState)([]),[i,r]=(0,Fr.useState)(!1),[o,u]=(0,Fr.useState)(!1);return{close:()=>n(null),error:o,loading:i,merchant:t,open:async f=>{n(f),r(!0),u(!1),l([]);try{let d=Vv(f,e),m=await fetch(d.toString());if(!m.ok)throw new Error("API Error");l(mv(await m.json()))}catch(d){u(!0)}finally{r(!1)}},vouchers:a}}var je=B(O(),1);function lS(e){return new Set(e.map(t=>Array.isArray(t.authorName)?t.authorName[0]:t.authorName).map(t=>String(t||"").trim().toLowerCase()).filter(Boolean)).size}var iS=new Map,rS=()=>{};function Iv({data:e,editorBar:t,editorMode:n=!1,props:a,selectedDeals:l=iS,setSelectedDeals:i=rS}){let r=Zv(a.region),[o,u]=(0,Wv.useState)(new Set),c=p0[a.website||""]||"#1F69FF",s=a.backgroundColor?a.backgroundColor==="white"?"#ffffff":a.backgroundColor==="transparent"?"transparent":a.backgroundColor==="light_blue"?"#E7F0FF":void 0:void 0,f=Vu(a.authorHandle,a.authorName),d=Or(a),m=Fu(a),v=wa(m?"date_desc":a.sort,!d),A=!!(a.showReviewSort&&a.includeReviewProducts),b=a.showPriceDiscountFilters!==!1||A,h=!a.authorFullBleed,g=!e.clickedAuthorOverride,p=e.totalDealCount||e.deals.length,y=e.totalAuthorCount||lS(e.deals),C=e.status==="loading_inventory"||e.status==="refreshing_inventory"||e.status==="enriching_visible_cards",R=e.status==="loading_inventory"||(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards")&&e.deals.length===0,M=!!(a.showReviewSort&&a.includeReviewProducts&&(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards"))?"Loading and sorting available review products":e.status==="enriching_visible_cards"?"Adding live product images and prices":e.status==="refreshing_inventory"?"Updating products":`Loading ${a.website||"site"} authors and products`,w=j=>{e.markProductSelectionInteracted(),a.onBrandToggle?.(j)},D=j=>{e.markProductSelectionInteracted(),a.onBrandSelect?.(j)},k=j=>{e.markProductSelectionInteracted(),a.onPriceRangeChange?.(j)},se=j=>{e.markProductSelectionInteracted(),a.onDiscountAmountChange?.(j)},I=j=>{e.markProductSelectionInteracted(),a.onSortChange?.(j)};return(0,je.jsx)("div",{className:"tg-df-widget-host",style:{"--tg-df-blue":c.toUpperCase()==="#FFFFFF"?"#000000":c},"data-vizualizer-embed":"true","data-tg-df-full-bleed":a.authorFullBleed?"true":"false","data-tg-df-mobile-dropdowns":a.mobileDropdowns?"true":"false","data-tg-df-sticky-mobile-filters":a.stickyMobileFilters===!1?"false":"true",children:(0,je.jsxs)("div",{className:"tg-df-container article-body",style:a.backgroundColor?{backgroundColor:s}:void 0,children:[(a.showAuthorIdentity!==!1||a.showAuthorBio!==!1)&&(0,je.jsx)("div",{className:"tg-df-author-embed",style:{width:"100%",fontFamily:"inherit"},children:(0,je.jsx)("div",{className:"tg-df-author-section",style:{display:"block",opacity:1,overflow:"visible",background:"transparent",border:"none"},children:(0,je.jsx)(U0,{authorArticlesList:e.authorArticlesList,authorBioLength:a.authorBioLength,customBio:g?a.customBio:void 0,customHeaderKicker:a.customHeaderKicker,customHeaderTitle:a.customHeaderTitle,effectiveAuthorHandle:e.clickedAuthorOverride?e.overriddenAuthorHandle:a.authorHandle,effectiveAuthorName:e.clickedAuthorOverride?e.overriddenAuthorName:a.authorName,isReviewWidget:d,onBioChange:g?a.onBioChange:void 0,onHeaderKickerChange:a.onHeaderKickerChange,onHeaderTitleChange:a.onHeaderTitleChange,selectedProfile:e.effectiveAuthorProfile,showAuthorBio:a.showAuthorBio,showAuthorIdentity:a.showAuthorIdentity,showSocialButtons:a.showSocialButtons,stabilizeBio:f,authorCount:y,totalDealCount:p,website:a.website})})}),t,a.showCollectionsDropdown&&(0,je.jsx)(r0,{articles:e.authorArticlesList,authorHandle:a.authorHandle,authorName:a.authorName||a.author,onChange:e.selectArticle,selectedArticleId:e.selectedArticleId,shortenedHeadlines:a.shortenedHeadlines}),C&&(0,je.jsxs)("div",{role:"status","aria-live":"polite","aria-label":M,style:{alignItems:"center",display:"flex",justifyContent:"center",marginBottom:"16px",minHeight:"72px"},children:[(0,je.jsx)("span",{className:"tg-df-coupon-spinner","aria-hidden":"true",style:{borderWidth:"3px",height:"24px",width:"24px"}}),(0,je.jsxs)("span",{style:{color:"#4B5563",fontSize:"14px",marginLeft:"10px"},children:[M,"\u2026"]})]}),(0,je.jsx)(_0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,allAuthorsList:e.allAuthorsList,brands:a.brands,clickedAuthorOverride:e.clickedAuthorOverride,loading:e.loading,refreshing:e.refreshingFeed,onAuthorClick:e.toggleAuthorOverride,onBrandToggle:w,onFreeformTagClick:e.toggleFreeformTag,onTagClick:e.toggleDealTag,overriddenAuthorHandle:e.overriddenAuthorHandle,overriddenAuthorName:e.overriddenAuthorName,selectedBrands:a.selectedBrands,showAuthorRail:f&&a.showAuthorRail!==!1,showAuthorCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,website:a.website}),(0,je.jsx)(k0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,brands:a.brands,discountAmount:a.discountAmount,enabled:a.mobileDropdowns||h,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,onPriceRangeChange:k,onReviewSortChange:I,onTagClear:e.clearDealTag,onTagClick:e.toggleDealTag,priceRange:a.priceRange,reviewSort:v,selectedBrands:a.selectedBrands||[],showCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),b&&(0,je.jsx)(L0,{airedaleBrands:e.airedaleBrands,airedaleTags:e.airedaleTags,discountAmount:a.discountAmount,hidden:!!e.selectedArticleId,onDiscountAmountChange:se,onPriceRangeChange:k,onReviewSortChange:I,priceRange:a.priceRange,reviewSort:v,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),(0,je.jsx)(i0,{articles:e.authorArticlesList,selectedArticleId:e.selectedArticleId}),(a.showCategoryRail!==!1||a.showFreeformTagRail!==!1||a.showBrandRail!==!1)&&(0,je.jsx)(a0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleTags:e.airedaleTags,freeformTags:e.airedaleFreeformTags,discountAmount:a.discountAmount,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onPriceRangeChange:k,onTagClear:e.clearDealTag,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,priceRange:a.priceRange,selectedBrands:a.selectedBrands||[]}),(0,je.jsx)(w0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,couponMap:e.couponMap,deals:e.deals,displayCount:e.displayCount,editorMode:n,error:e.error,expandedDealIds:o,hasMore:e.hasMore,hideHawkPrices:a.hideHawkPrices,loading:R,loadingMore:e.loadingMore,loadMoreStartCount:e.loadMoreStartCount,onDescriptionToggle:j=>u(He=>{let ze=new Set(He);return ze.has(j)?ze.delete(j):ze.add(j),ze}),onLoadMore:e.loadMore,onOpenVouchers:r.open,query:a.query,recentDealsOnly:!!(a.includeDeals&&!a.includeCollections&&!a.includeBuyingGuideProducts&&!a.includeReviewProducts),selectedBrands:a.selectedBrands,selectedDeals:l,setSelectedDeals:i,website:a.website}),(0,je.jsx)(G0,{error:r.error,loading:r.loading,merchant:r.merchant,onClose:r.close,vouchers:r.vouchers})]})})}var $v=B(O(),1),Jv=e=>{let t={...e,editorMode:!1},n=qf(t);return(0,$v.jsx)(Iv,{data:n,props:t})};var U={authorBioLength:"short",authorFullBleed:!0,authorHandle:"all-authors",authorName:"All authors",backgroundColor:"transparent",customBio:"",customHeaderKicker:void 0,customHeaderTitle:void 0,discountAmount:"0",editorMode:!1,editorialMaxAgeMonths:"12",includeBuyingGuideProducts:!0,includeCollections:!0,includeDeals:!0,includeReviewProducts:!1,mobileDropdowns:!0,stickyMobileFilters:!0,offerType:"",preloadReviewInventory:!1,lightweightReviewDelivery:!1,hideHawkPrices:!1,prioritiseCommercialProducts:!0,priceRange:"all",productSelection:"latest",query:"Everything",region:"auto",resultCount:"12",retailer:"",selectedBrands:[],showAuthorBio:!0,showAuthorCounters:!0,showAuthorIdentity:!0,showAuthorRail:!0,showBrandRail:!0,showCategoryRail:!0,showCollectionsDropdown:!1,showPriceDiscountFilters:!0,showReviewSort:!1,showSocialButtons:!0,showCountdown:!1,showHeaderDetails:!0,showFreeformTagRail:!0,sort:"date_desc",viewMode:"author",website:"whowhatwear",widgetSubtitle:"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.",widgetTitle:"Top Deals Handpicked by Our Editors"};function We(e,t){return typeof e=="string"?e:t}function Ae(e,t){return typeof e=="boolean"?e:t}function e1(e){let t=e||{},n=t.authorBioLength==="long"?"long":"short",a=t.productSelection==="mix"?"mix":"latest";return{...U,...t,authorBioLength:n,authorFullBleed:Ae(t.authorFullBleed,U.authorFullBleed),authorHandle:We(t.authorHandle,U.authorHandle),authorName:We(t.authorName,U.authorName),backgroundColor:We(t.backgroundColor,U.backgroundColor),customBio:We(t.customBio,U.customBio),customHeaderKicker:typeof t.customHeaderKicker=="string"?t.customHeaderKicker:void 0,customHeaderTitle:typeof t.customHeaderTitle=="string"?t.customHeaderTitle:void 0,discountAmount:We(t.discountAmount,U.discountAmount),editorMode:Ae(t.editorMode,U.editorMode),editorialMaxAgeMonths:We(t.editorialMaxAgeMonths,U.editorialMaxAgeMonths),includeBuyingGuideProducts:Ae(t.includeBuyingGuideProducts,U.includeBuyingGuideProducts),includeCollections:Ae(t.includeCollections,U.includeCollections),includeDeals:Ae(t.includeDeals,U.includeDeals),includeReviewProducts:Ae(t.includeReviewProducts,U.includeReviewProducts),mobileDropdowns:Ae(t.mobileDropdowns,U.mobileDropdowns),stickyMobileFilters:Ae(t.stickyMobileFilters,U.stickyMobileFilters),offerType:We(t.offerType,U.offerType),preloadReviewInventory:Ae(t.preloadReviewInventory,U.preloadReviewInventory),lightweightReviewDelivery:Ae(t.lightweightReviewDelivery,U.lightweightReviewDelivery),hideHawkPrices:Ae(t.hideHawkPrices,U.hideHawkPrices),prioritiseCommercialProducts:Ae(t.prioritiseCommercialProducts,U.prioritiseCommercialProducts),priceRange:We(t.priceRange,U.priceRange),productSelection:a,query:We(t.query,U.query),region:We(t.region,U.region),resultCount:We(t.resultCount,U.resultCount),retailer:We(t.retailer,U.retailer),selectedBrands:Array.isArray(t.selectedBrands)?t.selectedBrands.filter(l=>typeof l=="string"):[],showAuthorBio:Ae(t.showAuthorBio,U.showAuthorBio),showAuthorCounters:Ae(t.showAuthorCounters,U.showAuthorCounters),showAuthorIdentity:Ae(t.showAuthorIdentity,U.showAuthorIdentity),showAuthorRail:Ae(t.showAuthorRail,U.showAuthorRail),showBrandRail:Ae(t.showBrandRail,U.showBrandRail),showCategoryRail:Ae(t.showCategoryRail,U.showCategoryRail),showCollectionsDropdown:Ae(t.showCollectionsDropdown,U.showCollectionsDropdown),showPriceDiscountFilters:Ae(t.showPriceDiscountFilters,U.showPriceDiscountFilters),showReviewSort:Ae(t.showReviewSort,U.showReviewSort),showSocialButtons:Ae(t.showSocialButtons,U.showSocialButtons),showCountdown:Ae(t.showCountdown,U.showCountdown),showHeaderDetails:Ae(t.showHeaderDetails,U.showHeaderDetails),showFreeformTagRail:Ae(t.showFreeformTagRail,U.showFreeformTagRail),sort:We(t.sort,U.sort),viewMode:We(t.viewMode,U.viewMode),website:We(t.website,U.website),widgetSubtitle:We(t.widgetSubtitle,U.widgetSubtitle),widgetTitle:We(t.widgetTitle,U.widgetTitle)}}function t1(e,t={}){return{...e,brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}}function n1(e,t){try{window.hawk?.analytics?.freyr?.push({name:e,data:t}),window.dispatchEvent(new CustomEvent("hawk-analytics-update")),window.freyr?.cmd.push(()=>{window.freyr?.pushAndUpdate?.(e,t)})}catch{}}function a1(){window.dataLayer=window.dataLayer||[],window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.hawk=window.hawk||{},window.hawk.analytics=window.hawk.analytics||{},window.hawk.analytics.freyr=window.hawk.analytics.freyr||[],window.freyr=window.freyr||{cmd:[]},window.freyr.cmd=window.freyr.cmd||[];let e="https://freyr.futurecdn.net/freyr.js",t=window.location.hostname;if(!(window.navigator.webdriver||window.navigator.userAgent.includes("Headless"))&&!!t&&t!=="localhost"&&t!=="127.0.0.1"&&!t.includes("run.app")&&!document.querySelector(`script[src="${e}"]`)){let l=document.createElement("script");l.src=e,l.async=!0,document.head.appendChild(l)}}function oS(e){let t=Number.parseFloat(e.rawPrice||e.price)||null,n=Number.parseFloat(e.rawMsrp||e.msrp)||null;return{product:{primary:{id:e.externalProductId||e.id||e.matchId||null,name:e.productName||e.title||"",type:"deal",price:t,previousPrice:n,currency:e.isoCurrencyCode||e.currency||"USD",preorder:!1,labels:e.modelBrand||e.brand?[{type:"brand",value:e.modelBrand||e.brand}]:[],link:e.url||null,originalLink:e.originalLink||e.url||null,revenueId:e.revenueId||null,startTime:null,endTime:null,voucherCode:null,voucherAudience:null,voucherPercentageSaving:n&&t&&n>t?Math.round((1-t/n)*100):null,voucherMoneySaving:null,voucherType:null,offerExclusive:!1,offerScope:null,globalId:e.productKey||null,inStock:e.inStock!==!1,contractProvider:null,contractMinutes:null,contractTexts:null,contractData:null,contractLength:null,contractMonthlyPrice:null,contractCurrency:e.isoCurrencyCode||e.currency||"USD"}},merchant:{id:e.merchantId||null,name:e.merchant||"Retailer",url:e.merchantUrl||null,network:e.merchantNetwork||null},model:{id:e.modelId||null,brand:e.modelBrand||e.brand||null,name:e.productName||e.title||"",parent:e.modelParent||null}}}var uS=new Set(["subid1","ascsubtag","clickref","u1"]);function cS(e){return e.match(/(?:^|[-_])(\d{10,})(?=$|[-_])/)?.[1]||null}function sS(e){let t=new Set,n=a=>{if(!a||t.has(a))return null;t.add(a);let l;try{l=new URL(a)}catch{return null}for(let[i,r]of l.searchParams)if(uS.has(i.toLowerCase())){let o=cS(r);if(o)return o}for(let i of l.searchParams.values())if(/^https?:\/\//i.test(i)){let r=n(i);if(r)return r}return null};return n(e)}function l1({areaClicked:e,clickType:t,deals:n,index:a,queryName:l}){let i={event:"hawkEvent",category:"Affiliates",affiliate:{action:{type:t,id:"author-widget",event:t==="appeared"?"viewed":"Click from",timestamp:Date.now()},component:{flag:"Editor",product:"deals",category:"Signal Deal Finder Author widget",type:t==="appeared"?"review":"signal product",label:l||n[0]?.productName||n[0]?.title||"",index:a??-1,linkCount:n.length,blockLayout:"",areaClicked:e}},products:n.slice(0,20).map(oS),reviews:[],_clear:!0,"gtm.uniqueEventId":Date.now()%1e4};n1("hawkEvent",i)}function i1(e,t){e.length&&l1({areaClicked:"",clickType:"appeared",deals:e,index:null,queryName:t})}function r1(e,t){if(e?.deals?.length)return e.deals;let n=Number(t)||12;return e?.allDeals?.slice(0,n)||[]}function o1(e){e.addEventListener("click",t=>{let n=t.target;if(!(n instanceof Element))return;let a=n.closest("a[data-fcaw-affiliate-link][href], a.hawk-affiliate-link-deal-widget[href], a.hawk-affiliate-link-container[href], a.hawk-affiliate-link-deal-button[href]"),l=n.closest(".tg-df-card"),i=!!(!a?.dataset.fcawRevenueId&&(a?.hasAttribute("data-hl-processed")||a?.hasAttribute("data-fcaw-hawklinks-requested")));a&&l&&!i&&l1({areaClicked:"Signal Product Card",clickType:"retailer",deals:[{brand:l.dataset.brand,currency:l.dataset.currency,id:l.dataset.dealId,merchant:a.dataset.merchant||l.dataset.merchant,merchantId:a.dataset.merchantId||l.dataset.merchantId,modelId:a.dataset.modelId||l.dataset.modelId,productKey:a.dataset.productKey||l.dataset.productKey,rawMsrp:l.dataset.previousPrice,rawPrice:l.dataset.price,originalLink:a.dataset.fcawOriginalLink||a.href,revenueId:a.dataset.fcawRevenueId||sS(a.href),title:l.dataset.productName,url:a.href}],index:Array.from(e.querySelectorAll(".tg-df-card")).indexOf(l)});let r=n.closest('button, select, [role="button"]');r&&n1("elementInteraction",{element:{action:"click",id:r.id||void 0,class:r.className||void 0,name:r.getAttribute("name")||r.getAttribute("aria-label")||void 0,text:r.textContent?.trim()||void 0,label:r.getAttribute("aria-label")||void 0}})})}var Vf=B(O(),1),dS='fc-author-commerce-widget[data-fcaw-version="1"]',fS="(max-width: 599px)",gS=600,mS='[class*="membership-expandable-banner"]',hS=/^jump\s+to\b/i,jf="data-fcaw-jump-navigation-suppressed",pS=50,yS=1e4,vS=["[data-sticky-header]","[data-header-sticky]",'[role="banner"]',".navigation__container",".site-header",".main-header",".header__container",'[class*="membership-expandable-banner"] [class*="skinny-banner"]','[class*="membership-expandable-banner"] [id="skinnyBanner"]',"nav","header"].join(","),bS=`  :host {    display: block !important;    width: 100% !important;    min-width: 0 !important;    max-width: none !important;    isolation: isolate !important;    contain: style !important;  }  :host([data-fcaw-full-bleed="true"]) {    width: min(      1200px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1200px !important;    margin-left: var(      --fcaw-full-bleed-offset,      calc(50% - min(600px, 50vw))    ) !important;    margin-right: 0 !important;    position: relative !important;  }  :host([data-fcaw-full-bleed="true"]) #tg-df-spreadsheet-filters {    width: min(      1500px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1500px !important;    margin-left: calc(      (        100% -        min(1500px, var(--fcaw-viewport-width, 100vw))      ) / 2    ) !important;    margin-right: 0 !important;  }  :host, :host *, :host *::before, :host *::after {    box-sizing: border-box;  }`,Ff=new WeakMap;function AS(){if(document.querySelector("style[data-fcaw-jump-navigation-protection]"))return;let e=document.createElement("style");e.setAttribute("data-fcaw-jump-navigation-protection",""),e.textContent=`    [${jf}="true"] {      opacity: 0 !important;      pointer-events: none !important;      visibility: hidden !important;    }  `,document.head.appendChild(e)}function wS(){let e=Array.from(document.querySelectorAll("span, p, div, strong, b")).filter(n=>n.childElementCount===0&&hS.test(n.textContent?.trim()||"")),t=new Set;for(let n of e)for(let a=n.parentElement;a&&a!==document.body;a=a.parentElement)if(getComputedStyle(a).position==="sticky"){t.add(a);break}return[...t]}function SS(e,t,n){let a=Ff.get(e)||new Set;n?a.add(t):a.delete(t),a.size>0?(Ff.set(e,a),e.setAttribute(jf,"true")):(Ff.delete(e),e.removeAttribute(jf))}function CS(e){if(e.dataset.fcawFullBleed!=="true"||typeof IntersectionObserver>"u")return;let t=wS().filter(a=>!a.contains(e));if(t.length===0)return;AS(),new IntersectionObserver(([a])=>{t.forEach(l=>SS(l,e,a.isIntersecting))},{threshold:0}).observe(e)}function RS({host:e,initialData:t,initialProps:n}){let[a]=(0,Lt.useState)(d1),l=DS(t,a),[i,r]=(0,Lt.useState)(n.query),[o,u]=(0,Lt.useState)(n.selectedBrands),[c,s]=(0,Lt.useState)(n.priceRange),[f,d]=(0,Lt.useState)(n.discountAmount),[m,v]=(0,Lt.useState)(n.sort),[A,b]=(0,Lt.useState)(!1),h=!!(A&&n.compactEmbed&&n.includeDeals!==!1),g=(0,Lt.useRef)(!1);return(0,Lt.useEffect)(()=>{let p=()=>{g.current||(g.current=!0,i1(r1(l,n.resultCount),n.query))};if(typeof IntersectionObserver>"u"){p();return}let y=new IntersectionObserver(([C])=>{C?.isIntersecting&&(p(),y.disconnect())},{threshold:.1});return y.observe(e),()=>y.disconnect()},[e,l,n.query]),(0,Lt.useEffect)(()=>{if(typeof IntersectionObserver>"u"){b(!0);return}let p=new IntersectionObserver(([y])=>{y?.isIntersecting&&(b(!0),p.disconnect())},{rootMargin:"800px 0px"});return p.observe(e),()=>p.disconnect()},[e]),(0,Vf.jsx)(Jv,{...n,region:a||"unavailable",initialData:l,warmInventory:A,refreshDealsOnViewport:h,query:i,selectedBrands:o,priceRange:c,discountAmount:f,sort:m,editorMode:!1,onQueryChange:r,onBrandSelect:u,onBrandToggle:p=>u(y=>y.includes(p)?y.filter(C=>C!==p):[...y,p]),onPriceRangeChange:s,onDiscountAmountChange:d,onSortChange:v})}function TS(e){try{let t=document.cookie.match(new RegExp(`(?:^|;\\s*)${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}catch{return}}function cc(e){let n=String(e||"").trim().toUpperCase().replace("_","-").split("-").at(-1);return n==="UK"?"GB":["US","GB","AU","CA","DE","FR","IT","ES","NL"].includes(n||"")?n:void 0}function d1(){let e=new URLSearchParams(window.location.search).get("area");return cc(e)||cc(TS("FTR_Country_Code"))||cc(document.documentElement.getAttribute("data-locale"))||cc(window.navigator.language)}function u1(e,t){let n=e.querySelector(t);if(n?.textContent)try{return JSON.parse(n.textContent)}catch(a){console.warn("Author widget configuration could not be parsed.",a);return}}function ES(e){return e?.reviewInventoryFormat!==nv||!e.allDeals?e:{...e,allDeals:av(e.allDeals)}}function DS(e,t){let n=t?e?.regionalDealManifests?.[t]:void 0;if(!n)return e;let a=e?.regionalDealRailData?.[t];return{...e,allDeals:void 0,deals:n,...a}}function c1(e){e.querySelectorAll("a[href]").forEach(t=>{(t.hasAttribute("data-fcaw-affiliate-link")||t.classList.contains("hawk-affiliate-link-deal-widget")||t.classList.contains("hawk-affiliate-link-container")||t.classList.contains("hawk-affiliate-link-deal-button"))&&(t.rel="sponsored nofollow noopener")})}function xS(e){let t=e.closest(".tg-df-card"),n=t?.dataset.fcawRevenueId||e.dataset.fcawRevenueId;if(n)return n;let a=[window.location.href,t?.dataset.productName||"",t?.dataset.merchant||"",t?.dataset.modelId||"",new Date().toDateString(),"tomsguide"].join("|"),l=0;for(let r=0;r<a.length;r+=1)l=(l<<5)-l+a.charCodeAt(r),l|=0;let i=String(Math.abs(l));for(;i.length<19;)l=(l<<5)-l+i.length,l|=0,i+=String(Math.abs(l));return i=i.slice(0,19),t&&(t.dataset.fcawRevenueId=i),i}function MS(e){let t=e.dataset.fcawOriginalLink||e.href;if(!t.includes("hawk-custom-tracking"))return!1;let n=d1();if(!n)return!1;let a=xS(e);return e.dataset.fcawOriginalLink=t,e.dataset.fcawRevenueId=a,e.href=t.replaceAll("hawk-custom-tracking",`tomsguide-${n.toLowerCase()}-${a}`),e.setAttribute("data-fcaw-hawklinks-requested","true"),!0}function _S(){return!!window.hawklinks?.version}function BS(e){let t=!1,n,a,l=()=>Array.from(e.querySelectorAll(".article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-widget[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-container[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-button[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested])")),i=()=>{t=!1;let u=l();if(u.length===0)return;let c=u.filter(s=>!MS(s));if(c.length!==0){if(!_S()){let s=Date.now();a??=s,!n&&s-a<yS&&(n=window.setTimeout(()=>{n=void 0,r()},pS));return}a=void 0,c.forEach(s=>s.setAttribute("data-fcaw-hawklinks-requested","true")),document.dispatchEvent(new CustomEvent("processArticle",{detail:{element:e}}))}},r=()=>{t||(t=!0,window.setTimeout(i,0))},o=new MutationObserver(r);return o.observe(e,{attributes:!0,attributeFilter:["href"],childList:!0,subtree:!0}),r(),()=>{o.disconnect(),n&&window.clearTimeout(n)}}function NS(e){if(e.dataset.fcawFullBleed!=="true")return;let t=()=>{let n=document.documentElement.clientWidth||window.innerWidth,a=Math.min(1200,n),l=Math.max(0,(n-a)/2),i=e.parentElement?.getBoundingClientRect().left||0;e.style.setProperty("--fcaw-full-bleed-offset",`${l-i}px`),e.style.setProperty("--fcaw-viewport-width",`${n}px`)};t(),window.addEventListener("resize",t,{passive:!0}),typeof ResizeObserver<"u"&&e.parentElement&&new ResizeObserver(t).observe(e.parentElement)}function OS(e){let t=window.matchMedia(fS),n=!1,a=new Set,l=new Map,i,r=()=>t.matches||e.getBoundingClientRect().width<gS,o=()=>{n||(n=!0,window.requestAnimationFrame(s))},u=()=>{if(typeof MutationObserver>"u")return;let f=new Set(Array.from(document.querySelectorAll(mS)));l.forEach((d,m)=>{f.has(m)&&m.isConnected||(d.disconnect(),l.delete(m))}),f.forEach(d=>{if(l.has(d))return;let m=new MutationObserver(o);m.observe(d,{attributes:!0,attributeFilter:["class","style"],childList:!0,subtree:!0}),l.set(d,m)})},c=f=>{let d=new Set(f);a.forEach(m=>{d.has(m)||(i?.unobserve(m),m.removeEventListener("transitionend",o),a.delete(m))}),f.forEach(m=>{a.has(m)||(i?.observe(m),m.addEventListener("transitionend",o),a.add(m))})},s=()=>{if(n=!1,u(),!r()){c([]),e.style.removeProperty("--fcaw-mobile-sticky-offset");return}let f=Number.parseFloat(getComputedStyle(e).getPropertyValue("--fcaw-publisher-sticky-offset"));if(Number.isFinite(f)&&f>=0){c([]),e.style.setProperty("--fcaw-mobile-sticky-offset",`${f}px`);return}let d=Array.from(document.querySelectorAll(vS)).filter(v=>{if(v.contains(e))return!1;let A=getComputedStyle(v).position;return A==="fixed"||A==="sticky"});c(d);let m=d.reduce((v,A)=>{let b=A.getBoundingClientRect();return b.top>2||b.bottom<=0||b.height<=0||b.height>window.innerHeight*.5?v:Math.max(v,b.bottom)},0);e.style.setProperty("--fcaw-mobile-sticky-offset",`${Math.ceil(m)}px`)};return typeof ResizeObserver<"u"&&(i=new ResizeObserver(o),i.observe(e)),s(),window.addEventListener("scroll",o,{capture:!0,passive:!0}),window.addEventListener("resize",o,{passive:!0}),t.addEventListener?.("change",o),()=>{window.removeEventListener("scroll",o,!0),window.removeEventListener("resize",o),t.removeEventListener?.("change",o),i?.disconnect(),a.forEach(f=>f.removeEventListener("transitionend",o)),a.clear(),l.forEach(f=>f.disconnect()),l.clear()}}function kS(e){if(e.dataset.fcawEnhanced==="true")return;let t=u1(e,"script[data-fcaw-config]");if(!t)return;let n={...t1(e1(t),{brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}),compactEmbed:t.compactEmbed,editorMode:!1,warmInventory:t.warmInventory},a=u1(e,"script[data-fcaw-preload]"),l=ES(a),i=e.querySelector("[data-fcaw-fallback]");if(!i)return;NS(e),CS(e),n.stickyMobileFilters!==!1&&OS(e),c1(i);let r=e.shadowRoot||e.attachShadow({mode:"open"}),o=e.querySelector(":scope > style[data-fcaw-host-protection]");if(o&&r.appendChild(o),!r.querySelector("style[data-fcaw-shadow-protection]")){let c=document.createElement("style");c.setAttribute("data-fcaw-shadow-protection",""),c.textContent=bS,r.appendChild(c)}i.querySelectorAll(":scope > style").forEach(c=>{r.appendChild(c)});let u=document.createElement("div");for(u.setAttribute("data-fcaw-mount","");i.firstChild;)u.appendChild(i.firstChild);i.remove(),r.appendChild(u),e.dataset.fcawEnhanced="true",a1(),e.dataset.fcawAnalyticsReady="true",o1(r),BS(r),(0,s1.createRoot)(u).render((0,Vf.jsx)(RS,{host:e,initialData:l,initialProps:n})),window.setTimeout(()=>c1(r),0)}function Yf(){document.querySelectorAll(dS).forEach(kS)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yf,{once:!0}):Yf();new MutationObserver(Yf).observe(document.documentElement,{childList:!0,subtree:!0});})();/*! Bundled license information:react/cjs/react.production.js:  (**   * @license React   * react.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)scheduler/cjs/scheduler.production.js:  (**   * @license React   * scheduler.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom.production.js:  (**   * @license React   * react-dom.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom-client.production.js:  (**   * @license React   * react-dom-client.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react/cjs/react-jsx-runtime.production.js:  (**   * @license React   * react-jsx-runtime.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)*/</script></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-prime-day-gaming-keyboard-deals-in-the-uk"><span>Prime Day gaming keyboard deals in the UK</span></h2><h2 id="where-are-the-best-prime-day-gaming-keyboard-deals-in-the-uk">Where are the best Prime Day gaming keyboard deals in the UK?</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.co.uk/s?k=gaming+keyboard" target="_blank">Big discounts on top-brand gaming keyboards</a></li><li><strong>Overclockers:</strong> <a href="https://www.overclockers.co.uk/search?q=gaming+keyboards&search-button=&lang=en_GB&_gl=1*1ingm4b*_up*MQ..*_ga*NzIxNDkyNDA1LjE3OTA2MDY5NTQ.*_ga_7SS7XDNBS9*czE3OTA2MDY5NTMkbzEkZzAkdDE3OTA2MDY5NTMkajYwJGwwJGgw*_ga_123456*czE3OTA2MDY5NTMkbzEkZzAkdDE3OTA2MDY5NTMkajYwJGwwJGgxOTY1MTc0NTY2" target="_blank">Over 100 gaming keyboards to choose from</a></li><li><strong>Scan:</strong> <a href="https://www.scan.co.uk/shop/computer-hardware/keyboards/1814/493" target="_blank">Gaming keyboards from just £18</a></li><li><strong>Box: </strong><a href="https://box.co.uk/gaming-keyboards" target="_blank">Gaming keyboards from Asus, Logitech, and Razer</a></li><li><strong>Currys:</strong> <a href="https://www.currys.co.uk/gaming/gaming-accessories/keyboards?q=gaming%20keyboards" target="_blank">Keyboards from as little as £25</a></li><li><strong>Argos: </strong><a href="https://www.argos.co.uk/search/gaming-keyboard/?clickOrigin=searchbar:home:term:gaming+keyboard" target="_blank">Good prices on budget to high-end keyboards</a></li></ul><div class="product"><a data-dimension112="a9d8fcc6-bb47-11f1-be9a-c116a355cf33" data-action="Deal Block" data-label="x NaughShark NS68 | Wired" data-dimension48="x NaughShark NS68 | Wired" data-dimension25="£47.75" href="https://www.amazon.co.uk/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F283459L?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1503px;"><p class="vanilla-image-block" style="padding-top:99.33%;"><img id="cbkcaJ68Pwnf5TvXNiYANj" name="1790608297.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/cbkcaJ68Pwnf5TvXNiYANj-1920-80.jpg" mos="" align="middle" fullscreen="" width="1503" height="1493" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F283459L?th=1" target="_blank" rel="nofollow" data-dimension112="a9d8fcc6-bb47-11f1-be9a-c116a355cf33" data-action="Deal Block" data-label="x NaughShark NS68 | Wired" data-dimension48="x NaughShark NS68 | Wired" data-dimension25="£47.75">x NaughShark NS68 | Wired: £47.75</a></strong><br>An 8 KHz polling rate, Hall effect switches, rapid trigger, and nice double-shot PBT keycaps. To think you can get all of this for little cash makes the geeky hardware kid in me very happy. The <a href="https://www.pcgamer.com/hardware/gaming-keyboards/gamakay-x-naughshark-ns68-review/" target="_blank">Gamakay x NaughShark NS68</a> is noticeably a cheaper keyboard in feel, but those internals truly are phenomenal. </p><p><strong>Key specs:</strong> <strong>Wired | 8 KHz | Hall effect </strong><a class="view-deal button" href="https://www.amazon.co.uk/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F283459L?th=1" target="_blank" rel="nofollow" data-dimension112="a9d8fcc6-bb47-11f1-be9a-c116a355cf33" data-action="Deal Block" data-label="x NaughShark NS68 | Wired" data-dimension48="x NaughShark NS68 | Wired" data-dimension25="£47.75">View Deal</a></p></div><div class="product"><a data-dimension112="6102f902-bb51-11f1-a009-1b4d4ee2dfe8" data-action="Deal Block" data-label="G515 Rapid TKL | Wired" data-dimension48="G515 Rapid TKL | Wired" data-dimension25="£92.49" href="https://www.amazon.co.uk/Logitech-LIGHTSPEED-LIGHTSYNC-Tenkeyless-Mechanical/dp/B0FJ8SGY2L" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1503px;"><p class="vanilla-image-block" style="padding-top:99.33%;"><img id="bwEcDNEPsPRhS9v9fBNLAH" name="1790609333.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/bwEcDNEPsPRhS9v9fBNLAH-1920-80.jpg" mos="" align="middle" fullscreen="" width="1503" height="1493" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-LIGHTSPEED-LIGHTSYNC-Tenkeyless-Mechanical/dp/B0FJ8SGY2L" target="_blank" rel="nofollow" data-dimension112="6102f902-bb51-11f1-a009-1b4d4ee2dfe8" data-action="Deal Block" data-label="G515 Rapid TKL | Wired" data-dimension48="G515 Rapid TKL | Wired" data-dimension25="£92.49">G515 Rapid TKL | Wired: was £129.99 now £92.49</a></strong><br>When we <a href="https://www.pcgamer.com/hardware/gaming-keyboards/logitech-g515-rapid-tkl-review/" target="_blank">first reviewed this board</a> it was far too expensive to fit into the mainstream market it felt more suited to. Fast forward nearly a year and the price has dropped down to a more palatable sum. Not bad for rapid trigger functionality in a solid, reliable board.<br><br><strong>Key specs: Wired USB-A to USB-C | Magnetic analogue switches | RGB lighting | PBT keycaps</strong><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-LIGHTSPEED-LIGHTSYNC-Tenkeyless-Mechanical/dp/B0FJ8SGY2L" target="_blank" rel="nofollow" data-dimension112="6102f902-bb51-11f1-a009-1b4d4ee2dfe8" data-action="Deal Block" data-label="G515 Rapid TKL | Wired" data-dimension48="G515 Rapid TKL | Wired" data-dimension25="£92.49">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8fd8e-bb47-11f1-992b-4d62ed1fd33e" data-action="Deal Block" data-label="ROG Strix Scope II 96 | Wireless" data-dimension48="ROG Strix Scope II 96 | Wireless" data-dimension25="£139.99" href="https://www.amazon.co.uk/ASUS-Connection-Dampening-Switch-Dampening-Hot-Swappable/dp/B0BVNWNR1Q/ref=sr_1_1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1508px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="8YbiHBzPro7FyoEqpCierm" name="1731945100.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/8YbiHBzPro7FyoEqpCierm-1920-80.jpg" mos="" align="middle" fullscreen="" width="1508" height="1498" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/ASUS-Connection-Dampening-Switch-Dampening-Hot-Swappable/dp/B0BVNWNR1Q/ref=sr_1_1" target="_blank" rel="nofollow" data-dimension112="a9d8fd8e-bb47-11f1-992b-4d62ed1fd33e" data-action="Deal Block" data-label="ROG Strix Scope II 96 | Wireless" data-dimension48="ROG Strix Scope II 96 | Wireless" data-dimension25="£139.99">ROG Strix Scope II 96 | Wireless: was £169.99 now £139.99</a></strong><br>This is one of the best gaming keyboards going, and even a light discount is pretty good. You're getting excellent typing feel, stellar gaming performance, sound dampening that actually works, and a build quality that stands well above most of the competition. All for one of the best prices we've seen this keyboard going for.</p><p><strong>Key specs: Numpad | Wireless | Hot-swappable mechanical switches</strong></p><p><strong>Price check: </strong><a href="https://www.scan.co.uk/products/asus-rog-strix-scope-ii-96-white-rgb-mechanical-keyboard-rog-nx-snow-n-key-rollover-anti-ghosting" target="_blank">Scan £169.99</a><a class="view-deal button" href="https://www.amazon.co.uk/ASUS-Connection-Dampening-Switch-Dampening-Hot-Swappable/dp/B0BVNWNR1Q/ref=sr_1_1" target="_blank" rel="nofollow" data-dimension112="a9d8fd8e-bb47-11f1-992b-4d62ed1fd33e" data-action="Deal Block" data-label="ROG Strix Scope II 96 | Wireless" data-dimension48="ROG Strix Scope II 96 | Wireless" data-dimension25="£139.99">View Deal</a></p></div><div class="product"><a data-dimension112="a9d8fdf2-bb47-11f1-8043-4503d699a62c" data-action="Deal Block" data-label="ROG Falchion RX Low Profile | Wireless" data-dimension48="ROG Falchion RX Low Profile | Wireless" data-dimension25="£149.50" href="https://www.amazon.co.uk/ASUS-Pre-lubed-Low-Profile-Dampening-Interactive/dp/B07M6HZDSC" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:672px;"><p class="vanilla-image-block" style="padding-top:98.51%;"><img id="WQuwBrKSSvimKgcEsfDZE9" name="1731946043.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/WQuwBrKSSvimKgcEsfDZE9-1920-80.jpg" mos="" align="middle" fullscreen="" width="672" height="662" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/ASUS-Pre-lubed-Low-Profile-Dampening-Interactive/dp/B07M6HZDSC" target="_blank" rel="nofollow" data-dimension112="a9d8fdf2-bb47-11f1-8043-4503d699a62c" data-action="Deal Block" data-label="ROG Falchion RX Low Profile | Wireless" data-dimension48="ROG Falchion RX Low Profile | Wireless" data-dimension25="£149.50">ROG Falchion RX Low Profile | Wireless: was £169.99 now £149.50</a></strong><br>This one's for all you low-profile lovers out there. The Falchion RX Low Profile is a smashing little keyboard—and I do say "little" because it uses a 60% layout, although thankfully it keeps the arrow keys. The switches you get are fantastic, though: pre-lubed and smooth as butter. The board even comes with volume controls along the top.</p><p><strong>Key specs: Tenkeyless | Wireless | Low profile mechanical switches</strong></p><p><strong>Price check: </strong><a href="https://www.scan.co.uk/products/asus-m603-rog-falchion-rx-low-profile-wired-wireless-mechanical-gaming-keyboard-rx-low-profile-switc" target="_blank">Scan £169.99</a><strong></strong><a class="view-deal button" href="https://www.amazon.co.uk/ASUS-Pre-lubed-Low-Profile-Dampening-Interactive/dp/B07M6HZDSC" target="_blank" rel="nofollow" data-dimension112="a9d8fdf2-bb47-11f1-8043-4503d699a62c" data-action="Deal Block" data-label="ROG Falchion RX Low Profile | Wireless" data-dimension48="ROG Falchion RX Low Profile | Wireless" data-dimension25="£149.50">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><section class="article__schema-question"><h3>When is October Prime Day 2026?</h3><article class="article__schema-answer"><p>Amazon's October Prime Day, AKA Big Deal Days, started on <strong>October 6</strong>, and ran though until the end of <strong>October 7</strong>. Many deals continued long after that, though.</p></article></section><h2 class="article-body__section" id="section-buying-advice-gaming-keyboards"><span>Buying advice: gaming keyboards</span></h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ October Prime Day gaming mouse deals ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Amazon's October Prime Day event has technically finished, but as always, many deals are still running. Especially because every other retailer is also jumping on the discounts bandwagon. It's not too late to find a big discount on an excellent squeaker, that's for sure.</p><p>👉<a href="https://www.amazon.com/s?k=gaming+mice&crid=2J6G5VPFKFEZ6&sprefix=gaming+mice%2Caps%2C210&ref=nb_sb_noss_1" target="_blank"><strong>ALL of Amazon's gaming mice deals</strong></a>👈<br><strong>👉</strong><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>OUR favorite Prime Day PC gaming deals</strong></a><strong>👈</strong></p><p>We're PC gamers, so the <a href="https://www.pcgamer.com/the-best-gaming-mouse/" target="_blank">best gaming mice</a> are our bread and butter. We spend a lot of time through the year testing the latest mice and the latest tech, so check out our guide to get an idea of what might be the right one for you. In the meantime, though, there are lots of tempting options below.</p><h2 id="where-to-find-the-best-prime-day-gaming-mice-deals">Where to find the best Prime Day gaming mice deals</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.com/s?k=gaming+mice&crid=2J6G5VPFKFEZ6&sprefix=gaming+mice%2Caps%2C210&ref=nb_sb_noss_1" target="_blank"><strong>All the gaming mice you could ever want</strong></a></li><li><strong>Walmart:</strong> <a href="https://www.walmart.com/search?q=gaming+mice" target="_blank">Speedy gaming mice, superb savings</a></li><li><strong>Best Buy:</strong> <a href="https://www.bestbuy.com/site/searchpage.jsp?id=pcat17071&st=gaming%20mice" target="_blank">Big name meeces with big value discounts</a></li><li><strong>Newegg:</strong> <a href="https://www.newegg.com/Gaming-Mouse/SubCategory/ID-3527?cm_sp=Cat_Keyboard-Mice_3-_-VisNav-_-Gaming-Mice" target="_blank">Big savings on big brand gaming mice</a></li></ul><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-1bec2uw *:not(svg):not(path) { box-sizing: border-box; }    #widget-1bec2uw h1, #widget-1bec2uw p, #widget-1bec2uw h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-1bec2uw, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-1bec2uw); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-1bec2uw tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-1bec2uw tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-1bec2uw td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-1bec2uw: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-1bec2uw: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-1bec2uw td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-1bec2uw td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-1bec2uw td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-1bec2uw td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-1bec2uw td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-1bec2uw td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-1bec2uw: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-1bec2uw: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-1bec2uw"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 104 gaming mouse reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Gaming Mice";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%22WMXAonUQQtoWEioUkjrHQ9%22%2C%22title%22%3A%22AngryMiao%20AM%20Infinity.97%20mouse%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fangrymiao-am-infinity-97-mouse-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-19T12%3A20%3A28Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FJFKjNACJuiQRvtSxGHrSRo.jpg%22%2C%22strapline%22%3A%22Flagship%20speed%2C%20boutique%20flair.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22gaming%20mouse%22%2C%22Asus%22%5D%2C%22score%22%3A88%2C%22summary%22%3A%22Flagship%20speed%2C%20boutique%20flair.%22%7D%2C%7B%22id%22%3A%22VoC7Nefyvxfz8vx7DkQY6G%22%2C%22title%22%3A%22Razer%20Naga%20V3%20Pro%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Frazer-naga-v3-pro-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-18T09%3A18%3A44Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FbxiLAwj2yKPCob3YQrKmwP.jpg%22%2C%22strapline%22%3A%22An%20upgrade%20in%20pretty%20much%20every%20way%20(if%20you%20ignore%20the%20audible%20ping%20of%20the%20switches).%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22gaming%20mouse%22%2C%22Asus%22%5D%2C%22score%22%3A84%2C%22summary%22%3A%22An%20upgrade%20in%20pretty%20much%20every%20way%20(if%20you%20ignore%20the%20audible%20ping%20of%20the%20switches).%22%7D%2C%7B%22id%22%3A%229rH2aY9tFgUwQt6sayPTuA%22%2C%22title%22%3A%22Asus%20ROG%20Harpe%20II%20Extreme%20Edition%2020%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fasus-rog-harpe-ii-extreme-edition-20-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-14T12%3A04%3A08Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F5Z5HG6hDyVtLXotzVznxzd.jpg%22%2C%22strapline%22%3A%22The%20most%20luxurious%20gaming%20mouse%20I've%20managed%20to%20get%20grubby.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22gaming%20mouse%22%2C%22Asus%22%2C%22Asus%20ROG%20Harpe%20II%20Extreme%20Edition%2020%22%5D%2C%22score%22%3A72%2C%22summary%22%3A%22The%20most%20luxurious%20gaming%20mouse%20I've%20managed%20to%20get%20grubby.%22%7D%2C%7B%22id%22%3A%227Ck8uEtqvvSPUEMBEB3WBL%22%2C%22title%22%3A%22Pulsar%20Feinmann%20F01%20Noctua%20Edition%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fpulsar-feinmann-f01-noctua-edition-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-11T14%3A22%3A21Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FVwUWxAQNqmnvcuJzK3zznH.jpg%22%2C%22strapline%22%3A%22Breezy%20and%20comfortable%2C%20but%20I'm%20not%20a%20fan%20of%20its%20price%20and%20battery.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22budget%20gaming%20mice%22%2C%22gaming%20mouse%22%2C%22budget%20gaming%20mouse%22%2C%22Noctua%22%5D%2C%22score%22%3A73%2C%22summary%22%3A%22Breezy%20and%20comfortable%2C%20but%20I'm%20not%20a%20fan%20of%20its%20price%20and%20battery.%22%7D%2C%7B%22id%22%3A%22oFURMEnCZ5FiByvBsJjKtG%22%2C%22title%22%3A%22Mchose%20K7%20V2%20Ultra%2B%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fmchose-k7-v2-ultra-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-31T11%3A12%3A44Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FJPWDDosBpyPGimW3CEGTPg.jpg%22%2C%22strapline%22%3A%22Great%20specs%20with%20a%20Viper%20V3%2FV4%20Pro's%20shape%2C%20for%20less.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20mice%22%2C%22MCHOSE%22%2C%22Mchose%20K7%20V2%20Ultra%2B%22%2C%22Razer%20Viper%20V4%20Pro%22%5D%2C%22score%22%3A89%2C%22summary%22%3A%22Great%20specs%20with%20a%20Viper%20V3%2FV4%20Pro's%20shape%2C%20for%20less.%22%7D%2C%7B%22id%22%3A%2274wWM4f8JebSDZj7RERSUU%22%2C%22title%22%3A%22Asus%20ProArt%20Mouse%20MD301%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fasus-proart-mouse-md301%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-08T16%3A12%3A04Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FCDsLPYCyTeZscFLF2sjGHQ.jpg%22%2C%22strapline%22%3A%22A%20professional%20design%2C%20but%20with%20enough%20quirks%20to%20give%20me%20pause.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Asus%22%2C%22ergonomic%20mouse%22%2C%22Logitech%20MX%20Master%204%22%2C%22mouse%22%2C%22polling%20rate%22%2C%22mouse%20sensor%22%2C%22Asus%20ProArt%20Mouse%20MD301%22%5D%2C%22score%22%3A71%2C%22summary%22%3A%22A%20professional%20design%2C%20but%20with%20enough%20quirks%20to%20give%20me%20pause.%22%7D%2C%7B%22id%22%3A%22K53srydpKdGNFuLaqCTAra%22%2C%22title%22%3A%22Logitech%20Mobi%20Fold%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Flogitech-mobi-fold-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-07T11%3A41%3A33Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FFgQTQfXDfPekUFgZ9dwEZ7.jpg%22%2C%22strapline%22%3A%22Is%20that%20a%20mouse%20in%20your%20pocket%20or%20do%20you%20need%20to%20see%20a%20doctor%3F%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20mouse%22%2C%22travel%20mouse%22%2C%22Logitech%22%2C%22Mobi%20Fold%22%5D%2C%22score%22%3A65%2C%22summary%22%3A%22Is%20that%20a%20mouse%20in%20your%20pocket%20or%20do%20you%20need%20to%20see%20a%20doctor%3F%22%7D%2C%7B%22id%22%3A%22CpybdgtNoaxnCfqj8qUD36%22%2C%22title%22%3A%22Logitech%20G305%20X%20Superlight%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Flogitech-g305-x-superlight-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-19T15%3A37%3A08Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FpTZdszAGGB42CfodWGhPqb.jpg%22%2C%22strapline%22%3A%22A%20solid%20and%20fairly%20plain%20upgrade%20on%20the%20original%2C%20but%20not%20wholly%20better%20either.%20%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22budget%20gaming%20mice%22%2C%22gaming%20mouse%22%2C%22budget%20gaming%20mouse%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20solid%20and%20fairly%20plain%20upgrade%20on%20the%20original%2C%20but%20not%20wholly%20better%20either.%20%22%7D%2C%7B%22id%22%3A%229yFaBcP8M4acKy3vvNHd3S%22%2C%22title%22%3A%22MSI%20Versa%20300%20Wireless%208K%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fmsi-versa-300-wireless-8k-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-15T15%3A35%3A37Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FJBmtjZP3tFxWBytcBD26Jb.jpg%22%2C%22strapline%22%3A%22Surprisingly%20potent.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22MSI%22%2C%22gaming%20mouse%22%2C%228K%22%2C%22mouse%22%2C%22gaming%20mice%22%5D%2C%22score%22%3A72%2C%22summary%22%3A%22Surprisingly%20potent.%22%7D%2C%7B%22id%22%3A%22PnfkWCANTGjwi9CK2iZQBN%22%2C%22title%22%3A%22ProtoArc%20EM25%20ergonomic%20mouse%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fprotoarc-em25-ergonomic-mouse-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-12T16%3A31%3A51Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FZwZJejJtPeZcajbcwMNWfX.jpg%22%2C%22strapline%22%3A%22Rough%20around%20the%20edges.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22ergonomic%20mouse%22%2C%22ProtoArc%22%2C%22ProtoArc%20EM25%22%2C%22RF%202.4%20GHz%22%2C%22Bluetooth%22%2C%22wireless%20mouse%22%5D%2C%22score%22%3A40%2C%22summary%22%3A%22Rough%20around%20the%20edges.%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 76;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Gaming Mice Widget"></iframe></div><h2 class="article-body__section" id="section-prime-day-gaming-mouse-deals"><span>Prime Day gaming mouse deals</span></h2><div class="product"><a data-dimension112="8f407686-bb39-11f1-af31-3179bb99ad85" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="$19.99" href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1401px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qgFqUinn2HCKHEThJ47QpC" name="1636734797.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1401" height="1401" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" target="_blank" rel="nofollow" data-dimension112="8f407686-bb39-11f1-af31-3179bb99ad85" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="$19.99">G203 | Wired: was $34.99 now $19.99</a></strong><br>This rodent is perfect as a starter or low-budget option, with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software. This mouse proves that you don't need to go fancy to get a great gaming peripheral.</p><p><strong>Key specs: Wired | 8,000 DPI | Right-handed</strong></p><p><strong>Price check:</strong> <a href="https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362" target="_blank">Best Buy $29.95</a><a class="view-deal button" href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" target="_blank" rel="nofollow" data-dimension112="8f407686-bb39-11f1-af31-3179bb99ad85" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="$19.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f40774e-bb39-11f1-a4c7-7f324f579c2b" data-action="Deal Block" data-label="G305 Lightspeed | Wireless" data-dimension48="G305 Lightspeed | Wireless" data-dimension25="$29.99" href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:212px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="krHdzSvvW5EskC6Keg74P9" name="1700740513.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9-1920-80.jpg" mos="" align="middle" fullscreen="" width="212" height="212" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" target="_blank" rel="nofollow" data-dimension112="8f40774e-bb39-11f1-a4c7-7f324f579c2b" data-action="Deal Block" data-label="G305 Lightspeed | Wireless" data-dimension48="G305 Lightspeed | Wireless" data-dimension25="$29.99">G305 Lightspeed | Wireless: was $49.99 now $29.99</a></strong><br>The Logitech G305 Lightspeed is our<a href="https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse" target="_blank"> favorite budget wireless mouse</a>—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily <em>that </em>out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.</p><p><strong>Key specs: Wireless | 12,000 DPI | Right-handed</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR" target="_blank">Best Buy $36.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" target="_blank" rel="nofollow" data-dimension112="8f40774e-bb39-11f1-a4c7-7f324f579c2b" data-action="Deal Block" data-label="G305 Lightspeed | Wireless" data-dimension48="G305 Lightspeed | Wireless" data-dimension25="$29.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f407834-bb39-11f1-8a08-23fecaf5d2f8" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="$37.99" href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="SaXBHtPWoMGvzcyvsLNQQX" name="1698934268.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" target="_blank" rel="nofollow" data-dimension112="8f407834-bb39-11f1-8a08-23fecaf5d2f8" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="$37.99">G502 Hero | Wired: was $69.99 now $37.99</a></strong><br>This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. </p><p><strong>Key specs: Wired | 25,600 DPI | Right-handed</strong></p><p><strong>Price check:</strong> <a href="https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133" target="_blank">Best Buy $37.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" target="_blank" rel="nofollow" data-dimension112="8f407834-bb39-11f1-8a08-23fecaf5d2f8" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="$37.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f4076ea-bb39-11f1-bd4c-a987d18ae2e1" data-action="Deal Block" data-label="Model O Eternal | Wired" data-dimension48="Model O Eternal | Wired" data-dimension25="$39.99" href="https://www.amazon.com/dp/B0F9B79WBR" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xuXRzZ72Wy2yQ9oAS9r3A4" name="Model O Eternal | Wired" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xuXRzZ72Wy2yQ9oAS9r3A4-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0F9B79WBR" target="_blank" rel="nofollow" data-dimension112="8f4076ea-bb39-11f1-bd4c-a987d18ae2e1" data-action="Deal Block" data-label="Model O Eternal | Wired" data-dimension48="Model O Eternal | Wired" data-dimension25="$39.99">Model O Eternal | Wired: $39.99</a></strong><br>You aren't packing an incredibly high DPI or polling rate with this mouse, but you are getting strong performance for the price, as well as a lightweight, comfortable build, and solid software. Cheap and cheerful is the aim here.</p><p><strong>Key specs: 12,000 DPI | 300 IPS |  1,000 Hz | 55 g</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/glorious-model-o-eternal-lightweight-wired-optical-gaming-mouse-with-dual-zone-rgb-lighting-wired-matte-white/J39TGZ8SRL?irclickid=2FVW4gUPuxyKTPQxHiQQfQIVUkpWKjQdV36f2U0&irgwc=1&afsrc=1&ref=198&loc=Future%20Dedicated%20Account&acampID=0&mpid=1943169&affgroup=%22Content%22" target="_blank">Best Buy $39.99</a><strong></strong><a class="view-deal button" href="https://www.amazon.com/dp/B0F9B79WBR" target="_blank" rel="nofollow" data-dimension112="8f4076ea-bb39-11f1-bd4c-a987d18ae2e1" data-action="Deal Block" data-label="Model O Eternal | Wired" data-dimension48="Model O Eternal | Wired" data-dimension25="$39.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f407898-bb39-11f1-9fe6-a57bc84d8df7" data-action="Deal Block" data-label="Retro R8 | Wireless" data-dimension48="Retro R8 | Wireless" data-dimension25="$44.97" href="https://www.amazon.com/Charging-Optical-Wireless-Programmable-Switches/dp/B0F37BTPPH" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="6ftyiD7DphdvJ2Z5PfoAKh" name="PCGamer Deal Block (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6ftyiD7DphdvJ2Z5PfoAKh-1920-80.jpg" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Charging-Optical-Wireless-Programmable-Switches/dp/B0F37BTPPH" target="_blank" rel="nofollow" data-dimension112="8f407898-bb39-11f1-9fe6-a57bc84d8df7" data-action="Deal Block" data-label="Retro R8 | Wireless" data-dimension48="Retro R8 | Wireless" data-dimension25="$44.97">Retro R8 | Wireless: was $49.99 now $44.97</a></strong><br>Our James <a href="https://www.pcgamer.com/hardware/gaming-mice/8bitdo-retro-r8-gaming-mouse-review/" target="_blank">reviewed the 8BitDo Retro R8</a>, giving it an 87%, and for good reason. It's a mouse with a super unique look, good specs for the price, and it even comes with a cute charging stand. The retro feel is definitely something to get used to, with buttons that are sunken into the mouse itself, but it's a joy to use regardless. </p><p><strong>Key specs: up to 8,000 Hz polling | 26,000 DPI | 77 g | up to 100-hour battery life</strong></p><p><strong>Price check: </strong><a href="https://www.newegg.com/p/32K-00R0-00033" target="_blank">Newegg $49.99</a><em><strong></strong></em><a class="view-deal button" href="https://www.amazon.com/Charging-Optical-Wireless-Programmable-Switches/dp/B0F37BTPPH" target="_blank" rel="nofollow" data-dimension112="8f407898-bb39-11f1-9fe6-a57bc84d8df7" data-action="Deal Block" data-label="Retro R8 | Wireless" data-dimension48="Retro R8 | Wireless" data-dimension25="$44.97">View Deal</a></p></div><div class="product"><a data-dimension112="8f4078fc-bb39-11f1-8e08-352cc27b5839" data-action="Deal Block" data-label="Burst II Air | Wireless" data-dimension48="Burst II Air | Wireless" data-dimension25="$54.99" href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1504px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="oHpVvSDqMgFC5rnRe2pUnQ" name="1790601251.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1504" height="1494" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" target="_blank" rel="nofollow" data-dimension112="8f4078fc-bb39-11f1-8e08-352cc27b5839" data-action="Deal Block" data-label="Burst II Air | Wireless" data-dimension48="Burst II Air | Wireless" data-dimension25="$54.99">Burst II Air | Wireless: was $99.99 now $54.99</a></strong><br>We gave this mouse an 85% in <a href="https://www.pcgamer.com/hardware/gaming-mice/turtle-beach-burst-ii-air-review/" target="_blank">our review</a>, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price.</p><p><strong>Key specs: Wireless | 26,000 DPI | Symmetrical</strong></p><p><strong>Price check:</strong> <a href="https://www.bestbuy.com/site/turtle-beach-burst-ii-air-ultra-lightweight-wireless-symmetrical-gaming-mouse-with-bluetooth-120-hour-battery-black/6579301.p?skuId=6579301" target="_blank">Best Buy $99.99</a><a class="view-deal button" href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" target="_blank" rel="nofollow" data-dimension112="8f4078fc-bb39-11f1-8e08-352cc27b5839" data-action="Deal Block" data-label="Burst II Air | Wireless" data-dimension48="Burst II Air | Wireless" data-dimension25="$54.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f407a28-bb39-11f1-9086-f5bfce42139a" data-action="Deal Block" data-label="DeathAdder V3 HyperSpeed | Wireless" data-dimension48="DeathAdder V3 HyperSpeed | Wireless" data-dimension25="$63.10" href="https://www.amazon.com/Razer-DeathAdder-HyperSpeed-Wireless-Gaming/dp/B0D4RF55QK/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="PCcmPTSb6k5nc2pqpvNUbN" name="razerdeathadderv3hyperspeed" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PCcmPTSb6k5nc2pqpvNUbN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-DeathAdder-HyperSpeed-Wireless-Gaming/dp/B0D4RF55QK/" target="_blank" rel="nofollow" data-dimension112="8f407a28-bb39-11f1-9086-f5bfce42139a" data-action="Deal Block" data-label="DeathAdder V3 HyperSpeed | Wireless" data-dimension48="DeathAdder V3 HyperSpeed | Wireless" data-dimension25="$63.10">DeathAdder V3 HyperSpeed | Wireless: was $99.99 now $63.10</a></strong><br>Simple, lightweight, fast and accurate. What more do you need from a gaming mouse? Because it eschews all the fancy gadgets that so many mice have these days, you save a bundle of cash and get a really long battery life.</p><p><strong>Key specs: 26K sensor | Wireless | 55 g weight</strong></p><p><strong>Price check: </strong><a href="https://www.razer.com/gaming-mice/razer-deathadder-v3-hyperspeed/RZ01-05140100-R3U1" target="_blank">Razer $99.99</a><a class="view-deal button" href="https://www.amazon.com/Razer-DeathAdder-HyperSpeed-Wireless-Gaming/dp/B0D4RF55QK/" target="_blank" rel="nofollow" data-dimension112="8f407a28-bb39-11f1-9086-f5bfce42139a" data-action="Deal Block" data-label="DeathAdder V3 HyperSpeed | Wireless" data-dimension48="DeathAdder V3 HyperSpeed | Wireless" data-dimension25="$63.10">View Deal</a></p></div><div class="product"><a data-dimension112="f90d1356-c0ae-11f1-87f0-ad9b8dfc6e90" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$66.49" href="https://www.amazon.com/dp/B0FKJ2J2R8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4AaJcaYRutRHqs8C5qjfye" name="Sabre V2 Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4AaJcaYRutRHqs8C5qjfye-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FKJ2J2R8" target="_blank" rel="nofollow" data-dimension112="f90d1356-c0ae-11f1-87f0-ad9b8dfc6e90" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$66.49">Sabre V2 Pro: was $99.99 now $66.49</a></strong><br>Earning a <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/" target="_blank">92% score from our Jacob Fox</a> last year, this ultra-light gaming mouse is a bit of a beast. It's light, sturdy and comes with a great sensor too. </p><p><strong>Key specs: 33K sensor | Wireless | 36 g weight | 8,000 Hz</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FKJ2J2R8" target="_blank" rel="nofollow" data-dimension112="f90d1356-c0ae-11f1-87f0-ad9b8dfc6e90" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$66.49">View Deal</a></p></div><div class="product"><a data-dimension112="7cff63d8-c1a1-11f1-a930-b5d93a967ba0" data-action="Deal Block" data-label="Scimitar Elite Wireless SE" data-dimension48="Scimitar Elite Wireless SE" data-dimension25="$69.99" href="https://www.amazon.com/Corsair-Scimitar-Elite-Wireless-Gaming/dp/B0F6NGCDFN/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Ff9x6ch3ZJnim88AyVvuW3" name="scimitar2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Ff9x6ch3ZJnim88AyVvuW3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>An MMO mouse with many, many buttons, this rodent is a bit heavy—but truly great for those with macros to dance between. In <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-scimitar-elite-wireless-se-review" target="_blank" data-dimension112="7cff63d8-c1a1-11f1-a930-b5d93a967ba0" data-action="Deal Block" data-label="Scimitar Elite Wireless SE" data-dimension48="Scimitar Elite Wireless SE" data-dimension25="$69.99">our review</a>, Hope found the Scimitar Elite Wireless SE to be extremely comfortable, and all the buttons very useful for everything from gaming to streaming. That'll be why it's our <a href="https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-mmo-gaming-mouse" target="_blank">best MMO gaming mouse</a>, then.</p><p><strong>Key specs: 16 buttons | 33K DPI | 1,000 Hz | 114 g</strong><a class="view-deal button" href="https://www.amazon.com/Corsair-Scimitar-Elite-Wireless-Gaming/dp/B0F6NGCDFN/" target="_blank" rel="nofollow" data-dimension112="7cff63d8-c1a1-11f1-a930-b5d93a967ba0" data-action="Deal Block" data-label="Scimitar Elite Wireless SE" data-dimension48="Scimitar Elite Wireless SE" data-dimension25="$69.99">View Deal</a></p></div><div class="product"><a data-dimension112="9e4c0872-c23f-11f1-8b7a-a1bd787e6d85" data-action="Deal Block" data-label="Pro Click V2 Vertical" data-dimension48="Pro Click V2 Vertical" data-dimension25="$89.99" href="https://www.amazon.com/dp/B0DVD5RTZ5" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="SRqAFtT45pzxpttZkcGZqk" name="1782387315.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/SRqAFtT45pzxpttZkcGZqk-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1499" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0DVD5RTZ5" target="_blank" rel="nofollow" data-dimension112="9e4c0872-c23f-11f1-8b7a-a1bd787e6d85" data-action="Deal Block" data-label="Pro Click V2 Vertical" data-dimension48="Pro Click V2 Vertical" data-dimension25="$89.99">Pro Click V2 Vertical: was $119.99 now $89.99</a></strong><br>With a high DPI, RGB lighting, 2.4 GHz connectivity, and USB Type-C charging, you're not missing out on much by opting for this vertical mouse. It's just better on the joints, is all.</p><p><strong>Key specs: Wireless | Type-C charging | Up to 30K DPI | RGB lighting</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0DVD5RTZ5" target="_blank" rel="nofollow" data-dimension112="9e4c0872-c23f-11f1-8b7a-a1bd787e6d85" data-action="Deal Block" data-label="Pro Click V2 Vertical" data-dimension48="Pro Click V2 Vertical" data-dimension25="$89.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f407af0-bb39-11f1-ac92-315a3f6b90cd" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="$122.95" href="https://www.amazon.com/Logitech-Lightspeed-Left-Handed-Customizable-Switchable/dp/B0CJ4TPLRM" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Q3PxPrNWbFomndFenbZFge" name="PCGamer Deal Block - 2025-11-06T154608.374" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Q3PxPrNWbFomndFenbZFge-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-Lightspeed-Left-Handed-Customizable-Switchable/dp/B0CJ4TPLRM" target="_blank" rel="nofollow" data-dimension112="8f407af0-bb39-11f1-ac92-315a3f6b90cd" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="$122.95">G Pro 2 Lightspeed | Wireless: was $149.99 now $122.95</a></strong><br>Though it doesn't quite look as impressive as the Superlight 2, the G Pro 2 Lightspeed matches the same internals and is truly ambidextrous, thanks to swappable side buttons.</p><p><strong>Key specs: 44,000 DPI | 888 IPS | 88g accelerations | 4 side buttons</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/logitech-pro-2-lightspeed-lightweight-optical-hero-44k-dpi-gaming-mouse-with-4-customizable-and-switchable-magnetic-side-buttons-wireless-black/J7H7ZYG63P" target="_blank">Best Buy $129</a><a class="view-deal button" href="https://www.amazon.com/Logitech-Lightspeed-Left-Handed-Customizable-Switchable/dp/B0CJ4TPLRM" target="_blank" rel="nofollow" data-dimension112="8f407af0-bb39-11f1-ac92-315a3f6b90cd" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="$122.95">View Deal</a></p></div><div class="product"><a data-dimension112="8f407bc2-bb39-11f1-8631-a57dfb7e727f" data-action="Deal Block" data-label="Viper V3 Pro | Wireless" data-dimension48="Viper V3 Pro | Wireless" data-dimension25="$109.99" href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CVRGCGWJ/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xR8QJpjHGx27FS3pZnYBj7" name="1790601520.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xR8QJpjHGx27FS3pZnYBj7-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1509" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CVRGCGWJ/?th=1" target="_blank" rel="nofollow" data-dimension112="8f407bc2-bb39-11f1-8631-a57dfb7e727f" data-action="Deal Block" data-label="Viper V3 Pro | Wireless" data-dimension48="Viper V3 Pro | Wireless" data-dimension25="$109.99">Viper V3 Pro | Wireless: was $159.99 now $109.99</a></strong><br>Razer doesn't play around with its compact Viper line-up. The V3 Pro is pretty light, feels great in hand, and tracks your movement like any other high-end mouse. It's top-tier and a little cheaper than the newer V4 Pro now.</p><p><strong>Key specs: 6 buttons | 35K DPI | 8,000 Hz | 70 g</strong><a class="view-deal button" href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CVRGCGWJ/?th=1" target="_blank" rel="nofollow" data-dimension112="8f407bc2-bb39-11f1-8631-a57dfb7e727f" data-action="Deal Block" data-label="Viper V3 Pro | Wireless" data-dimension48="Viper V3 Pro | Wireless" data-dimension25="$109.99">View Deal</a></p></div><h2 id="check-out-all-our-latest-deals-in-any-category-3">Check out all our latest deals in any category:</h2><div class="vizualizer-embed"><fc-author-commerce-widget data-fcaw-version="1" data-fcaw-full-bleed="false">  <style data-fcaw-host-protection>fc-author-commerce-widget[data-fcaw-version="1"] {  display: block !important;  width: 100% !important;  min-width: 0 !important;  max-width: none !important;  isolation: isolate !important;  contain: style !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]{  width: min(    1200px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1200px !important;  margin-left: var(    --fcaw-full-bleed-offset,    calc(50% - min(600px, 50vw))  ) !important;  margin-right: 0 !important;  position: relative !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]  #tg-df-spreadsheet-filters {  width: min(    1500px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1500px !important;  margin-left: calc(    (      100% -      min(1500px, var(--fcaw-viewport-width, 100vw))    ) / 2  ) !important;  margin-right: 0 !important;}fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::before,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::after {  box-sizing: border-box;}</style>  <div data-fcaw-fallback class="fcaw-v1-fallback">    <style>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with 'tg-df-' to prevent CMS style leakage.    */    .tg-df-container { user-select: text; -webkit-user-select: text;      container-type: inline-size;      container-name: tg-df;                  --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]    {      width: min(        1200px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1200px !important;      margin-left: calc(        (          100% -          min(1200px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;      position: relative !important;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]      #tg-df-spreadsheet-filters {      width: min(        1500px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1500px !important;      margin-left: calc(        (          100% -          min(1500px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: var(--tg-df-blue);    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }        .tg-df-filters {      display: flex;      justify-content: center;      width: 100%;      gap: 12px;      margin: 0 auto;      max-width: 42rem;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;      max-width: 280px;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    .tg-df-scroll-btn {      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 4px;    }    .tg-df-scroll-btn.right {      right: 4px;    }    @container tg-df (max-width: 768px) {      .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;      margin: 0 auto;    }    .tg-df-filters {        justify-content: center;        width: 100%;        margin: 0 auto;        margin-bottom: -320px;        padding: 0 0 320px 0;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: calc(100% + 32px);      max-width: none;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;      margin: 0 -16px -16px -16px;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }    .tg-df-buying-guide-badge {      left: auto;      right: 12px;      max-width: calc(100% - 24px);      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges { position: absolute; bottom: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; z-index: 10; }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-card-listings {      margin: 0 0 12px;    }    .tg-df-card-listings-title {      display: block;      color: var(--tg-df-text-muted);      font-size: 11px;      font-weight: 700;      letter-spacing: 0.45px;      line-height: 1.2;      margin-bottom: 4px;      text-transform: uppercase;    }    .tg-df-card-listings-links {      border-top: 1px solid var(--tg-df-border);    }    .tg-df-container .tg-df-card-listing-link {      align-items: center;      border-bottom: 1px solid var(--tg-df-border);      box-sizing: border-box;      color: var(--tg-df-blue);      display: flex;      font-size: 13px;      font-weight: 700;      justify-content: space-between;      line-height: 1.2;      min-height: 34px;      padding: 5px 2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-listing-link::after {      content: '↗';      font-size: 14px;      font-weight: 600;      margin-left: 8px;    }    .tg-df-container .tg-df-card-listing-link:hover,    .tg-df-container .tg-df-card-listing-link:focus-visible {      background: #f8fafc;      color: var(--tg-df-blue);      outline: 2px solid var(--tg-df-blue);      outline-offset: -2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: calc(100% + 32px);      max-width: none;      box-sizing: border-box;      background-color: var(--tg-df-blue);      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;      margin: 0 -16px -16px -16px;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      filter: brightness(0.85);    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /* Optional mobile 2x2 filter grid */    .tg-df-mobile-2x2-container {      display: none;      width: 100%;      margin: 0 0 16px 0;      position: relative;      z-index: 30;    }    .tg-df-mobile-2x2-grid {      display: grid;      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);      width: 100%;      border: 1px solid var(--tg-df-border, #e2e8f0);      background: var(--tg-df-bg, #ffffff);    }    .tg-df-container .tg-df-mobile-grid-cell {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      min-width: 0;      padding: 12px 14px;      font-family: inherit;      font-size: 11px;      font-weight: 600;      line-height: 1.2;      text-transform: uppercase;      letter-spacing: 0.5px;      text-align: left;      color: var(--tg-df-text-muted, #64748b);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-mobile-grid-cell > span {      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }    .tg-df-mobile-grid-cell > svg {      flex: 0 0 auto;      margin-left: 8px;      transition: transform 0.15s ease;    }    .tg-df-mobile-grid-cell > svg.is-open {      transform: rotate(180deg);    }    .tg-df-mobile-grid-cell {      border-bottom: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-grid-cell:nth-child(odd) {      border-right: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-2x2-grid--even .tg-df-mobile-grid-cell:nth-last-child(-n + 2) {      border-bottom: 0;    }    .tg-df-mobile-2x2-grid--odd .tg-df-mobile-grid-cell:last-child {      grid-column: 1 / -1;      border-right: 0;      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-grid-cell.active,    .tg-df-container .tg-df-mobile-grid-cell:hover {      background: var(--tg-df-bg-secondary, #f8fafc);      color: var(--tg-df-text, #0f172a);    }    .tg-df-container .tg-df-mobile-grid-cell.has-active-filter {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;    }    .tg-df-mobile-menu-drawer {      width: 100%;      max-height: 260px;      overflow-y: auto;      overscroll-behavior: contain;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-top: 0;      background: var(--tg-df-bg, #ffffff);      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);    }    .tg-df-container .tg-df-mobile-menu-item {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      width: 100%;      min-height: 42px;      padding: 12px 16px;      font-family: inherit;      font-size: 12px;      font-weight: 500;      line-height: 1.3;      text-align: left;      color: var(--tg-df-text, #0f172a);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-bottom: 1px solid #f1f5f9;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-container .tg-df-mobile-menu-item:last-child {      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-menu-item.selected {      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.08);      font-weight: 600;    }    .tg-df-container .tg-df-mobile-menu-item:hover {      background: var(--tg-df-bg-secondary, #f8fafc);    }    .tg-df-mobile-cell-badge {      display: inline-flex;      align-items: center;      justify-content: center;      padding: 2px 6px;      margin-left: 4px;      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.1);      border-radius: 9999px;      font-size: 10px;      font-weight: 700;    }    @container tg-df (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    @media (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    /* A non-full-bleed desktop embed is constrained to the article column.       Reuse the compact filter grid there instead of squeezing the rails. */    @container tg-df (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    @media (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-mobile-authors { gap: 16px !important; }      .tg-df-mobile-authors .tg-df-author-row-item { width: 56px !important; }      .tg-df-mobile-authors .tg-df-author-img-wrapper { width: 48px !important; height: 48px !important; }      .tg-df-mobile-authors .tg-df-author-brand-logo { width: 18px !important; height: 18px !important; bottom: -2px !important; right: -2px !important; }      .tg-df-mobile-authors .tg-df-author-row-name { font-size: 11px !important; }      .tg-df-mobile-authors .tg-df-author-row-role { font-size: 10px !important; }            .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-controls {        padding: 16px 0 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 8px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    @media (max-width: 599px) {      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }        .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: var(--tg-df-blue);      position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }      .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }        .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;      scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-scroll-left {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: rgba(255, 255, 255, 0.4);      color: var(--tg-df-blue);      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);      border: none;      cursor: pointer;      transition: background-color 0.2s;      margin-top: -4px;      z-index: 10;    }    .tg-df-container .tg-df-carousel-scroll-right {      right: 0;    }    .tg-df-container .tg-df-carousel-scroll-left {      left: 0;    }    .tg-df-container .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-scroll-left:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left {       height: 30px;       width: 30px;       background-color: rgba(255, 255, 255, 0.8);       box-shadow: 0 2px 4px rgba(0,0,0,0.1);       margin-top: 0;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left:hover {       background-color: white;    }    .tg-df-container .tg-df-grid-wrapper {       position: relative;    }    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-left {       background-color: white;       box-shadow: 0 4px 12px rgba(0,0,0,0.15);       top: 40%;       width: 44px;       height: 44px;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }            .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover, .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      width: calc(100% + 24px);      border-radius: 0;      padding: 8px 10px;      margin: auto -12px -12px -12px;      background-color: var(--tg-df-blue);    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; padding-right: 12px; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @media (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }      .tg-df-container .hawk-deal-widget-title-product-title,      .tg-df-container .hawk-deal-widget-title-price,      .tg-df-container .hawk-deal-widget-title-retailer {        font-size: 14px !important;        line-height: 1.35 !important;        font-weight: 700 !important;      }      .tg-df-container .hawk-deal-widget-title-was-price {        font-size: 13px !important;        line-height: 1.35 !important;      }      .tg-df-container .hawk-deal-widget-text-body-main {        font-size: 14px !important;        line-height: 1.35 !important;        margin-bottom: 8px !important;      }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    /* BESPOKE AUTHOR HEADER STYLES - MAX ISOLATION PROTECTION */    .tg-df-author-embed {      width: 100% !important;      font-family: inherit !important;      background: transparent !important;      margin: 0 !important;      padding: 0 !important;      border: none !important;    }    .tg-df-author-section {      display: block !important;      width: 100% !important;      max-width: 100% !important;      opacity: 1 !important;      overflow: visible !important;      background: transparent !important;      border: none !important;      margin: 0 auto !important;      padding: 0 !important;      box-shadow: none !important;    }    .tg-df-author-card {      text-align: center !important;      padding: 1.75rem 1rem 1.25rem 1rem !important;      margin: 0 auto !important;      max-width: 48rem !important;      background: transparent !important;      border: none !important;      border-radius: 0 !important;      box-sizing: border-box !important;      box-shadow: none !important;    }    .tg-df-author-image {      width: 180px !important;      height: 180px !important;      border-radius: 50% !important;      object-fit: cover !important;      margin: 0 auto 0.75rem auto !important;      display: block !important;      border: none !important;      box-shadow: none !important;      max-width: 100% !important;    }    .tg-df-author-media-slot {      width: 100% !important;      height: 180px !important;      min-height: 180px !important;      margin: 0 auto 0.75rem auto !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;    }    .tg-df-author-media-slot .tg-df-author-image {      margin: 0 auto !important;    }    .tg-df-author-profile-image-wrapper {      position: relative !important;      width: 180px !important;      height: 180px !important;      margin: 0 auto 0.75rem auto !important;      flex: 0 0 auto !important;    }    .tg-df-author-profile-brand-logo {      position: absolute !important;      right: 12px !important;      bottom: 12px !important;      width: 42px !important;      height: 42px !important;      padding: 0 !important;      border: 3px solid var(--tg-df-bg, #fff) !important;      border-radius: 50% !important;      background: #000 !important;      object-fit: contain !important;      box-sizing: border-box !important;    }    .tg-df-author-curated-by {      font-size: 0.875rem !important;      color: #6B7280 !important;      font-style: normal !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      line-height: 1.4 !important;    }    .tg-df-author-name {      font-size: 2rem !important;      font-weight: 300 !important;      color: #111827 !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      line-height: 1.1 !important;      letter-spacing: -0.02em !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-role {      font-size: 0.9375rem !important;      font-weight: 500 !important;      color: var(--tg-df-blue, #1F69FF) !important;      margin: 0 0 1.25rem 0 !important;      padding: 0 !important;      line-height: 1.3 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-meta-slot {      width: 100% !important;      min-height: 88px !important;      display: flex !important;      flex-direction: column !important;      align-items: center !important;      justify-content: flex-start !important;    }    .tg-df-author-meta-slot--site {      padding-top: 1rem !important;    }    .tg-df-author-meta-slot--no-social {      min-height: 0 !important;    }    .tg-df-author-meta-slot--no-social .tg-df-author-role {      margin-bottom: 0.5rem !important;    }    .tg-df-author-social-links {      display: flex !important;      flex-wrap: wrap !important;      align-items: center !important;      justify-content: center !important;      gap: 1rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 !important;      max-width: 42rem !important;      width: 100% !important;      list-style: none !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-social-btn {      display: inline-flex !important;      align-items: center !important;      justify-content: center !important;      padding: 0 !important;      border-radius: 50% !important;      background-color: #f2f2f2 !important;      color: #111111 !important;      font-size: 0.8125rem !important;      font-weight: 500 !important;      text-decoration: none !important;      transition: all 0.2s ease !important;      border: 0 !important;      line-height: 1 !important;      box-shadow: none !important;      cursor: pointer !important;      outline: none !important;      margin: 0 !important;      height: 34px !important;      width: 34px !important;      min-width: 34px !important;      box-sizing: border-box !important;    }    .tg-df-author-social-btn:hover {      background-color: #dedede !important;      color: #111111 !important;      transform: translateY(-1px) !important;    }    .tg-df-author-social-btn > svg {      width: 19px !important;      height: 19px !important;      flex-shrink: 0 !important;      display: block !important;      margin: 0 !important;    }    .tg-df-author-social-btn[data-social-key="facebook"] > svg {      transform: scale(1.25) !important;    }    .tg-df-author-social-btn[data-social-key="pinterest"] > svg,    .tg-df-author-social-btn[data-social-key="tiktok"] > svg {      transform: scale(1.2) !important;    }    .tg-df-author-bio {      max-width: 42rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 0.5rem !important;      color: #4b5563 !important;      line-height: 1.6 !important;      font-weight: 300 !important;      font-size: 0.9375rem !important;      text-align: center !important;      background: none !important;      border: none !important;      border-radius: 0 !important;      box-shadow: none !important;      display: block !important;      height: auto !important;      overflow: visible !important;    }    .tg-df-author-bio-shell--stable {      width: 100% !important;      box-sizing: border-box !important;    }    .tg-df-author-bio--clamped {      min-height: 4.8em !important;      height: 4.8em !important;      max-height: 4.8em !important;      display: -webkit-box !important;      -webkit-box-orient: vertical !important;      -webkit-line-clamp: 3 !important;      overflow: hidden !important;    }    .tg-df-author-bio--expanded {      min-height: 4.8em !important;      height: auto !important;      max-height: none !important;      display: block !important;      overflow: visible !important;    }    .tg-df-author-bio--static,    .tg-df-author-bio--static:hover,    .tg-df-author-bio--static:focus,    .tg-df-author-bio--static:focus-visible {      outline: none !important;      box-shadow: none !important;      cursor: default !important;    }    .tg-df-author-bio-toggle-slot {      height: 28px !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;      margin: 0.125rem 0 0 !important;    }    .tg-df-author-bio-toggle {      appearance: none !important;      border: 0 !important;      border-bottom: 1px solid currentColor !important;      border-radius: 0 !important;      padding: 0.125rem 0 !important;      margin: 0 !important;      background: transparent !important;      color: #4b5563 !important;      box-shadow: none !important;      font: inherit !important;      font-size: 0.75rem !important;      font-weight: 600 !important;      line-height: 1.2 !important;      text-decoration: none !important;      text-transform: none !important;      cursor: pointer !important;    }    .tg-df-author-bio a {      color: var(--tg-df-blue, #1F69FF) !important;      text-decoration: underline !important;      font-weight: 400 !important;      background: none !important;      border: none !important;      padding: 0 !important;      margin: 0 !important;      border-radius: 0 !important;      display: inline !important;      box-shadow: none !important;    }    .tg-df-author-bio p,    .tg-df-author-bio div,    .tg-df-author-bio span {      margin: 0 !important;      padding: 0 !important;      color: inherit !important;      font: inherit !important;      line-height: inherit !important;      text-align: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-bio strong,    .tg-df-author-bio b {      font-weight: 600 !important;    }    .tg-df-author-bio em,    .tg-df-author-bio i {      font-style: italic !important;    }    @container tg-df (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @media (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @container tg-df (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @media (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }    @media (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }        .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button {      align-items: center; background-color: var(--tg-df-blue); box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;    }    .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button:hover { filter: brightness(0.85); text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-active-badges-row {      display: flex;      flex-wrap: wrap;      gap: 8px;      align-items: center;      margin-top: 12px;      margin-bottom: 16px;      width: 100%;    }    .tg-df-active-badge {      display: inline-flex;      align-items: center;      gap: 6px;      padding: 8px 14px;      background-color: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border: 1px solid var(--tg-df-blue, #1f69ff);      border-radius: 0px;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;    }    .tg-df-badge-remove {      display: inline-flex;      align-items: center;      justify-content: center;      width: 16px;      height: 16px;      border-radius: 0px;      border: none;      background: rgba(255, 255, 255, 0.25);      color: #ffffff;      cursor: pointer;      padding: 0;      margin-left: 4px;      transition: background-color 0.15s, color 0.15s;    }    .tg-df-badge-remove:hover {      background: rgba(255, 255, 255, 0.45);      color: #ffffff;    }    .tg-df-badge-clear-all {      display: inline-flex;      align-items: center;      justify-content: center;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;      padding: 8px 14px;      color: var(--tg-df-text-muted, #64748b);      cursor: pointer;      background: #ffffff;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-radius: 0px;      transition: all 0.15s ease;    }    .tg-df-badge-clear-all:hover {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border-color: var(--tg-df-blue, #1f69ff);    }    .tg-df-savings-squad-header {      margin-bottom: 24px;      text-align: center;    }    .tg-df-banner-img-desktop {      display: block;      width: 100%;      height: auto;      margin-bottom: 32px;    }    .tg-df-banner-img-mobile {      display: none;      width: 100%;      height: auto;      margin-bottom: 32px;    }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop {        display: none;      }      .tg-df-banner-img-mobile {        display: block;      }    }    .tg-df-header-title {      font-size: 28px;      font-weight: 700;      color: var(--tg-df-text);      margin: 32px 0 12px 0;      line-height: 1.3;    }    .tg-df-header-subtitle {      font-size: 16px;      color: var(--tg-df-text-muted);      margin: 0 0 32px 0;      line-height: 1.5;    }    @container tg-df (max-width: 599px) {      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    @media (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    /* Article Intro Content Styling */    .tg-df-article-content {      font-size: 1rem;      line-height: 1.7;      color: #334155;    }    .tg-df-article-content p {      margin-bottom: 1.25rem;      line-height: 1.7;      font-size: 1rem;      color: #334155;    }    .tg-df-article-content > p:first-of-type::first-letter {      font-size: 3.25rem;      font-weight: 700;      float: left;      line-height: 0.85;      margin-right: 0.5rem;      margin-top: 0.15rem;      color: #0f172a;      font-family: inherit;    }    .tg-df-article-content a {      color: #0066cc;      text-decoration: underline;      font-weight: 500;    }    .tg-df-article-content a:hover {      color: #004499;    }    .tg-df-article-content strong, .tg-df-article-content b {      font-weight: 700;      color: #0f172a;    }    .tg-df-article-section-banner {      border-bottom: 2px solid #e6007e;      margin: 2.25rem 0 1.25rem 0;      position: relative;      clear: both;    }    .tg-df-article-section-banner span {      background-color: #e6007e;      color: #ffffff;      padding: 6px 16px;      font-weight: 700;      font-size: 0.875rem;      text-transform: uppercase;      letter-spacing: 0.05em;      display: inline-block;    }  </style><div class="tg-df-widget-host" data-vizualizer-embed="true" data-tg-df-full-bleed="false" data-tg-df-mobile-dropdowns="true" data-tg-df-sticky-mobile-filters="false" style="--tg-df-blue: #DC191B;"><div class="tg-df-container article-body" style="background-color: transparent;"><div id="tg-df-spreadsheet-filters" style="display: block; margin-bottom: 16px;"><div class="tg-df-categories-row-container" style="border-bottom: 1px solid var(--tg-df-border); position: relative;"><button aria-label="Scroll left" class="tg-df-scroll-btn left tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 18l-6-6 6-6"></path></svg></button><button aria-label="Scroll right" class="tg-df-scroll-btn right tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-categories-row" style="display: flex; overflow-x: auto; scrollbar-width: none;"><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Hardware <span style="color: var(--tg-df-blue); font-size: 10px;">66</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Monitors <span style="color: var(--tg-df-blue); font-size: 10px;">9</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming PCs <span style="color: var(--tg-df-blue); font-size: 10px;">7</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Mice <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Headsets <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Audio <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">SSDs <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Storage <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Laptops <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Controllers <span style="color: var(--tg-df-blue); font-size: 10px;">1</span></button></div></div></div><div class="tg-df-mobile-2x2-container"><div class="tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--odd"><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>CATEGORIES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>PRICES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell has-active-filter" aria-expanded="false"><span>DISCOUNTS (25%+)</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button></div></div><div class="tg-df-controls" id="tg-df-controls" style="display: flex; margin-top: 12px; margin-bottom: 16px; justify-content: center;"><div class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0px auto;"><button class="tg-df-scroll-btn left" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 18l-6-6 6-6"></path></svg></button><button class="tg-df-scroll-btn right" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-filters"><div class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices"><option value="all">All Prices</option><option value="under50">Under $50</option><option value="50_100">$50 - $100</option><option value="100_200">$100 - $200</option><option value="200_500">$200 - $500</option><option value="over500">Over $500</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount"><option value="all">Any discount</option><option value="5">Min 5%</option><option value="10">Min 10%</option><option value="15">Min 15%</option><option value="20">Min 20%</option><option value="25">Min 25%</option><option value="30">Min 30%</option><option value="40">Min 40%</option><option value="50">Min 50%</option><option value="60">Min 60%</option><option value="70">Min 70%</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-review-sort-wrapper" style="display: none;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 7h16M7 12h10m-7 5h4"></path></svg><select class="tg-df-filter-select" id="tg-df-review-sort" aria-label="Sort Reviews"><option value="date_desc">Most recent</option><option value="rating_desc">Highest rating</option><option value="scored_first">Scored products first</option></select></div></div></div></div><div class="tg-df-active-badges-row" style="display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 10px; margin-bottom: 16px;"><span class="tg-df-active-badge">Min 25% off<button type="button" class="tg-df-badge-remove" aria-label="Remove Min 25% off"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></span></div><div class="tg-df-grid-wrapper"><div class="tg-df-grid article-body tg-df-grid-auto" id="tg-df-grid"><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-0" data-merchant="Amazon" data-previous-price="34.99" data-price="25.99" data-product-name="G203 | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $9</span><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G203 | Wired" class="tg-df-card-image" loading="lazy" src="http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G203 | Wired"><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G203 | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>25.99</span></span><span class="tg-df-card-msrp">$34.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Glorious" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-0" data-merchant="Amazon" data-previous-price="59.99" data-price="26.31" data-product-name="GHS Eternal | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33.68</span><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="GHS Eternal | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="GHS Eternal | 40 mm drivers"><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Glorious GHS Eternal | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>26.31</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-1" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed | Wireless"><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-86" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed"><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-87" data-merchant="Bestbuy" data-previous-price="69.99" data-price="34.98" data-product-name="Basilisk V3"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35.01</span><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Basilisk V3" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Basilisk V3"><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Basilisk V3</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>34.98</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-3" data-merchant="Amazon" data-previous-price="69.99" data-price="37.99" data-product-name="G502 Hero | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $32</span><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G502 Hero | Wired" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G502 Hero | Wired"><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G502 Hero | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>37.99</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-80" data-merchant="Amazon" data-previous-price="59.99" data-price="39.79" data-product-name="BlackShark V2 X"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20.2</span><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="BlackShark V2 X" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="BlackShark V2 X"><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer BlackShark V2 X</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.79</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-1" data-merchant="Amazon" data-previous-price="79.99" data-price="39.99" data-product-name="G432 | 50 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $40</span><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G432 | 50 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G432 | 50 mm drivers"><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G432 | 50 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-2" data-merchant="Amazon" data-previous-price="79.99" data-price="44.99" data-product-name="Kraken V4 X | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35</span><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Kraken V4 X | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Kraken V4 X | 40 mm drivers"><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Kraken V4 X | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>44.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Turtle Beach" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-5" data-merchant="Amazon" data-previous-price="99.99" data-price="54.99" data-product-name="Burst II Air | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $45</span><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Burst II Air | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Burst II Air | Wireless"><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Turtle Beach Burst II Air | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>54.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="HyperX" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-5" data-merchant="Amazon" data-previous-price="99.99" data-price="57.99" data-product-name="Cloud III | 53 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $42</span><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Cloud III | 53 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Cloud III | 53 mm drivers"><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>HyperX Cloud III | 53 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>57.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Nothing" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-15" data-merchant="Amazon" data-previous-price="79" data-price="59" data-product-name="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Nothing Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>59</span></span><span class="tg-df-card-msrp">$79</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="KTC" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-40" data-merchant="Newegg" data-previous-price="99.99" data-price="62.49" data-product-name="H24V27"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $37.5</span><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="H24V27" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="H24V27"><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>KTC H24V27</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code &quot;LDSF246&quot; for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>62.49</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Scuf" data-currency="$" data-deal-id="airedale-A97h9Ug45WeF5xPLdcoJyf-0" data-merchant="Amazon" data-previous-price="109.99" data-price="76.99" data-product-name="Valor Pro"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33</span><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Valor Pro" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Valor Pro"><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Scuf Valor Pro</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>76.99</span></span><span class="tg-df-card-msrp">$109.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Jess Kinghorn" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/controllers/the-best-wired-pc-controller-has-been-knocked-down-to-usd77-so-long-as-you-dont-mind-it-in-white" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Jess Kinghorn</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 24 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Acer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-41" data-merchant="Newegg" data-previous-price="129.99" data-price="79.99" data-product-name="AOpen 24KG1Y X3bip"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="AOpen 24KG1Y X3bip" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="AOpen 24KG1Y X3bip"><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Acer AOpen 24KG1Y X3bip</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Asus" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-82" data-merchant="Amazon" data-previous-price="129.99" data-price="79.99" data-product-name="ROG Pelta"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="ROG Pelta" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="ROG Pelta"><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Asus ROG Pelta</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-43" data-merchant="Bestbuy" data-previous-price="149.99" data-price="97.49" data-product-name="MAG 244F"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $52.5</span><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 244F" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 244F"><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 244F</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>97.49</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-UBBZiFU9BXsLfvbZ8d4awf-1" data-merchant="Walmart" data-previous-price="149.99" data-price="99" data-product-name="MAG 255XFV"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50.99</span><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 255XFV" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 255XFV"><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 255XFV</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>99</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Walmart</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/amazon-prime-day-gaming-monitor-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-load-more-control" style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1; overflow-anchor: none;"><button type="button" class="tg-df-tag-outline" aria-busy="false" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More</button></div><script type="application/ld+json">{"@context":"https://schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Product","name":"G203 | Wired","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":25.99,"url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":2,"item":{"@type":"Product","name":"GHS Eternal | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","brand":{"@type":"Brand","name":"Glorious"},"offers":{"@type":"Offer","priceCurrency":"USD","price":26.31,"url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":3,"item":{"@type":"Product","name":"G305 Lightspeed | Wireless","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":4,"item":{"@type":"Product","name":"G305 Lightspeed","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/dp/B07CMS5Q6P","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":5,"item":{"@type":"Product","name":"Basilisk V3","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":34.98,"url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":6,"item":{"@type":"Product","name":"G502 Hero | Wired","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":37.99,"url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":7,"item":{"@type":"Product","name":"BlackShark V2 X","image":"https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg","description":"The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.79,"url":"https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":8,"item":{"@type":"Product","name":"G432 | 50 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg","description":"Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.99,"url":"https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":9,"item":{"@type":"Product","name":"Kraken V4 X | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg","description":"If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":44.99,"url":"https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":10,"item":{"@type":"Product","name":"Burst II Air | Wireless","image":"https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg","description":"We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99","brand":{"@type":"Brand","name":"Turtle Beach"},"offers":{"@type":"Offer","priceCurrency":"USD","price":54.99,"url":"https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":11,"item":{"@type":"Product","name":"Cloud III | 53 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg","description":"We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99","brand":{"@type":"Brand","name":"HyperX"},"offers":{"@type":"Offer","priceCurrency":"USD","price":57.99,"url":"https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":12,"item":{"@type":"Product","name":"Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)","image":"https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png","description":"These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response","brand":{"@type":"Brand","name":"Nothing"},"offers":{"@type":"Offer","priceCurrency":"USD","price":59,"url":"https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":13,"item":{"@type":"Product","name":"H24V27","image":"https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png","description":"This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code "LDSF246" for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA","brand":{"@type":"Brand","name":"KTC"},"offers":{"@type":"Offer","priceCurrency":"USD","price":62.49,"url":"https://www.newegg.com/p/3D4-007C-00016","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":14,"item":{"@type":"Product","name":"Valor Pro","image":"https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png","description":"This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks","brand":{"@type":"Brand","name":"Scuf"},"offers":{"@type":"Offer","priceCurrency":"USD","price":76.99,"url":"https://www.amazon.com/dp/B0DTB3QCS5","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":15,"item":{"@type":"Product","name":"AOpen 24KG1Y X3bip","image":"https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png","description":"With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"Acer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.newegg.com/p/N82E16824011533","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":16,"item":{"@type":"Product","name":"ROG Pelta","image":"https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg","description":"With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life","brand":{"@type":"Brand","name":"Asus"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":17,"item":{"@type":"Product","name":"MAG 244F","image":"https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png","description":"With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":97.49,"url":"https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":18,"item":{"@type":"Product","name":"MAG 255XFV","image":"https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg","description":"You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":99,"url":"https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174","seller":{"@type":"Organization","name":"Walmart"}}}}]}</script></div></div><div class="tg-df-modal-backdrop "><div class="tg-df-modal"><div class="tg-df-modal-header"><h3 class="tg-df-modal-title">Available Coupons & Deals</h3><button class="tg-df-modal-close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="tg-df-modal-body"><div class="tg-df-message">No active vouchers found for .</div></div></div></div></div></div>  </div>  <script type="application/json" data-fcaw-config>{"authorBioLength":"short","authorFullBleed":false,"authorHandle":"all-authors","authorName":"All authors","backgroundColor":"transparent","customBio":"","discountAmount":"25","editorMode":false,"editorialMaxAgeMonths":"0","includeBuyingGuideProducts":false,"includeCollections":false,"includeDeals":true,"includeReviewProducts":false,"mobileDropdowns":true,"stickyMobileFilters":false,"offerType":"","preloadReviewInventory":false,"lightweightReviewDelivery":false,"hideHawkPrices":false,"prioritiseCommercialProducts":true,"priceRange":"all","productSelection":"mix","query":"","region":"auto","resultCount":"6","retailer":"","selectedBrands":[],"showAuthorBio":false,"showAuthorCounters":true,"showAuthorIdentity":false,"showAuthorRail":false,"showBrandRail":false,"showCategoryRail":true,"showCollectionsDropdown":false,"showPriceDiscountFilters":true,"showReviewSort":false,"showSocialButtons":false,"showCountdown":false,"showHeaderDetails":true,"showFreeformTagRail":false,"sort":"price_asc","viewMode":"author","website":"pcgamer","widgetSubtitle":"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.","widgetTitle":"Top Deals Handpicked by Our Editors","brands":[],"shortenedHeadlines":{},"compactEmbed":true}</script>  <script type="application/json" data-fcaw-preload>{"authors":[{"bioLong":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","bioShort":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","name":"James","fullName":"James Bentley","handle":"james-bentley","role":"Hardware writer","image":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","brandKey":"pcgamer"},{"bioLong":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","bioShort":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","name":"Dave","fullName":"Dave James","handle":"dave-james","role":"Editor-in-Chief, Hardware","image":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/not_the_gk","label":"X (Twitter)"},{"key":"email","href":"mailto:dave.james@futurenet.com","label":"Email"}]},{"bioLong":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","bioShort":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","name":"Jacob","fullName":"Jacob Fox","handle":"jacob-fox","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","brandKey":"pcgamer"},{"bioLong":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","bioShort":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","name":"Andy","fullName":"Andy Edser","handle":"andy-edser","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","brandKey":"pcgamer"},{"bioLong":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","bioShort":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","name":"Jess","fullName":"Jess Kinghorn","handle":"jess-kinghorn","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/KoeniginKatze","label":"X (Twitter)"},{"key":"linkedin","href":"https://www.linkedin.com/in/jess-kinghorn","label":"LinkedIn"}]}],"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"activeDealTag":null,"activeFreeformTag":null,"activeFreeformTags":[],"couponMap":{"Amazon":"has","Bestbuy":"none","Newegg":"none","Walmart":"none"},"totalAuthorCount":5,"totalDealCount":56,"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"reviewInventoryBaked":false,"regionalDealManifests":{"US":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-0","url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":25.99,"rawMsrp":34.99,"price":"25.99","msrp":"34.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $9","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362\" target=\"_blank\"\u003eBest Buy $39.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-0","url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","title":"GHS Eternal | 40 mm drivers","brand":"Glorious","productName":"GHS Eternal | 40 mm drivers","merchant":"Amazon","rawPrice":26.31,"rawMsrp":59.99,"price":"26.31","msrp":"59.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $33.68","savingType":"amount","isPrime":false,"starRating":null,"description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","text":"\u003cp\u003eWith a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20 hz - 20 kHz | 255 g\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-1","url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite budget wireless mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR\" target=\"_blank\"\u003eBest Buy $49.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-86","url":"https://www.amazon.com/dp/B07CMS5Q6P","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","title":"G305 Lightspeed","brand":"Logitech","productName":"G305 Lightspeed","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","text":"\u003cp\u003eAlready reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-87","url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","title":"Basilisk V3","brand":"Razer","productName":"Basilisk V3","merchant":"Bestbuy","rawPrice":34.98,"rawMsrp":69.99,"price":"34.98","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $35.01","savingType":"amount","isPrime":false,"starRating":null,"description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","text":"\u003cp\u003eThis mouse might be a few years old, but we scored it highly in \u003ca href=\"https://www.pcgamer.com/razer-basilisk-v3-gaming-mouse-review/\" target=\"_blank\"\u003eour review\u003c/a\u003e in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to \u003ca href=\"https://www.pcgamer.com/hardware/im-ashamed-to-say-that-this-razer-mouse-has-made-me-actually-take-a-shine-to-rgb-and-now-you-can-be-persuaded-too-for-almost-50-percent-off/\" target=\"_blank\"\u003etempt even those who usually hate RGB lighting\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-3","url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":37.99,"rawMsrp":69.99,"price":"37.99","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $32","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","text":"\u003cp\u003eThis is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133\" target=\"_blank\"\u003eBest Buy $69.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true}],"GB":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-10","url":"https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":19.99,"rawMsrp":30.99,"price":"19.99","msrp":"30.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £11","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-11","url":"https://www.amazon.co.uk/Logitech-Wireless-Lightweight-Programmable-compatible/dp/B07CGPZ3ZQ","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":19.99,"rawMsrp":27.99,"price":"19.99","msrp":"27.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £8","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite wireless budget mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays. Key specs: Wireless | 12,000 DPI | Right-handed","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite wireless budget mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-19","url":"https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/","image":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","title":"Quantum 100 | 40 mm drivers","brand":"JBL","productName":"Quantum 100 | 40 mm drivers","merchant":"Amazon","rawPrice":19.99,"rawMsrp":29.99,"price":"19.99","msrp":"29.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £10","savingType":"amount","isPrime":false,"starRating":null,"description":"JBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired","text":"\u003cp\u003eJBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-12","url":"https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":22.01,"rawMsrp":37.79,"price":"22.01","msrp":"37.79","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £15.78","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness. Key specs: Wired | 25,600 DPI | Right-handed","text":"\u003cp\u003eThis is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-23","url":"https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1","image":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","title":"G321 Lightspeed | 40 mm drivers","brand":"Logitech","productName":"G321 Lightspeed | 40 mm drivers","merchant":"Amazon","rawPrice":32.99,"rawMsrp":59.99,"price":"32.99","msrp":"59.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £27","savingType":"amount","isPrime":false,"starRating":null,"description":"This very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in his review. It won't blow you away with bass or features, but at this price it's still worth considering. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless Price check: Currys £42.99","text":"\u003cp\u003eThis very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in \u003ca href=\"https://www.pcgamer.com/hardware/gaming-headsets/logitech-g321-lightspeed-review/\" target=\"_blank\"\u003ehis review\u003c/a\u003e. It won't blow you away with bass or features, but at this price it's still worth considering.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless \u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g321-lightspeed-wireless-bluetooth-gaming-headset-black-10289632.html\" target=\"_blank\"\u003eCurrys £42.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-20","url":"https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/","image":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","title":"G335 | 40 mm drivers","brand":"Logitech","productName":"G335 | 40 mm drivers","merchant":"Amazon","rawPrice":34.99,"rawMsrp":64.99,"price":"34.99","msrp":"64.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £30","savingType":"amount","isPrime":false,"starRating":null,"description":"This Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired Price check: Currys £34.99","text":"\u003cp\u003eThis Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g335-gaming-headset-black-10227173.html\" target=\"_blank\"\u003eCurrys £34.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true}],"AU":[{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-5","url":"https://www.amazon.com.au/JBL-QuantumSOUND-Signature-Comfortable-Breathable/dp/B0D6NLHV8N","image":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","title":"Quantum 100M2","brand":"JBL","productName":"Quantum 100M2","merchant":"Amazon","rawPrice":29,"rawMsrp":59.95,"price":"29","msrp":"59.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$30.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.","text":"\u003cp\u003eIf you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-1","url":"https://www.amazon.com.au/dp/B0CMCPY4VG","image":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","title":"Nova Lite","brand":"GameSir","productName":"Nova Lite","merchant":"Amazon","rawPrice":32,"rawMsrp":45,"price":"32","msrp":"45","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$13","savingType":"amount","isPrime":false,"starRating":null,"description":"Our favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.","text":"\u003cp\u003eOur favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-15","url":"https://www.amazon.com.au/dp/B07MG5547J","image":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","title":"G502 Hero","brand":"Logitech","productName":"G502 Hero","merchant":"Amazon","rawPrice":55.99,"rawMsrp":149.95,"price":"55.99","msrp":"149.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$93.96","savingType":"amount","isPrime":false,"starRating":null,"description":"Logitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;","text":"\u003cp\u003eLogitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-8","url":"https://www.amazon.com.au/CORSAIR-Membrane-Wired-Gaming-Keyboard/dp/B0CP6BR96G","image":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","title":"K55 Core Membrane","brand":"Corsair","productName":"K55 Core Membrane","merchant":"Amazon","rawPrice":59,"rawMsrp":79.95,"price":"59","msrp":"79.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$20.95","savingType":"amount","isPrime":false,"starRating":null,"description":"This discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.","text":"\u003cp\u003eThis discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-11","url":"https://www.amazon.com.au/dp/B01K48R5V4","image":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","fallbackImage":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","title":"G G213 Prodigy","brand":"Logitech","productName":"G G213 Prodigy","merchant":"Amazon","rawPrice":72,"rawMsrp":129.95,"price":"72","msrp":"129.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$57.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.","text":"\u003cp\u003eIf you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-13","url":"https://www.amazon.com.au/CORSAIR-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8/","image":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","title":"Sabre v2 Pro","brand":"Corsair","productName":"Sabre v2 Pro","merchant":"Amazon","rawPrice":79,"rawMsrp":169,"price":"79","msrp":"169","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$90","savingType":"amount","isPrime":false,"starRating":null,"description":"The Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox loved its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life.","text":"\u003cp\u003eThe Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox \u003ca href=\"https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/\"\u003eloved\u003c/a\u003e its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life. \u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true}]},"regionalDealRailData":{"US":{"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"totalAuthorCount":5,"totalDealCount":56},"GB":{"brands":[{"formatted_value":"Logitech","count":6},{"formatted_value":"Steelseries","count":2},{"formatted_value":"EarFun","count":2},{"formatted_value":"Lexar","count":2},{"formatted_value":"AOC","count":2},{"formatted_value":"MSI","count":2},{"formatted_value":"JBL","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Turtle Beach","count":1}],"freeformTagCounts":{"hardware":17,"mouse":5,"gaming-mouse":5,"prime-day":5,"amazon-prime-day-2026":14,"amazon-prime-day":17,"prime-day-deals":8,"deals":17,"deal":17,"big-deal-days":17,"gaming-headset":9,"amazon-prime":3,"ssd":1,"pc-deals":3,"gaming-monitor":2,"monitors":2,"solid-state-drive":1,"solid-state":1,"hdd":1,"hard-drive":1,"storage":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"}],"tagCounts":{"Gaming Mice":5,"Hardware":17,"Gaming Headsets":9,"Gaming Audio":9,"SSDs":1,"Storage":1,"Gaming Monitors":2},"tags":["Hardware","Gaming Headsets","Gaming Audio","Gaming Mice","Gaming Monitors","SSDs","Storage"],"totalAuthorCount":4,"totalDealCount":17},"AU":{"brands":[{"formatted_value":"Logitech","count":7},{"formatted_value":"Corsair","count":4},{"formatted_value":"JBL","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"GameSir","count":1},{"formatted_value":"8BitDo","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Asus","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"SteelSeries","count":1}],"freeformTagCounts":{"hardware":20,"amazon-prime":20,"pc-deals":20,"deals":20,"prime-day-deals":20},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"}],"tagCounts":{"Hardware":20},"tags":["Hardware"],"totalAuthorCount":1,"totalDealCount":20}}}</script></fc-author-commerce-widget><script>(()=>{var Z1=Object.create;var cg=Object.defineProperty;var W1=Object.getOwnPropertyDescriptor;var I1=Object.getOwnPropertyNames;var J1=Object.getPrototypeOf,$1=Object.prototype.hasOwnProperty;var un=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var eb=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of I1(t))!$1.call(e,l)&&l!==n&&cg(e,l,{get:()=>t[l],enumerable:!(a=W1(t,l))||a.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Z1(J1(e)):{},eb(t||!e||!e.__esModule?cg(n,"default",{value:e,enumerable:!0}):n,e));var Ag=un(z=>{"use strict";var Tc=Symbol.for("react.transitional.element"),tb=Symbol.for("react.portal"),nb=Symbol.for("react.fragment"),ab=Symbol.for("react.strict_mode"),lb=Symbol.for("react.profiler"),ib=Symbol.for("react.consumer"),rb=Symbol.for("react.context"),ob=Symbol.for("react.forward_ref"),ub=Symbol.for("react.suspense"),cb=Symbol.for("react.memo"),mg=Symbol.for("react.lazy"),sb=Symbol.for("react.activity"),sg=Symbol.iterator;function db(e){return e===null||typeof e!="object"?null:(e=sg&&e[sg]||e["@@iterator"],typeof e=="function"?e:null)}var hg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pg=Object.assign,yg={};function ml(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}ml.prototype.isReactComponent={};ml.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ml.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function vg(){}vg.prototype=ml.prototype;function Ec(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}var Dc=Ec.prototype=new vg;Dc.constructor=Ec;pg(Dc,ml.prototype);Dc.isPureReactComponent=!0;var dg=Array.isArray;function Rc(){}var he={H:null,A:null,T:null,S:null},bg=Object.prototype.hasOwnProperty;function xc(e,t,n){var a=n.ref;return{$$typeof:Tc,type:e,key:t,ref:a!==void 0?a:null,props:n}}function fb(e,t){return xc(e.type,t,e.props)}function Mc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function gb(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var fg=/\/+/g;function Cc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?gb(""+e.key):t.toString(36)}function mb(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Rc,Rc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function gl(e,t,n,a,l){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var r=!1;if(e===null)r=!0;else switch(i){case"bigint":case"string":case"number":r=!0;break;case"object":switch(e.$$typeof){case Tc:case tb:r=!0;break;case mg:return r=e._init,gl(r(e._payload),t,n,a,l)}}if(r)return l=l(e),r=a===""?"."+Cc(e,0):a,dg(l)?(n="",r!=null&&(n=r.replace(fg,"$&/")+"/"),gl(l,t,n,"",function(c){return c})):l!=null&&(Mc(l)&&(l=fb(l,n+(l.key==null||e&&e.key===l.key?"":(""+l.key).replace(fg,"$&/")+"/")+r)),t.push(l)),1;r=0;var o=a===""?".":a+":";if(dg(e))for(var u=0;u<e.length;u++)a=e[u],i=o+Cc(a,u),r+=gl(a,t,n,i,l);else if(u=db(e),typeof u=="function")for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,i=o+Cc(a,u++),r+=gl(a,t,n,i,l);else if(i==="object"){if(typeof e.then=="function")return gl(mb(e),t,n,a,l);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return r}function ro(e,t,n){if(e==null)return e;var a=[],l=0;return gl(e,a,"","",function(i){return t.call(n,i,l++)}),a}function hb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var gg=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},pb={map:ro,forEach:function(e,t,n){ro(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ro(e,function(){t++}),t},toArray:function(e){return ro(e,function(t){return t})||[]},only:function(e){if(!Mc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};z.Activity=sb;z.Children=pb;z.Component=ml;z.Fragment=nb;z.Profiler=lb;z.PureComponent=Ec;z.StrictMode=ab;z.Suspense=ub;z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=he;z.__COMPILER_RUNTIME={__proto__:null,c:function(e){return he.H.useMemoCache(e)}};z.cache=function(e){return function(){return e.apply(null,arguments)}};z.cacheSignal=function(){return null};z.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=pg({},e.props),l=e.key;if(t!=null)for(i in t.key!==void 0&&(l=""+t.key),t)!bg.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(a[i]=t[i]);var i=arguments.length-2;if(i===1)a.children=n;else if(1<i){for(var r=Array(i),o=0;o<i;o++)r[o]=arguments[o+2];a.children=r}return xc(e.type,l,a)};z.createContext=function(e){return e={$$typeof:rb,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:ib,_context:e},e};z.createElement=function(e,t,n){var a,l={},i=null;if(t!=null)for(a in t.key!==void 0&&(i=""+t.key),t)bg.call(t,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(l[a]=t[a]);var r=arguments.length-2;if(r===1)l.children=n;else if(1<r){for(var o=Array(r),u=0;u<r;u++)o[u]=arguments[u+2];l.children=o}if(e&&e.defaultProps)for(a in r=e.defaultProps,r)l[a]===void 0&&(l[a]=r[a]);return xc(e,i,l)};z.createRef=function(){return{current:null}};z.forwardRef=function(e){return{$$typeof:ob,render:e}};z.isValidElement=Mc;z.lazy=function(e){return{$$typeof:mg,_payload:{_status:-1,_result:e},_init:hb}};z.memo=function(e,t){return{$$typeof:cb,type:e,compare:t===void 0?null:t}};z.startTransition=function(e){var t=he.T,n={};he.T=n;try{var a=e(),l=he.S;l!==null&&l(n,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Rc,gg)}catch(i){gg(i)}finally{t!==null&&n.types!==null&&(t.types=n.types),he.T=t}};z.unstable_useCacheRefresh=function(){return he.H.useCacheRefresh()};z.use=function(e){return he.H.use(e)};z.useActionState=function(e,t,n){return he.H.useActionState(e,t,n)};z.useCallback=function(e,t){return he.H.useCallback(e,t)};z.useContext=function(e){return he.H.useContext(e)};z.useDebugValue=function(){};z.useDeferredValue=function(e,t){return he.H.useDeferredValue(e,t)};z.useEffect=function(e,t){return he.H.useEffect(e,t)};z.useEffectEvent=function(e){return he.H.useEffectEvent(e)};z.useId=function(){return he.H.useId()};z.useImperativeHandle=function(e,t,n){return he.H.useImperativeHandle(e,t,n)};z.useInsertionEffect=function(e,t){return he.H.useInsertionEffect(e,t)};z.useLayoutEffect=function(e,t){return he.H.useLayoutEffect(e,t)};z.useMemo=function(e,t){return he.H.useMemo(e,t)};z.useOptimistic=function(e,t){return he.H.useOptimistic(e,t)};z.useReducer=function(e,t,n){return he.H.useReducer(e,t,n)};z.useRef=function(e){return he.H.useRef(e)};z.useState=function(e){return he.H.useState(e)};z.useSyncExternalStore=function(e,t,n){return he.H.useSyncExternalStore(e,t,n)};z.useTransition=function(){return he.H.useTransition()};z.version="19.2.8"});var ft=un((zS,wg)=>{"use strict";wg.exports=Ag()});var Bg=un(Se=>{"use strict";function Oc(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,l=e[a];if(0<oo(l,t))e[a]=t,e[n]=l,n=a;else break e}}function cn(e){return e.length===0?null:e[0]}function co(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,l=e.length,i=l>>>1;a<i;){var r=2*(a+1)-1,o=e[r],u=r+1,c=e[u];if(0>oo(o,n))u<l&&0>oo(c,o)?(e[a]=c,e[u]=n,a=u):(e[a]=o,e[r]=n,a=r);else if(u<l&&0>oo(c,n))e[a]=c,e[u]=n,a=u;else break e}}return t}function oo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Se.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Sg=performance,Se.unstable_now=function(){return Sg.now()}):(_c=Date,Cg=_c.now(),Se.unstable_now=function(){return _c.now()-Cg});var Sg,_c,Cg,wn=[],Qn=[],yb=1,Ut=null,et=3,kc=!1,Mi=!1,_i=!1,Lc=!1,Eg=typeof setTimeout=="function"?setTimeout:null,Dg=typeof clearTimeout=="function"?clearTimeout:null,Rg=typeof setImmediate<"u"?setImmediate:null;function uo(e){for(var t=cn(Qn);t!==null;){if(t.callback===null)co(Qn);else if(t.startTime<=e)co(Qn),t.sortIndex=t.expirationTime,Oc(wn,t);else break;t=cn(Qn)}}function Hc(e){if(_i=!1,uo(e),!Mi)if(cn(wn)!==null)Mi=!0,pl||(pl=!0,hl());else{var t=cn(Qn);t!==null&&zc(Hc,t.startTime-e)}}var pl=!1,Bi=-1,xg=5,Mg=-1;function _g(){return Lc?!0:!(Se.unstable_now()-Mg<xg)}function Bc(){if(Lc=!1,pl){var e=Se.unstable_now();Mg=e;var t=!0;try{e:{Mi=!1,_i&&(_i=!1,Dg(Bi),Bi=-1),kc=!0;var n=et;try{t:{for(uo(e),Ut=cn(wn);Ut!==null&&!(Ut.expirationTime>e&&_g());){var a=Ut.callback;if(typeof a=="function"){Ut.callback=null,et=Ut.priorityLevel;var l=a(Ut.expirationTime<=e);if(e=Se.unstable_now(),typeof l=="function"){Ut.callback=l,uo(e),t=!0;break t}Ut===cn(wn)&&co(wn),uo(e)}else co(wn);Ut=cn(wn)}if(Ut!==null)t=!0;else{var i=cn(Qn);i!==null&&zc(Hc,i.startTime-e),t=!1}}break e}finally{Ut=null,et=n,kc=!1}t=void 0}}finally{t?hl():pl=!1}}}var hl;typeof Rg=="function"?hl=function(){Rg(Bc)}:typeof MessageChannel<"u"?(Nc=new MessageChannel,Tg=Nc.port2,Nc.port1.onmessage=Bc,hl=function(){Tg.postMessage(null)}):hl=function(){Eg(Bc,0)};var Nc,Tg;function zc(e,t){Bi=Eg(function(){e(Se.unstable_now())},t)}Se.unstable_IdlePriority=5;Se.unstable_ImmediatePriority=1;Se.unstable_LowPriority=4;Se.unstable_NormalPriority=3;Se.unstable_Profiling=null;Se.unstable_UserBlockingPriority=2;Se.unstable_cancelCallback=function(e){e.callback=null};Se.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):xg=0<e?Math.floor(1e3/e):5};Se.unstable_getCurrentPriorityLevel=function(){return et};Se.unstable_next=function(e){switch(et){case 1:case 2:case 3:var t=3;break;default:t=et}var n=et;et=t;try{return e()}finally{et=n}};Se.unstable_requestPaint=function(){Lc=!0};Se.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=et;et=e;try{return t()}finally{et=n}};Se.unstable_scheduleCallback=function(e,t,n){var a=Se.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?a+n:a):n=a,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return l=n+l,e={id:yb++,callback:t,priorityLevel:e,startTime:n,expirationTime:l,sortIndex:-1},n>a?(e.sortIndex=n,Oc(Qn,e),cn(wn)===null&&e===cn(Qn)&&(_i?(Dg(Bi),Bi=-1):_i=!0,zc(Hc,n-a))):(e.sortIndex=l,Oc(wn,e),Mi||kc||(Mi=!0,pl||(pl=!0,hl()))),e};Se.unstable_shouldYield=_g;Se.unstable_wrapCallback=function(e){var t=et;return function(){var n=et;et=t;try{return e.apply(this,arguments)}finally{et=n}}}});var Og=un((GS,Ng)=>{"use strict";Ng.exports=Bg()});var Lg=un(ot=>{"use strict";var vb=ft();function kg(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Kn(){}var rt={d:{f:Kn,r:function(){throw Error(kg(522))},D:Kn,C:Kn,L:Kn,m:Kn,X:Kn,S:Kn,M:Kn},p:0,findDOMNode:null},bb=Symbol.for("react.portal");function Ab(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:bb,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}var Ni=vb.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function so(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ot.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=rt;ot.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(kg(299));return Ab(e,t,null,n)};ot.flushSync=function(e){var t=Ni.T,n=rt.p;try{if(Ni.T=null,rt.p=2,e)return e()}finally{Ni.T=t,rt.p=n,rt.d.f()}};ot.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,rt.d.C(e,t))};ot.prefetchDNS=function(e){typeof e=="string"&&rt.d.D(e)};ot.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin),l=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?rt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:l,fetchPriority:i}):n==="script"&&rt.d.X(e,{crossOrigin:a,integrity:l,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ot.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=so(t.as,t.crossOrigin);rt.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&rt.d.M(e)};ot.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin);rt.d.L(e,n,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};ot.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=so(t.as,t.crossOrigin);rt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else rt.d.m(e)};ot.requestFormReset=function(e){rt.d.r(e)};ot.unstable_batchedUpdates=function(e,t){return e(t)};ot.useFormState=function(e,t,n){return Ni.H.useFormState(e,t,n)};ot.useFormStatus=function(){return Ni.H.useHostTransitionStatus()};ot.version="19.2.8"});var Ug=un((qS,zg)=>{"use strict";function Hg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Hg)}catch(e){console.error(e)}}Hg(),zg.exports=Lg()});var Wy=un(Hu=>{"use strict";var Ge=Og(),sh=ft(),wb=Ug();function S(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function dh(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function vr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function fh(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function gh(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Gg(e){if(vr(e)!==e)throw Error(S(188))}function Sb(e){var t=e.alternate;if(!t){if(t=vr(e),t===null)throw Error(S(188));return t!==e?null:e}for(var n=e,a=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(a=l.return,a!==null){n=a;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return Gg(l),e;if(i===a)return Gg(l),t;i=i.sibling}throw Error(S(188))}if(n.return!==a.return)n=l,a=i;else{for(var r=!1,o=l.child;o;){if(o===n){r=!0,n=l,a=i;break}if(o===a){r=!0,a=l,n=i;break}o=o.sibling}if(!r){for(o=i.child;o;){if(o===n){r=!0,n=i,a=l;break}if(o===a){r=!0,a=i,n=l;break}o=o.sibling}if(!r)throw Error(S(189))}}if(n.alternate!==a)throw Error(S(190))}if(n.tag!==3)throw Error(S(188));return n.stateNode.current===n?e:t}function mh(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=mh(e),t!==null)return t;e=e.sibling}return null}var ve=Object.assign,Cb=Symbol.for("react.element"),fo=Symbol.for("react.transitional.element"),Pi=Symbol.for("react.portal"),Sl=Symbol.for("react.fragment"),hh=Symbol.for("react.strict_mode"),ys=Symbol.for("react.profiler"),ph=Symbol.for("react.consumer"),Mn=Symbol.for("react.context"),fd=Symbol.for("react.forward_ref"),vs=Symbol.for("react.suspense"),bs=Symbol.for("react.suspense_list"),gd=Symbol.for("react.memo"),Zn=Symbol.for("react.lazy");Symbol.for("react.scope");var As=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var Rb=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var Pg=Symbol.iterator;function Oi(e){return e===null||typeof e!="object"?null:(e=Pg&&e[Pg]||e["@@iterator"],typeof e=="function"?e:null)}var Tb=Symbol.for("react.client.reference");function ws(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Tb?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Sl:return"Fragment";case ys:return"Profiler";case hh:return"StrictMode";case vs:return"Suspense";case bs:return"SuspenseList";case As:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Pi:return"Portal";case Mn:return e.displayName||"Context";case ph:return(e._context.displayName||"Context")+".Consumer";case fd:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gd:return t=e.displayName||null,t!==null?t:ws(e.type)||"Memo";case Zn:t=e._payload,e=e._init;try{return ws(e(t))}catch{}}return null}var qi=Array.isArray,L=sh.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=wb.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,za={pending:!1,data:null,method:null,action:null},Ss=[],Cl=-1;function mn(e){return{current:e}}function Fe(e){0>Cl||(e.current=Ss[Cl],Ss[Cl]=null,Cl--)}function ge(e,t){Cl++,Ss[Cl]=e.current,e.current=t}var gn=mn(null),lr=mn(null),ra=mn(null),Vo=mn(null);function Xo(e,t){switch(ge(ra,t),ge(lr,e),ge(gn,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qm(t),e=Hy(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Fe(gn),ge(gn,e)}function ql(){Fe(gn),Fe(lr),Fe(ra)}function Cs(e){e.memoizedState!==null&&ge(Vo,e);var t=gn.current,n=Hy(t,e.type);t!==n&&(ge(lr,e),ge(gn,n))}function Qo(e){lr.current===e&&(Fe(gn),Fe(lr)),Vo.current===e&&(Fe(Vo),hr._currentValue=za)}var Uc,qg;function Oa(e){if(Uc===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Uc=t&&t[1]||"",qg=-1<n.stack.indexOf(`    at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return``+Uc+e+qg}var Gc=!1;function Pc(e,t){if(!e||Gc)return"";Gc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(m){var d=m}Reflect.construct(e,[],f)}else{try{f.call()}catch(m){d=m}e.call(f.prototype)}}else{try{throw Error()}catch(m){d=m}(f=e())&&typeof f.catch=="function"&&f.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),r=i[0],o=i[1];if(r&&o){var u=r.split(``),c=o.split(``);for(l=a=0;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;for(;l<c.length&&!c[l].includes("DetermineComponentFrameRoot");)l++;if(a===u.length||l===c.length)for(a=u.length-1,l=c.length-1;1<=a&&0<=l&&u[a]!==c[l];)l--;for(;1<=a&&0<=l;a--,l--)if(u[a]!==c[l]){if(a!==1||l!==1)do if(a--,l--,0>l||u[a]!==c[l]){var s=``+u[a].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=a&&0<=l);break}}}finally{Gc=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Oa(n):""}function Eb(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return Pc(e.type,!1);case 11:return Pc(e.type.render,!1);case 1:return Pc(e.type,!0);case 31:return Oa("Activity");default:return""}}function Fg(e){try{var t="",n=null;do t+=Eb(e,n),n=e,e=e.return;while(e);return t}catch(a){return`Error generating stack: `+a.message+``+a.stack}}var Rs=Object.prototype.hasOwnProperty,md=Ge.unstable_scheduleCallback,qc=Ge.unstable_cancelCallback,Db=Ge.unstable_shouldYield,xb=Ge.unstable_requestPaint,Dt=Ge.unstable_now,Mb=Ge.unstable_getCurrentPriorityLevel,yh=Ge.unstable_ImmediatePriority,vh=Ge.unstable_UserBlockingPriority,Ko=Ge.unstable_NormalPriority,_b=Ge.unstable_LowPriority,bh=Ge.unstable_IdlePriority,Bb=Ge.log,Nb=Ge.unstable_setDisableYieldValue,br=null,xt=null;function ta(e){if(typeof Bb=="function"&&Nb(e),xt&&typeof xt.setStrictMode=="function")try{xt.setStrictMode(br,e)}catch{}}var Mt=Math.clz32?Math.clz32:Lb,Ob=Math.log,kb=Math.LN2;function Lb(e){return e>>>=0,e===0?32:31-(Ob(e)/kb|0)|0}var go=256,mo=262144,ho=4194304;function ka(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Au(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var o=a&134217727;return o!==0?(a=o&~i,a!==0?l=ka(a):(r&=o,r!==0?l=ka(r):n||(n=o&~e,n!==0&&(l=ka(n))))):(o=a&~i,o!==0?l=ka(o):r!==0?l=ka(r):n||(n=a&~e,n!==0&&(l=ka(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function Ar(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Hb(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ah(){var e=ho;return ho<<=1,(ho&62914560)===0&&(ho=4194304),e}function Fc(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wr(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function zb(e,t,n,a,l,i){var r=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,u=e.expirationTimes,c=e.hiddenUpdates;for(n=r&~n;0<n;){var s=31-Mt(n),f=1<<s;o[s]=0,u[s]=-1;var d=c[s];if(d!==null)for(c[s]=null,s=0;s<d.length;s++){var m=d[s];m!==null&&(m.lane&=-536870913)}n&=~f}a!==0&&wh(e,a,0),i!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=i&~(r&~t))}function wh(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Mt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function Sh(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Mt(n),l=1<<a;l&t|e[a]&t&&(e[a]|=t),n&=~l}}function Ch(e,t){var n=t&-t;return n=(n&42)!==0?1:hd(n),(n&(e.suspendedLanes|t))!==0?0:n}function hd(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function pd(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Rh(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:Qy(e.type))}function jg(e,t){var n=$.p;try{return $.p=e,t()}finally{$.p=n}}var ba=Math.random().toString(36).slice(2),Ve="__reactFiber$"+ba,vt="__reactProps$"+ba,Jl="__reactContainer$"+ba,Ts="__reactEvents$"+ba,Ub="__reactListeners$"+ba,Gb="__reactHandles$"+ba,Yg="__reactResources$"+ba,Sr="__reactMarker$"+ba;function yd(e){delete e[Ve],delete e[vt],delete e[Ts],delete e[Ub],delete e[Gb]}function Rl(e){var t=e[Ve];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jl]||n[Ve]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Jm(e);e!==null;){if(n=e[Ve])return n;e=Jm(e)}return t}e=n,n=e.parentNode}return null}function $l(e){if(e=e[Ve]||e[Jl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Fi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(S(33))}function kl(e){var t=e[Yg];return t||(t=e[Yg]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function qe(e){e[Sr]=!0}var Th=new Set,Eh={};function Qa(e,t){Fl(e,t),Fl(e+"Capture",t)}function Fl(e,t){for(Eh[e]=t,e=0;e<t.length;e++)Th.add(t[e])}var Pb=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Vg={},Xg={};function qb(e){return Rs.call(Xg,e)?!0:Rs.call(Vg,e)?!1:Pb.test(e)?Xg[e]=!0:(Vg[e]=!0,!1)}function _o(e,t,n){if(qb(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function po(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function Sn(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+a)}}function Pt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fb(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,i=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(r){n=""+r,i.call(this,r)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){if(!e._valueTracker){var t=Dh(e)?"checked":"value";e._valueTracker=Fb(e,t,""+e[t])}}function xh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=Dh(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Zo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var jb=/[\n"\\]/g;function jt(e){return e.replace(jb,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ds(e,t,n,a,l,i,r,o){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pt(t)):e.value!==""+Pt(t)&&(e.value=""+Pt(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?xs(e,r,Pt(t)):n!=null?xs(e,r,Pt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+Pt(o):e.removeAttribute("name")}function Mh(e,t,n,a,l,i,r,o){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Es(e);return}n=n!=null?""+Pt(n):"",t=t!=null?""+Pt(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=o?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),Es(e)}function xs(e,t,n){t==="number"&&Zo(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ll(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&a&&(e[n].defaultSelected=!0)}else{for(n=""+Pt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,a&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function _h(e,t,n){if(t!=null&&(t=""+Pt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Pt(n):""}function Bh(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(S(92));if(qi(a)){if(1<a.length)throw Error(S(93));a=a[0]}n=a}n==null&&(n=""),t=n}n=Pt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==""&&a!==null&&(e.value=a),Es(e)}function jl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Qg(e,t,n){var a=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,n):typeof n!="number"||n===0||Yb.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Nh(e,t,n){if(t!=null&&typeof t!="object")throw Error(S(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var l in t)a=t[l],t.hasOwnProperty(l)&&n[l]!==a&&Qg(e,l,a)}else for(var i in t)t.hasOwnProperty(i)&&Qg(e,i,t[i])}function vd(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Xb=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Bo(e){return Xb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function _n(){}var Ms=null;function bd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tl=null,Hl=null;function Kg(e){var t=$l(e);if(t&&(e=t.stateNode)){var n=e[vt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Ds(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+jt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var l=a[vt]||null;if(!l)throw Error(S(90));Ds(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&xh(a)}break e;case"textarea":_h(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ll(e,!!n.multiple,t,!1)}}}var jc=!1;function Oh(e,t,n){if(jc)return e(t,n);jc=!0;try{var a=e(t);return a}finally{if(jc=!1,(Tl!==null||Hl!==null)&&(Nu(),Tl&&(t=Tl,e=Hl,Hl=Tl=null,Kg(t),e)))for(t=0;t<e.length;t++)Kg(e[t])}}function ir(e,t){var n=e.stateNode;if(n===null)return null;var a=n[vt]||null;if(a===null)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(S(231,t,typeof n));return n}var Ln=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_s=!1;if(Ln)try{yl={},Object.defineProperty(yl,"passive",{get:function(){_s=!0}}),window.addEventListener("test",yl,yl),window.removeEventListener("test",yl,yl)}catch{_s=!1}var yl,na=null,Ad=null,No=null;function kh(){if(No)return No;var e,t=Ad,n=t.length,a,l="value"in na?na.value:na.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var r=n-e;for(a=1;a<=r&&t[n-a]===l[i-a];a++);return No=l.slice(e,1<a?1-a:void 0)}function Oo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yo(){return!0}function Zg(){return!1}function bt(e){function t(n,a,l,i,r){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=i,this.target=r,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?yo:Zg,this.isPropagationStopped=Zg,this}return ve(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=yo)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var Ka={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},wu=bt(Ka),Cr=ve({},Ka,{view:0,detail:0}),Qb=bt(Cr),Yc,Vc,ki,Su=ve({},Cr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wd,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ki&&(ki&&e.type==="mousemove"?(Yc=e.screenX-ki.screenX,Vc=e.screenY-ki.screenY):Vc=Yc=0,ki=e),Yc)},movementY:function(e){return"movementY"in e?e.movementY:Vc}}),Wg=bt(Su),Kb=ve({},Su,{dataTransfer:0}),Zb=bt(Kb),Wb=ve({},Cr,{relatedTarget:0}),Xc=bt(Wb),Ib=ve({},Ka,{animationName:0,elapsedTime:0,pseudoElement:0}),Jb=bt(Ib),$b=ve({},Ka,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),eA=bt($b),tA=ve({},Ka,{data:0}),Ig=bt(tA),nA={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},aA={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},lA={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function iA(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=lA[e])?!!t[e]:!1}function wd(){return iA}var rA=ve({},Cr,{key:function(e){if(e.key){var t=nA[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Oo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?aA[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wd,charCode:function(e){return e.type==="keypress"?Oo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Oo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),oA=bt(rA),uA=ve({},Su,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jg=bt(uA),cA=ve({},Cr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wd}),sA=bt(cA),dA=ve({},Ka,{propertyName:0,elapsedTime:0,pseudoElement:0}),fA=bt(dA),gA=ve({},Su,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mA=bt(gA),hA=ve({},Ka,{newState:0,oldState:0}),pA=bt(hA),yA=[9,13,27,32],Sd=Ln&&"CompositionEvent"in window,Vi=null;Ln&&"documentMode"in document&&(Vi=document.documentMode);var vA=Ln&&"TextEvent"in window&&!Vi,Lh=Ln&&(!Sd||Vi&&8<Vi&&11>=Vi),$g=" ",em=!1;function Hh(e,t){switch(e){case"keyup":return yA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var El=!1;function bA(e,t){switch(e){case"compositionend":return zh(t);case"keypress":return t.which!==32?null:(em=!0,$g);case"textInput":return e=t.data,e===$g&&em?null:e;default:return null}}function AA(e,t){if(El)return e==="compositionend"||!Sd&&Hh(e,t)?(e=kh(),No=Ad=na=null,El=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Lh&&t.locale!=="ko"?null:t.data;default:return null}}var wA={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tm(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!wA[e.type]:t==="textarea"}function Uh(e,t,n,a){Tl?Hl?Hl.push(a):Hl=[a]:Tl=a,t=gu(t,"onChange"),0<t.length&&(n=new wu("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Xi=null,rr=null;function SA(e){Oy(e,0)}function Cu(e){var t=Fi(e);if(xh(t))return e}function nm(e,t){if(e==="change")return t}var Gh=!1;Ln&&(Ln?(bo="oninput"in document,bo||(Qc=document.createElement("div"),Qc.setAttribute("oninput","return;"),bo=typeof Qc.oninput=="function"),vo=bo):vo=!1,Gh=vo&&(!document.documentMode||9<document.documentMode));var vo,bo,Qc;function am(){Xi&&(Xi.detachEvent("onpropertychange",Ph),rr=Xi=null)}function Ph(e){if(e.propertyName==="value"&&Cu(rr)){var t=[];Uh(t,rr,e,bd(e)),Oh(SA,t)}}function CA(e,t,n){e==="focusin"?(am(),Xi=t,rr=n,Xi.attachEvent("onpropertychange",Ph)):e==="focusout"&&am()}function RA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Cu(rr)}function TA(e,t){if(e==="click")return Cu(t)}function EA(e,t){if(e==="input"||e==="change")return Cu(t)}function DA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bt=typeof Object.is=="function"?Object.is:DA;function or(e,t){if(Bt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!Rs.call(t,l)||!Bt(e[l],t[l]))return!1}return!0}function lm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function im(e,t){var n=lm(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lm(n)}}function qh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Zo(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Zo(e.document)}return t}function Cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var xA=Ln&&"documentMode"in document&&11>=document.documentMode,Dl=null,Bs=null,Qi=null,Ns=!1;function rm(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ns||Dl==null||Dl!==Zo(a)||(a=Dl,"selectionStart"in a&&Cd(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Qi&&or(Qi,a)||(Qi=a,a=gu(Bs,"onSelect"),0<a.length&&(t=new wu("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=Dl)))}function Na(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xl={animationend:Na("Animation","AnimationEnd"),animationiteration:Na("Animation","AnimationIteration"),animationstart:Na("Animation","AnimationStart"),transitionrun:Na("Transition","TransitionRun"),transitionstart:Na("Transition","TransitionStart"),transitioncancel:Na("Transition","TransitionCancel"),transitionend:Na("Transition","TransitionEnd")},Kc={},jh={};Ln&&(jh=document.createElement("div").style,"AnimationEvent"in window||(delete xl.animationend.animation,delete xl.animationiteration.animation,delete xl.animationstart.animation),"TransitionEvent"in window||delete xl.transitionend.transition);function Za(e){if(Kc[e])return Kc[e];if(!xl[e])return e;var t=xl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in jh)return Kc[e]=t[n];return e}var Yh=Za("animationend"),Vh=Za("animationiteration"),Xh=Za("animationstart"),MA=Za("transitionrun"),_A=Za("transitionstart"),BA=Za("transitioncancel"),Qh=Za("transitionend"),Kh=new Map,Os="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Os.push("scrollEnd");function tn(e,t){Kh.set(e,t),Qa(t,[e])}var Wo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Gt=[],Ml=0,Rd=0;function Ru(){for(var e=Ml,t=Rd=Ml=0;t<e;){var n=Gt[t];Gt[t++]=null;var a=Gt[t];Gt[t++]=null;var l=Gt[t];Gt[t++]=null;var i=Gt[t];if(Gt[t++]=null,a!==null&&l!==null){var r=a.pending;r===null?l.next=l:(l.next=r.next,r.next=l),a.pending=l}i!==0&&Zh(n,l,i)}}function Tu(e,t,n,a){Gt[Ml++]=e,Gt[Ml++]=t,Gt[Ml++]=n,Gt[Ml++]=a,Rd|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function Td(e,t,n,a){return Tu(e,t,n,a),Io(e)}function Wa(e,t){return Tu(e,null,null,t),Io(e)}function Zh(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var l=!1,i=e.return;i!==null;)i.childLanes|=n,a=i.alternate,a!==null&&(a.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(l=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,l&&t!==null&&(l=31-Mt(n),e=i.hiddenUpdates,a=e[l],a===null?e[l]=[t]:a.push(t),t.lane=n|536870912),i):null}function Io(e){if(50<nr)throw nr=0,ed=null,Error(S(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var _l={};function NA(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(e,t,n,a){return new NA(e,t,n,a)}function Ed(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nn(e,t){var n=e.alternate;return n===null?(n=Tt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Wh(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ko(e,t,n,a,l,i){var r=0;if(a=e,typeof e=="function")Ed(e)&&(r=1);else if(typeof e=="string")r=Lw(e,n,gn.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case As:return e=Tt(31,n,t,l),e.elementType=As,e.lanes=i,e;case Sl:return Ua(n.children,l,i,t);case hh:r=8,l|=24;break;case ys:return e=Tt(12,n,t,l|2),e.elementType=ys,e.lanes=i,e;case vs:return e=Tt(13,n,t,l),e.elementType=vs,e.lanes=i,e;case bs:return e=Tt(19,n,t,l),e.elementType=bs,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Mn:r=10;break e;case ph:r=9;break e;case fd:r=11;break e;case gd:r=14;break e;case Zn:r=16,a=null;break e}r=29,n=Error(S(130,e===null?"null":typeof e,"")),a=null}return t=Tt(r,n,t,l),t.elementType=e,t.type=a,t.lanes=i,t}function Ua(e,t,n,a){return e=Tt(7,e,a,t),e.lanes=n,e}function Zc(e,t,n){return e=Tt(6,e,null,t),e.lanes=n,e}function Ih(e){var t=Tt(18,null,null,0);return t.stateNode=e,t}function Wc(e,t,n){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var om=new WeakMap;function Yt(e,t){if(typeof e=="object"&&e!==null){var n=om.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Fg(t)},om.set(e,t),t)}return{value:e,source:t,stack:Fg(t)}}var Bl=[],Nl=0,Jo=null,ur=0,qt=[],Ft=0,ha=null,sn=1,dn="";function Dn(e,t){Bl[Nl++]=ur,Bl[Nl++]=Jo,Jo=e,ur=t}function Jh(e,t,n){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,ha=e;var a=sn;e=dn;var l=32-Mt(a)-1;a&=~(1<<l),n+=1;var i=32-Mt(t)+l;if(30<i){var r=l-l%5;i=(a&(1<<r)-1).toString(32),a>>=r,l-=r,sn=1<<32-Mt(t)+l|n<<l|a,dn=i+e}else sn=1<<i|n<<l|a,dn=e}function Dd(e){e.return!==null&&(Dn(e,1),Jh(e,1,0))}function xd(e){for(;e===Jo;)Jo=Bl[--Nl],Bl[Nl]=null,ur=Bl[--Nl],Bl[Nl]=null;for(;e===ha;)ha=qt[--Ft],qt[Ft]=null,dn=qt[--Ft],qt[Ft]=null,sn=qt[--Ft],qt[Ft]=null}function $h(e,t){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,sn=t.id,dn=t.overflow,ha=e}var Xe=null,ye=null,V=!1,oa=null,Vt=!1,ks=Error(S(519));function pa(e){var t=Error(S(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw cr(Yt(t,e)),ks}function um(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[Ve]=e,t[vt]=a,n){case"dialog":q("cancel",t),q("close",t);break;case"iframe":case"object":case"embed":q("load",t);break;case"video":case"audio":for(n=0;n<gr.length;n++)q(gr[n],t);break;case"source":q("error",t);break;case"img":case"image":case"link":q("error",t),q("load",t);break;case"details":q("toggle",t);break;case"input":q("invalid",t),Mh(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":q("invalid",t);break;case"textarea":q("invalid",t),Bh(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||a.suppressHydrationWarning===!0||Ly(t.textContent,n)?(a.popover!=null&&(q("beforetoggle",t),q("toggle",t)),a.onScroll!=null&&q("scroll",t),a.onScrollEnd!=null&&q("scrollend",t),a.onClick!=null&&(t.onclick=_n),t=!0):t=!1,t||pa(e,!0)}function cm(e){for(Xe=e.return;Xe;)switch(Xe.tag){case 5:case 31:case 13:Vt=!1;return;case 27:case 3:Vt=!0;return;default:Xe=Xe.return}}function vl(e){if(e!==Xe)return!1;if(!V)return cm(e),V=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||id(e.type,e.memoizedProps)),n=!n),n&&ye&&pa(e),cm(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else t===27?(t=ye,Aa(e.type)?(e=cd,cd=null,ye=e):ye=t):ye=Xe?Qt(e.stateNode.nextSibling):null;return!0}function Fa(){ye=Xe=null,V=!1}function Ic(){var e=oa;return e!==null&&(pt===null?pt=e:pt.push.apply(pt,e),oa=null),e}function cr(e){oa===null?oa=[e]:oa.push(e)}var Ls=mn(null),Ia=null,Bn=null;function In(e,t,n){ge(Ls,t._currentValue),t._currentValue=n}function On(e){e._currentValue=Ls.current,Fe(Ls)}function Hs(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function zs(e,t,n,a){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var i=l.dependencies;if(i!==null){var r=l.child;i=i.firstContext;e:for(;i!==null;){var o=i;i=l;for(var u=0;u<t.length;u++)if(o.context===t[u]){i.lanes|=n,o=i.alternate,o!==null&&(o.lanes|=n),Hs(i.return,n,e),a||(r=null);break e}i=o.next}}else if(l.tag===18){if(r=l.return,r===null)throw Error(S(341));r.lanes|=n,i=r.alternate,i!==null&&(i.lanes|=n),Hs(r,n,e),r=null}else r=l.child;if(r!==null)r.return=l;else for(r=l;r!==null;){if(r===e){r=null;break}if(l=r.sibling,l!==null){l.return=r.return,r=l;break}r=r.return}l=r}}function ei(e,t,n,a){e=null;for(var l=t,i=!1;l!==null;){if(!i){if((l.flags&524288)!==0)i=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var r=l.alternate;if(r===null)throw Error(S(387));if(r=r.memoizedProps,r!==null){var o=l.type;Bt(l.pendingProps.value,r.value)||(e!==null?e.push(o):e=[o])}}else if(l===Vo.current){if(r=l.alternate,r===null)throw Error(S(387));r.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(hr):e=[hr])}l=l.return}e!==null&&zs(t,e,n,a),t.flags|=262144}function $o(e){for(e=e.firstContext;e!==null;){if(!Bt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ja(e){Ia=e,Bn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Qe(e){return ep(Ia,e)}function Ao(e,t){return Ia===null&&ja(e),ep(e,t)}function ep(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Bn===null){if(e===null)throw Error(S(308));Bn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Bn=Bn.next=t;return n}var OA=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},kA=Ge.unstable_scheduleCallback,LA=Ge.unstable_NormalPriority,ke={$$typeof:Mn,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Md(){return{controller:new OA,data:new Map,refCount:0}}function Rr(e){e.refCount--,e.refCount===0&&kA(LA,function(){e.controller.abort()})}var Ki=null,Us=0,Yl=0,zl=null;function HA(e,t){if(Ki===null){var n=Ki=[];Us=0,Yl=ef(),zl={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Us++,t.then(sm,sm),t}function sm(){if(--Us===0&&Ki!==null){zl!==null&&(zl.status="fulfilled");var e=Ki;Ki=null,Yl=0,zl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function zA(e,t){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var l=0;l<n.length;l++)(0,n[l])(t)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var dm=L.S;L.S=function(e,t){my=Dt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&HA(e,t),dm!==null&&dm(e,t)};var Ga=mn(null);function _d(){var e=Ga.current;return e!==null?e:ue.pooledCache}function Lo(e,t){t===null?ge(Ga,Ga.current):ge(Ga,t.pool)}function tp(){var e=_d();return e===null?null:{parent:ke._currentValue,pool:e}}var ti=Error(S(460)),Bd=Error(S(474)),Eu=Error(S(542)),eu={then:function(){}};function fm(e){return e=e.status,e==="fulfilled"||e==="rejected"}function np(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(_n,_n),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e;default:if(typeof t.status=="string")t.then(_n,_n);else{if(e=ue,e!==null&&100<e.shellSuspendCounter)throw Error(S(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=a}},function(a){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e}throw Pa=t,ti}}function La(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Pa=n,ti):n}}var Pa=null;function gm(){if(Pa===null)throw Error(S(459));var e=Pa;return Pa=null,e}function mm(e){if(e===ti||e===Eu)throw Error(S(483))}var Ul=null,sr=0;function wo(e){var t=sr;return sr+=1,Ul===null&&(Ul=[]),np(Ul,e,t)}function Li(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function So(e,t){throw t.$$typeof===Cb?Error(S(525)):(e=Object.prototype.toString.call(t),Error(S(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ap(e){function t(h,g){if(e){var p=h.deletions;p===null?(h.deletions=[g],h.flags|=16):p.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function a(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function l(h,g){return h=Nn(h,g),h.index=0,h.sibling=null,h}function i(h,g,p){return h.index=p,e?(p=h.alternate,p!==null?(p=p.index,p<g?(h.flags|=67108866,g):p):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function r(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function o(h,g,p,y){return g===null||g.tag!==6?(g=Zc(p,h.mode,y),g.return=h,g):(g=l(g,p),g.return=h,g)}function u(h,g,p,y){var C=p.type;return C===Sl?s(h,g,p.props.children,y,p.key):g!==null&&(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type)?(g=l(g,p.props),Li(g,p),g.return=h,g):(g=ko(p.type,p.key,p.props,null,h.mode,y),Li(g,p),g.return=h,g)}function c(h,g,p,y){return g===null||g.tag!==4||g.stateNode.containerInfo!==p.containerInfo||g.stateNode.implementation!==p.implementation?(g=Wc(p,h.mode,y),g.return=h,g):(g=l(g,p.children||[]),g.return=h,g)}function s(h,g,p,y,C){return g===null||g.tag!==7?(g=Ua(p,h.mode,y,C),g.return=h,g):(g=l(g,p),g.return=h,g)}function f(h,g,p){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Zc(""+g,h.mode,p),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case fo:return p=ko(g.type,g.key,g.props,null,h.mode,p),Li(p,g),p.return=h,p;case Pi:return g=Wc(g,h.mode,p),g.return=h,g;case Zn:return g=La(g),f(h,g,p)}if(qi(g)||Oi(g))return g=Ua(g,h.mode,p,null),g.return=h,g;if(typeof g.then=="function")return f(h,wo(g),p);if(g.$$typeof===Mn)return f(h,Ao(h,g),p);So(h,g)}return null}function d(h,g,p,y){var C=g!==null?g.key:null;if(typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint")return C!==null?null:o(h,g,""+p,y);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:return p.key===C?u(h,g,p,y):null;case Pi:return p.key===C?c(h,g,p,y):null;case Zn:return p=La(p),d(h,g,p,y)}if(qi(p)||Oi(p))return C!==null?null:s(h,g,p,y,null);if(typeof p.then=="function")return d(h,g,wo(p),y);if(p.$$typeof===Mn)return d(h,g,Ao(h,p),y);So(h,p)}return null}function m(h,g,p,y,C){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return h=h.get(p)||null,o(g,h,""+y,C);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case fo:return h=h.get(y.key===null?p:y.key)||null,u(g,h,y,C);case Pi:return h=h.get(y.key===null?p:y.key)||null,c(g,h,y,C);case Zn:return y=La(y),m(h,g,p,y,C)}if(qi(y)||Oi(y))return h=h.get(p)||null,s(g,h,y,C,null);if(typeof y.then=="function")return m(h,g,p,wo(y),C);if(y.$$typeof===Mn)return m(h,g,p,Ao(g,y),C);So(g,y)}return null}function v(h,g,p,y){for(var C=null,R=null,T=g,M=g=0,w=null;T!==null&&M<p.length;M++){T.index>M?(w=T,T=null):w=T.sibling;var D=d(h,T,p[M],y);if(D===null){T===null&&(T=w);break}e&&T&&D.alternate===null&&t(h,T),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D,T=w}if(M===p.length)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;M<p.length;M++)T=f(h,p[M],y),T!==null&&(g=i(T,g,M),R===null?C=T:R.sibling=T,R=T);return V&&Dn(h,M),C}for(T=a(T);M<p.length;M++)w=m(T,h,M,p[M],y),w!==null&&(e&&w.alternate!==null&&T.delete(w.key===null?M:w.key),g=i(w,g,M),R===null?C=w:R.sibling=w,R=w);return e&&T.forEach(function(k){return t(h,k)}),V&&Dn(h,M),C}function A(h,g,p,y){if(p==null)throw Error(S(151));for(var C=null,R=null,T=g,M=g=0,w=null,D=p.next();T!==null&&!D.done;M++,D=p.next()){T.index>M?(w=T,T=null):w=T.sibling;var k=d(h,T,D.value,y);if(k===null){T===null&&(T=w);break}e&&T&&k.alternate===null&&t(h,T),g=i(k,g,M),R===null?C=k:R.sibling=k,R=k,T=w}if(D.done)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;!D.done;M++,D=p.next())D=f(h,D.value,y),D!==null&&(g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return V&&Dn(h,M),C}for(T=a(T);!D.done;M++,D=p.next())D=m(T,h,M,D.value,y),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?M:D.key),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return e&&T.forEach(function(se){return t(h,se)}),V&&Dn(h,M),C}function b(h,g,p,y){if(typeof p=="object"&&p!==null&&p.type===Sl&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:e:{for(var C=p.key;g!==null;){if(g.key===C){if(C=p.type,C===Sl){if(g.tag===7){n(h,g.sibling),y=l(g,p.props.children),y.return=h,h=y;break e}}else if(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type){n(h,g.sibling),y=l(g,p.props),Li(y,p),y.return=h,h=y;break e}n(h,g);break}else t(h,g);g=g.sibling}p.type===Sl?(y=Ua(p.props.children,h.mode,y,p.key),y.return=h,h=y):(y=ko(p.type,p.key,p.props,null,h.mode,y),Li(y,p),y.return=h,h=y)}return r(h);case Pi:e:{for(C=p.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===p.containerInfo&&g.stateNode.implementation===p.implementation){n(h,g.sibling),y=l(g,p.children||[]),y.return=h,h=y;break e}else{n(h,g);break}else t(h,g);g=g.sibling}y=Wc(p,h.mode,y),y.return=h,h=y}return r(h);case Zn:return p=La(p),b(h,g,p,y)}if(qi(p))return v(h,g,p,y);if(Oi(p)){if(C=Oi(p),typeof C!="function")throw Error(S(150));return p=C.call(p),A(h,g,p,y)}if(typeof p.then=="function")return b(h,g,wo(p),y);if(p.$$typeof===Mn)return b(h,g,Ao(h,p),y);So(h,p)}return typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint"?(p=""+p,g!==null&&g.tag===6?(n(h,g.sibling),y=l(g,p),y.return=h,h=y):(n(h,g),y=Zc(p,h.mode,y),y.return=h,h=y),r(h)):n(h,g)}return function(h,g,p,y){try{sr=0;var C=b(h,g,p,y);return Ul=null,C}catch(T){if(T===ti||T===Eu)throw T;var R=Tt(29,T,null,h.mode);return R.lanes=y,R.return=h,R}finally{}}}var Ya=ap(!0),lp=ap(!1),Wn=!1;function Nd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gs(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ca(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(J&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=Io(e),Zh(e,null,n),t}return Tu(e,a,t,n),Io(e)}function Zi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}function Jc(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var r={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=r:i=i.next=r,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ps=!1;function Wi(){if(Ps){var e=zl;if(e!==null)throw e}}function Ii(e,t,n,a){Ps=!1;var l=e.updateQueue;Wn=!1;var i=l.firstBaseUpdate,r=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var u=o,c=u.next;u.next=null,r===null?i=c:r.next=c,r=u;var s=e.alternate;s!==null&&(s=s.updateQueue,o=s.lastBaseUpdate,o!==r&&(o===null?s.firstBaseUpdate=c:o.next=c,s.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;r=0,s=c=u=null,o=i;do{var d=o.lane&-536870913,m=d!==o.lane;if(m?(Y&d)===d:(a&d)===d){d!==0&&d===Yl&&(Ps=!0),s!==null&&(s=s.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var v=e,A=o;d=t;var b=n;switch(A.tag){case 1:if(v=A.payload,typeof v=="function"){f=v.call(b,f,d);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=A.payload,d=typeof v=="function"?v.call(b,f,d):v,d==null)break e;f=ve({},f,d);break e;case 2:Wn=!0}}d=o.callback,d!==null&&(e.flags|=64,m&&(e.flags|=8192),m=l.callbacks,m===null?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:o.tag,payload:o.payload,callback:o.callback,next:null},s===null?(c=s=m,u=f):s=s.next=m,r|=d;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;m=o,o=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);s===null&&(u=f),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=s,i===null&&(l.shared.lanes=0),va|=r,e.lanes=r,e.memoizedState=f}}function ip(e,t){if(typeof e!="function")throw Error(S(191,e));e.call(t)}function rp(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ip(n[e],t)}var Vl=mn(null),tu=mn(0);function hm(e,t){e=Gn,ge(tu,e),ge(Vl,t),Gn=e|t.baseLanes}function qs(){ge(tu,Gn),ge(Vl,Vl.current)}function Od(){Gn=tu.current,Fe(Vl),Fe(tu)}var Nt=mn(null),Xt=null;function Jn(e){var t=e.alternate;ge(xe,xe.current&1),ge(Nt,e),Xt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Xt=e)}function Fs(e){ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)}function op(e){e.tag===22?(ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)):$n(e)}function $n(){ge(xe,xe.current),ge(Nt,Nt.current)}function Rt(e){Fe(Nt),Xt===e&&(Xt=null),Fe(xe)}var xe=mn(0);function nu(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||od(n)||ud(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hn=0,G=null,re=null,Ne=null,au=!1,Gl=!1,Va=!1,lu=0,dr=0,Pl=null,UA=0;function Re(){throw Error(S(321))}function kd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Bt(e[n],t[n]))return!1;return!0}function Ld(e,t,n,a,l,i){return Hn=i,G=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=e===null||e.memoizedState===null?Up:Xd,Va=!1,i=n(a,l),Va=!1,Gl&&(i=cp(t,n,a,l)),up(e),i}function up(e){L.H=fr;var t=re!==null&&re.next!==null;if(Hn=0,Ne=re=G=null,au=!1,dr=0,Pl=null,t)throw Error(S(300));e===null||Le||(e=e.dependencies,e!==null&&$o(e)&&(Le=!0))}function cp(e,t,n,a){G=e;var l=0;do{if(Gl&&(Pl=null),dr=0,Gl=!1,25<=l)throw Error(S(301));if(l+=1,Ne=re=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}L.H=Gp,i=t(n,a)}while(Gl);return i}function GA(){var e=L.H,t=e.useState()[0];return t=typeof t.then=="function"?Tr(t):t,e=e.useState()[0],(re!==null?re.memoizedState:null)!==e&&(G.flags|=1024),t}function Hd(){var e=lu!==0;return lu=0,e}function zd(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ud(e){if(au){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}au=!1}Hn=0,Ne=re=G=null,Gl=!1,dr=lu=0,Pl=null}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e,Ne}function Me(){if(re===null){var e=G.alternate;e=e!==null?e.memoizedState:null}else e=re.next;var t=Ne===null?G.memoizedState:Ne.next;if(t!==null)Ne=t,re=e;else{if(e===null)throw G.alternate===null?Error(S(467)):Error(S(310));re=e,e={memoizedState:re.memoizedState,baseState:re.baseState,baseQueue:re.baseQueue,queue:re.queue,next:null},Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e}return Ne}function Du(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Tr(e){var t=dr;return dr+=1,Pl===null&&(Pl=[]),e=np(Pl,e,t),t=G,(Ne===null?t.memoizedState:Ne.next)===null&&(t=t.alternate,L.H=t===null||t.memoizedState===null?Up:Xd),e}function xu(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Tr(e);if(e.$$typeof===Mn)return Qe(e)}throw Error(S(438,String(e)))}function Gd(e){var t=null,n=G.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=G.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Du(),G.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=Rb;return t.index++,n}function zn(e,t){return typeof t=="function"?t(e):t}function Ho(e){var t=Me();return Pd(t,re,e)}function Pd(e,t,n){var a=e.queue;if(a===null)throw Error(S(311));a.lastRenderedReducer=n;var l=e.baseQueue,i=a.pending;if(i!==null){if(l!==null){var r=l.next;l.next=i.next,i.next=r}t.baseQueue=l=i,a.pending=null}if(i=e.baseState,l===null)e.memoizedState=i;else{t=l.next;var o=r=null,u=null,c=t,s=!1;do{var f=c.lane&-536870913;if(f!==c.lane?(Y&f)===f:(Hn&f)===f){var d=c.revertLane;if(d===0)u!==null&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===Yl&&(s=!0);else if((Hn&d)===d){c=c.next,d===Yl&&(s=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=f,r=i):u=u.next=f,G.lanes|=d,va|=d;f=c.action,Va&&n(i,f),i=c.hasEagerState?c.eagerState:n(i,f)}else d={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=d,r=i):u=u.next=d,G.lanes|=f,va|=f;c=c.next}while(c!==null&&c!==t);if(u===null?r=i:u.next=o,!Bt(i,e.memoizedState)&&(Le=!0,s&&(n=zl,n!==null)))throw n;e.memoizedState=i,e.baseState=r,e.baseQueue=u,a.lastRenderedState=i}return l===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function $c(e){var t=Me(),n=t.queue;if(n===null)throw Error(S(311));n.lastRenderedReducer=e;var a=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var r=l=l.next;do i=e(i,r.action),r=r.next;while(r!==l);Bt(i,t.memoizedState)||(Le=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function sp(e,t,n){var a=G,l=Me(),i=V;if(i){if(n===void 0)throw Error(S(407));n=n()}else n=t();var r=!Bt((re||l).memoizedState,n);if(r&&(l.memoizedState=n,Le=!0),l=l.queue,qd(gp.bind(null,a,l,e),[e]),l.getSnapshot!==t||r||Ne!==null&&Ne.memoizedState.tag&1){if(a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,l,n,t),null),ue===null)throw Error(S(349));i||(Hn&127)!==0||dp(a,t,n)}return n}function dp(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=G.updateQueue,t===null?(t=Du(),G.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function fp(e,t,n,a){t.value=n,t.getSnapshot=a,mp(t)&&hp(e)}function gp(e,t,n){return n(function(){mp(t)&&hp(e)})}function mp(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Bt(e,n)}catch{return!0}}function hp(e){var t=Wa(e,2);t!==null&&yt(t,e,2)}function js(e){var t=ut();if(typeof e=="function"){var n=e;if(e=n(),Va){ta(!0);try{n()}finally{ta(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:e},t}function pp(e,t,n,a){return e.baseState=n,Pd(e,re,typeof a=="function"?a:zn)}function PA(e,t,n,a,l){if(_u(e))throw Error(S(485));if(e=t.action,e!==null){var i={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){i.listeners.push(r)}};L.T!==null?n(!0):i.isTransition=!1,a(i),n=t.pending,n===null?(i.next=t.pending=i,yp(t,i)):(i.next=n.next,t.pending=n.next=i)}}function yp(e,t){var n=t.action,a=t.payload,l=e.state;if(t.isTransition){var i=L.T,r={};L.T=r;try{var o=n(l,a),u=L.S;u!==null&&u(r,o),pm(e,t,o)}catch(c){Ys(e,t,c)}finally{i!==null&&r.types!==null&&(i.types=r.types),L.T=i}}else try{i=n(l,a),pm(e,t,i)}catch(c){Ys(e,t,c)}}function pm(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){ym(e,t,a)},function(a){return Ys(e,t,a)}):ym(e,t,n)}function ym(e,t,n){t.status="fulfilled",t.value=n,vp(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,yp(e,n)))}function Ys(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=n,vp(t),t=t.next;while(t!==a)}e.action=null}function vp(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function bp(e,t){return t}function vm(e,t){if(V){var n=ue.formState;if(n!==null){e:{var a=G;if(V){if(ye){t:{for(var l=ye,i=Vt;l.nodeType!==8;){if(!i){l=null;break t}if(l=Qt(l.nextSibling),l===null){l=null;break t}}i=l.data,l=i==="F!"||i==="F"?l:null}if(l){ye=Qt(l.nextSibling),a=l.data==="F!";break e}}pa(a)}a=!1}a&&(t=n[0])}}return n=ut(),n.memoizedState=n.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bp,lastRenderedState:t},n.queue=a,n=Lp.bind(null,G,a),a.dispatch=n,a=js(!1),i=Vd.bind(null,G,!1,a.queue),a=ut(),l={state:t,dispatch:null,action:e,pending:null},a.queue=l,n=PA.bind(null,G,l,i,n),l.dispatch=n,a.memoizedState=e,[t,n,!1]}function bm(e){var t=Me();return Ap(t,re,e)}function Ap(e,t,n){if(t=Pd(e,t,bp)[0],e=Ho(zn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=Tr(t)}catch(r){throw r===ti?Eu:r}else a=t;t=Me();var l=t.queue,i=l.dispatch;return n!==t.memoizedState&&(G.flags|=2048,Xl(9,{destroy:void 0},qA.bind(null,l,n),null)),[a,i,e]}function qA(e,t){e.action=t}function Am(e){var t=Me(),n=re;if(n!==null)return Ap(t,n,e);Me(),t=t.memoizedState,n=Me();var a=n.queue.dispatch;return n.memoizedState=e,[t,a,!1]}function Xl(e,t,n,a){return e={tag:e,create:n,deps:a,inst:t,next:null},t=G.updateQueue,t===null&&(t=Du(),G.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function wp(){return Me().memoizedState}function zo(e,t,n,a){var l=ut();G.flags|=e,l.memoizedState=Xl(1|t,{destroy:void 0},n,a===void 0?null:a)}function Mu(e,t,n,a){var l=Me();a=a===void 0?null:a;var i=l.memoizedState.inst;re!==null&&a!==null&&kd(a,re.memoizedState.deps)?l.memoizedState=Xl(t,i,n,a):(G.flags|=e,l.memoizedState=Xl(1|t,i,n,a))}function wm(e,t){zo(8390656,8,e,t)}function qd(e,t){Mu(2048,8,e,t)}function FA(e){G.flags|=4;var t=G.updateQueue;if(t===null)t=Du(),G.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Sp(e){var t=Me().memoizedState;return FA({ref:t,nextImpl:e}),function(){if((J&2)!==0)throw Error(S(440));return t.impl.apply(void 0,arguments)}}function Cp(e,t){return Mu(4,2,e,t)}function Rp(e,t){return Mu(4,4,e,t)}function Tp(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ep(e,t,n){n=n!=null?n.concat([e]):null,Mu(4,4,Tp.bind(null,t,e),n)}function Fd(){}function Dp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;return t!==null&&kd(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function xp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;if(t!==null&&kd(t,a[1]))return a[0];if(a=e(),Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a}function jd(e,t,n){return n===void 0||(Hn&1073741824)!==0&&(Y&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=py(),G.lanes|=e,va|=e,n)}function Mp(e,t,n,a){return Bt(n,t)?n:Vl.current!==null?(e=jd(e,n,a),Bt(e,t)||(Le=!0),e):(Hn&42)===0||(Hn&1073741824)!==0&&(Y&261930)===0?(Le=!0,e.memoizedState=n):(e=py(),G.lanes|=e,va|=e,t)}function _p(e,t,n,a,l){var i=$.p;$.p=i!==0&&8>i?i:8;var r=L.T,o={};L.T=o,Vd(e,!1,t,n);try{var u=l(),c=L.S;if(c!==null&&c(o,u),u!==null&&typeof u=="object"&&typeof u.then=="function"){var s=zA(u,a);Ji(e,t,s,_t(e))}else Ji(e,t,a,_t(e))}catch(f){Ji(e,t,{then:function(){},status:"rejected",reason:f},_t())}finally{$.p=i,r!==null&&o.types!==null&&(r.types=o.types),L.T=r}}function jA(){}function Vs(e,t,n,a){if(e.tag!==5)throw Error(S(476));var l=Bp(e).queue;_p(e,l,t,za,n===null?jA:function(){return Np(e),n(a)})}function Bp(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:za,baseState:za,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:za},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Np(e){var t=Bp(e);t.next===null&&(t=e.alternate.memoizedState),Ji(e,t.next.queue,{},_t())}function Yd(){return Qe(hr)}function Op(){return Me().memoizedState}function kp(){return Me().memoizedState}function YA(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_t();e=ua(n);var a=ca(t,e,n);a!==null&&(yt(a,t,n),Zi(a,t,n)),t={cache:Md()},e.payload=t;return}t=t.return}}function VA(e,t,n){var a=_t();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},_u(e)?Hp(t,n):(n=Td(e,t,n,a),n!==null&&(yt(n,e,a),zp(n,t,a)))}function Lp(e,t,n){var a=_t();Ji(e,t,n,a)}function Ji(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(_u(e))Hp(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,o=i(r,n);if(l.hasEagerState=!0,l.eagerState=o,Bt(o,r))return Tu(e,t,l,0),ue===null&&Ru(),!1}catch{}finally{}if(n=Td(e,t,l,a),n!==null)return yt(n,e,a),zp(n,t,a),!0}return!1}function Vd(e,t,n,a){if(a={lane:2,revertLane:ef(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},_u(e)){if(t)throw Error(S(479))}else t=Td(e,n,a,2),t!==null&&yt(t,e,2)}function _u(e){var t=e.alternate;return e===G||t!==null&&t===G}function Hp(e,t){Gl=au=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zp(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}var fr={readContext:Qe,use:xu,useCallback:Re,useContext:Re,useEffect:Re,useImperativeHandle:Re,useLayoutEffect:Re,useInsertionEffect:Re,useMemo:Re,useReducer:Re,useRef:Re,useState:Re,useDebugValue:Re,useDeferredValue:Re,useTransition:Re,useSyncExternalStore:Re,useId:Re,useHostTransitionStatus:Re,useFormState:Re,useActionState:Re,useOptimistic:Re,useMemoCache:Re,useCacheRefresh:Re};fr.useEffectEvent=Re;var Up={readContext:Qe,use:xu,useCallback:function(e,t){return ut().memoizedState=[e,t===void 0?null:t],e},useContext:Qe,useEffect:wm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,zo(4194308,4,Tp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zo(4194308,4,e,t)},useInsertionEffect:function(e,t){zo(4,2,e,t)},useMemo:function(e,t){var n=ut();t=t===void 0?null:t;var a=e();if(Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=ut();if(n!==void 0){var l=n(t);if(Va){ta(!0);try{n(t)}finally{ta(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=VA.bind(null,G,e),[a.memoizedState,e]},useRef:function(e){var t=ut();return e={current:e},t.memoizedState=e},useState:function(e){e=js(e);var t=e.queue,n=Lp.bind(null,G,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Fd,useDeferredValue:function(e,t){var n=ut();return jd(n,e,t)},useTransition:function(){var e=js(!1);return e=_p.bind(null,G,e.queue,!0,!1),ut().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=G,l=ut();if(V){if(n===void 0)throw Error(S(407));n=n()}else{if(n=t(),ue===null)throw Error(S(349));(Y&127)!==0||dp(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,wm(gp.bind(null,a,i,e),[e]),a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,i,n,t),null),n},useId:function(){var e=ut(),t=ue.identifierPrefix;if(V){var n=dn,a=sn;n=(a&~(1<<32-Mt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=lu++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=UA++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Yd,useFormState:vm,useActionState:vm,useOptimistic:function(e){var t=ut();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Vd.bind(null,G,!0,n),n.dispatch=t,[e,t]},useMemoCache:Gd,useCacheRefresh:function(){return ut().memoizedState=YA.bind(null,G)},useEffectEvent:function(e){var t=ut(),n={impl:e};return t.memoizedState=n,function(){if((J&2)!==0)throw Error(S(440));return n.impl.apply(void 0,arguments)}}},Xd={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:Ho,useRef:wp,useState:function(){return Ho(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=Ho(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:bm,useActionState:bm,useOptimistic:function(e,t){var n=Me();return pp(n,re,e,t)},useMemoCache:Gd,useCacheRefresh:kp};Xd.useEffectEvent=Sp;var Gp={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:$c,useRef:wp,useState:function(){return $c(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return re===null?jd(n,e,t):Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=$c(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:Am,useActionState:Am,useOptimistic:function(e,t){var n=Me();return re!==null?pp(n,re,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Gd,useCacheRefresh:kp};Gp.useEffectEvent=Sp;function es(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:ve({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xs={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=_t(),a=ua(n);a.tag=2,t!=null&&(a.callback=t),t=ca(e,a,n),t!==null&&(yt(t,e,n),Zi(t,e,n))}};function Sm(e,t,n,a,l,i,r){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,r):t.prototype&&t.prototype.isPureReactComponent?!or(n,a)||!or(l,i):!0}function Cm(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Xs.enqueueReplaceState(t,t.state,null)}function Xa(e,t){var n=t;if("ref"in t){n={};for(var a in t)a!=="ref"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=ve({},n));for(var l in e)n[l]===void 0&&(n[l]=e[l])}return n}function Pp(e){Wo(e)}function qp(e){console.error(e)}function Fp(e){Wo(e)}function iu(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function Rm(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Qs(e,t,n){return n=ua(n),n.tag=3,n.payload={element:null},n.callback=function(){iu(e,t)},n}function jp(e){return e=ua(e),e.tag=3,e}function Yp(e,t,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var i=a.value;e.payload=function(){return l(i)},e.callback=function(){Rm(t,n,a)}}var r=n.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){Rm(t,n,a),typeof l!="function"&&(sa===null?sa=new Set([this]):sa.add(this));var o=a.stack;this.componentDidCatch(a.value,{componentStack:o!==null?o:""})})}function XA(e,t,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=n.alternate,t!==null&&ei(t,n,l,!0),n=Nt.current,n!==null){switch(n.tag){case 31:case 13:return Xt===null?su():n.alternate===null&&Te===0&&(Te=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),ds(e,a,l)),!1;case 22:return n.flags|=65536,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),ds(e,a,l)),!1}throw Error(S(435,n.tag))}return ds(e,a,l),su(),!1}if(V)return t=Nt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,a!==ks&&(e=Error(S(422),{cause:a}),cr(Yt(e,n)))):(a!==ks&&(t=Error(S(423),{cause:a}),cr(Yt(t,n))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,a=Yt(a,n),l=Qs(e.stateNode,a,l),Jc(e,l),Te!==4&&(Te=2)),!1;var i=Error(S(520),{cause:a});if(i=Yt(i,n),tr===null?tr=[i]:tr.push(i),Te!==4&&(Te=2),t===null)return!0;a=Yt(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=l&-l,n.lanes|=e,e=Qs(n.stateNode,a,e),Jc(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(sa===null||!sa.has(i))))return n.flags|=65536,l&=-l,n.lanes|=l,l=jp(l),Yp(l,e,n,a),Jc(n,l),!1}n=n.return}while(n!==null);return!1}var Qd=Error(S(461)),Le=!1;function Ye(e,t,n,a){t.child=e===null?lp(t,null,n,a):Ya(t,e.child,n,a)}function Tm(e,t,n,a,l){n=n.render;var i=t.ref;if("ref"in a){var r={};for(var o in a)o!=="ref"&&(r[o]=a[o])}else r=a;return ja(t),a=Ld(e,t,n,r,i,l),o=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&o&&Dd(t),t.flags|=1,Ye(e,t,a,l),t.child)}function Em(e,t,n,a,l){if(e===null){var i=n.type;return typeof i=="function"&&!Ed(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,Vp(e,t,i,a,l)):(e=ko(n.type,null,a,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Kd(e,l)){var r=i.memoizedProps;if(n=n.compare,n=n!==null?n:or,n(r,a)&&e.ref===t.ref)return Un(e,t,l)}return t.flags|=1,e=Nn(i,a),e.ref=t.ref,e.return=t,t.child=e}function Vp(e,t,n,a,l){if(e!==null){var i=e.memoizedProps;if(or(i,a)&&e.ref===t.ref)if(Le=!1,t.pendingProps=a=i,Kd(e,l))(e.flags&131072)!==0&&(Le=!0);else return t.lanes=e.lanes,Un(e,t,l)}return Ks(e,t,n,a,l)}function Xp(e,t,n,a){var l=a.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(a=t.child=e.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~i}else a=0,t.child=null;return Dm(e,t,i,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Lo(t,i!==null?i.cachePool:null),i!==null?hm(t,i):qs(),op(t);else return a=t.lanes=536870912,Dm(e,t,i!==null?i.baseLanes|n:n,n,a)}else i!==null?(Lo(t,i.cachePool),hm(t,i),$n(t),t.memoizedState=null):(e!==null&&Lo(t,null),qs(),$n(t));return Ye(e,t,l,n),t.child}function ji(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Dm(e,t,n,a,l){var i=_d();return i=i===null?null:{parent:ke._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Lo(t,null),qs(),op(t),e!==null&&ei(e,t,a,!0),t.childLanes=l,null}function Uo(e,t){return t=ru({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function xm(e,t,n){return Ya(t,e.child,null,n),e=Uo(t,t.pendingProps),e.flags|=2,Rt(t),t.memoizedState=null,e}function QA(e,t,n){var a=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(V){if(a.mode==="hidden")return e=Uo(t,a),t.lanes=536870912,ji(null,e);if(Fs(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return t.lanes=536870912,null}return Uo(t,a)}var i=e.memoizedState;if(i!==null){var r=i.dehydrated;if(Fs(t),l)if(t.flags&256)t.flags&=-257,t=xm(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(S(558));else if(Le||ei(e,t,n,!1),l=(n&e.childLanes)!==0,Le||l){if(a=ue,a!==null&&(r=Ch(a,n),r!==0&&r!==i.retryLane))throw i.retryLane=r,Wa(e,r),yt(a,e,r),Qd;su(),t=xm(e,t,n)}else e=i.treeContext,ye=Qt(r.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Uo(t,a),t.flags|=4096;return t}return e=Nn(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Go(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(S(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Ks(e,t,n,a,l){return ja(t),n=Ld(e,t,n,a,void 0,l),a=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,l),t.child)}function Mm(e,t,n,a,l,i){return ja(t),t.updateQueue=null,n=cp(t,a,n,l),up(e),a=Hd(),e!==null&&!Le?(zd(e,t,i),Un(e,t,i)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,i),t.child)}function _m(e,t,n,a,l){if(ja(t),t.stateNode===null){var i=_l,r=n.contextType;typeof r=="object"&&r!==null&&(i=Qe(r)),i=new n(a,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Xs,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=a,i.state=t.memoizedState,i.refs={},Nd(t),r=n.contextType,i.context=typeof r=="object"&&r!==null?Qe(r):_l,i.state=t.memoizedState,r=n.getDerivedStateFromProps,typeof r=="function"&&(es(t,n,r,a),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&Xs.enqueueReplaceState(i,i.state,null),Ii(t,a,i,l),Wi(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){i=t.stateNode;var o=t.memoizedProps,u=Xa(n,o);i.props=u;var c=i.context,s=n.contextType;r=_l,typeof s=="object"&&s!==null&&(r=Qe(s));var f=n.getDerivedStateFromProps;s=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function",o=t.pendingProps!==o,s||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o||c!==r)&&Cm(t,i,a,r),Wn=!1;var d=t.memoizedState;i.state=d,Ii(t,a,i,l),Wi(),c=t.memoizedState,o||d!==c||Wn?(typeof f=="function"&&(es(t,n,f,a),c=t.memoizedState),(u=Wn||Sm(t,n,u,a,d,c,r))?(s||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=r,a=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Gs(e,t),r=t.memoizedProps,s=Xa(n,r),i.props=s,f=t.pendingProps,d=i.context,c=n.contextType,u=_l,typeof c=="object"&&c!==null&&(u=Qe(c)),o=n.getDerivedStateFromProps,(c=typeof o=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r!==f||d!==u)&&Cm(t,i,a,u),Wn=!1,d=t.memoizedState,i.state=d,Ii(t,a,i,l),Wi();var m=t.memoizedState;r!==f||d!==m||Wn||e!==null&&e.dependencies!==null&&$o(e.dependencies)?(typeof o=="function"&&(es(t,n,o,a),m=t.memoizedState),(s=Wn||Sm(t,n,s,a,d,m,u)||e!==null&&e.dependencies!==null&&$o(e.dependencies))?(c||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(a,m,u),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(a,m,u)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=u,a=s):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return i=a,Go(e,t),a=(t.flags&128)!==0,i||a?(i=t.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&a?(t.child=Ya(t,e.child,null,l),t.child=Ya(t,null,n,l)):Ye(e,t,n,l),t.memoizedState=i.state,e=t.child):e=Un(e,t,l),e}function Bm(e,t,n,a){return Fa(),t.flags|=256,Ye(e,t,n,a),t.child}var ts={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ns(e){return{baseLanes:e,cachePool:tp()}}function as(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Et),e}function Qp(e,t,n){var a=t.pendingProps,l=!1,i=(t.flags&128)!==0,r;if((r=i)||(r=e!==null&&e.memoizedState===null?!1:(xe.current&2)!==0),r&&(l=!0,t.flags&=-129),r=(t.flags&32)!==0,t.flags&=-33,e===null){if(V){if(l?Jn(t):$n(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return ud(e)?t.lanes=32:t.lanes=536870912,null}var o=a.children;return a=a.fallback,l?($n(t),l=t.mode,o=ru({mode:"hidden",children:o},l),a=Ua(a,l,n,null),o.return=t,a.return=t,o.sibling=a,t.child=o,a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,ji(null,a)):(Jn(t),Zs(t,o))}var u=e.memoizedState;if(u!==null&&(o=u.dehydrated,o!==null)){if(i)t.flags&256?(Jn(t),t.flags&=-257,t=ls(e,t,n)):t.memoizedState!==null?($n(t),t.child=e.child,t.flags|=128,t=null):($n(t),o=a.fallback,l=t.mode,a=ru({mode:"visible",children:a.children},l),o=Ua(o,l,n,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,Ya(t,e.child,null,n),a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,t=ji(null,a));else if(Jn(t),ud(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var c=r.dgst;r=c,a=Error(S(419)),a.stack="",a.digest=r,cr({value:a,source:null,stack:null}),t=ls(e,t,n)}else if(Le||ei(e,t,n,!1),r=(n&e.childLanes)!==0,Le||r){if(r=ue,r!==null&&(a=Ch(r,n),a!==0&&a!==u.retryLane))throw u.retryLane=a,Wa(e,a),yt(r,e,a),Qd;od(o)||su(),t=ls(e,t,n)}else od(o)?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,ye=Qt(o.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Zs(t,a.children),t.flags|=4096);return t}return l?($n(t),o=a.fallback,l=t.mode,u=e.child,c=u.sibling,a=Nn(u,{mode:"hidden",children:a.children}),a.subtreeFlags=u.subtreeFlags&65011712,c!==null?o=Nn(c,o):(o=Ua(o,l,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,ji(null,a),a=t.child,o=e.child.memoizedState,o===null?o=ns(n):(l=o.cachePool,l!==null?(u=ke._currentValue,l=l.parent!==u?{parent:u,pool:u}:l):l=tp(),o={baseLanes:o.baseLanes|n,cachePool:l}),a.memoizedState=o,a.childLanes=as(e,r,n),t.memoizedState=ts,ji(e.child,a)):(Jn(t),n=e.child,e=n.sibling,n=Nn(n,{mode:"visible",children:a.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Zs(e,t){return t=ru({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ru(e,t){return e=Tt(22,e,null,t),e.lanes=0,e}function ls(e,t,n){return Ya(t,e.child,null,n),e=Zs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nm(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Hs(e.return,t,n)}function is(e,t,n,a,l,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=l,r.treeForkCount=i)}function Kp(e,t,n){var a=t.pendingProps,l=a.revealOrder,i=a.tail;a=a.children;var r=xe.current,o=(r&2)!==0;if(o?(r=r&1|2,t.flags|=128):r&=1,ge(xe,r),Ye(e,t,a,n),a=V?ur:0,!o&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nm(e,n,t);else if(e.tag===19)Nm(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&nu(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),is(t,!1,l,n,i,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&nu(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}is(t,!0,n,null,i,a);break;case"together":is(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function Un(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),va|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ei(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(S(153));if(t.child!==null){for(e=t.child,n=Nn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Nn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Kd(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&$o(e)))}function KA(e,t,n){switch(t.tag){case 3:Xo(t,t.stateNode.containerInfo),In(t,ke,e.memoizedState.cache),Fa();break;case 27:case 5:Cs(t);break;case 4:Xo(t,t.stateNode.containerInfo);break;case 10:In(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Fs(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(Jn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Qp(e,t,n):(Jn(t),e=Un(e,t,n),e!==null?e.sibling:null);Jn(t);break;case 19:var l=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||(ei(e,t,n,!1),a=(n&t.childLanes)!==0),l){if(a)return Kp(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ge(xe,xe.current),a)break;return null;case 22:return t.lanes=0,Xp(e,t,n,t.pendingProps);case 24:In(t,ke,e.memoizedState.cache)}return Un(e,t,n)}function Zp(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Le=!0;else{if(!Kd(e,n)&&(t.flags&128)===0)return Le=!1,KA(e,t,n);Le=(e.flags&131072)!==0}else Le=!1,V&&(t.flags&1048576)!==0&&Jh(t,ur,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=La(t.elementType),t.type=e,typeof e=="function")Ed(e)?(a=Xa(e,a),t.tag=1,t=_m(null,t,e,a,n)):(t.tag=0,t=Ks(null,t,e,a,n));else{if(e!=null){var l=e.$$typeof;if(l===fd){t.tag=11,t=Tm(null,t,e,a,n);break e}else if(l===gd){t.tag=14,t=Em(null,t,e,a,n);break e}}throw t=ws(e)||e,Error(S(306,t,""))}}return t;case 0:return Ks(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,l=Xa(a,t.pendingProps),_m(e,t,a,l,n);case 3:e:{if(Xo(t,t.stateNode.containerInfo),e===null)throw Error(S(387));a=t.pendingProps;var i=t.memoizedState;l=i.element,Gs(e,t),Ii(t,a,null,n);var r=t.memoizedState;if(a=r.cache,In(t,ke,a),a!==i.cache&&zs(t,[ke],n,!0),Wi(),a=r.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:r.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Bm(e,t,a,n);break e}else if(a!==l){l=Yt(Error(S(424)),t),cr(l),t=Bm(e,t,a,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(ye=Qt(e.firstChild),Xe=t,V=!0,oa=null,Vt=!0,n=lp(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Fa(),a===l){t=Un(e,t,n);break e}Ye(e,t,a,n)}t=t.child}return t;case 26:return Go(e,t),e===null?(n=eh(t.type,null,t.pendingProps,null))?t.memoizedState=n:V||(n=t.type,e=t.pendingProps,a=mu(ra.current).createElement(n),a[Ve]=t,a[vt]=e,Ke(a,n,e),qe(a),t.stateNode=a):t.memoizedState=eh(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Cs(t),e===null&&V&&(a=t.stateNode=Gy(t.type,t.pendingProps,ra.current),Xe=t,Vt=!0,l=ye,Aa(t.type)?(cd=l,ye=Qt(a.firstChild)):ye=l),Ye(e,t,t.pendingProps.children,n),Go(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&V&&((l=a=ye)&&(a=Sw(a,t.type,t.pendingProps,Vt),a!==null?(t.stateNode=a,Xe=t,ye=Qt(a.firstChild),Vt=!1,l=!0):l=!1),l||pa(t)),Cs(t),l=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,a=i.children,id(l,i)?a=null:r!==null&&id(l,r)&&(t.flags|=32),t.memoizedState!==null&&(l=Ld(e,t,GA,null,null,n),hr._currentValue=l),Go(e,t),Ye(e,t,a,n),t.child;case 6:return e===null&&V&&((e=n=ye)&&(n=Cw(n,t.pendingProps,Vt),n!==null?(t.stateNode=n,Xe=t,ye=null,e=!0):e=!1),e||pa(t)),null;case 13:return Qp(e,t,n);case 4:return Xo(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ya(t,null,a,n):Ye(e,t,a,n),t.child;case 11:return Tm(e,t,t.type,t.pendingProps,n);case 7:return Ye(e,t,t.pendingProps,n),t.child;case 8:return Ye(e,t,t.pendingProps.children,n),t.child;case 12:return Ye(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,In(t,t.type,a.value),Ye(e,t,a.children,n),t.child;case 9:return l=t.type._context,a=t.pendingProps.children,ja(t),l=Qe(l),a=a(l),t.flags|=1,Ye(e,t,a,n),t.child;case 14:return Em(e,t,t.type,t.pendingProps,n);case 15:return Vp(e,t,t.type,t.pendingProps,n);case 19:return Kp(e,t,n);case 31:return QA(e,t,n);case 22:return Xp(e,t,n,t.pendingProps);case 24:return ja(t),a=Qe(ke),e===null?(l=_d(),l===null&&(l=ue,i=Md(),l.pooledCache=i,i.refCount++,i!==null&&(l.pooledCacheLanes|=n),l=i),t.memoizedState={parent:a,cache:l},Nd(t),In(t,ke,l)):((e.lanes&n)!==0&&(Gs(e,t),Ii(t,null,null,n),Wi()),l=e.memoizedState,i=t.memoizedState,l.parent!==a?(l={parent:a,cache:a},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),In(t,ke,a)):(a=i.cache,In(t,ke,a),a!==l.cache&&zs(t,[ke],n,!0))),Ye(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(S(156,t.tag))}function Cn(e){e.flags|=4}function rs(e,t,n,a,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(by())e.flags|=8192;else throw Pa=eu,Bd}else e.flags&=-16777217}function Om(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Fy(t))if(by())e.flags|=8192;else throw Pa=eu,Bd}function Co(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ah():536870912,e.lanes|=t,Ql|=t)}function Hi(e,t){if(!V)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function ZA(e,t,n){var a=t.pendingProps;switch(xd(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pe(t),null;case 1:return pe(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),On(ke),ql(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(vl(t)?Cn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ic())),pe(t),null;case 26:var l=t.type,i=t.memoizedState;return e===null?(Cn(t),i!==null?(pe(t),Om(t,i)):(pe(t),rs(t,l,null,a,n))):i?i!==e.memoizedState?(Cn(t),pe(t),Om(t,i)):(pe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&Cn(t),pe(t),rs(t,l,e,a,n)),null;case 27:if(Qo(t),n=ra.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}e=gn.current,vl(t)?um(t,e):(e=Gy(l,a,n),t.stateNode=e,Cn(t))}return pe(t),null;case 5:if(Qo(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}if(i=gn.current,vl(t))um(t,i);else{var r=mu(ra.current);switch(i){case 1:i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":i=r.createElement("div"),i.innerHTML="<script><\/scr"+"ipt>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?r.createElement(l,{is:a.is}):r.createElement(l)}}i[Ve]=t,i[vt]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(Ke(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Cn(t)}}return pe(t),rs(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(S(166));if(e=ra.current,vl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=Xe,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[Ve]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Ly(e.nodeValue,n)),e||pa(t,!0)}else e=mu(e).createTextNode(a),e[Ve]=t,t.stateNode=e}return pe(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=vl(t),n!==null){if(e===null){if(!a)throw Error(S(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(557));e[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),e=!1}else n=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Rt(t),t):(Rt(t),null);if((t.flags&128)!==0)throw Error(S(558))}return pe(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=vl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(S(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(317));l[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),l=!1}else l=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Rt(t),t):(Rt(t),null)}return Rt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Co(t,t.updateQueue),pe(t),null);case 4:return ql(),e===null&&tf(t.stateNode.containerInfo),pe(t),null;case 10:return On(t.type),pe(t),null;case 19:if(Fe(xe),a=t.memoizedState,a===null)return pe(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)Hi(a,!1);else{if(Te!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=nu(e),i!==null){for(t.flags|=128,Hi(a,!1),e=i.updateQueue,t.updateQueue=e,Co(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Wh(n,e),n=n.sibling;return ge(xe,xe.current&1|2),V&&Dn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Dt()>uu&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304)}else{if(!l)if(e=nu(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Co(t,e),Hi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!V)return pe(t),null}else 2*Dt()-a.renderingStartTime>uu&&n!==536870912&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Dt(),e.sibling=null,n=xe.current,ge(xe,l?n&1|2:n&1),V&&Dn(t,a.treeForkCount),e):(pe(t),null);case 22:case 23:return Rt(t),Od(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(pe(t),t.subtreeFlags&6&&(t.flags|=8192)):pe(t),n=t.updateQueue,n!==null&&Co(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&Fe(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),On(ke),pe(t),null;case 25:return null;case 30:return null}throw Error(S(156,t.tag))}function WA(e,t){switch(xd(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return On(ke),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Qo(t),null;case 31:if(t.memoizedState!==null){if(Rt(t),t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Rt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fe(xe),null;case 4:return ql(),null;case 10:return On(t.type),null;case 22:case 23:return Rt(t),Od(),e!==null&&Fe(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return On(ke),null;case 25:return null;default:return null}}function Wp(e,t){switch(xd(t),t.tag){case 3:On(ke),ql();break;case 26:case 27:case 5:Qo(t);break;case 4:ql();break;case 31:t.memoizedState!==null&&Rt(t);break;case 13:Rt(t);break;case 19:Fe(xe);break;case 10:On(t.type);break;case 22:case 23:Rt(t),Od(),e!==null&&Fe(Ga);break;case 24:On(ke)}}function Er(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,r=n.inst;a=i(),r.destroy=a}n=n.next}while(n!==l)}}catch(o){le(t,t.return,o)}}function ya(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var r=a.inst,o=r.destroy;if(o!==void 0){r.destroy=void 0,l=t;var u=n,c=o;try{c()}catch(s){le(l,u,s)}}}a=a.next}while(a!==i)}}catch(s){le(t,t.return,s)}}function Ip(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{rp(t,n)}catch(a){le(e,e.return,a)}}}function Jp(e,t,n){n.props=Xa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){le(e,t,a)}}function $i(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){le(e,t,l)}}function fn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){le(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){le(e,t,l)}else n.current=null}function $p(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){le(e,e.return,l)}}function os(e,t,n){try{var a=e.stateNode;pw(a,e.type,n,t),a[vt]=t}catch(l){le(e,e.return,l)}}function ey(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Aa(e.type)||e.tag===4}function us(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ey(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Aa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ws(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=_n));else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Ws(e,t,n),e=e.sibling;e!==null;)Ws(e,t,n),e=e.sibling}function ou(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ou(e,t,n),e=e.sibling;e!==null;)ou(e,t,n),e=e.sibling}function ty(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);Ke(t,a,n),t[Ve]=e,t[vt]=n}catch(i){le(e,e.return,i)}}var xn=!1,Oe=!1,cs=!1,km=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function IA(e,t){if(e=e.containerInfo,ad=vu,e=Fh(e),Cd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var r=0,o=-1,u=-1,c=0,s=0,f=e,d=null;t:for(;;){for(var m;f!==n||l!==0&&f.nodeType!==3||(o=r+l),f!==i||a!==0&&f.nodeType!==3||(u=r+a),f.nodeType===3&&(r+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===n&&++c===l&&(o=r),d===i&&++s===a&&(u=r),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}n=o===-1||u===-1?null:{start:o,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ld={focusedElem:e,selectionRange:n},vu=!1,Pe=t;Pe!==null;)if(t=Pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Pe=e;else for(;Pe!==null;){switch(t=Pe,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)l=e[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,l=i.memoizedProps,i=i.memoizedState,a=n.stateNode;try{var v=Xa(n.type,l);e=a.getSnapshotBeforeUpdate(v,i),a.__reactInternalSnapshotBeforeUpdate=e}catch(A){le(n,n.return,A)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)rd(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":rd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(S(163))}if(e=t.sibling,e!==null){e.return=t.return,Pe=e;break}Pe=t.return}}function ny(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Tn(e,n),a&4&&Er(5,n);break;case 1:if(Tn(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(r){le(n,n.return,r)}else{var l=Xa(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(r){le(n,n.return,r)}}a&64&&Ip(n),a&512&&$i(n,n.return);break;case 3:if(Tn(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{rp(e,t)}catch(r){le(n,n.return,r)}}break;case 27:t===null&&a&4&&ty(n);case 26:case 5:Tn(e,n),t===null&&a&4&&$p(n),a&512&&$i(n,n.return);break;case 12:Tn(e,n);break;case 31:Tn(e,n),a&4&&iy(e,n);break;case 13:Tn(e,n),a&4&&ry(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=rw.bind(null,n),Rw(e,n))));break;case 22:if(a=n.memoizedState!==null||xn,!a){t=t!==null&&t.memoizedState!==null||Oe,l=xn;var i=Oe;xn=a,(Oe=t)&&!i?En(e,n,(n.subtreeFlags&8772)!==0):Tn(e,n),xn=l,Oe=i}break;case 30:break;default:Tn(e,n)}}function ay(e){var t=e.alternate;t!==null&&(e.alternate=null,ay(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&yd(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ce=null,ht=!1;function Rn(e,t,n){for(n=n.child;n!==null;)ly(e,t,n),n=n.sibling}function ly(e,t,n){if(xt&&typeof xt.onCommitFiberUnmount=="function")try{xt.onCommitFiberUnmount(br,n)}catch{}switch(n.tag){case 26:Oe||fn(n,t),Rn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Oe||fn(n,t);var a=Ce,l=ht;Aa(n.type)&&(Ce=n.stateNode,ht=!1),Rn(e,t,n),ar(n.stateNode),Ce=a,ht=l;break;case 5:Oe||fn(n,t);case 6:if(a=Ce,l=ht,Ce=null,Rn(e,t,n),Ce=a,ht=l,Ce!==null)if(ht)try{(Ce.nodeType===9?Ce.body:Ce.nodeName==="HTML"?Ce.ownerDocument.body:Ce).removeChild(n.stateNode)}catch(i){le(n,t,i)}else try{Ce.removeChild(n.stateNode)}catch(i){le(n,t,i)}break;case 18:Ce!==null&&(ht?(e=Ce,Zm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),Il(e)):Zm(Ce,n.stateNode));break;case 4:a=Ce,l=ht,Ce=n.stateNode.containerInfo,ht=!0,Rn(e,t,n),Ce=a,ht=l;break;case 0:case 11:case 14:case 15:ya(2,n,t),Oe||ya(4,n,t),Rn(e,t,n);break;case 1:Oe||(fn(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"&&Jp(n,t,a)),Rn(e,t,n);break;case 21:Rn(e,t,n);break;case 22:Oe=(a=Oe)||n.memoizedState!==null,Rn(e,t,n),Oe=a;break;default:Rn(e,t,n)}}function iy(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Il(e)}catch(n){le(t,t.return,n)}}}function ry(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Il(e)}catch(n){le(t,t.return,n)}}function JA(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new km),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new km),t;default:throw Error(S(435,e.tag))}}function Ro(e,t){var n=JA(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var l=ow.bind(null,e,a);a.then(l,l)}})}function gt(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var l=n[a],i=e,r=t,o=r;e:for(;o!==null;){switch(o.tag){case 27:if(Aa(o.type)){Ce=o.stateNode,ht=!1;break e}break;case 5:Ce=o.stateNode,ht=!1;break e;case 3:case 4:Ce=o.stateNode.containerInfo,ht=!0;break e}o=o.return}if(Ce===null)throw Error(S(160));ly(i,r,l),Ce=null,ht=!1,i=l.alternate,i!==null&&(i.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)oy(t,e),t=t.sibling}var en=null;function oy(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),mt(e),a&4&&(ya(3,e,e.return),Er(3,e),ya(5,e,e.return));break;case 1:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&64&&xn&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var l=en;if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&4){var i=n!==null?n.memoizedState:null;if(a=e.memoizedState,n===null)if(a===null)if(e.stateNode===null){e:{a=e.type,n=e.memoizedProps,l=l.ownerDocument||l;t:switch(a){case"title":i=l.getElementsByTagName("title")[0],(!i||i[Sr]||i[Ve]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=l.createElement(a),l.head.insertBefore(i,l.querySelector("head > title"))),Ke(i,a,n),i[Ve]=e,qe(i),a=i;break e;case"link":var r=nh("link","href",l).get(a+(n.href||""));if(r){for(var o=0;o<r.length;o++)if(i=r[o],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;case"meta":if(r=nh("meta","content",l).get(a+(n.content||""))){for(o=0;o<r.length;o++)if(i=r[o],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;default:throw Error(S(468,a))}i[Ve]=e,qe(i),a=i}e.stateNode=a}else ah(l,e.type,e.stateNode);else e.stateNode=th(l,a,e.memoizedProps);else i!==a?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count--,a===null?ah(l,e.type,e.stateNode):th(l,a,e.memoizedProps)):a===null&&e.stateNode!==null&&os(e,e.memoizedProps,n.memoizedProps)}break;case 27:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),n!==null&&a&4&&os(e,e.memoizedProps,n.memoizedProps);break;case 5:if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),e.flags&32){l=e.stateNode;try{jl(l,"")}catch(v){le(e,e.return,v)}}a&4&&e.stateNode!=null&&(l=e.memoizedProps,os(e,l,n!==null?n.memoizedProps:l)),a&1024&&(cs=!0);break;case 6:if(gt(t,e),mt(e),a&4){if(e.stateNode===null)throw Error(S(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(v){le(e,e.return,v)}}break;case 3:if(Fo=null,l=en,en=hu(t.containerInfo),gt(t,e),en=l,mt(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Il(t.containerInfo)}catch(v){le(e,e.return,v)}cs&&(cs=!1,uy(e));break;case 4:a=en,en=hu(e.stateNode.containerInfo),gt(t,e),mt(e),en=a;break;case 12:gt(t,e),mt(e);break;case 31:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 13:gt(t,e),mt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Bu=Dt()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 22:l=e.memoizedState!==null;var u=n!==null&&n.memoizedState!==null,c=xn,s=Oe;if(xn=c||l,Oe=s||u,gt(t,e),Oe=s,xn=c,mt(e),a&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(n===null||u||xn||Oe||Ha(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){u=n=t;try{if(i=u.stateNode,l)r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{o=u.stateNode;var f=u.memoizedProps.style,d=f!=null&&f.hasOwnProperty("display")?f.display:null;o.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(v){le(u,u.return,v)}}}else if(t.tag===6){if(n===null){u=t;try{u.stateNode.nodeValue=l?"":u.memoizedProps}catch(v){le(u,u.return,v)}}}else if(t.tag===18){if(n===null){u=t;try{var m=u.stateNode;l?Wm(m,!0):Wm(u.stateNode,!1)}catch(v){le(u,u.return,v)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,Ro(e,n))));break;case 19:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 30:break;case 21:break;default:gt(t,e),mt(e)}}function mt(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(ey(a)){n=a;break}a=a.return}if(n==null)throw Error(S(160));switch(n.tag){case 27:var l=n.stateNode,i=us(e);ou(e,i,l);break;case 5:var r=n.stateNode;n.flags&32&&(jl(r,""),n.flags&=-33);var o=us(e);ou(e,o,r);break;case 3:case 4:var u=n.stateNode.containerInfo,c=us(e);Ws(e,c,u);break;default:throw Error(S(161))}}catch(s){le(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function uy(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;uy(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Tn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ny(e,t.alternate,t),t=t.sibling}function Ha(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ya(4,t,t.return),Ha(t);break;case 1:fn(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Jp(t,t.return,n),Ha(t);break;case 27:ar(t.stateNode);case 26:case 5:fn(t,t.return),Ha(t);break;case 22:t.memoizedState===null&&Ha(t);break;case 30:Ha(t);break;default:Ha(t)}e=e.sibling}}function En(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,l=e,i=t,r=i.flags;switch(i.tag){case 0:case 11:case 15:En(l,i,n),Er(4,i);break;case 1:if(En(l,i,n),a=i,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(c){le(a,a.return,c)}if(a=i,l=a.updateQueue,l!==null){var o=a.stateNode;try{var u=l.shared.hiddenCallbacks;if(u!==null)for(l.shared.hiddenCallbacks=null,l=0;l<u.length;l++)ip(u[l],o)}catch(c){le(a,a.return,c)}}n&&r&64&&Ip(i),$i(i,i.return);break;case 27:ty(i);case 26:case 5:En(l,i,n),n&&a===null&&r&4&&$p(i),$i(i,i.return);break;case 12:En(l,i,n);break;case 31:En(l,i,n),n&&r&4&&iy(l,i);break;case 13:En(l,i,n),n&&r&4&&ry(l,i);break;case 22:i.memoizedState===null&&En(l,i,n),$i(i,i.return);break;case 30:break;default:En(l,i,n)}t=t.sibling}}function Zd(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Rr(n))}function Wd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e))}function $t(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)cy(e,t,n,a),t=t.sibling}function cy(e,t,n,a){var l=t.flags;switch(t.tag){case 0:case 11:case 15:$t(e,t,n,a),l&2048&&Er(9,t);break;case 1:$t(e,t,n,a);break;case 3:$t(e,t,n,a),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e)));break;case 12:if(l&2048){$t(e,t,n,a),e=t.stateNode;try{var i=t.memoizedProps,r=i.id,o=i.onPostCommit;typeof o=="function"&&o(r,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(u){le(t,t.return,u)}}else $t(e,t,n,a);break;case 31:$t(e,t,n,a);break;case 13:$t(e,t,n,a);break;case 23:break;case 22:i=t.stateNode,r=t.alternate,t.memoizedState!==null?i._visibility&2?$t(e,t,n,a):er(e,t):i._visibility&2?$t(e,t,n,a):(i._visibility|=2,Al(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Zd(r,t);break;case 24:$t(e,t,n,a),l&2048&&Wd(t.alternate,t);break;default:$t(e,t,n,a)}}function Al(e,t,n,a,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,r=t,o=n,u=a,c=r.flags;switch(r.tag){case 0:case 11:case 15:Al(i,r,o,u,l),Er(8,r);break;case 23:break;case 22:var s=r.stateNode;r.memoizedState!==null?s._visibility&2?Al(i,r,o,u,l):er(i,r):(s._visibility|=2,Al(i,r,o,u,l)),l&&c&2048&&Zd(r.alternate,r);break;case 24:Al(i,r,o,u,l),l&&c&2048&&Wd(r.alternate,r);break;default:Al(i,r,o,u,l)}t=t.sibling}}function er(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,l=a.flags;switch(a.tag){case 22:er(n,a),l&2048&&Zd(a.alternate,a);break;case 24:er(n,a),l&2048&&Wd(a.alternate,a);break;default:er(n,a)}t=t.sibling}}var Yi=8192;function bl(e,t,n){if(e.subtreeFlags&Yi)for(e=e.child;e!==null;)sy(e,t,n),e=e.sibling}function sy(e,t,n){switch(e.tag){case 26:bl(e,t,n),e.flags&Yi&&e.memoizedState!==null&&Hw(n,en,e.memoizedState,e.memoizedProps);break;case 5:bl(e,t,n);break;case 3:case 4:var a=en;en=hu(e.stateNode.containerInfo),bl(e,t,n),en=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=Yi,Yi=16777216,bl(e,t,n),Yi=a):bl(e,t,n));break;default:bl(e,t,n)}}function dy(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function zi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)fy(e),e=e.sibling}function fy(e){switch(e.tag){case 0:case 11:case 15:zi(e),e.flags&2048&&ya(9,e,e.return);break;case 3:zi(e);break;case 12:zi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Po(e)):zi(e);break;default:zi(e)}}function Po(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ya(8,t,t.return),Po(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Po(t));break;default:Po(t)}e=e.sibling}}function gy(e,t){for(;Pe!==null;){var n=Pe;switch(n.tag){case 0:case 11:case 15:ya(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Rr(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,Pe=a;else e:for(n=e;Pe!==null;){a=Pe;var l=a.sibling,i=a.return;if(ay(a),a===n){Pe=null;break e}if(l!==null){l.return=i,Pe=l;break e}Pe=i}}}var $A={getCacheForType:function(e){var t=Qe(ke),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Qe(ke).controller.signal}},ew=typeof WeakMap=="function"?WeakMap:Map,J=0,ue=null,F=null,Y=0,ae=0,Ct=null,aa=!1,ni=!1,Id=!1,Gn=0,Te=0,va=0,qa=0,Jd=0,Et=0,Ql=0,tr=null,pt=null,Is=!1,Bu=0,my=0,uu=1/0,cu=null,sa=null,Ue=0,da=null,Kl=null,kn=0,Js=0,$s=null,hy=null,nr=0,ed=null;function _t(){return(J&2)!==0&&Y!==0?Y&-Y:L.T!==null?ef():Rh()}function py(){if(Et===0)if((Y&536870912)===0||V){var e=mo;mo<<=1,(mo&3932160)===0&&(mo=262144),Et=e}else Et=536870912;return e=Nt.current,e!==null&&(e.flags|=32),Et}function yt(e,t,n){(e===ue&&(ae===2||ae===9)||e.cancelPendingCommit!==null)&&(Zl(e,0),la(e,Y,Et,!1)),wr(e,n),((J&2)===0||e!==ue)&&(e===ue&&((J&2)===0&&(qa|=n),Te===4&&la(e,Y,Et,!1)),hn(e))}function yy(e,t,n){if((J&6)!==0)throw Error(S(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Ar(e,t),l=a?aw(e,t):ss(e,t,!0),i=a;do{if(l===0){ni&&!a&&la(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!tw(n)){l=ss(e,t,!1),i=!1;continue}if(l===2){if(i=t,e.errorRecoveryDisabledLanes&i)var r=0;else r=e.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){t=r;e:{var o=e;l=tr;var u=o.current.memoizedState.isDehydrated;if(u&&(Zl(o,r).flags|=256),r=ss(o,r,!1),r!==2){if(Id&&!u){o.errorRecoveryDisabledLanes|=i,qa|=i,l=4;break e}i=pt,pt=l,i!==null&&(pt===null?pt=i:pt.push.apply(pt,i))}l=r}if(i=!1,l!==2)continue}}if(l===1){Zl(e,0),la(e,t,0,!0);break}e:{switch(a=e,i=l,i){case 0:case 1:throw Error(S(345));case 4:if((t&4194048)!==t)break;case 6:la(a,t,Et,!aa);break e;case 2:pt=null;break;case 3:case 5:break;default:throw Error(S(329))}if((t&62914560)===t&&(l=Bu+300-Dt(),10<l)){if(la(a,t,Et,!aa),Au(a,0,!0)!==0)break e;kn=t,a.timeoutHandle=zy(Lm.bind(null,a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,"Throttled",-0,0),l);break e}Lm(a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,null,-0,0)}}break}while(!0);hn(e)}function Lm(e,t,n,a,l,i,r,o,u,c,s,f,d,m){if(e.timeoutHandle=-1,f=t.subtreeFlags,f&8192||(f&16785408)===16785408){f={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:_n},sy(t,i,f);var v=(i&62914560)===i?Bu-Dt():(i&4194048)===i?my-Dt():0;if(v=zw(f,v),v!==null){kn=i,e.cancelPendingCommit=v(zm.bind(null,e,t,i,n,a,l,r,o,u,s,f,null,d,m)),la(e,i,r,!c);return}}zm(e,t,i,n,a,l,r,o,u)}function tw(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],i=l.getSnapshot;l=l.value;try{if(!Bt(i(),l))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function la(e,t,n,a){t&=~Jd,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var l=t;0<l;){var i=31-Mt(l),r=1<<i;a[i]=-1,l&=~r}n!==0&&wh(e,n,t)}function Nu(){return(J&6)===0?(Dr(0,!1),!1):!0}function $d(){if(F!==null){if(ae===0)var e=F.return;else e=F,Bn=Ia=null,Ud(e),Ul=null,sr=0,e=F;for(;e!==null;)Wp(e.alternate,e),e=e.return;F=null}}function Zl(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,bw(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),kn=0,$d(),ue=e,F=n=Nn(e.current,null),Y=t,ae=0,Ct=null,aa=!1,ni=Ar(e,t),Id=!1,Ql=Et=Jd=qa=va=Te=0,pt=tr=null,Is=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var l=31-Mt(a),i=1<<l;t|=e[l],a&=~i}return Gn=t,Ru(),n}function vy(e,t){G=null,L.H=fr,t===ti||t===Eu?(t=gm(),ae=3):t===Bd?(t=gm(),ae=4):ae=t===Qd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ct=t,F===null&&(Te=1,iu(e,Yt(t,e.current)))}function by(){var e=Nt.current;return e===null?!0:(Y&4194048)===Y?Xt===null:(Y&62914560)===Y||(Y&536870912)!==0?e===Xt:!1}function Ay(){var e=L.H;return L.H=fr,e===null?fr:e}function wy(){var e=L.A;return L.A=$A,e}function su(){Te=4,aa||(Y&4194048)!==Y&&Nt.current!==null||(ni=!0),(va&134217727)===0&&(qa&134217727)===0||ue===null||la(ue,Y,Et,!1)}function ss(e,t,n){var a=J;J|=2;var l=Ay(),i=wy();(ue!==e||Y!==t)&&(cu=null,Zl(e,t)),t=!1;var r=Te;e:do try{if(ae!==0&&F!==null){var o=F,u=Ct;switch(ae){case 8:$d(),r=6;break e;case 3:case 2:case 9:case 6:Nt.current===null&&(t=!0);var c=ae;if(ae=0,Ct=null,Ol(e,o,u,c),n&&ni){r=0;break e}break;default:c=ae,ae=0,Ct=null,Ol(e,o,u,c)}}nw(),r=Te;break}catch(s){vy(e,s)}while(!0);return t&&e.shellSuspendCounter++,Bn=Ia=null,J=a,L.H=l,L.A=i,F===null&&(ue=null,Y=0,Ru()),r}function nw(){for(;F!==null;)Sy(F)}function aw(e,t){var n=J;J|=2;var a=Ay(),l=wy();ue!==e||Y!==t?(cu=null,uu=Dt()+500,Zl(e,t)):ni=Ar(e,t);e:do try{if(ae!==0&&F!==null){t=F;var i=Ct;t:switch(ae){case 1:ae=0,Ct=null,Ol(e,t,i,1);break;case 2:case 9:if(fm(i)){ae=0,Ct=null,Hm(t);break}t=function(){ae!==2&&ae!==9||ue!==e||(ae=7),hn(e)},i.then(t,t);break e;case 3:ae=7;break e;case 4:ae=5;break e;case 7:fm(i)?(ae=0,Ct=null,Hm(t)):(ae=0,Ct=null,Ol(e,t,i,7));break;case 5:var r=null;switch(F.tag){case 26:r=F.memoizedState;case 5:case 27:var o=F;if(r?Fy(r):o.stateNode.complete){ae=0,Ct=null;var u=o.sibling;if(u!==null)F=u;else{var c=o.return;c!==null?(F=c,Ou(c)):F=null}break t}}ae=0,Ct=null,Ol(e,t,i,5);break;case 6:ae=0,Ct=null,Ol(e,t,i,6);break;case 8:$d(),Te=6;break e;default:throw Error(S(462))}}lw();break}catch(s){vy(e,s)}while(!0);return Bn=Ia=null,L.H=a,L.A=l,J=n,F!==null?0:(ue=null,Y=0,Ru(),Te)}function lw(){for(;F!==null&&!Db();)Sy(F)}function Sy(e){var t=Zp(e.alternate,e,Gn);e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Hm(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Mm(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=Mm(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:Ud(t);default:Wp(n,t),t=F=Wh(t,Gn),t=Zp(n,t,Gn)}e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Ol(e,t,n,a){Bn=Ia=null,Ud(t),Ul=null,sr=0;var l=t.return;try{if(XA(e,l,t,n,Y)){Te=1,iu(e,Yt(n,e.current)),F=null;return}}catch(i){if(l!==null)throw F=l,i;Te=1,iu(e,Yt(n,e.current)),F=null;return}t.flags&32768?(V||a===1?e=!0:ni||(Y&536870912)!==0?e=!1:(aa=e=!0,(a===2||a===9||a===3||a===6)&&(a=Nt.current,a!==null&&a.tag===13&&(a.flags|=16384))),Cy(t,e)):Ou(t)}function Ou(e){var t=e;do{if((t.flags&32768)!==0){Cy(t,aa);return}e=t.return;var n=ZA(t.alternate,t,Gn);if(n!==null){F=n;return}if(t=t.sibling,t!==null){F=t;return}F=t=e}while(t!==null);Te===0&&(Te=5)}function Cy(e,t){do{var n=WA(e.alternate,e);if(n!==null){n.flags&=32767,F=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){F=e;return}F=e=n}while(e!==null);Te=6,F=null}function zm(e,t,n,a,l,i,r,o,u){e.cancelPendingCommit=null;do ku();while(Ue!==0);if((J&6)!==0)throw Error(S(327));if(t!==null){if(t===e.current)throw Error(S(177));if(i=t.lanes|t.childLanes,i|=Rd,zb(e,n,i,r,o,u),e===ue&&(F=ue=null,Y=0),Kl=t,da=e,kn=n,Js=i,$s=l,hy=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,uw(Ko,function(){return xy(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=L.T,L.T=null,l=$.p,$.p=2,r=J,J|=4;try{IA(e,t,n)}finally{J=r,$.p=l,L.T=a}}Ue=1,Ry(),Ty(),Ey()}}function Ry(){if(Ue===1){Ue=0;var e=da,t=Kl,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{oy(t,e);var i=ld,r=Fh(e.containerInfo),o=i.focusedElem,u=i.selectionRange;if(r!==o&&o&&o.ownerDocument&&qh(o.ownerDocument.documentElement,o)){if(u!==null&&Cd(o)){var c=u.start,s=u.end;if(s===void 0&&(s=c),"selectionStart"in o)o.selectionStart=c,o.selectionEnd=Math.min(s,o.value.length);else{var f=o.ownerDocument||document,d=f&&f.defaultView||window;if(d.getSelection){var m=d.getSelection(),v=o.textContent.length,A=Math.min(u.start,v),b=u.end===void 0?A:Math.min(u.end,v);!m.extend&&A>b&&(r=b,b=A,A=r);var h=im(o,A),g=im(o,b);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var p=f.createRange();p.setStart(h.node,h.offset),m.removeAllRanges(),A>b?(m.addRange(p),m.extend(g.node,g.offset)):(p.setEnd(g.node,g.offset),m.addRange(p))}}}}for(f=[],m=o;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<f.length;o++){var y=f[o];y.element.scrollLeft=y.left,y.element.scrollTop=y.top}}vu=!!ad,ld=ad=null}finally{J=l,$.p=a,L.T=n}}e.current=t,Ue=2}}function Ty(){if(Ue===2){Ue=0;var e=da,t=Kl,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{ny(e,t.alternate,t)}finally{J=l,$.p=a,L.T=n}}Ue=3}}function Ey(){if(Ue===4||Ue===3){Ue=0,xb();var e=da,t=Kl,n=kn,a=hy;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ue=5:(Ue=0,Kl=da=null,Dy(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(sa=null),pd(n),t=t.stateNode,xt&&typeof xt.onCommitFiberRoot=="function")try{xt.onCommitFiberRoot(br,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=L.T,l=$.p,$.p=2,L.T=null;try{for(var i=e.onRecoverableError,r=0;r<a.length;r++){var o=a[r];i(o.value,{componentStack:o.stack})}}finally{L.T=t,$.p=l}}(kn&3)!==0&&ku(),hn(e),l=e.pendingLanes,(n&261930)!==0&&(l&42)!==0?e===ed?nr++:(nr=0,ed=e):nr=0,Dr(0,!1)}}function Dy(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Rr(t)))}function ku(){return Ry(),Ty(),Ey(),xy()}function xy(){if(Ue!==5)return!1;var e=da,t=Js;Js=0;var n=pd(kn),a=L.T,l=$.p;try{$.p=32>n?32:n,L.T=null,n=$s,$s=null;var i=da,r=kn;if(Ue=0,Kl=da=null,kn=0,(J&6)!==0)throw Error(S(331));var o=J;if(J|=4,fy(i.current),cy(i,i.current,r,n),J=o,Dr(0,!1),xt&&typeof xt.onPostCommitFiberRoot=="function")try{xt.onPostCommitFiberRoot(br,i)}catch{}return!0}finally{$.p=l,L.T=a,Dy(e,t)}}function Um(e,t,n){t=Yt(n,t),t=Qs(e.stateNode,t,2),e=ca(e,t,2),e!==null&&(wr(e,2),hn(e))}function le(e,t,n){if(e.tag===3)Um(e,e,n);else for(;t!==null;){if(t.tag===3){Um(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(sa===null||!sa.has(a))){e=Yt(n,e),n=jp(2),a=ca(t,n,2),a!==null&&(Yp(n,a,t,e),wr(a,2),hn(a));break}}t=t.return}}function ds(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new ew;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Id=!0,l.add(n),e=iw.bind(null,e,t,n),t.then(e,e))}function iw(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ue===e&&(Y&n)===n&&(Te===4||Te===3&&(Y&62914560)===Y&&300>Dt()-Bu?(J&2)===0&&Zl(e,0):Jd|=n,Ql===Y&&(Ql=0)),hn(e)}function My(e,t){t===0&&(t=Ah()),e=Wa(e,t),e!==null&&(wr(e,t),hn(e))}function rw(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),My(e,n)}function ow(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(S(314))}a!==null&&a.delete(t),My(e,n)}function uw(e,t){return md(e,t)}var du=null,wl=null,td=!1,fu=!1,fs=!1,ia=0;function hn(e){e!==wl&&e.next===null&&(wl===null?du=wl=e:wl=wl.next=e),fu=!0,td||(td=!0,sw())}function Dr(e,t){if(!fs&&fu){fs=!0;do for(var n=!1,a=du;a!==null;){if(!t)if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var r=a.suspendedLanes,o=a.pingedLanes;i=(1<<31-Mt(42|e)+1)-1,i&=l&~(r&~o),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,Gm(a,i))}else i=Y,i=Au(a,a===ue?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||Ar(a,i)||(n=!0,Gm(a,i));a=a.next}while(n);fs=!1}}function cw(){_y()}function _y(){fu=td=!1;var e=0;ia!==0&&vw()&&(e=ia);for(var t=Dt(),n=null,a=du;a!==null;){var l=a.next,i=By(a,t);i===0?(a.next=null,n===null?du=l:n.next=l,l===null&&(wl=n)):(n=a,(e!==0||(i&3)!==0)&&(fu=!0)),a=l}Ue!==0&&Ue!==5||Dr(e,!1),ia!==0&&(ia=0)}function By(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var r=31-Mt(i),o=1<<r,u=l[r];u===-1?((o&n)===0||(o&a)!==0)&&(l[r]=Hb(o,t)):u<=t&&(e.expiredLanes|=o),i&=~o}if(t=ue,n=Y,n=Au(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(ae===2||ae===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&qc(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Ar(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&qc(a),pd(n)){case 2:case 8:n=vh;break;case 32:n=Ko;break;case 268435456:n=bh;break;default:n=Ko}return a=Ny.bind(null,e),n=md(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&qc(a),e.callbackPriority=2,e.callbackNode=null,2}function Ny(e,t){if(Ue!==0&&Ue!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(ku()&&e.callbackNode!==n)return null;var a=Y;return a=Au(e,e===ue?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(yy(e,a,t),By(e,Dt()),e.callbackNode!=null&&e.callbackNode===n?Ny.bind(null,e):null)}function Gm(e,t){if(ku())return null;yy(e,t,!0)}function sw(){Aw(function(){(J&6)!==0?md(yh,cw):_y()})}function ef(){if(ia===0){var e=Yl;e===0&&(e=go,go<<=1,(go&261888)===0&&(go=256)),ia=e}return ia}function Pm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Bo(""+e)}function qm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function dw(e,t,n,a,l){if(t==="submit"&&n&&n.stateNode===l){var i=Pm((l[vt]||null).action),r=a.submitter;r&&(t=(t=r[vt]||null)?Pm(t.formAction):r.getAttribute("formAction"),t!==null&&(i=t,r=null));var o=new wu("action","action",null,a,l);e.push({event:o,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(ia!==0){var u=r?qm(l,r):new FormData(l);Vs(n,{pending:!0,data:u,method:l.method,action:i},null,u)}}else typeof i=="function"&&(o.preventDefault(),u=r?qm(l,r):new FormData(l),Vs(n,{pending:!0,data:u,method:l.method,action:i},i,u))},currentTarget:l}]})}}for(To=0;To<Os.length;To++)Eo=Os[To],Fm=Eo.toLowerCase(),jm=Eo[0].toUpperCase()+Eo.slice(1),tn(Fm,"on"+jm);var Eo,Fm,jm,To;tn(Yh,"onAnimationEnd");tn(Vh,"onAnimationIteration");tn(Xh,"onAnimationStart");tn("dblclick","onDoubleClick");tn("focusin","onFocus");tn("focusout","onBlur");tn(MA,"onTransitionRun");tn(_A,"onTransitionStart");tn(BA,"onTransitionCancel");tn(Qh,"onTransitionEnd");Fl("onMouseEnter",["mouseout","mouseover"]);Fl("onMouseLeave",["mouseout","mouseover"]);Fl("onPointerEnter",["pointerout","pointerover"]);Fl("onPointerLeave",["pointerout","pointerover"]);Qa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Qa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Qa("onBeforeInput",["compositionend","keypress","textInput","paste"]);Qa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),fw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(gr));function Oy(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],l=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var r=a.length-1;0<=r;r--){var o=a[r],u=o.instance,c=o.currentTarget;if(o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}else for(r=0;r<a.length;r++){if(o=a[r],u=o.instance,c=o.currentTarget,o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}}}}function q(e,t){var n=t[Ts];n===void 0&&(n=t[Ts]=new Set);var a=e+"__bubble";n.has(a)||(ky(t,e,2,!1),n.add(a))}function gs(e,t,n){var a=0;t&&(a|=4),ky(n,e,a,t)}var Do="_reactListening"+Math.random().toString(36).slice(2);function tf(e){if(!e[Do]){e[Do]=!0,Th.forEach(function(n){n!=="selectionchange"&&(fw.has(n)||gs(n,!1,e),gs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Do]||(t[Do]=!0,gs("selectionchange",!1,t))}}function ky(e,t,n,a){switch(Qy(t)){case 2:var l=Pw;break;case 8:l=qw;break;default:l=rf}n=l.bind(null,t,n,e),l=void 0,!_s||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),a?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function ms(e,t,n,a,l){var i=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var r=a.tag;if(r===3||r===4){var o=a.stateNode.containerInfo;if(o===l)break;if(r===4)for(r=a.return;r!==null;){var u=r.tag;if((u===3||u===4)&&r.stateNode.containerInfo===l)return;r=r.return}for(;o!==null;){if(r=Rl(o),r===null)return;if(u=r.tag,u===5||u===6||u===26||u===27){a=i=r;continue e}o=o.parentNode}}a=a.return}Oh(function(){var c=i,s=bd(n),f=[];e:{var d=Kh.get(e);if(d!==void 0){var m=wu,v=e;switch(e){case"keypress":if(Oo(n)===0)break e;case"keydown":case"keyup":m=oA;break;case"focusin":v="focus",m=Xc;break;case"focusout":v="blur",m=Xc;break;case"beforeblur":case"afterblur":m=Xc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Wg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Zb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=sA;break;case Yh:case Vh:case Xh:m=Jb;break;case Qh:m=fA;break;case"scroll":case"scrollend":m=Qb;break;case"wheel":m=mA;break;case"copy":case"cut":case"paste":m=eA;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Jg;break;case"toggle":case"beforetoggle":m=pA}var A=(t&4)!==0,b=!A&&(e==="scroll"||e==="scrollend"),h=A?d!==null?d+"Capture":null:d;A=[];for(var g=c,p;g!==null;){var y=g;if(p=y.stateNode,y=y.tag,y!==5&&y!==26&&y!==27||p===null||h===null||(y=ir(g,h),y!=null&&A.push(mr(g,y,p))),b)break;g=g.return}0<A.length&&(d=new m(d,v,null,n,s),f.push({event:d,listeners:A}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",d&&n!==Ms&&(v=n.relatedTarget||n.fromElement)&&(Rl(v)||v[Jl]))break e;if((m||d)&&(d=s.window===s?s:(d=s.ownerDocument)?d.defaultView||d.parentWindow:window,m?(v=n.relatedTarget||n.toElement,m=c,v=v?Rl(v):null,v!==null&&(b=vr(v),A=v.tag,v!==b||A!==5&&A!==27&&A!==6)&&(v=null)):(m=null,v=c),m!==v)){if(A=Wg,y="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(A=Jg,y="onPointerLeave",h="onPointerEnter",g="pointer"),b=m==null?d:Fi(m),p=v==null?d:Fi(v),d=new A(y,g+"leave",m,n,s),d.target=b,d.relatedTarget=p,y=null,Rl(s)===c&&(A=new A(h,g+"enter",v,n,s),A.target=p,A.relatedTarget=b,y=A),b=y,m&&v)t:{for(A=gw,h=m,g=v,p=0,y=h;y;y=A(y))p++;y=0;for(var C=g;C;C=A(C))y++;for(;0<p-y;)h=A(h),p--;for(;0<y-p;)g=A(g),y--;for(;p--;){if(h===g||g!==null&&h===g.alternate){A=h;break t}h=A(h),g=A(g)}A=null}else A=null;m!==null&&Ym(f,d,m,A,!1),v!==null&&b!==null&&Ym(f,b,v,A,!0)}}e:{if(d=c?Fi(c):window,m=d.nodeName&&d.nodeName.toLowerCase(),m==="select"||m==="input"&&d.type==="file")var R=nm;else if(tm(d))if(Gh)R=EA;else{R=RA;var T=CA}else m=d.nodeName,!m||m.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?c&&vd(c.elementType)&&(R=nm):R=TA;if(R&&(R=R(e,c))){Uh(f,R,n,s);break e}T&&T(e,d,c),e==="focusout"&&c&&d.type==="number"&&c.memoizedProps.value!=null&&xs(d,"number",d.value)}switch(T=c?Fi(c):window,e){case"focusin":(tm(T)||T.contentEditable==="true")&&(Dl=T,Bs=c,Qi=null);break;case"focusout":Qi=Bs=Dl=null;break;case"mousedown":Ns=!0;break;case"contextmenu":case"mouseup":case"dragend":Ns=!1,rm(f,n,s);break;case"selectionchange":if(xA)break;case"keydown":case"keyup":rm(f,n,s)}var M;if(Sd)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else El?Hh(e,n)&&(w="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(w="onCompositionStart");w&&(Lh&&n.locale!=="ko"&&(El||w!=="onCompositionStart"?w==="onCompositionEnd"&&El&&(M=kh()):(na=s,Ad="value"in na?na.value:na.textContent,El=!0)),T=gu(c,w),0<T.length&&(w=new Ig(w,e,null,n,s),f.push({event:w,listeners:T}),M?w.data=M:(M=zh(n),M!==null&&(w.data=M)))),(M=vA?bA(e,n):AA(e,n))&&(w=gu(c,"onBeforeInput"),0<w.length&&(T=new Ig("onBeforeInput","beforeinput",null,n,s),f.push({event:T,listeners:w}),T.data=M)),dw(f,e,c,n,s)}Oy(f,t)})}function mr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function gu(e,t){for(var n=t+"Capture",a=[];e!==null;){var l=e,i=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||i===null||(l=ir(e,n),l!=null&&a.unshift(mr(e,l,i)),l=ir(e,t),l!=null&&a.push(mr(e,l,i))),e.tag===3)return a;e=e.return}return[]}function gw(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ym(e,t,n,a,l){for(var i=t._reactName,r=[];n!==null&&n!==a;){var o=n,u=o.alternate,c=o.stateNode;if(o=o.tag,u!==null&&u===a)break;o!==5&&o!==26&&o!==27||c===null||(u=c,l?(c=ir(n,i),c!=null&&r.unshift(mr(n,c,u))):l||(c=ir(n,i),c!=null&&r.push(mr(n,c,u)))),n=n.return}r.length!==0&&e.push({event:t,listeners:r})}var mw=/\r\n?/g,hw=/\u0000|\uFFFD/g;function Vm(e){return(typeof e=="string"?e:""+e).replace(mw,``).replace(hw,"")}function Ly(e,t){return t=Vm(t),Vm(e)===t}function ie(e,t,n,a,l,i){switch(n){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||jl(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&jl(e,""+a);break;case"className":po(e,"class",a);break;case"tabIndex":po(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":po(e,n,a);break;case"style":Nh(e,a,i);break;case"data":if(t!=="object"){po(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(n==="formAction"?(t!=="input"&&ie(e,t,"name",l.name,l,null),ie(e,t,"formEncType",l.formEncType,l,null),ie(e,t,"formMethod",l.formMethod,l,null),ie(e,t,"formTarget",l.formTarget,l,null)):(ie(e,t,"encType",l.encType,l,null),ie(e,t,"method",l.method,l,null),ie(e,t,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"onClick":a!=null&&(e.onclick=_n);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}n=Bo(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""+a):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":a===!0?e.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,a):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case"popover":q("beforetoggle",e),q("toggle",e),_o(e,"popover",a);break;case"xlinkActuate":Sn(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Sn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Sn(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Sn(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Sn(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Sn(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":_o(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Vb.get(n)||n,_o(e,n,a))}}function nd(e,t,n,a,l,i){switch(n){case"style":Nh(e,a,i);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"children":typeof a=="string"?jl(e,a):(typeof a=="number"||typeof a=="bigint")&&jl(e,""+a);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"onClick":a!=null&&(e.onclick=_n);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eh.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),t=n.slice(2,l?n.length-7:void 0),i=e[vt]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,l),typeof a=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,l);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,""):_o(e,n,a)}}}function Ke(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":q("error",e),q("load",e);var a=!1,l=!1,i;for(i in n)if(n.hasOwnProperty(i)){var r=n[i];if(r!=null)switch(i){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,i,r,n,null)}}l&&ie(e,t,"srcSet",n.srcSet,n,null),a&&ie(e,t,"src",n.src,n,null);return;case"input":q("invalid",e);var o=i=r=l=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case"name":l=s;break;case"type":r=s;break;case"checked":u=s;break;case"defaultChecked":c=s;break;case"value":i=s;break;case"defaultValue":o=s;break;case"children":case"dangerouslySetInnerHTML":if(s!=null)throw Error(S(137,t));break;default:ie(e,t,a,s,n,null)}}Mh(e,i,o,u,c,r,l,!1);return;case"select":q("invalid",e),a=r=i=null;for(l in n)if(n.hasOwnProperty(l)&&(o=n[l],o!=null))switch(l){case"value":i=o;break;case"defaultValue":r=o;break;case"multiple":a=o;default:ie(e,t,l,o,n,null)}t=i,n=r,e.multiple=!!a,t!=null?Ll(e,!!a,t,!1):n!=null&&Ll(e,!!a,n,!0);return;case"textarea":q("invalid",e),i=l=a=null;for(r in n)if(n.hasOwnProperty(r)&&(o=n[r],o!=null))switch(r){case"value":a=o;break;case"defaultValue":l=o;break;case"children":i=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(S(91));break;default:ie(e,t,r,o,n,null)}Bh(e,a,l,i);return;case"option":for(u in n)if(n.hasOwnProperty(u)&&(a=n[u],a!=null))switch(u){case"selected":e.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:ie(e,t,u,a,n,null)}return;case"dialog":q("beforetoggle",e),q("toggle",e),q("cancel",e),q("close",e);break;case"iframe":case"object":q("load",e);break;case"video":case"audio":for(a=0;a<gr.length;a++)q(gr[a],e);break;case"image":q("error",e),q("load",e);break;case"details":q("toggle",e);break;case"embed":case"source":case"link":q("error",e),q("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(a=n[c],a!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,c,a,n,null)}return;default:if(vd(t)){for(s in n)n.hasOwnProperty(s)&&(a=n[s],a!==void 0&&nd(e,t,s,a,n,void 0));return}}for(o in n)n.hasOwnProperty(o)&&(a=n[o],a!=null&&ie(e,t,o,a,n,null))}function pw(e,t,n,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,i=null,r=null,o=null,u=null,c=null,s=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":u=f;default:a.hasOwnProperty(m)||ie(e,t,m,null,a,f)}}for(var d in a){var m=a[d];if(f=n[d],a.hasOwnProperty(d)&&(m!=null||f!=null))switch(d){case"type":i=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":s=m;break;case"value":r=m;break;case"defaultValue":o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(S(137,t));break;default:m!==f&&ie(e,t,d,m,a,f)}}Ds(e,r,o,u,c,s,i,l);return;case"select":m=r=o=d=null;for(i in n)if(u=n[i],n.hasOwnProperty(i)&&u!=null)switch(i){case"value":break;case"multiple":m=u;default:a.hasOwnProperty(i)||ie(e,t,i,null,a,u)}for(l in a)if(i=a[l],u=n[l],a.hasOwnProperty(l)&&(i!=null||u!=null))switch(l){case"value":d=i;break;case"defaultValue":o=i;break;case"multiple":r=i;default:i!==u&&ie(e,t,l,i,a,u)}t=o,n=r,a=m,d!=null?Ll(e,!!n,d,!1):!!a!=!!n&&(t!=null?Ll(e,!!n,t,!0):Ll(e,!!n,n?[]:"",!1));return;case"textarea":m=d=null;for(o in n)if(l=n[o],n.hasOwnProperty(o)&&l!=null&&!a.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:ie(e,t,o,null,a,l)}for(r in a)if(l=a[r],i=n[r],a.hasOwnProperty(r)&&(l!=null||i!=null))switch(r){case"value":d=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(S(91));break;default:l!==i&&ie(e,t,r,l,a,i)}_h(e,d,m);return;case"option":for(var v in n)if(d=n[v],n.hasOwnProperty(v)&&d!=null&&!a.hasOwnProperty(v))switch(v){case"selected":e.selected=!1;break;default:ie(e,t,v,null,a,d)}for(u in a)if(d=a[u],m=n[u],a.hasOwnProperty(u)&&d!==m&&(d!=null||m!=null))switch(u){case"selected":e.selected=d&&typeof d!="function"&&typeof d!="symbol";break;default:ie(e,t,u,d,a,m)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var A in n)d=n[A],n.hasOwnProperty(A)&&d!=null&&!a.hasOwnProperty(A)&&ie(e,t,A,null,a,d);for(c in a)if(d=a[c],m=n[c],a.hasOwnProperty(c)&&d!==m&&(d!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(S(137,t));break;default:ie(e,t,c,d,a,m)}return;default:if(vd(t)){for(var b in n)d=n[b],n.hasOwnProperty(b)&&d!==void 0&&!a.hasOwnProperty(b)&&nd(e,t,b,void 0,a,d);for(s in a)d=a[s],m=n[s],!a.hasOwnProperty(s)||d===m||d===void 0&&m===void 0||nd(e,t,s,d,a,m);return}}for(var h in n)d=n[h],n.hasOwnProperty(h)&&d!=null&&!a.hasOwnProperty(h)&&ie(e,t,h,null,a,d);for(f in a)d=a[f],m=n[f],!a.hasOwnProperty(f)||d===m||d==null&&m==null||ie(e,t,f,d,a,m)}function Xm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function yw(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],i=l.transferSize,r=l.initiatorType,o=l.duration;if(i&&o&&Xm(r)){for(r=0,o=l.responseEnd,a+=1;a<n.length;a++){var u=n[a],c=u.startTime;if(c>o)break;var s=u.transferSize,f=u.initiatorType;s&&Xm(f)&&(u=u.responseEnd,r+=s*(u<o?1:(o-c)/(u-c)))}if(--a,t+=8*(i+r)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var ad=null,ld=null;function mu(e){return e.nodeType===9?e:e.ownerDocument}function Qm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Hy(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function id(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var hs=null;function vw(){var e=window.event;return e&&e.type==="popstate"?e===hs?!1:(hs=e,!0):(hs=null,!1)}var zy=typeof setTimeout=="function"?setTimeout:void 0,bw=typeof clearTimeout=="function"?clearTimeout:void 0,Km=typeof Promise=="function"?Promise:void 0,Aw=typeof queueMicrotask=="function"?queueMicrotask:typeof Km<"u"?function(e){return Km.resolve(null).then(e).catch(ww)}:zy;function ww(e){setTimeout(function(){throw e})}function Aa(e){return e==="head"}function Zm(e,t){var n=t,a=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"||n==="/&"){if(a===0){e.removeChild(l),Il(t);return}a--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")a++;else if(n==="html")ar(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,ar(n);for(var i=n.firstChild;i;){var r=i.nextSibling,o=i.nodeName;i[Sr]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&i.rel.toLowerCase()==="stylesheet"||n.removeChild(i),i=r}}else n==="body"&&ar(e.ownerDocument.body);n=l}while(n);Il(t)}function Wm(e,t){var n=e;e=0;do{var a=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=a}while(n)}function rd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":rd(n),yd(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Sw(e,t,n,a){for(;e.nodeType===1;){var l=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(a){if(!e[Sr])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Qt(e.nextSibling),e===null)break}return null}function Cw(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qt(e.nextSibling),e===null))return null;return e}function Uy(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qt(e.nextSibling),e===null))return null;return e}function od(e){return e.data==="$?"||e.data==="$~"}function ud(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Rw(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var a=function(){t(),n.removeEventListener("DOMContentLoaded",a)};n.addEventListener("DOMContentLoaded",a),e._reactRetry=a}}function Qt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var cd=null;function Im(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qt(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Jm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Gy(e,t,n){switch(t=mu(n),e){case"html":if(e=t.documentElement,!e)throw Error(S(452));return e;case"head":if(e=t.head,!e)throw Error(S(453));return e;case"body":if(e=t.body,!e)throw Error(S(454));return e;default:throw Error(S(451))}}function ar(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);yd(e)}var Kt=new Map,$m=new Set;function hu(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Pn=$.d;$.d={f:Tw,r:Ew,D:Dw,C:xw,L:Mw,m:_w,X:Nw,S:Bw,M:Ow};function Tw(){var e=Pn.f(),t=Nu();return e||t}function Ew(e){var t=$l(e);t!==null&&t.tag===5&&t.type==="form"?Np(t):Pn.r(e)}var ai=typeof document>"u"?null:document;function Py(e,t,n){var a=ai;if(a&&typeof t=="string"&&t){var l=jt(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),$m.has(l)||($m.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function Dw(e){Pn.D(e),Py("dns-prefetch",e,null)}function xw(e,t){Pn.C(e,t),Py("preconnect",e,t)}function Mw(e,t,n){Pn.L(e,t,n);var a=ai;if(a&&e&&t){var l='link[rel="preload"][as="'+jt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+jt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+jt(n.imageSizes)+'"]')):l+='[href="'+jt(e)+'"]';var i=l;switch(t){case"style":i=Wl(e);break;case"script":i=li(e)}Kt.has(i)||(e=ve({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Kt.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(xr(i))||t==="script"&&a.querySelector(Mr(i))||(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function _w(e,t){Pn.m(e,t);var n=ai;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+jt(a)+'"][href="'+jt(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=li(e)}if(!Kt.has(i)&&(e=ve({rel:"modulepreload",href:e},t),Kt.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Mr(i)))return}a=n.createElement("link"),Ke(a,"link",e),qe(a),n.head.appendChild(a)}}}function Bw(e,t,n){Pn.S(e,t,n);var a=ai;if(a&&e){var l=kl(a).hoistableStyles,i=Wl(e);t=t||"default";var r=l.get(i);if(!r){var o={loading:0,preload:null};if(r=a.querySelector(xr(i)))o.loading=5;else{e=ve({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Kt.get(i))&&nf(e,n);var u=r=a.createElement("link");qe(u),Ke(u,"link",e),u._p=new Promise(function(c,s){u.onload=c,u.onerror=s}),u.addEventListener("load",function(){o.loading|=1}),u.addEventListener("error",function(){o.loading|=2}),o.loading|=4,qo(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:o},l.set(i,r)}}}function Nw(e,t){Pn.X(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ow(e,t){Pn.M(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0,type:"module"},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function eh(e,t,n,a){var l=(l=ra.current)?hu(l):null;if(!l)throw Error(S(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Wl(n.href),n=kl(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Wl(n.href);var i=kl(l).hoistableStyles,r=i.get(e);if(r||(l=l.ownerDocument||l,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=l.querySelector(xr(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Kt.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Kt.set(e,n),i||kw(l,e,n,r.state))),t&&a===null)throw Error(S(528,""));return r}if(t&&a!==null)throw Error(S(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=li(n),n=kl(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(S(444,e))}}function Wl(e){return'href="'+jt(e)+'"'}function xr(e){return'link[rel="stylesheet"]['+e+"]"}function qy(e){return ve({},e,{"data-precedence":e.precedence,precedence:null})}function kw(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Ke(t,"link",n),qe(t),e.head.appendChild(t))}function li(e){return'[src="'+jt(e)+'"]'}function Mr(e){return"script[async]"+e}function th(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+jt(n.href)+'"]');if(a)return t.instance=a,qe(a),a;var l=ve({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),qe(a),Ke(a,"style",l),qo(a,n.precedence,e),t.instance=a;case"stylesheet":l=Wl(n.href);var i=e.querySelector(xr(l));if(i)return t.state.loading|=4,t.instance=i,qe(i),i;a=qy(n),(l=Kt.get(l))&&nf(a,l),i=(e.ownerDocument||e).createElement("link"),qe(i);var r=i;return r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),t.state.loading|=4,qo(i,n.precedence,e),t.instance=i;case"script":return i=li(n.src),(l=e.querySelector(Mr(i)))?(t.instance=l,qe(l),l):(a=n,(l=Kt.get(i))&&(a=ve({},n),af(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),qe(l),Ke(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(S(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,qo(a,n.precedence,e));return t.instance}function qo(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,r=0;r<a.length;r++){var o=a[r];if(o.dataset.precedence===t)i=o;else if(i!==l)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function nf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function af(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Fo=null;function nh(e,t,n){if(Fo===null){var a=new Map,l=Fo=new Map;l.set(n,a)}else l=Fo,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),l=0;l<n.length;l++){var i=n[l];if(!(i[Sr]||i[Ve]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var r=i.getAttribute(t)||"";r=e+r;var o=a.get(r);o?o.push(i):a.set(r,[i])}}return a}function ah(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function Lw(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Fy(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Hw(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Wl(a.href),i=t.querySelector(xr(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=pu.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,qe(i);return}i=t.ownerDocument||t,a=qy(a),(l=Kt.get(l))&&nf(a,l),i=i.createElement("link"),qe(i);var r=i;r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=pu.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ps=0;function zw(e,t){return e.stylesheets&&e.count===0&&jo(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&ps===0&&(ps=62500*yw());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>ps?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function pu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jo(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var yu=null;function jo(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,yu=new Map,t.forEach(Uw,e),yu=null,pu.call(e))}function Uw(e,t){if(!(t.state.loading&4)){var n=yu.get(e);if(n)var a=n.get(null);else{n=new Map,yu.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<l.length;i++){var r=l[i];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(n.set(r.dataset.precedence,r),a=r)}a&&n.set(null,a)}l=t.instance,r=l.getAttribute("data-precedence"),i=n.get(r)||a,i===a&&n.set(null,l),n.set(r,l),this.count++,a=pu.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),i?i.parentNode.insertBefore(l,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var hr={$$typeof:Mn,Provider:null,Consumer:null,_currentValue:za,_currentValue2:za,_threadCount:0};function Gw(e,t,n,a,l,i,r,o,u){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Fc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fc(0),this.hiddenUpdates=Fc(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=i,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=u,this.incompleteTransitions=new Map}function jy(e,t,n,a,l,i,r,o,u,c,s,f){return e=new Gw(e,t,n,r,u,c,s,f,o),t=1,i===!0&&(t|=24),i=Tt(3,null,null,t),e.current=i,i.stateNode=e,t=Md(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:a,isDehydrated:n,cache:t},Nd(i),e}function Yy(e){return e?(e=_l,e):_l}function Vy(e,t,n,a,l,i){l=Yy(l),a.context===null?a.context=l:a.pendingContext=l,a=ua(t),a.payload={element:n},i=i===void 0?null:i,i!==null&&(a.callback=i),n=ca(e,a,t),n!==null&&(yt(n,e,t),Zi(n,e,t))}function lh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lf(e,t){lh(e,t),(e=e.alternate)&&lh(e,t)}function Xy(e){if(e.tag===13||e.tag===31){var t=Wa(e,67108864);t!==null&&yt(t,e,67108864),lf(e,67108864)}}function ih(e){if(e.tag===13||e.tag===31){var t=_t();t=hd(t);var n=Wa(e,t);n!==null&&yt(n,e,t),lf(e,t)}}var vu=!0;function Pw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=2,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function qw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=8,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function rf(e,t,n,a){if(vu){var l=sd(a);if(l===null)ms(e,t,a,bu,n),rh(e,a);else if(jw(l,e,t,n,a))a.stopPropagation();else if(rh(e,a),t&4&&-1<Fw.indexOf(e)){for(;l!==null;){var i=$l(l);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var r=ka(i.pendingLanes);if(r!==0){var o=i;for(o.pendingLanes|=2,o.entangledLanes|=2;r;){var u=1<<31-Mt(r);o.entanglements[1]|=u,r&=~u}hn(i),(J&6)===0&&(uu=Dt()+500,Dr(0,!1))}}break;case 31:case 13:o=Wa(i,2),o!==null&&yt(o,i,2),Nu(),lf(i,2)}if(i=sd(a),i===null&&ms(e,t,a,bu,n),i===l)break;l=i}l!==null&&a.stopPropagation()}else ms(e,t,a,null,n)}}function sd(e){return e=bd(e),of(e)}var bu=null;function of(e){if(bu=null,e=Rl(e),e!==null){var t=vr(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=fh(t),e!==null)return e;e=null}else if(n===31){if(e=gh(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return bu=e,null}function Qy(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Mb()){case yh:return 2;case vh:return 8;case Ko:case _b:return 32;case bh:return 268435456;default:return 32}default:return 32}}var dd=!1,fa=null,ga=null,ma=null,pr=new Map,yr=new Map,ea=[],Fw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function rh(e,t){switch(e){case"focusin":case"focusout":fa=null;break;case"dragenter":case"dragleave":ga=null;break;case"mouseover":case"mouseout":ma=null;break;case"pointerover":case"pointerout":pr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yr.delete(t.pointerId)}}function Ui(e,t,n,a,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[l]},t!==null&&(t=$l(t),t!==null&&Xy(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function jw(e,t,n,a,l){switch(t){case"focusin":return fa=Ui(fa,e,t,n,a,l),!0;case"dragenter":return ga=Ui(ga,e,t,n,a,l),!0;case"mouseover":return ma=Ui(ma,e,t,n,a,l),!0;case"pointerover":var i=l.pointerId;return pr.set(i,Ui(pr.get(i)||null,e,t,n,a,l)),!0;case"gotpointercapture":return i=l.pointerId,yr.set(i,Ui(yr.get(i)||null,e,t,n,a,l)),!0}return!1}function Ky(e){var t=Rl(e.target);if(t!==null){var n=vr(t);if(n!==null){if(t=n.tag,t===13){if(t=fh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===31){if(t=gh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Yo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=sd(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Ms=a,n.target.dispatchEvent(a),Ms=null}else return t=$l(n),t!==null&&Xy(t),e.blockedOn=n,!1;t.shift()}return!0}function oh(e,t,n){Yo(e)&&n.delete(t)}function Yw(){dd=!1,fa!==null&&Yo(fa)&&(fa=null),ga!==null&&Yo(ga)&&(ga=null),ma!==null&&Yo(ma)&&(ma=null),pr.forEach(oh),yr.forEach(oh)}function xo(e,t){e.blockedOn===t&&(e.blockedOn=null,dd||(dd=!0,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,Yw)))}var Mo=null;function uh(e){Mo!==e&&(Mo=e,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,function(){Mo===e&&(Mo=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],l=e[t+2];if(typeof a!="function"){if(of(a||n)===null)continue;break}var i=$l(n);i!==null&&(e.splice(t,3),t-=3,Vs(i,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function Il(e){function t(u){return xo(u,e)}fa!==null&&xo(fa,e),ga!==null&&xo(ga,e),ma!==null&&xo(ma,e),pr.forEach(t),yr.forEach(t);for(var n=0;n<ea.length;n++){var a=ea[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<ea.length&&(n=ea[0],n.blockedOn===null);)Ky(n),n.blockedOn===null&&ea.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],i=n[a+1],r=l[vt]||null;if(typeof i=="function")r||uh(n);else if(r){var o=null;if(i&&i.hasAttribute("formAction")){if(l=i,r=i[vt]||null)o=r.formAction;else if(of(l)!==null)continue}else o=r.action;typeof o=="function"?n[a+1]=o:(n.splice(a,3),a-=3),uh(n)}}}function Zy(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(r){return l=r})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function uf(e){this._internalRoot=e}Lu.prototype.render=uf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(S(409));var n=t.current,a=_t();Vy(n,a,e,t,null,null)};Lu.prototype.unmount=uf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Vy(e.current,2,null,e,null,null),Nu(),t[Jl]=null}};function Lu(e){this._internalRoot=e}Lu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rh();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ea.length&&t!==0&&t<ea[n].priority;n++);ea.splice(n,0,e),n===0&&Ky(e)}};var ch=sh.version;if(ch!=="19.2.8")throw Error(S(527,ch,"19.2.8"));$.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(S(188)):(e=Object.keys(e).join(","),Error(S(268,e)));return e=Sb(t),e=e!==null?mh(e):null,e=e===null?null:e.stateNode,e};var Vw={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Gi=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Gi.isDisabled&&Gi.supportsFiber))try{br=Gi.inject(Vw),xt=Gi}catch{}var Gi;Hu.createRoot=function(e,t){if(!dh(e))throw Error(S(299));var n=!1,a="",l=Pp,i=qp,r=Fp;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=jy(e,1,!1,null,null,n,a,null,l,i,r,Zy),e[Jl]=t.current,tf(e),new uf(t)};Hu.hydrateRoot=function(e,t,n){if(!dh(e))throw Error(S(299));var a=!1,l="",i=Pp,r=qp,o=Fp,u=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(i=n.onUncaughtError),n.onCaughtError!==void 0&&(r=n.onCaughtError),n.onRecoverableError!==void 0&&(o=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=jy(e,1,!0,t,n??null,a,l,u,i,r,o,Zy),t.context=Yy(null),n=t.current,a=_t(),a=hd(a),l=ua(a),l.callback=null,ca(n,l,a),n=a,t.current.lanes=n,wr(t,n),hn(t),e[Jl]=t.current,tf(e),new Lu(t)};Hu.version="19.2.8"});var $y=un((jS,Jy)=>{"use strict";function Iy(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Iy)}catch(e){console.error(e)}}Iy(),Jy.exports=Wy()});var t0=un(zu=>{"use strict";var Xw=Symbol.for("react.transitional.element"),Qw=Symbol.for("react.fragment");function e0(e,t,n){var a=null;if(n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),"key"in t){n={};for(var l in t)l!=="key"&&(n[l]=t[l])}else n=t;return t=n.ref,{$$typeof:Xw,type:e,key:a,ref:t!==void 0?t:null,props:n}}zu.Fragment=Qw;zu.jsx=e0;zu.jsxs=e0});var O=un((VS,n0)=>{"use strict";n0.exports=t0()});var Lt=B(ft(),1),s1=B($y(),1);var Wv=B(ft(),1);var qn=B(O(),1);function Kw(e){return{under50:"Under $50",over50:"Over $50",over30:"Over $30",over500:"Over $500","50_100":"$50 - $100","100_200":"$100 - $200","200_500":"$200 - $500"}[e]||e}function a0({activeDealTag:e,activeFreeformTags:t,airedaleTags:n,freeformTags:a,discountAmount:l,onBrandSelect:i,onBrandToggle:r,onDiscountAmountChange:o,onPriceRangeChange:u,onTagClear:c,onFreeformTagClear:s,onFreeformTagToggle:f,priceRange:d,selectedBrands:m}){let v=m.map(b=>({type:"brand",value:b,label:b}));if(e){let b=n.find(h=>h.startsWith(e+":::")||h===e);v.push({type:"category",value:e,label:b?b.split(":::")[1]||b.split(":::")[0]:e})}if(t.forEach(b=>{let h=a.find(g=>g.handle===b);v.push({type:"freeform-tag",value:b,label:h?.label||b})}),d&&d!=="all"&&v.push({type:"price",value:d,label:Kw(d)}),l&&l!=="0"&&l!=="all"&&v.push({type:"discount",value:l,label:`Min ${l}% off`}),v.length===0)return null;let A=b=>{b.type==="brand"&&r?.(b.value),b.type==="category"&&c(),b.type==="freeform-tag"&&f(b.value),b.type==="discount"&&o?.("0"),b.type==="price"&&u?.("all")};return(0,qn.jsxs)("div",{className:"tg-df-active-badges-row",style:{display:"flex",flexWrap:"wrap",gap:"4px",alignItems:"center",marginTop:"10px",marginBottom:"16px"},children:[v.map(b=>(0,qn.jsxs)("span",{className:"tg-df-active-badge",children:[b.label,(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-remove","aria-label":`Remove ${b.label}`,onClick:()=>A(b),children:(0,qn.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,qn.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,qn.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},b.type+"-"+b.value)),v.length>1&&(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-clear-all",onClick:()=>{i?.([]),c(),s(),o?.("0"),u?.("all")},children:"Clear all"})]})}function l0(e){if(!e)return null;let t=e.documentname||e.title||"";!t&&e.documentnametext&&(t=Array.isArray(e.documentnametext)?e.documentnametext[0]:e.documentnametext),!t&&e.articlename&&(t=Array.isArray(e.articlename)?e.articlename[0]:e.articlename),!t&&e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&(t=e.articlesocialtitle[0]);let n=e.strapline||e.articlestrapline||e.subtitle||e.dek||"";!n&&e.image_thumbnail&&e.image_thumbnail.dek&&(n=e.image_thumbnail.dek),Array.isArray(n)&&(n=n[0]||"");let a="";if(e.articlepage)try{let l=e.articlepage;if(typeof l=="string")try{l=JSON.parse(l)}catch{}if(Array.isArray(l)&&l.length>0){let i=l[0];if(typeof i=="string")try{i=JSON.parse(i)}catch{}if(Array.isArray(i)){let r=[];for(let o of i){if(o.type==="featured-product")break;if(o.type==="text"&&o.data)Array.isArray(o.data.paragraphs)?o.data.paragraphs.forEach(u=>{u&&r.push(u.startsWith("<")?u:`<p>${u}<\/p>`)}):typeof o.data.text=="string"&&o.data.text&&r.push(o.data.text.startsWith("<")?o.data.text:`<p>${o.data.text}<\/p>`);else if(o.type==="section"&&o.data){let u=o.data.text||o.data.heading||o.data.title||"";u&&r.push(`<div class="tg-df-article-section-banner"><span>${u}<\/span><\/div>`)}}r.length>0&&(a=r.join(""))}}}catch(l){console.error("Error parsing articlepage",l)}return!a&&e.content?a=typeof e.content=="string"?e.content:"":!a&&e.intro?a=typeof e.intro=="string"?e.intro:"":!a&&e.paragraphs&&(a=(Array.isArray(e.paragraphs)?e.paragraphs:[e.paragraphs]).map(i=>`<p>${i}<\/p>`).join("")),{headline:t,strapline:n,contentHtml:a}}var ii=B(O(),1);function i0({articles:e,selectedArticleId:t}){if(!t)return null;let n=e.find(l=>l.id===t);if(!n)return null;let a=l0(n);return!a||!a.headline&&!a.strapline&&!a.contentHtml?null:(0,ii.jsxs)("div",{className:"tg-df-article-intro-container",id:"tg-df-article-intro",style:{margin:"0 auto 32px",width:"100%",maxWidth:"800px",textAlign:"left",padding:"0 16px"},children:[a.headline&&(0,ii.jsx)("h2",{className:"tg-df-article-headline",id:"tg-df-article-headline",style:{fontSize:"1.75rem",fontWeight:800,color:"#0f172a",marginBottom:"1rem",lineHeight:1.25},children:a.headline}),a.strapline&&(0,ii.jsx)("p",{className:"tg-df-article-strapline",id:"tg-df-article-strapline",style:{fontSize:"1.125rem",fontWeight:600,color:"#334155",marginBottom:"1.25rem",lineHeight:1.4},children:a.strapline}),a.contentHtml&&(0,ii.jsx)("div",{className:"tg-df-article-content",id:"tg-df-article-content",dangerouslySetInnerHTML:{__html:a.contentHtml}})]})}var Fn=B(O(),1);function Zw({articles:e,authorHandle:t,authorName:n}){let a=n||e.length>0&&(e[0].articleauthortext?.[0]||e[0].articleauthor?.[0])||"Author";(t==="all-authors"||n==="all-authors"||n==="All authors")&&(a="All authors");let l=a.trim().split(" ")[0]||"Author";return a==="All authors"&&(l="All authors"),`Shop all ${l==="All authors"?"authors'":l.endsWith("'s")||l.endsWith("\u2019s")?l:`${l}'s`} collections`}function Ww(e){let t=[];return e.documentnametext&&t.push(e.documentnametext),e.documentname&&t.push(e.documentname),e.articlename&&t.push(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&t.push(...e.articlesocialtitle),t.length>0?t.reduce((n,a)=>a&&a.length<n.length?a:n,t[0]):"Article"}function r0({articles:e,authorHandle:t,authorName:n,onChange:a,selectedArticleId:l,shortenedHeadlines:i}){return(0,Fn.jsx)("div",{className:"tg-df-top-bar",id:"tg-df-top-bar",style:{position:"relative",zIndex:100,margin:"0 auto 20px",width:"100%",display:"flex",justifyContent:"center"},children:(0,Fn.jsxs)("div",{className:"tg-df-sort-wrapper",style:{width:"auto",maxWidth:"320px",display:"inline-flex",position:"relative"},children:[(0,Fn.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",width:"14px",height:"14px",color:"var(--tg-df-text-muted)",pointerEvents:"none",zIndex:2},children:(0,Fn.jsx)("path",{d:"M12 2l-10 4.5 10 4.5 10-4.5-10-4.5zm0 6.5l-8-3.6 8-3.6 8 3.6-8 3.6zm-10 6l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5zm0 5l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5z"})}),(0,Fn.jsxs)("select",{className:"tg-df-filter-select tg-df-article-select",style:{width:"100%",maxWidth:"320px",padding:"10px 36px 10px 38px",fontSize:"14px",fontWeight:500,borderRadius:"100px",border:"1px solid var(--tg-df-border)",color:"var(--tg-df-text)",backgroundColor:"var(--tg-df-bg-secondary)",appearance:"none",backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E")`,backgroundRepeat:"no-repeat",backgroundPosition:"right 14px center",textAlign:"left",textAlignLast:"left",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",cursor:"pointer"},value:l||"",onChange:r=>a(r.target.value),children:[(0,Fn.jsx)("option",{value:"",style:{textAlign:"left"},children:Zw({articles:e,authorHandle:t,authorName:n})}),e.map(r=>{let o=i?.[r.id]||Ww(r);return o&&o.length>38&&(o=o.substring(0,36)+"\u2026"),(0,Fn.jsx)("option",{value:r.id,style:{textAlign:"left"},children:o},r.id)})]})]})})}var A0=B(ft(),1);function o0(e,t=new Date){if(!e)return"";let n=new Date(e),a=Math.floor((t.getTime()-n.getTime())/1e3);if(a<60)return"Just now";let l=Math.floor(a/60);if(l<60)return`${l} min${l>1?"s":""} ago`;let i=Math.floor(l/60);if(i<24)return`${i} hr${i>1?"s":""} ago`;let r=Math.floor(i/24);if(r<30)return`${r} day${r>1?"s":""} ago`;let o=Math.floor(r/30);if(o<12)return`${o} mo${o>1?"s":""} ago`;let u=Math.floor(r/365);return`${u} yr${u>1?"s":""} ago`}function Iw(e){return e.replace(/<\/p\s*>/gi," ").replace(/<p[^>]*>/gi," ").replace(/<br\s*\/?>/gi," ").replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim()}function _r(e,t,n){let a="";return n==="short"?a=e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"":a=e.articleauthorlongbio&&e.articleauthorlongbio[t]&&e.articleauthorlongbio[t]!=="null"?e.articleauthorlongbio[t]:e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"",a?Iw(a):""}function u0(e,t){return e.articleauthorrole&&e.articleauthorrole[t]&&e.articleauthorrole[t]!=="null"?e.articleauthorrole[t]:""}function c0(e,t){return e.articleauthormedia&&e.articleauthormedia[t]?e.articleauthormedia[t]:""}function ri(e){if(typeof e!="string"||!e.trim())return"";try{let t=new URL(e);if(t.hostname.toLowerCase()!=="cdn.mos.cms.futurecdn.net")return e;let n=/\.(?:jpe?g|png|webp)$/i;return!n.test(t.pathname)||/-\d+-\d+\.(?:jpe?g|png|webp)$/i.test(t.pathname)?e:(t.pathname=t.pathname.replace(n,"-480-80$&"),t.toString())}catch{return e}}function Uu(e,t=0){if(!e||!e.articleauthorsocialnetworks)return[];let n=e.articleauthorsocialnetworks[t];if(n||(n=e.articleauthorsocialnetworks[0]),!n)return[];let a=null;if(typeof n=="string")try{a=JSON.parse(n)}catch{try{a=JSON.parse(n.replace(/\\"/g,'"'))}catch{}}else typeof n=="object"&&n!==null&&(a=n);if(!a||typeof a!="object")return[];let l=[];for(let[i,r]of Object.entries(a)){if(!r)continue;let o="",u="";if(typeof r=="string"?o=r:typeof r=="object"&&r!==null&&(o=r.url||r.address||r.link||"",u=r.address||""),!o&&!u)continue;let c=i.toLowerCase().trim(),s=o||u;c==="email"?s.startsWith("mailto:")||(s=s.includes("@")?`mailto:${s}`:`mailto:${s}`):!s.startsWith("http://")&&!s.startsWith("https://")&&!s.startsWith("//")&&(s=`https://${s}`);let f=c.charAt(0).toUpperCase()+c.slice(1);c==="linkedin"?f="LinkedIn":c==="youtube"?f="YouTube":c==="tiktok"?f="TikTok":c==="twitch"?f="Twitch":c==="steam"?f="Steam":c==="github"?f="GitHub":c==="rss"?f="RSS":(c==="x"||c==="twitter")&&(f="X (Twitter)"),l.push({key:c,href:s,label:f})}return l}function ee(e){if(!e)return"";let t=String(e);for(let n=0;n<3;n+=1){let a=t.replace(/&/gi,"&").replace(/£/g,"\xA3").replace(/£/gi,"\xA3").replace(/$/g,"$").replace(/&dollar;/gi,"$").replace(/€/g,"\u20AC").replace(/€/gi,"\u20AC").replace(/&#(\d+);/g,(l,i)=>String.fromCharCode(Number(i))).replace(/&#x([0-9a-f]+);/gi,(l,i)=>String.fromCharCode(parseInt(i,16)));if(a===t)break;t=a}return t}var Ee=B(O(),1);function cf({authorUrl:e,deal:t}){if(!t.authorName)return null;let n=ee(String(t.authorName)),a=t.authorRole&&!["null","nul","undefined"].includes(String(t.authorRole).toLowerCase())?` \u2022 ${ee(String(t.authorRole))}`:"";return(0,Ee.jsx)("div",{className:"tg-df-author-line-desktop",style:{padding:"0 0 12px 0"},children:(0,Ee.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[t.authorImage&&(0,Ee.jsx)("img",{src:ri(t.authorImage),alt:n,className:"tg-df-author-img",width:"36",height:"36",style:{borderRadius:"50%",objectFit:"cover",flexShrink:0,aspectRatio:"1 / 1",minWidth:"36px",minHeight:"36px"}}),(0,Ee.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,Ee.jsx)("div",{style:{fontSize:"10px",color:"var(--tg-df-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px",fontWeight:600},children:t.isReviewProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Product tested by:"}):t.isBuyingGuideProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Expert review by:"}):t.isFeatured?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:"Top product"})," ","recommended by:"]}):(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:t.merchant})," ","deal recommended by:"]})}),(0,Ee.jsxs)("div",{style:{fontSize:"11px",color:"var(--tg-df-text)",lineHeight:1.2},children:[(0,Ee.jsx)("strong",{children:(0,Ee.jsx)("a",{href:e,target:"_blank",rel:"noopener",style:{textDecoration:"none",color:"inherit",borderBottom:"1px dotted var(--tg-df-text-muted)"},children:n})}),a,t.modifiedDate?(0,Ee.jsxs)("span",{style:{color:"var(--tg-df-text-muted)"},children:[" ","\u2022 ",o0(t.modifiedDate)]}):""]})]})]})})}var K=B(O(),1);function s0({authorUrl:e,deal:t,hideHawkPrices:n,msrpFormatted:a,sourceArticleUrl:l}){let i=ee(String(t.merchant||"")),r=ee(String(t.currency||""));if(t.isBuyingGuideProduct||t.isReviewProduct){let o=!!t.hasCommerceOffer,u=o&&!t.isCheckPrice,c=!!t.hawkPricePending,s=!!t.isReviewProduct&&!c&&!o,f=n&&o&&Array.isArray(t.hawkListings)?t.hawkListings.filter(m=>m?.merchant&&m?.url).slice(0,4):[],d=f.length>0;return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[c?(0,K.jsx)("div",{className:"tg-df-card-price-group","aria-live":"polite",children:(0,K.jsx)("span",{className:"tg-df-card-price",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"Checking live price\u2026"})}):d?(0,K.jsxs)("div",{className:"tg-df-card-listings",children:[(0,K.jsx)("span",{className:"tg-df-card-listings-title",children:"Today's cheapest prices:"}),(0,K.jsx)("div",{className:"tg-df-card-listings-links",children:f.map((m,v)=>{let A=ee(String(m.merchant));return(0,K.jsx)("a",{"aria-label":`View product at ${A}`,className:"tg-df-card-listing-link hawk-affiliate-link-container","data-fcaw-affiliate-link":"","data-merchant":A,"data-merchant-id":m.merchantId||void 0,"data-model-id":m.modelId||void 0,"data-product-key":m.productKey||void 0,href:m.url,rel:"sponsored nofollow noopener",target:"_blank",children:A},`${m.merchant}-${m.url}-${v}`)})})]}):u?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsxs)("div",{className:"tg-df-card-price-group",children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})]}):s?(0,K.jsx)("div",{className:"tg-df-card-price-group",children:(0,K.jsx)("span",{className:"tg-df-card-price tg-df-card-price--unavailable",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"No retail listing found"})}):null,(0,K.jsx)(cf,{authorUrl:e,deal:t}),!d&&(0,K.jsx)("a",{href:o?t.url:l,"data-fcaw-affiliate-link":o?"":void 0,target:"_blank",rel:o?"sponsored nofollow noopener":"noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},children:o?u?"VIEW DEAL":"CHECK PRICE":"READ REVIEW"})]})}return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[!(t.authorName&&!t.isFeatured)&&(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsx)("div",{className:"tg-df-card-price-group",children:t.isCheckPrice?(0,K.jsx)("span",{className:"tg-df-card-price",style:{fontSize:"15px",fontWeight:500,fontStyle:"italic"},children:"See price at retailer"}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})}),(0,K.jsx)(cf,{authorUrl:e,deal:t}),(0,K.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":"",target:"_blank",rel:"sponsored nofollow noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},"data-model-id":t.modelId||void 0,"data-product-key":t.productKey||void 0,"data-merchant-id":t.merchantId||void 0,children:t.isCheckPrice?"CHECK PRICE":t.isFeatured?"SHOP NOW":"VIEW DEAL"})]})}var Ze=B(O(),1);function d0({couponStatus:e,deal:t,onOpenVouchers:n}){let a=!!t.hasCommerceOffer;return(0,Ze.jsxs)("div",{className:"tg-df-card-image-box",children:[t.buyingGuideBadge?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge tg-df-buying-guide-badge",children:t.buyingGuideBadge}):t.savingLabel&&!t.isCheckPrice?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge",children:ee(t.savingLabel)}):null,(0,Ze.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":a?"":void 0,className:a?"hawk-affiliate-link-deal-widget":void 0,target:"_blank",rel:a?"sponsored nofollow noopener":"noopener",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",height:"100%"},children:(0,Ze.jsx)("img",{src:t.image||void 0,alt:ee(String(t.title||"")),className:"tg-df-card-image",loading:"lazy",onError:l=>{t.fallbackImage&&!l.currentTarget.dataset.fb?(l.currentTarget.dataset.fb="1",l.currentTarget.src=t.fallbackImage):l.currentTarget.style.opacity="0"}})}),(0,Ze.jsxs)("div",{className:"tg-df-card-badges",children:[t.isPrime&&(0,Ze.jsxs)("span",{className:"tg-df-tag tg-df-tag-prime",children:[(0,Ze.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ze.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})," ","Prime"]}),!t.merchant?.toLowerCase().includes("amazon")&&(e==="loading"||e==="has")&&(0,Ze.jsx)("div",{className:"tg-df-coupon-wrapper",style:{display:"inline-flex",alignItems:"center"},children:e==="loading"?(0,Ze.jsx)("div",{className:"tg-df-coupon-spinner"}):(0,Ze.jsxs)("button",{type:"button",className:"tg-df-tag tg-df-tag-coupons",onClick:l=>{l.preventDefault(),n(t.merchant)},children:[(0,Ze.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,Ze.jsx)("path",{d:"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"}),(0,Ze.jsx)("line",{x1:"7",y1:"7",x2:"7.01",y2:"7"})]})," ","Coupons"]})})]})]})}var ct=B(O(),1);function f0({label:e="Tom's Guide:",starRating:t,color:n="#1f69ff"}){if(!t||t<=0)return null;let a=Math.floor(t),l=t-a>=.5?1:0,i=Math.max(0,5-a-l),r=[];for(let o=0;o<a;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:n,stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`f${o}`));l&&r.push((0,ct.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"url(#halfGrad)",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,ct.jsx)("defs",{children:(0,ct.jsxs)("linearGradient",{id:"halfGrad",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,ct.jsx)("stop",{offset:"50%",stopColor:n}),(0,ct.jsx)("stop",{offset:"50%",stopColor:"transparent"})]})}),(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})]},"h"));for(let o=0;o<i;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:n,opacity:"0.35",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`e${o}`));return(0,ct.jsxs)("div",{className:"tg-df-card-stars",style:{display:"flex",alignItems:"center",marginBottom:"8px",fontSize:"13px",fontWeight:600,color:"var(--tg-df-text-muted)"},children:[e&&(0,ct.jsx)("span",{style:{marginRight:"6px"},children:e}),(0,ct.jsx)("div",{style:{display:"flex",gap:"2px"},children:r})]})}var At=B(O(),1);function g0({heading:e,items:t}){return t.length===0?null:(0,At.jsxs)("div",{style:{marginBottom:"10px"},children:[(0,At.jsx)("strong",{style:{display:"block",fontSize:"12px",marginBottom:"3px"},children:e}),(0,At.jsx)("ul",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:0,paddingLeft:"18px"},children:t.map(n=>{let a=ee(String(n));return(0,At.jsx)("li",{children:a},n)})})]})}function m0({cons:e=[],expanded:t,fullReviewUrl:n,onToggle:a,pros:l=[],subtitle:i="",truncateSubtitle:r=!1}){let o=l.length>0||e.length>0,u=ee(i);return!u&&!o?null:(0,At.jsxs)("div",{style:{marginBottom:"12px"},children:[u&&(0,At.jsx)("p",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:"0 0 8px",display:!t&&r?"-webkit-box":"block",WebkitLineClamp:!t&&r?3:void 0,WebkitBoxOrient:!t&&r?"vertical":void 0,overflow:!t&&r?"hidden":void 0},children:u}),t&&o&&(0,At.jsxs)("div",{children:[(0,At.jsx)(g0,{heading:"Pros",items:l}),(0,At.jsx)(g0,{heading:"Cons",items:e})]}),(o||r)&&(0,At.jsxs)("div",{className:"tg-df-review-summary-actions",style:{alignItems:"flex-start",display:"flex",flexDirection:"column",gap:t&&n?"4px":0},children:[t&&n&&(0,At.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"tg-df-review-full-link",style:{alignItems:"center",color:"var(--tg-df-blue)",display:"flex",fontSize:"12px",fontWeight:700,minHeight:"40px",paddingRight:"12px",textDecoration:"underline"},children:"Read our full review"}),(0,At.jsx)("button",{type:"button",onClick:c=>{c.preventDefault(),c.stopPropagation(),a()},className:"tg-df-review-summary-toggle",style:{appearance:"none",background:"transparent",border:"none",color:"#000000",cursor:"pointer",fontFamily:"inherit",fontSize:"11px",fontWeight:700,minHeight:"40px",padding:"0 12px 0 0",textTransform:"uppercase"},children:t?"LESS":"READ MORE"})]})]})}var oi=B(ft(),1);var Br=B(O(),1);function h0({text:e,expanded:t,onToggle:n}){let[a,l]=(0,oi.useState)(!1),i=(0,oi.useRef)(null),r=ee(e);return(0,oi.useEffect)(()=>{i.current&&l(i.current.scrollHeight>i.current.clientHeight||i.current.scrollHeight>60)},[r]),r?(0,Br.jsxs)("div",{style:{marginBottom:"12px",position:"relative"},children:[(0,Br.jsx)("p",{ref:i,style:{fontSize:"13px",color:"var(--tg-df-text-muted)",marginBottom:"0",lineHeight:"1.4",display:t?"inline":"-webkit-box",WebkitLineClamp:t?"unset":3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r}),a&&(0,Br.jsx)("button",{type:"button",onClick:o=>{o.preventDefault(),o.stopPropagation(),n()},style:{display:"block",appearance:"none",border:"none",color:"#000000",fontSize:"11px",fontWeight:700,textTransform:"uppercase",cursor:"pointer",fontFamily:"inherit",position:t?"static":"absolute",bottom:"2px",right:0,background:t?"transparent":"linear-gradient(to right, transparent, #fff 20%, #fff)",padding:t?"0":"0 0 0 16px"},children:t?"LESS":"READ MORE"})]}):null}var p0={pcgamer:"#DC191B",space:"#2E4A7F",tomsguide:"#1F69FF",techradar:"#E40784",golfmonthly:"#FFFFFF",androidcentral:"#1CCC3E",cinemablend:"#FFC033",creativebloq:"#DC361A",cyclingnews:"#371B51",cyclingweekly:"#AE1305",decanter:"#1B1B1B",digitalcameraworld:"#CAEBF2",fitandwell:"#BED100",fourfourtwo:"#AE1006",gamesradar:"#DC361A",guitarplayer:"#FFFFFF",guitarworld:"#DC1F26",homesandgardens:"#185A7D",idealhome:"#CAEBF2",imore:"#FFD600",livescience:"#023953",livingetc:"#FFFFFF",loudersound:"#DC0F17",marieclaireus:"#FFFFFF",marieclaireuk:"#FFFFFF",musicradar:"#006EA9",shortlist:"#2853E0",t3:"#DF0A14",theweek:"#DF0A14",theweekjuniorus:"#10A0B0",tomshardware:"#D8373B",wallpaper:"#FFFFFF",whathifi:"#E02928",whowhatwear:"#FFFFFF",windowscentral:"#CE0E5F",womanandhome:"#2F746E"},Nr={tomsguide:"https://proof.vanilla.tools/media/images/brandLogos/tomsguide.png",techradar:"https://proof.vanilla.tools/media/images/brandLogos/techradar.png",tomshardware:"https://proof.vanilla.tools/media/images/brandLogos/tomshardware.png",pcgamer:"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png",gamesradar:"https://proof.vanilla.tools/media/images/brandLogos/gamesradar.png",creativebloq:"https://proof.vanilla.tools/media/images/brandLogos/creativebloq.png",space:"https://proof.vanilla.tools/media/images/brandLogos/space.png",livescience:"https://proof.vanilla.tools/media/images/brandLogos/livescience.png",cinemablend:"https://proof.vanilla.tools/media/images/brandLogos/cinemablend.png",marieclaireus:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireus.png",marieclaireuk:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireuk.png",homesandgardens:"https://proof.vanilla.tools/media/images/brandLogos/homesandgardens.png",whowhatwear:"https://proof.vanilla.tools/media/images/brandLogos/whowhatwear.png",idealhome:"https://proof.vanilla.tools/media/images/brandLogos/idealhome.png",womanandhome:"https://proof.vanilla.tools/media/images/brandLogos/womanandhome.png",livingetc:"https://proof.vanilla.tools/media/images/brandLogos/livingetc.png",t3:"https://proof.vanilla.tools/media/images/brandLogos/t3.png",whathifi:"https://proof.vanilla.tools/media/images/brandLogos/whathifi.png",digitalcameraworld:"https://proof.vanilla.tools/media/images/brandLogos/digitalcameraworld.png",fitandwell:"https://proof.vanilla.tools/media/images/brandLogos/fitandwell.png",golfmonthly:"https://proof.vanilla.tools/media/images/brandLogos/golfmonthly.png",musicradar:"https://proof.vanilla.tools/media/images/brandLogos/musicradar.png",windowscentral:"https://proof.vanilla.tools/media/images/brandLogos/windowscentral.png",cyclingnews:"https://proof.vanilla.tools/media/images/brandLogos/cyclingnews.png",cyclingweekly:"https://proof.vanilla.tools/media/images/brandLogos/cyclingweekly.png",loudersound:"https://proof.vanilla.tools/media/images/brandLogos/loudersound.png",guitarworld:"https://proof.vanilla.tools/media/images/brandLogos/guitarworld.png",guitarplayer:"https://proof.vanilla.tools/media/images/brandLogos/guitarplayer.png",wallpaper:"https://proof.vanilla.tools/media/images/brandLogos/wallpaper.png",fourfourtwo:"https://proof.vanilla.tools/media/images/brandLogos/fourfourtwo.png",shortlist:"https://proof.vanilla.tools/media/images/brandLogos/shortlist.png",advnture:"https://proof.vanilla.tools/media/images/brandLogos/advnture.png",countrylife:"https://proof.vanilla.tools/media/images/brandLogos/countrylife.png",gardeningknowhow:"https://proof.vanilla.tools/media/images/brandLogos/gardeningknowhow.png",gnomesingardens:"https://proof.vanilla.tools/media/images/brandLogos/gnomesingardens.png",kiplinger:"https://proof.vanilla.tools/media/images/brandLogos/kiplinger.png",moneyweek:"https://proof.vanilla.tools/media/images/brandLogos/moneyweek.png",toptenreviews:"https://proof.vanilla.tools/media/images/brandLogos/toptenreviews.png"},Gu={tomsguide:"Tom's Guide",techradar:"TechRadar",tomshardware:"Tom's Hardware",pcgamer:"PC Gamer",gamesradar:"GamesRadar+",creativebloq:"Creative Bloq",space:"Space",livescience:"Live Science",cinemablend:"CinemaBlend",marieclaireus:"Marie Claire US",marieclaireuk:"Marie Claire UK",homesandgardens:"Homes & Gardens",whowhatwear:"Who What Wear",idealhome:"Ideal Home",womanandhome:"Woman & Home",livingetc:"Living Etc",t3:"T3",whathifi:"What Hi-Fi?",digitalcameraworld:"Digital Camera World",fitandwell:"Fit & Well",golfmonthly:"Golf Monthly",musicradar:"MusicRadar",androidcentral:"Android Central",imore:"iMore",windowscentral:"Windows Central",cyclingnews:"Cycling News",cyclingweekly:"Cycling Weekly",loudersound:"Louder Sound",guitarworld:"Guitar World",guitarplayer:"Guitar Player",theweek:"The Week",theweekjuniorus:"The Week Junior US",wallpaper:"Wallpaper",decanter:"Decanter",fourfourtwo:"FourFourTwo",shortlist:"ShortList",advnture:"Advnture",countrylife:"Country Life",gardeningknowhow:"Gardening Know How",gnomesingardens:"Gnomes in Gardens",kiplinger:"Kiplinger",moneyweek:"Money Week",toptenreviews:"Top 10 Reviews"},y0={pcgamer:[{key:"steam",href:"https://steamcommunity.com/groups/pcgamer",label:"PC Gamer on Steam"},{key:"x",href:"https://twitter.com/pcgamer",label:"PC Gamer on X"},{key:"facebook",href:"https://www.facebook.com/pcgamermagazine",label:"PC Gamer on Facebook"},{key:"instagram",href:"https://www.instagram.com/pcgamer_mag/?hl=en",label:"PC Gamer on Instagram"},{key:"youtube",href:"https://www.youtube.com/user/pcgamer",label:"PC Gamer on YouTube"},{key:"twitch",href:"https://www.twitch.tv/pcgamer",label:"PC Gamer on Twitch"},{key:"tiktok",href:"https://www.tiktok.com/@pcgamer_mag?lang=en",label:"PC Gamer on TikTok"}],homesandgardens:[{key:"instagram",href:"https://www.instagram.com/homesandgardensofficial",label:"Homes & Gardens on Instagram"},{key:"facebook",href:"https://www.facebook.com/homesandgardens/",label:"Homes & Gardens on Facebook"},{key:"x",href:"https://x.com/homesandgardens",label:"Homes & Gardens on X"},{key:"tiktok",href:"https://www.tiktok.com/@homesandgardensofficial",label:"Homes & Gardens on TikTok"},{key:"pinterest",href:"https://pinterest.com/homesgardensofficial/",label:"Homes & Gardens on Pinterest"}],whowhatwear:[{key:"x",href:"https://twitter.com/WhoWhatWear",label:"Who What Wear on X"},{key:"instagram",href:"https://www.instagram.com/whowhatwear/",label:"Who What Wear on Instagram"},{key:"facebook",href:"https://www.facebook.com/WhoWhatWear/",label:"Who What Wear on Facebook"},{key:"pinterest",href:"https://www.pinterest.co.uk/whowhatwearuk/",label:"Who What Wear on Pinterest"},{key:"tiktok",href:"https://www.tiktok.com/@whowhatwear.uk",label:"Who What Wear on TikTok"}]};var Ot=B(O(),1);function v0(e){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").trim().toLowerCase()}function Jw(e){let t=ee(String(e.brand||"")).trim(),n=ee(String(e.productName||e.title||"")).trim(),a=v0(t),l=v0(n);return a.length>0&&l.startsWith(a)&&!/^[a-z0-9]/.test(l.slice(a.length))||!t?n:`${t} ${n}`.trim()}function b0({couponStatus:e,deal:t,editorMode:n,hideHawkPrices:a,isDescriptionExpanded:l,isSelected:i,onDescriptionToggle:r,onOpenVouchers:o,onSelectionChange:u,website:c}){let s=ee(String(t.currency||"")),f=t.rawMsrp?s+t.rawMsrp:null,d=Jw(t),m=ee(String(t.title||"")),v=Gu[c||"tomsguide"]||c||"Tom's Guide",A=(c||"tomsguide").includes(".")?(c||"").startsWith("http")?c:`https://${c}`:`https://www.${c||"tomsguide"}.com`,b=(t.documentUrl||"").replace(/^\/+/,""),h=b.startsWith("http://")||b.startsWith("https://")?b:`${A}/${b}`,g=String(t.sourceArticleUrl||t.documentUrl||t.url||"").replace(/^\/+/,""),p=g.startsWith("http://")||g.startsWith("https://")?g:`${A}/${g}`,y=!!t.hasCommerceOffer;return(0,Ot.jsxs)("div",{className:"tg-df-card","data-brand":t.modelBrand||t.brand||void 0,"data-currency":t.isoCurrencyCode||s||void 0,"data-deal-id":t.externalProductId||t.id||void 0,"data-merchant":t.merchant||void 0,"data-merchant-id":t.merchantId||void 0,"data-model-id":t.modelId||void 0,"data-previous-price":t.rawMsrp||void 0,"data-price":t.rawPrice||void 0,"data-product-key":t.productKey||void 0,"data-product-name":t.productName||t.title||void 0,"data-review-product":t.isReviewProduct?"true":void 0,"data-source-article-url":t.isReviewProduct?p:void 0,children:[n&&(0,Ot.jsx)("input",{type:"checkbox",className:"tg-df-deal-checkbox",checked:i,onChange:C=>u(C.target.checked)}),(0,Ot.jsx)(d0,{couponStatus:e,deal:t,onOpenVouchers:o}),(0,Ot.jsxs)("div",{className:"tg-df-card-body",children:[(0,Ot.jsx)("h3",{className:"tg-df-card-title",title:m,children:(0,Ot.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":y?"":void 0,className:y?"hawk-affiliate-link-container":void 0,target:"_blank",rel:y?"sponsored nofollow noopener":"noopener",style:{textDecoration:"none",color:"inherit"},children:(0,Ot.jsx)("strong",{children:d})})}),(0,Ot.jsx)(f0,{label:t.isBuyingGuideProduct?"":`${v} rating:`,starRating:t.starRating,color:t.isReviewProduct?"var(--tg-df-blue)":void 0}),t.isBuyingGuideProduct||t.isReviewProduct?(0,Ot.jsx)(m0,{cons:t.cons,expanded:l,fullReviewUrl:t.isReviewProduct&&g?p:void 0,onToggle:r,pros:t.pros,subtitle:t.isReviewProduct?t.description:t.subtitle,truncateSubtitle:t.isReviewProduct}):t.description?(0,Ot.jsx)(h0,{text:t.description,expanded:l,onToggle:r}):null,(0,Ot.jsx)(s0,{authorUrl:h,deal:t,hideHawkPrices:a,msrpFormatted:f,sourceArticleUrl:p})]})]})}var ce=B(O(),1);function $w({activeDealTag:e,activeFreeformTags:t=[],query:n,selectedBrands:a=[]}){let l=o=>{let u=String(o||"").trim();return u&&u.toLowerCase()!=="everything"?u:""},r=(t.length>0?t:e?[e]:a.length>0?a:[n]).map(l).filter(Boolean).map(o=>o.replace(/\s+deals?$/i,"").trim()).filter((o,u,c)=>c.findIndex(s=>s.toLowerCase()===o.toLowerCase())===u);return r.length<=1?r[0]||"":`${r.slice(0,-1).join(", ")} or ${r.at(-1)}`}function e2(){return(0,ce.jsx)(ce.Fragment,{children:Array.from({length:6}).map((e,t)=>(0,ce.jsxs)("div",{className:"tg-df-card",children:[(0,ce.jsx)("div",{className:"tg-df-card-image-box tg-df-skeleton"}),(0,ce.jsxs)("div",{className:"tg-df-card-body",children:[(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short",style:{marginBottom:"24px"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title",style:{width:"80%"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short"}),(0,ce.jsx)("div",{className:"tg-df-card-cta tg-df-skeleton",style:{width:"100%",height:"40px",marginTop:"auto",border:"none"}})]})]},t))})}function t2(e,t){return{"@context":"https://schema.org","@type":"ItemList",itemListElement:e.slice(0,t).map((n,a)=>{let l="USD";return n.currency==="\xA3"?l="GBP":n.currency==="\u20AC"?l="EUR":n.currency==="A$"?l="AUD":n.currency==="CA$"&&(l="CAD"),{"@type":"ListItem",position:a+1,item:{"@type":"Product",name:n.title,image:n.image||"",description:n.description||"",brand:{"@type":"Brand",name:n.brand||""},offers:{"@type":"Offer",priceCurrency:l,price:n.rawPrice||0,url:n.url||"",seller:{"@type":"Organization",name:n.merchant||""}}}}}).filter(n=>n.item.name)}}function w0({activeDealTag:e,activeFreeformTags:t,couponMap:n,deals:a,displayCount:l,editorMode:i,error:r,expandedDealIds:o,hasMore:u,hideHawkPrices:c,loading:s,loadingMore:f,loadMoreStartCount:d,onDescriptionToggle:m,onLoadMore:v,onOpenVouchers:A,query:b,recentDealsOnly:h,selectedBrands:g,selectedDeals:p,setSelectedDeals:y,website:C}){let R=$w({activeDealTag:e,activeFreeformTags:t,query:b,selectedBrands:g}),T=f&&d!=null?d:l,M=!f&&d!=null&&d<T?d:null,w=D=>D.map(k=>(0,ce.jsx)(A0.default.Fragment,{children:(0,ce.jsx)(b0,{couponStatus:n[k.merchant],deal:k,editorMode:i,hideHawkPrices:c,isDescriptionExpanded:o.has(k.id),isSelected:p.has(k.id),onDescriptionToggle:()=>m(k.id),onOpenVouchers:A,onSelectionChange:se=>{let I=new Map(p);se?I.set(k.id,k):I.delete(k.id),y(I)},website:C})},k.id));return(0,ce.jsx)("div",{className:"tg-df-grid-wrapper",children:(0,ce.jsx)("div",{className:"tg-df-grid article-body tg-df-grid-auto",id:"tg-df-grid",children:s?(0,ce.jsx)(e2,{}):r?(0,ce.jsx)("div",{className:"tg-df-message",children:"Failed to load deals. Please try again."}):a.length===0?(0,ce.jsx)("div",{className:"tg-df-message",children:h?`No ${R?`${R} `:""}deals found from the last 30 days.`:!b||b.length<=2||b.toLowerCase()==="everything"?"No deals found for this author.":`No savings squad match your search for "${b}".`}):(0,ce.jsxs)(ce.Fragment,{children:[w(a.slice(0,M??T)),M!=null&&(0,ce.jsx)("div",{"aria-live":"polite",className:"tg-df-load-more-boundary",style:{alignItems:"center",color:"var(--tg-df-text-muted)",display:"flex",fontSize:"13px",fontWeight:600,gridColumn:"1 / -1",justifyContent:"center",marginTop:"16px",minHeight:"40px",overflowAnchor:"none"},children:"More products"}),M!=null&&w(a.slice(M,T)),u&&(0,ce.jsx)("div",{className:"tg-df-load-more-control",style:{width:"100%",display:"flex",justifyContent:"center",marginTop:"16px",gridColumn:"1 / -1",overflowAnchor:"none"},children:(0,ce.jsx)("button",{type:"button",className:"tg-df-tag-outline",style:{padding:"8px 24px",borderRadius:"100px",fontWeight:600,fontSize:"14px",cursor:"pointer"},"aria-busy":f,disabled:f,onClick:D=>{D.preventDefault(),D.stopPropagation(),v()},children:f?"Loading more products\u2026":"Load More"})}),a.length>0&&(0,ce.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t2(a,T))}})]})})})}var S0=B(O(),1);var pn=B(ft(),1),nn=B(O(),1);function Pu({onScrollLeft:e,onScrollRight:t,showLeft:n,showRight:a}){return(0,nn.jsxs)(nn.Fragment,{children:[(0,nn.jsx)("button",{"aria-label":"Scroll left",className:"tg-df-scroll-btn left tg-df-desktop-only",onClick:e,style:{display:n?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,nn.jsx)("button",{"aria-label":"Scroll right",className:"tg-df-scroll-btn right tg-df-desktop-only",onClick:t,style:{display:a?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})}function qu(e){let t=(0,pn.useRef)(null),[n,a]=(0,pn.useState)(!1),[l,i]=(0,pn.useState)(!1),r=(0,pn.useCallback)(()=>{let u=t.current;u&&(a(u.scrollLeft>1),i(Math.ceil(u.scrollLeft+u.clientWidth)<u.scrollWidth-1))},[]);(0,pn.useLayoutEffect)(()=>{let u=t.current;if(!u)return;r();let c=requestAnimationFrame(r),s=typeof ResizeObserver>"u"?null:new ResizeObserver(r);return s?.observe(u),()=>{cancelAnimationFrame(c),s?.disconnect()}},[e,r]);let o=(0,pn.useCallback)(u=>{t.current?.scrollBy({left:u,behavior:"smooth"})},[]);return{onScroll:r,railRef:t,scrollLeft:()=>o(-240),scrollRight:()=>o(240),showLeft:n,showRight:l}}var jn=B(O(),1);function ui({containerClassName:e,itemClassName:t,items:n,loading:a,loadingKey:l,onItemClick:i,rowClassName:r,showCounters:o}){let u=qu(n.length);return n.length===0&&!a?null:(0,jn.jsxs)("div",{className:e,style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[n.length>0&&(0,jn.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,jn.jsx)("div",{className:r,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none"},onScroll:u.onScroll,children:n.length>0?n.map(c=>(0,jn.jsxs)("button",{className:t,onClick:()=>i(c.key),style:{border:"none",borderRight:"1px solid var(--tg-df-border)",padding:"12px 20px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"1px",cursor:"pointer",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:"6px",...t==="tg-df-brand-row-item"?{transition:"all 0.2s ease"}:{},background:c.selected?"var(--tg-df-bg-secondary)":"var(--tg-df-bg)",color:c.selected?"var(--tg-df-text-primary)":"var(--tg-df-text-muted)",fontWeight:c.selected?600:500},children:[c.label," ",l===c.key&&(0,jn.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading",style:{borderWidth:"2px",height:"12px",width:"12px"}}),o!==!1&&(0,jn.jsx)("span",{style:{color:"var(--tg-df-blue)",fontSize:"10px",...t==="tg-df-brand-row-item"?{fontWeight:400}:{}},children:c.count})]},c.key)):[1,2,3,4,5].map(c=>(0,jn.jsx)("div",{className:"tg-df-skeleton",style:{height:"36px",width:"80px",borderRadius:"18px",flexShrink:0,margin:"8px 12px"}},`${r}-skeleton-${c}`))})]})}var R0=B(O(),1);function C0({airedaleBrands:e,brands:t,loading:n,refreshing:a,onBrandToggle:l,selectedBrands:i,showAuthorCounters:r}){let o=e.length>0?e:t||[],u=o.slice(0,15).map(c=>({count:c.count||0,key:c.formatted_value,label:c.formatted_value,selected:i?.includes(c.formatted_value)||!1}));return(0,R0.jsx)(ui,{containerClassName:"tg-df-brands-row-container",itemClassName:"tg-df-brand-row-item",items:u,loading:n&&o.length===0,loadingKey:a?i?.[0]:null,onItemClick:c=>l?.(c),rowClassName:"tg-df-brands-row",showCounters:r})}var E0=B(O(),1);function T0({activeDealTag:e,airedaleTagCounts:t,airedaleTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>{let c=u.split(":::"),s=c[0];return{count:t[u]||0,key:s,label:c[1]||u,selected:e===s}});return(0,E0.jsx)(ui,{containerClassName:"tg-df-categories-row-container",itemClassName:"tg-df-category-row-item",items:o,loading:a&&n.length===0,loadingKey:l?e:null,onItemClick:i,rowClassName:"tg-df-categories-row",showCounters:r})}var x0=B(O(),1);function D0({activeFreeformTags:e,freeformTagCounts:t,freeformTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>({count:t[u.handle]||0,key:u.handle,label:u.label,selected:e.includes(u.handle)}));return(0,x0.jsx)(ui,{containerClassName:"tg-df-freeform-tags-row-container",itemClassName:"tg-df-freeform-tag-row-item",items:o,loading:a&&n.length===0,loadingKey:l&&e.at(-1)||null,onItemClick:i,rowClassName:"tg-df-freeform-tags-row",showCounters:r})}var _e=B(O(),1),n2=4;function M0({authors:e,clickedAuthorOverride:t,loading:n,refreshing:a,onAuthorClick:l,overriddenAuthorHandle:i,overriddenAuthorName:r,website:o}){let u=qu(e.length);return e.length===0&&!n?null:(0,_e.jsxs)("div",{className:"tg-df-authors-row-container",style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[e.length>0&&(0,_e.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,_e.jsx)("div",{className:"tg-df-authors-row tg-df-mobile-authors",onScroll:u.onScroll,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",gap:"24px",padding:"4px 16px 2px 16px",alignItems:"flex-start"},children:e.length>0?e.map((c,s)=>{let f=Nr[c.brandKey]||Nr[o||"tomsguide"],d=t&&(i===c.handle||r===c.fullName);return(0,_e.jsxs)("div",{className:"tg-df-author-row-item",onClick:()=>l(c),style:{cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px",opacity:t?d?1:.4:1},children:[(0,_e.jsxs)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px",borderRadius:"50%",boxShadow:d?"0 0 0 3px var(--tg-df-blue, #1F69FF)":"none"},children:[(0,_e.jsx)("img",{src:ri(c.image),alt:c.fullName,decoding:"async",loading:s<n2?"eager":"lazy",style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover",filter:t&&!d?"grayscale(100%)":"none"}}),d&&(0,_e.jsx)("span",{"aria-label":`Clear ${c.fullName} selection`,className:"tg-df-author-clear-badge",title:"Click again to clear selection",style:{alignItems:"center",backgroundColor:"#dc2626",border:"2px solid var(--tg-df-bg, #fff)",borderRadius:"50%",boxShadow:"0 1px 3px rgb(0 0 0 / 25%)",color:"#fff",display:"flex",fontSize:"15px",fontWeight:700,height:"20px",justifyContent:"center",lineHeight:1,position:"absolute",right:"-5px",top:"-5px",width:"20px",zIndex:1},children:(0,_e.jsx)("span",{"aria-hidden":"true",style:{display:"block",transform:"translateY(-1px)"},children:"\xD7"})}),f&&(0,_e.jsx)("img",{src:f,alt:"",className:"tg-df-author-brand-logo",decoding:"async",loading:"lazy",style:{position:"absolute",bottom:"-4px",right:"-4px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid var(--tg-df-bg, #fff)",backgroundColor:"#000",objectFit:"contain",filter:t&&!d?"grayscale(100%)":"none"}})]}),(0,_e.jsxs)("div",{style:{textAlign:"center"},children:[(0,_e.jsxs)("div",{className:"tg-df-author-row-name",style:{fontSize:"13px",fontWeight:700,color:"var(--tg-df-text)",lineHeight:"1.2"},children:[c.name,a&&d&&(0,_e.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading author products",style:{borderWidth:"2px",display:"inline-block",height:"11px",marginLeft:"4px",width:"11px"}})]}),c.role&&(0,_e.jsx)("div",{className:"tg-df-author-row-role",style:{fontSize:"11px",color:"var(--tg-df-text-muted)",lineHeight:"1.2",marginTop:"2px",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word"},children:c.role})]})]},c.handle)}):[1,2,3,4].map(c=>(0,_e.jsxs)("div",{className:"tg-df-author-row-item",style:{display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px"},children:[(0,_e.jsx)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px"},children:(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),(0,_e.jsxs)("div",{style:{textAlign:"center",width:"100%"},children:[(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"12px",width:"80%",margin:"0 auto 4px auto",borderRadius:"2px"}}),(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"10px",width:"60%",margin:"0 auto",borderRadius:"2px"}})]})]},`author-skeleton-${c}`))})]})}var Ja=B(O(),1);function _0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,freeformTagCounts:i,freeformTags:r,allAuthorsList:o,brands:u,clickedAuthorOverride:c,loading:s,refreshing:f,onAuthorClick:d,onBrandToggle:m,onTagClick:v,onFreeformTagClick:A,overriddenAuthorHandle:b,overriddenAuthorName:h,selectedBrands:g,showAuthorRail:p,showAuthorCounters:y,showBrandRail:C,showCategoryRail:R,showFreeformTagRail:T,website:M}){let w=R!==!1&&l.length>0||T!==!1&&r.length>0||C!==!1&&(n.length>0||!!u?.length)||p&&o.length>0;return!(p||R!==!1||T!==!1||C!==!1)||!w&&!s?null:(0,Ja.jsxs)("div",{id:"tg-df-spreadsheet-filters",style:{display:"block",marginBottom:"16px"},children:[p&&(0,Ja.jsx)(M0,{authors:o,clickedAuthorOverride:c,loading:s&&o.length===0,refreshing:f,onAuthorClick:d,overriddenAuthorHandle:b,overriddenAuthorName:h,website:M}),R!==!1&&(0,Ja.jsx)(T0,{activeDealTag:e,airedaleTagCounts:a,airedaleTags:l,loading:s,refreshing:f,onTagClick:v,showAuthorCounters:y}),T!==!1&&(0,Ja.jsx)(D0,{activeFreeformTags:t,freeformTagCounts:i,freeformTags:r,loading:s,refreshing:f,onTagClick:A,showAuthorCounters:y}),C!==!1&&(0,Ja.jsx)(C0,{airedaleBrands:n,brands:u,loading:s,refreshing:f,onBrandToggle:m,selectedBrands:g,showAuthorCounters:y})]})}var O0=B(ft(),1);var B0=[{value:"date_desc",label:"Most recent"},{value:"rating_desc",label:"Highest rating"},{value:"scored_first",label:"Scored products first"}];function Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}){return!!(a&&e!==!0&&t===!1&&n===!1)}function Fu({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a,lightweightReviewDelivery:l,showPriceDiscountFilters:i,showReviewSort:r}){return!!(l&&i===!1&&r===!1&&Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}))}function ju(e=!0){return e?B0:B0.filter(t=>t.value!=="scored_first")}function wa(e,t=!0){return!t&&e==="scored_first"?"date_desc":e||"date_desc"}var H=B(O(),1),N0=[{value:"all",label:"All Prices",shortLabel:""},{value:"under50",label:"Under $50",shortLabel:"< $50"},{value:"50_100",label:"$50 - $100",shortLabel:"$50-$100"},{value:"100_200",label:"$100 - $200",shortLabel:"$100-$200"},{value:"200_500",label:"$200 - $500",shortLabel:"$200-$500"},{value:"over500",label:"Over $500",shortLabel:"> $500"}],a2=[{value:"0",label:"Any discount"},...[5,10,15,20,25,30,40,50,60,70].map(e=>({value:String(e),label:`Min ${e}% off`}))];function l2({open:e}){return(0,H.jsx)("svg",{"aria-hidden":"true",className:e?"is-open":void 0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("path",{d:"m6 9 6 6 6-6"})})}function Yn(){return(0,H.jsx)("svg",{"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function k0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,brands:i,discountAmount:r,enabled:o,freeformTagCounts:u,freeformTags:c,includeScoredFirst:s,onBrandSelect:f,onBrandToggle:d,onDiscountAmountChange:m,onFreeformTagClear:v,onFreeformTagToggle:A,onPriceRangeChange:b,onReviewSortChange:h,onTagClear:g,onTagClick:p,priceRange:y,reviewSort:C,selectedBrands:R,showCounters:T,showBrandRail:M,showCategoryRail:w,showFreeformTagRail:D,showPriceDiscountFilters:k,showReviewSort:se}){let[I,j]=(0,O0.useState)(null);if(!o)return null;let He=l.map(x=>{let P=x.split(":::");return{count:a[x]||0,handle:P[0],label:P[1]||x}}),ze=n.length>0?n:i||[],St=He.find(x=>x.handle===e),Ie=y||"all",rn=!r||r==="all"?"0":r,Be=N0.find(x=>x.value===Ie),Je=k!==!1,nt=wa(C,s),X=ju(s),de=nt==="rating_desc"?"Highest rating":nt==="scored_first"?"Scored first":"Most recent",$e=x=>{j(P=>P===x?null:x)},Z=[];return w!==!1&&Z.push({active:!!e,label:`CATEGORIES${St?` (${St.label})`:""}`,menu:"categories"}),D!==!1&&Z.push({active:t.length>0,label:`KEYWORDS${t.length>0?` (${t.length})`:""}`,menu:"keywords"}),M!==!1&&Z.push({active:R.length>0,label:`BRANDS${R.length>0?` (${R.length})`:""}`,menu:"brands"}),Je&&Z.push({active:Ie!=="all",label:`PRICES${Be?.shortLabel?` (${Be.shortLabel})`:""}`,menu:"prices"}),(Je||se)&&Z.push({active:se?nt!=="date_desc":rn!=="0",label:se?`SORT REVIEWS (${de})`:`DISCOUNTS${rn!=="0"?` (${rn}%+)`:""}`,menu:se?"review-sort":"discounts"}),(0,H.jsxs)("div",{className:"tg-df-mobile-2x2-container",children:[(0,H.jsx)("div",{className:`tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--${Z.length%2===0?"even":"odd"}`,children:Z.map(x=>(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-grid-cell${x.active?" has-active-filter":""}${I===x.menu?" active":""}`,"aria-expanded":I===x.menu,onClick:()=>$e(x.menu),children:[(0,H.jsx)("span",{children:x.label}),(0,H.jsx)(l2,{open:I===x.menu})]},x.menu))}),w!==!1&&I==="categories"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${e?"":" selected"}`,onClick:()=>{g(),j(null)},children:[(0,H.jsx)("span",{children:"All Categories"}),!e&&(0,H.jsx)(Yn,{})]}),He.map(x=>{let P=e===x.handle;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{p(x.handle),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},x.handle)})]}),M!==!1&&I==="brands"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${R.length===0?" selected":""}`,onClick:()=>f?.([]),children:[(0,H.jsx)("span",{children:"All Brands"}),R.length===0&&(0,H.jsx)(Yn,{})]}),ze.map(x=>{let P=x.formatted_value,Q=R.includes(P);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${Q?" selected":""}`,onClick:()=>d?.(P),children:[(0,H.jsx)("span",{children:P}),Q?(0,H.jsx)(Yn,{}):T!==!1&&x.count?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},P)})]}),D!==!1&&I==="keywords"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${t.length===0?" selected":""}`,onClick:()=>{v(),j(null)},children:[(0,H.jsx)("span",{children:"All Keywords"}),t.length===0&&(0,H.jsx)(Yn,{})]}),c.map(x=>{let P=t.includes(x.handle);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>A(x.handle),children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1&&u[x.handle]?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:u[x.handle]}):null]},x.handle)})]}),I==="prices"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:N0.map(x=>{let P=Ie===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{b?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="discounts"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:a2.map(x=>{let P=rn===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{m?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="review-sort"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:X.map(x=>{let P=nt===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{h?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})})]})}var $a=B(ft(),1);var W=B(O(),1);function L0({airedaleBrands:e,airedaleTags:t,discountAmount:n,hidden:a,includeScoredFirst:l,onDiscountAmountChange:i,onPriceRangeChange:r,onReviewSortChange:o,priceRange:u,reviewSort:c,showReviewSort:s,showPriceDiscountFilters:f}){let d=(0,$a.useRef)(null),[m,v]=(0,$a.useState)(!1),[A,b]=(0,$a.useState)(!1),h=ju(l),g=wa(c,l),p=()=>{if(!d.current)return;let{scrollLeft:y,scrollWidth:C,clientWidth:R}=d.current;v(y>0),b(Math.ceil(y+R)<C-5)};return(0,$a.useEffect)(()=>(p(),window.addEventListener("resize",p),setTimeout(p,100),setTimeout(()=>{document.querySelector(".tg-df-categories-row")?.dispatchEvent(new Event("scroll")),document.querySelector(".tg-df-brands-row")?.dispatchEvent(new Event("scroll"))},150),()=>window.removeEventListener("resize",p)),[t,e]),(0,W.jsx)("div",{className:"tg-df-controls",id:"tg-df-controls",style:{display:a?"none":"flex",marginTop:"12px",marginBottom:"16px",justifyContent:"center"},children:(0,W.jsxs)("div",{className:"tg-df-filters-container",style:{position:"relative",width:"100%",maxWidth:"800px",margin:"0 auto"},children:[(0,W.jsx)("button",{className:"tg-df-scroll-btn left",style:{display:m?"flex":"none"},onClick:()=>d.current?.scrollBy({left:-200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,W.jsx)("button",{className:"tg-df-scroll-btn right",style:{display:A?"flex":"none"},onClick:()=>d.current?.scrollBy({left:200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M9 18l6-6-6-6"})})}),(0,W.jsxs)("div",{className:"tg-df-filters",ref:d,onScroll:p,children:[(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-legacy-price-wrapper",style:{display:f!==!1?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-price-filter","aria-label":"Filter Prices",value:u||"all",onChange:y=>r?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"All Prices"}),(0,W.jsx)("option",{value:"under50",children:"Under $50"}),(0,W.jsx)("option",{value:"50_100",children:"$50 - $100"}),(0,W.jsx)("option",{value:"100_200",children:"$100 - $200"}),(0,W.jsx)("option",{value:"200_500",children:"$200 - $500"}),(0,W.jsx)("option",{value:"over500",children:"Over $500"})]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-discount-filter-wrapper",style:{display:f!==!1&&!s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-discount-filter","aria-label":"Discount Amount",value:n||"all",onChange:y=>i?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"Any discount"}),[5,10,15,20,25,30,40,50,60,70].map(y=>(0,W.jsxs)("option",{value:y,children:["Min ",y,"%"]},y))]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-review-sort-wrapper",style:{display:s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M4 7h16M7 12h10m-7 5h4"})}),(0,W.jsx)("select",{className:"tg-df-filter-select",id:"tg-df-review-sort","aria-label":"Sort Reviews",value:g,onChange:y=>o?.(y.target.value),children:h.map(y=>(0,W.jsx)("option",{value:y.value,children:y.label},y.value))})]})]})]})})}var be=B(ft(),1);function kr(e,t){return e.filter(n=>{let a=n.handle.toLowerCase(),l=n.fullName.toLowerCase(),i=n.name.toLowerCase();return t.some(r=>{let o=r.articleauthorhandle||[],u=r.articleauthor||[],c=r.articleauthortext||[];return[...o,...u,...c].some(s=>{let f=String(s||"").toLowerCase();return f===a||f===l||f===i})})})}function Yu(e,t){return e.map((n,a)=>({index:a,profile:n,productCount:t[n.handle]||0})).sort((n,a)=>a.productCount-n.productCount||n.index-a.index).map(({profile:n})=>n)}function Vu(e,t){return e==="all-authors"||t==="all-authors"||t==="All authors"||!e&&!t}function Xu(e,t,n){let a=e;if((t||n)&&t!=="all-authors"&&n!=="all-authors"&&n!=="All authors"){if(t){let l=t.toLowerCase(),i=e.filter(r=>r.articleauthorhandle&&r.articleauthorhandle.some(o=>o.toLowerCase()===l));if(i.length>0)a=i;else if(n){let r=n.toLowerCase(),o=e.filter(u=>u.articleauthor&&u.articleauthor.some(c=>c.toLowerCase()===r));o.length>0&&(a=o)}}else if(n){let l=n.toLowerCase();a=e.filter(i=>i.articleauthor&&i.articleauthor.some(r=>r.toLowerCase()===l))}}return a}function sf(e,t,n){let a=0;if(t&&e.articleauthorhandle){let l=e.articleauthorhandle.findIndex(i=>i.toLowerCase()===t.toLowerCase());l>=0&&(a=l)}else if(n&&e.articleauthor){let l=e.articleauthor.findIndex(i=>i.toLowerCase()===n.toLowerCase());l>=0&&(a=l)}return a}function Qu(e,t,n){let a=sf(e,t,n),l=i=>typeof i=="string"?ee(i):i||"";return{authorName:e.articleauthortext?l(e.articleauthortext[a]):e.articleauthor?l(e.articleauthor[a]):"",authorRole:e.articleauthorrole?l(e.articleauthorrole[a]):"",authorImage:e.articleauthormedia?e.articleauthormedia[a]:""}}function Lr(e,t){let n=new Map;return e.forEach(a=>{if(!a.articleauthor)return;let l=t;if(a.documenturl)try{let f=new URL(a.documenturl).hostname.replace("www.","").split(".");f.length>0&&(l=f[0].toLowerCase())}catch{}let i=a.articleauthorhandle||[],r=a.articleauthor||[],o=a.articleauthortext||[],u=a.articleauthorrole||[],c=a.articleauthormedia||[];r.forEach((s,f)=>{if(!s||s==="null"||s.toLowerCase()==="all authors")return;let d=i[f]&&i[f]!=="null"?i[f]:s.toLowerCase().replace(/\s+/g,"-");if(!d||d==="null")return;let m=o[f]&&o[f]!=="null"?o[f]:s,v=u[f]&&u[f]!=="null"?u[f]:"",A=ee(String(m)),b=ee(String(v)),h=c[f]&&c[f]!=="null"?c[f]:"",g=A.split(" ")[0],p=_r(a,f,"short"),y=_r(a,f,"long"),C=Uu(a,f),R=n.get(d);!R&&A&&h?n.set(d,{...y?{bioLong:y}:{},...p?{bioShort:p}:{},name:g,fullName:A,handle:d,role:b,image:h,brandKey:l,...C.length>0?{socialNetworks:C}:{}}):R&&(!R.bioShort&&p&&(R.bioShort=p),!R.bioLong&&y&&(R.bioLong=y),!R.socialNetworks?.length&&C.length>0&&(R.socialNetworks=C))})}),Array.from(n.values())}var E=B(O(),1);function z0(e){let t=(0,be.useRef)(""),n=(0,be.useRef)(null),a=(0,be.useCallback)(()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null)},[]),l=(0,be.useCallback)(r=>{a(),t.current=r},[a]),i=(0,be.useCallback)((r,o,u=!1)=>{if(!e)return;if(r===t.current){a();return}let c=()=>{n.current=null,t.current=r,e(o)};a(),u?c():n.current=window.setTimeout(c,350)},[a,e]);return(0,be.useEffect)(()=>a,[a]),{save:i,synchronise:l}}function H0({contentKey:e,defaultText:t,kind:n,onChange:a,value:l}){let i=(0,be.useRef)(null),r=(0,be.useRef)(e),[o,u]=(0,be.useState)(!1),c=l??t,s=!!a,{save:f,synchronise:d}=z0(a);(0,be.useLayoutEffect)(()=>{let g=r.current!==e;i.current&&(g||document.activeElement!==i.current)&&(i.current.innerHTML!==c&&(i.current.innerHTML=c),d(c)),r.current=e},[e,d,c]);let m=(g=!1)=>{if(!i.current)return;let p=i.current.innerHTML;f(p,p===t?void 0:p,g)},v=(g,p)=>{document.execCommand(g,!1,p),m(!0)},A=n==="kicker"?{fontSize:"0.875rem",color:"#6B7280",fontStyle:"normal",margin:"0 0 0.25rem 0"}:{fontSize:"2.25rem",fontWeight:300,color:"#111827",margin:"0 0 0.25rem 0",lineHeight:1.1,letterSpacing:"-0.02em"},b=n==="kicker"?"tg-df-author-curated-by tg-df-author-kicker":"tg-df-author-name",h=()=>n==="kicker"?(0,E.jsx)("p",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}}):(0,E.jsx)("h2",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}});return s?(0,E.jsxs)("div",{className:"tg-df-author-header-text-shell",style:{position:"relative"},children:[o&&(0,E.jsxs)("div",{className:"tg-df-author-header-text-toolbar",role:"toolbar","aria-label":`${n==="kicker"?"Shop by text":"Site or author name"} formatting`,style:{display:"flex",justifyContent:"center",alignItems:"center",gap:"0.25rem",margin:"0 auto 0.375rem",width:"fit-content",padding:"0.25rem 0.5rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",fontSize:"11px",zIndex:10},children:[(0,E.jsx)("span",{style:{color:"#64748b",padding:"2px 2px 2px 0"},children:"Editing"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("bold"),title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("italic"),title:"Italic",children:(0,E.jsx)("em",{children:"I"})}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{let g=prompt("Enter URL:");g&&v("createLink",g)},title:"Add link",children:"\u{1F517}"}),l!==void 0&&(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{i.current&&(i.current.innerHTML=t),d(t),a?.(void 0)},title:"Restore default",children:"Reset"})]}),h()]}):h()}function i2({contentKey:e,initialBio:t,defaultPlaceholder:n,onBioChange:a,stabilizeHeight:l=!1}){let r=(0,be.useRef)(null),o=(0,be.useRef)(e),u=(0,be.useRef)(n),c=(0,be.useRef)(!1),[s,f]=(0,be.useState)(!1),[d,m]=(0,be.useState)(!1),[v,A]=(0,be.useState)(!1),b=t||n,h=l&&b.replace(/<[^>]*>/g,"").trim().length>240,g=!!a,{save:p,synchronise:y}=z0(a);(0,be.useLayoutEffect)(()=>{let w=o.current!==e,D=u.current!==n;w&&(c.current=!1);let k=!t&&D&&!c.current;r.current&&(w||document.activeElement!==r.current||k)&&(r.current.innerHTML!==b&&(r.current.innerHTML=b),y(b)),o.current=e,u.current=n},[b,e,n,t,y]),(0,be.useLayoutEffect)(()=>{m(!1)},[e]),(0,be.useLayoutEffect)(()=>{if(!h||!r.current){A(!1);return}let w=r.current,D=()=>{A(w.scrollHeight>w.clientHeight+1)};if(D(),typeof ResizeObserver>"u")return;let k=new ResizeObserver(D);return k.observe(w),()=>k.disconnect()},[b,e,d,h]);let C=(w,D=null)=>{if(c.current=!0,document.execCommand(w,!1,D||void 0),r.current){let k=r.current.innerHTML;p(k,k===n?"":k,!0)}},R=(w=!1)=>{if(!r.current)return;let D=r.current.innerHTML;p(D,D===n?"":D,w)};return(0,E.jsxs)("div",{style:{position:"relative",maxWidth:"42rem",margin:"0 auto 0.5rem auto",padding:"0.25rem 0.5rem"},className:`tg-df-author-bio-shell${l?" tg-df-author-bio-shell--stable":""}`,children:[g&&s&&(0,E.jsxs)("div",{role:"toolbar","aria-label":"Introduction text formatting",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"0.375rem",marginBottom:"0.5rem",padding:"0.25rem 0.625rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",width:"fit-content",margin:"0 auto 0.5rem auto",fontSize:"12px",userSelect:"none",zIndex:10},children:[(0,E.jsx)("span",{style:{fontSize:"11px",color:"#64748b",fontWeight:500,marginRight:"2px"},children:"Editing \u2014 saves when you click away"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("bold"),style:{fontWeight:"bold",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("italic"),style:{fontStyle:"italic",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Italic",children:"I"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>{let w=prompt("Enter URL:");w&&C("createLink",w)},style:{padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Add Link",children:"\u{1F517}"}),t&&(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:w=>{w.preventDefault(),w.stopPropagation(),r.current&&(r.current.innerHTML=n),c.current=!1,y(n),a&&a("")},style:{fontSize:"10px",padding:"2px 8px",borderRadius:"4px",background:"#fee2e2",color:"#991b1b",cursor:"pointer",border:"1px solid #fca5a5"},title:"Reset Bio",children:"Reset"})]}),(0,E.jsx)("div",{ref:r,contentEditable:g?!0:void 0,suppressContentEditableWarning:g,onFocus:g?()=>{f(!0)}:void 0,onBlur:g?()=>{f(!1),R(!0),c.current=!1}:void 0,onInput:g?()=>{c.current=!0}:void 0,className:`tg-df-author-bio ${g?"wysiwyg-bio-editable":"tg-df-author-bio--static"}${h?d?" tg-df-author-bio--expanded":" tg-df-author-bio--clamped":""}`,style:{color:"#4b5563",lineHeight:1.6,fontWeight:300,fontSize:"0.9375rem",textAlign:"center",outline:g&&s?"2px solid #3b82f6":"none",borderRadius:"6px",padding:"0.375rem 0.5rem",cursor:g?"text":"default",transition:"all 0.15s ease-in-out"}}),h?(0,E.jsx)("div",{className:"tg-df-author-bio-toggle-slot",children:(0,E.jsx)("button",{type:"button",className:"tg-df-author-bio-toggle","aria-expanded":d,onClick:()=>m(w=>!w),style:{visibility:v||d?"visible":"hidden"},children:d?"Show less":"Read more"})}):null]})}function r2(e){let t=(e||"").toLowerCase();return t==="linkedin"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"})}):t==="twitter"||t==="x"?(0,E.jsx)("svg",{className:"icon-svg",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,E.jsx)("path",{fill:"currentColor",d:"M18 2h4l-8 9 9 11h-7l-5-7-6 7H2l7-9L1 2h7l5 6zm-1 18h2L7 4H5z"})}):t==="email"||t==="mail"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),(0,E.jsx)("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}):t==="instagram"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"5",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"12",cy:"12",r:"4.25",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"17.4",cy:"6.7",r:"1.25",fill:"currentColor"})]}):t==="steam"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("circle",{fill:"#0f1618",cx:"12",cy:"12",r:"12"}),(0,E.jsx)("path",{d:"m18.22 8.9a2.269 2.269 0 1 1 -2.27-2.265 2.267 2.267 0 0 1 2.27 2.265zm2.258.005a4.534 4.534 0 0 1 -4.533 4.526h-.1l-4.087 2.911v.161a3.4 3.4 0 0 1 -6.74.669l-4.549-1.879c-.032-.109-.057-.219-.085-.329a11.973 11.973 0 0 1 -.384-2.964c0-.214.02-.423.032-.635 0-.1.008-.206.016-.308l6.394 2.643a3.385 3.385 0 0 1 1.915-.591c.065 0 .127 0 .191.005l2.865-4.145v-.062a4.533 4.533 0 0 1 9.066 0zm-9.763 6.618a2.55 2.55 0 0 0 -3.262-1.411l1.525.63a1.877 1.877 0 1 1 -1.446 3.464l-1.475-.606a2.529 2.529 0 0 0 1.315 1.25 2.559 2.559 0 0 0 3.339-1.374 2.526 2.526 0 0 0 .004-1.951zm8.251-6.618a3.021 3.021 0 1 0 -3.021 3.015 3.022 3.022 0 0 0 3.021-3.013z",fill:"#fff"})]}):t==="youtube"?(0,E.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})}):t==="twitch"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"m24 12a12 12 0 1 1 -12-12 12 12 0 0 1 12 12z",fill:"#111"}),(0,E.jsx)("path",{d:"m12.308 17.167-1.833 1.833h-1.818v-1.833h-3.357v-9.733l.925-2.434h12.475v8.517l-3.648 3.65zm5.175-10.95h-10.043v8.824h2.743v1.833l1.817-1.833h3.342l2.14-2.126zm-5.483 6.083v-3.65h-1.218v3.65zm3.342 0v-3.65h-1.216v3.65z",fill:"#fff"})]}):t==="facebook"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m13.079 19h-2.9v-7h-1.441v-2.408h1.442v-1.456c0-1.96.813-3.136 3.136-3.136h1.933v2.408h-1.2c-.91 0-.965.35-.965.966v1.218h2.183l-.257 2.408h-1.931z",fill:"currentColor"})}):t==="pinterest"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.336 5c-3.822 0-5.754 2.744-5.754 5.025a3.065 3.065 0 0 0 1.652 3.066.279.279 0 0 0 .407-.2l.154-.644a.373.373 0 0 0-.113-.448 2.341 2.341 0 0 1-.532-1.582 3.812 3.812 0 0 1 3.961-3.849 3.009 3.009 0 0 1 3.346 3.08c0 2.323-1.022 4.283-2.547 4.283a1.253 1.253 0 0 1-1.273-1.554 17.616 17.616 0 0 0 .713-2.856 1.081 1.081 0 0 0-1.092-1.2c-.854 0-1.553.881-1.553 2.071a2.954 2.954 0 0 0 .266 1.274l-1.038 4.383a9.389 9.389 0 0 0-.027 3.065.109.109 0 0 0 .2.042 8.737 8.737 0 0 0 1.457-2.631l.561-2.212a2.3 2.3 0 0 0 1.959 1.008c2.59 0 4.34-2.366 4.34-5.516a4.8 4.8 0 0 0-5.087-4.605z",fill:"currentColor"})}):t==="substack"?(0,E.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z"})}):t==="threads"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12.186 24h-.007c-3.582-.024-6.332-1.22-8.173-3.555C2.26 18.212 1.5 15.228 1.5 11.83 1.5 8.16 2.673 5.097 4.902 2.935 7.026.877 10.02 0 13.565 0c3.784 0 6.81 1.028 8.995 3.056 2.008 1.862 3.013 4.417 2.91 7.391-.122 3.518-1.57 6.136-4.304 7.781-1.892 1.138-4.103 1.62-6.57 1.433-.122.392-.266.769-.434 1.127-.514 1.096-1.18 1.96-1.982 2.569-.884.67-1.933 1.01-3.118 1.01-1.34 0-2.42-.42-3.21-1.248-.78-.82-1.17-1.89-1.17-3.18 0-1.512.52-2.73 1.545-3.62 1.018-.883 2.45-1.33 4.258-1.33.56 0 1.11.04 1.63.12-.04-.53-.13-1.02-.27-1.46-.26-.81-.71-1.45-1.34-1.92-.62-.47-1.42-.71-2.38-.71-1.09 0-2.02.29-2.77.87-.29.22-.68.17-.9-.12l-.76-1.03c-.22-.3-.16-.71.13-.93C7.43 5.37 8.95 4.9 10.8 4.9c1.64 0 2.99.41 4.02 1.22 1.04.81 1.73 1.93 2.06 3.33.15.65.25 1.42.3 2.31 1.68-.31 3.05-1.05 4.08-2.2 1.01-1.13 1.52-2.58 1.52-4.31 0-2.43-.84-4.32-2.5-5.62C18.63 1.32 16.32.5 13.56.5c-3.03 0-5.54.73-7.27 2.21C4.48 4.27 3.5 6.78 3.5 10c0 3.1.66 5.62 1.96 7.49 1.34 1.93 3.38 2.92 6.07 2.95 1.76.02 3.32-.34 4.64-1.07.28-.15.63-.05.78.22l.55.98c.15.28.05.63-.22.78-1.63.9-3.55 1.35-5.7 1.35z"})}):t==="tiktok"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.308 5.012c.763-.012 1.522 0 2.281-.012a3.636 3.636 0 0 0 1.02 2.434 4.12 4.12 0 0 0 2.473 1.043v2.349a6.177 6.177 0 0 1-2.449-.564 7.207 7.207 0 0 1-.947-.543c0 1.705.008 3.406-.01 5.105a4.442 4.442 0 0 1-.789 2.3 4.343 4.343 0 0 1-3.448 1.872 4.254 4.254 0 0 1-2.379-.6 4.393 4.393 0 0 1-2.127-3.331c-.014-.292-.019-.584-.007-.868a4.395 4.395 0 0 1 5.091-3.9c.013.864-.021 1.727-.021 2.591a2.007 2.007 0 0 0-2.558 1.237 2.316 2.316 0 0 0-.079.939 1.992 1.992 0 0 0 3.658.736 1.39 1.39 0 0 0 .239-.62c.057-1.043.034-2.082.041-3.126.006-2.351-.007-4.7.011-7.041z",fill:"currentColor"})}):t==="bluesky"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.879.139 2.588-.02 3.868.002 5.03c.08 4.201 1.84 10.024 3.931 12.397 2.091 2.373 4.545 1.573 5.467.927.817-.573 1.564-1.611 2.6-2.92 1.036 1.309 1.783 2.347 2.6 2.92.922.646 3.376 1.446 5.467-.927 2.091-2.373 3.851-8.196 3.931-12.397.022-1.162-.137-2.442-.9-3.151-.659-.613-1.664-.935-4.3-1.074C16.046 4.747 13.087 8.686 12 10.8z"})}):t==="github"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})}):t==="rss"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M4 11a9 9 0 0 1 9 9"}),(0,E.jsx)("path",{d:"M4 4a16 16 0 0 1 16 16"}),(0,E.jsx)("circle",{cx:"5",cy:"19",r:"1"})]}):(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,E.jsx)("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),(0,E.jsx)("path",{d:"M2 12h20"})]})}function U0({authorCount:e=0,authorArticlesList:t,authorBioLength:n,customBio:a,customHeaderKicker:l,customHeaderTitle:i,effectiveAuthorHandle:r,effectiveAuthorName:o,isReviewWidget:u=!1,onBioChange:c,onHeaderKickerChange:s,onHeaderTitleChange:f,selectedProfile:d,showAuthorBio:m=!0,showAuthorIdentity:v=!0,showSocialButtons:A=!0,stabilizeBio:b=!1,totalDealCount:h=0,website:g}){let p=Vu(r,o),y=g||"tomsguide",C=Gu[y]||y,R=Nr[y],T=r?.toLowerCase(),M=o?.toLowerCase(),w=t.find(Be=>T&&Be.articleauthorhandle?.some(Je=>Je?.toLowerCase()===T)||M&&Be.articleauthor?.some(Je=>Je?.toLowerCase()===M))||null,D=w?sf(w,r,o):0,k=d?.image||(w?c0(w,D):""),se=d?n==="short"?d.bioShort||"":d.bioLong||d.bioShort||"":w?_r(w,D,n):"",I=p?`Our team is dedicated to researching, reviewing and recommending the latest and best products in all the categories that matter to you. Below you can shop the latest ${h} ${u?"review ":""}recommendations from ${e} ${C} ${u?"editor tests":"editors"}.`:se||`Handpicked deals and recommendations curated by ${o||"our expert editorial team"}.`,j=d?.role||"",He=p?y0[y]||[]:d?.socialNetworks||[];!p&&w&&(j||(j=u0(w,D)),He.length===0&&(He=Uu(w,D)));let ze=d?.fullName||o||"Author Name",St=p?`site:${y}`:`author:${d?.handle||r||ze}`,Ie=A&&He.length>0,rn=!p&&!!j||Ie;return(0,E.jsxs)("div",{className:"tg-df-author-card",style:{textAlign:"center",padding:"1.75rem 1rem 0.25rem 1rem",margin:"0 auto",maxWidth:"48rem"},children:[v&&(p?(0,E.jsx)("div",{className:"tg-df-author-media-slot tg-df-author-image-container",style:{margin:"0 auto 0.75rem auto",textAlign:"center",minHeight:"180px",display:"flex",alignItems:"center",justifyContent:"center"},children:R?(0,E.jsx)("img",{src:R,alt:C,className:"tg-df-site-logo",style:{maxHeight:"150px",maxWidth:"520px",objectFit:"contain",margin:"0 auto",display:"block"}}):(0,E.jsx)("div",{style:{fontSize:"1.75rem",fontWeight:700,color:"#111827"},children:C})}):(0,E.jsx)("div",{className:"tg-df-author-media-slot",children:(0,E.jsxs)("div",{className:"tg-df-author-profile-image-wrapper",children:[k?(0,E.jsx)("img",{src:ri(k),alt:ze,className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",objectFit:"cover",display:"block"}}):(0,E.jsx)("div",{className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",background:"#e2e8f0",display:"block"}}),R?(0,E.jsx)("img",{src:R,alt:"",className:"tg-df-author-profile-brand-logo"}):null]})})),v&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(H0,{contentKey:`${St}:kicker`,defaultText:u?"Reviews shop by":"Shop by",kind:"kicker",onChange:s,value:l}),(0,E.jsx)(H0,{contentKey:`${St}:title`,defaultText:p?C:ze,kind:"title",onChange:f,value:i}),rn&&(0,E.jsxs)("div",{className:`tg-df-author-meta-slot${p?" tg-df-author-meta-slot--site":""}${Ie?"":" tg-df-author-meta-slot--no-social"}`,children:[!p&&j?(0,E.jsx)("div",{className:"tg-df-author-role",id:"tg-df-author-role-display",style:{fontSize:"0.9375rem",fontWeight:500,color:"var(--tg-df-blue, #1F69FF)",margin:"0 0 0.5rem 0",lineHeight:1.3},children:j}):null,Ie?(0,E.jsx)("div",{className:"tg-df-author-social-links",children:He.map(Be=>(0,E.jsx)("a",{href:Be.href,target:"_blank",rel:"noopener noreferrer",title:Be.label,"aria-label":Be.label,className:"tg-df-author-social-btn","data-social-key":Be.key.toLowerCase(),children:r2(Be.key)},Be.key))}):null]})]}),m&&(0,E.jsx)(i2,{contentKey:St,initialBio:a,defaultPlaceholder:I,onBioChange:c,stabilizeHeight:b})]})}var te=B(O(),1);function df(e){if(!e||typeof e!="object")return"";if(e.type==="voucher_code"&&e.display_value)return e.display_value;let t=Array.isArray(e)?e:Object.keys(e).filter(n=>Object.prototype.hasOwnProperty.call(e,n)).map(n=>e[n]);for(let n of t){let a=df(n);if(a)return a}return""}function o2({endTime:e}){if(!e)return null;let t=e;!isNaN(Number(t))&&String(t).length===10&&(t=Number(t)*1e3);let n=new Date(t),a=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"});return(0,te.jsxs)("span",{className:"tg-df-voucher-expiry",children:[(0,te.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginRight:"4px"},children:[(0,te.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,te.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"Expires ",a.format(n)]})}function G0({error:e,loading:t,merchant:n,onClose:a,vouchers:l}){return(0,te.jsx)("div",{className:`tg-df-modal-backdrop ${n?"active":""}`,onClick:i=>{i.target===i.currentTarget&&a()},children:(0,te.jsxs)("div",{className:"tg-df-modal",children:[(0,te.jsxs)("div",{className:"tg-df-modal-header",children:[(0,te.jsx)("h3",{className:"tg-df-modal-title",children:n?`${n} Coupons & Deals`:"Available Coupons & Deals"}),(0,te.jsx)("button",{className:"tg-df-modal-close",onClick:a,children:(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,te.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,te.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),(0,te.jsx)("div",{className:"tg-df-modal-body",children:t?(0,te.jsx)("div",{className:"tg-df-message",children:(0,te.jsx)("div",{className:"tg-df-coupon-spinner",style:{width:"24px",height:"24px",borderColor:"#ccc",borderTopColor:"#3b82f6"}})}):e?(0,te.jsx)("div",{className:"tg-df-message",children:"Failed to load vouchers."}):l.length===0?(0,te.jsxs)("div",{className:"tg-df-message",children:["No active vouchers found for ",n,"."]}):l.map((i,r)=>{let o=i.offer?.name||i.offer?.title||i.name||i.title||i.model_name||"Voucher",u=i.offer?.link||i.offer?.url||i.link||i.url||"#",c=i.merchant,s=Array.isArray(c)?c[0]?.logo_url||"":c?.logo_url||"",f=df(i.offer)||df(i)||i.offer?.voucher_code||i.voucher_code||"",d=i.offer?.end_time||i.end_time||"";return(0,te.jsxs)("a",{href:u,target:"_blank",rel:"noopener nofollow",className:"tg-df-voucher-item",children:[s?(0,te.jsx)("img",{src:s,alt:"Logo",className:"tg-df-voucher-logo"}):(0,te.jsx)("div",{className:"tg-df-voucher-logo",style:{background:"#e2e8f0"}}),(0,te.jsxs)("div",{className:"tg-df-voucher-content",children:[(0,te.jsx)("h4",{className:"tg-df-voucher-title",children:o}),(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginTop:"8px"},children:[f&&(0,te.jsxs)("span",{className:"tg-df-voucher-code",title:"Copy to clipboard",onClick:m=>{m.preventDefault(),m.stopPropagation();let v=m.currentTarget;navigator.clipboard.writeText(f).then(()=>{v.classList.add("copied");let A=v.querySelector(".tg-df-voucher-code-text"),b=v.querySelector(".tg-df-voucher-copy-icon"),h=A.innerText,g=b.innerHTML;A.innerText="Copied!",b.innerHTML='<polyline points="20 6 9 17 4 12"><\/polyline>',setTimeout(()=>{v.classList.remove("copied"),A&&(A.innerText=h),b&&(b.innerHTML=g)},2e3)})},children:[(0,te.jsx)("span",{className:"tg-df-voucher-code-text",children:f}),(0,te.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:"6px",flexShrink:0},className:"tg-df-voucher-copy-icon",children:[(0,te.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,te.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})]}),d&&(0,te.jsx)(o2,{endTime:d})]})]})]},r)})})]})})}var N=B(ft(),1);function ci(e){if(!e||!e.articlepage)return[];try{let t=e.articlepage;if(!Array.isArray(t))return typeof t=="string"?JSON.parse(t):t;if(t.length===0)return[];let n=t[0];return typeof n=="string"?JSON.parse(n):Array.isArray(n)?n:n&&typeof n=="object"&&"type"in n?t:n}catch{return[]}}function si(e,t=!1,{includeCollections:n=!0,includeDeals:a=!0}={}){let l=t?e.filter(r=>r.type==="buying-guide"):[];if(l.length>0)return l;let i=e.filter(r=>r.type==="deal"||r.type==="featured-product");return a&&!n&&!t?i.filter(r=>r.type==="deal"):i}function di(e,t){if(!t||t.length===0)return!0;let n=e&&(e.brand||e.retailer)||"";if(!n)return!1;let a=n.replace(/^\d+\.\s*/,"").trim().toLowerCase();return t.some(l=>{let i=l.trim().toLowerCase();return a===i||a.startsWith(`${i} `)||a.includes(i)||i.includes(a)})}function wt(e){return!e||e==="auto"?"US":e}function an(e){return e==="GB"||e==="UK"?"GBP":e==="AU"?"AUD":e==="CA"?"CAD":["DE","FR","IT","ES","NL"].includes(e)?"EUR":"USD"}function P0(e,t){if(e.isBuyingGuideProduct||e.isReviewProduct)return!0;if(t==="unavailable")return!1;let n=String(e.isoCurrency||e.currency||"").trim().toUpperCase();return({$:"USD",A$:"AUD",CA$:"CAD","\xA3":"GBP","\u20AC":"EUR"}[n]||n)===an(t)}function fi(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=a?n.currency||(n.price&&typeof n.price=="object"?n.price.currency:""):l.currency||(typeof l=="string"?l:"")||n.currency||"";!i&&n.variants&&n.variants.length>0&&(i=n.variants[0].currency||"");let r="$",o="USD",u=(i||"").toString().toUpperCase().trim();return u==="GBP"||u==="\xA3"||u.includes("POUND")||u.includes("163")?(r="\xA3",o="GBP"):u==="EUR"||u==="\u20AC"||u.includes("EURO")||u.includes("8364")?(r="\u20AC",o="EUR"):u==="AUD"||u==="A$"?(r="A$",o="AUD"):u==="CAD"||u==="CA$"?(r="CA$",o="CAD"):u==="USD"||u==="$"||u.includes("DOLLAR")||u.includes("36")?(r="$",o="USD"):(o=an(t),o==="GBP"?r="\xA3":o==="AUD"?r="A$":o==="CAD"?r="CA$":o==="EUR"&&(r="\u20AC")),{isoCurr:o,currencyStr:r}}function Ku(e){let t=e.data||{},n=e.type==="featured-product",a=t.price||{},l=0,i=0;return n?(l=typeof a=="number"?a:a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):t.msrp?parseFloat(t.msrp):0):(l=a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):0),{rawPrice:l,rawMsrp:i}}function Sa(e,t){if(!t||t==="all"||e<=0)return!0;if(t==="under50"&&e>=50||t==="over50"&&e<=50||t==="over30"&&e<=30||t==="over500"&&e<=500)return!1;if(t.includes("_")){let[n,a]=t.split("_").map(Number);if(n&&e<n||a&&e>a)return!1}return!0}function Ca(e,t,n){if(!n||n==="0"||n==="all")return!0;let a=parseInt(n);return!(!isNaN(a)&&a>0&&(!t||t<=e||Math.round((1-e/t)*100)<a))}var Zu=[0,50,100,150,200,250,300,350,400,450],ff={parameter:"articleControlTag",value:"type_buying_guide"},u2={includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"}]},c2={pcgamer:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["deals","type_deal","channel_gaming_hardware"]}],buyingGuideScopes:[ff]},homesandgardens:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"sig-product-collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"van-hawk-collection-widget",inventoryKind:"collections"},{parameter:"articleControlTag",value:"shopping",requiredArticleType:"news",inventoryKind:"collections"},{parameter:"articleType",value:"deals",inventoryKind:"deals"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["shopping","type_deal"],inventoryKind:"deals"}],buyingGuideScopes:[{parameter:"articleType",value:"buying guide"},ff]},whowhatwear:{includeAllContent:!0,pageStarts:Zu,scopes:[{}]}};function Wu(e,{includeBuyingGuideProducts:t=!1,includeCollections:n=!0,includeDeals:a=!0}={}){let l=c2[e]||u2;if(l.includeAllContent)return l;let i=l.scopes.filter(r=>r.inventoryKind==="collections"?n:r.inventoryKind==="deals"?a:r.value==="sig-product-collection"?n:a);return t?{...l,scopes:[...i,...l.buyingGuideScopes||[ff]]}:{...l,scopes:i}}function gf(e){if(Array.isArray(e))return e;let t=e.data;return t&&Array.isArray(t)?t:[]}function q0(e){let t=new Set;return e.filter(n=>{let a=n.id||n.articleid||n.url;return!a||t.has(a)?!1:(t.add(a),!0)})}function Zt(e){return typeof e.articletype=="string"?e.articletype.toLowerCase():Array.isArray(e.articletype)&&e.articletype.length>0?e.articletype[0].toLowerCase():""}function Hr(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]/g,"")}function mf(e){return[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]].map(Hr)}function s2(e){return Zt(e)==="review"&&mf(e).some(t=>t.includes("channelgaminghardware"))}function F0(e,t,n){let a=Zt(e),l=mf(e),i=c=>l.some(s=>s.includes(c)),r=a==="news"&&i("shopping")&&i("deal")&&i("typedeal"),o=a==="deals"||r,u=a==="collection"||i("sigproductcollection")||i("vanhawkcollectionwidget")||a==="news"&&i("shopping")&&!r||a==="idea"&&i("shopping")&&(i("sigproductcollection")||i("vanhawkcollectionwidget"));return t&&o||n&&u}function el(e,t=!0,n=!0,a){if(a==="homesandgardens")return F0(e,t,n);let l=Zt(e),i=mf(e),r=l==="deals"||i.some(u=>u.includes("typedeal")),o=i.some(u=>u.includes("sigproductcollection"));return t&&r||n&&o}function j0(e,t,n=!1,a=!1,l=!0,i=!0){if(a&&Zt(e)==="review")return t!=="pcgamer"||s2(e);if(t==="homesandgardens")return Zt(e)==="buying guide"?n:F0(e,i,l);let r=Wu(t,{includeBuyingGuideProducts:n,includeCollections:l,includeDeals:i});if(r.includeAllContent)return i&&l?!0:n||el(e,i,l);let o=Zt(e),u=[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]],c=f=>!f.requiredArticleType||o===f.requiredArticleType.toLowerCase(),s=f=>!f.requiredControlTags||f.requiredControlTags.every(d=>u.some(m=>typeof m=="string"&&Hr(m).includes(Hr(d))));return r.scopes.some(f=>!c(f)||!s(f)?!1:f.parameter==="articleType"?o===f.value.toLowerCase():f.parameter==="articleControlTag"?u.some(d=>typeof d=="string"&&Hr(d).includes(Hr(f.value))):!1)}function hf(e,t){let n=e.map(a=>({...a}));return t.filter(a=>(a.isBuyingGuideProduct||a.isReviewProduct)&&a.brand).forEach(a=>{let l=String(a.brand).trim();if(!l)return;let i=n.find(r=>r.formatted_value.toLowerCase()===l.toLowerCase());i?i.count++:n.push({formatted_value:l,count:1})}),n.sort((a,l)=>l.count-a.count)}function Iu(e,t){let n={};return e.forEach(a=>{if(!a.articlepage)return;let l=ci(a),i=si(l,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});(t.includeDeals===!1||t.includeCollections===!1)&&!i.some(r=>r.type==="buying-guide")&&!el(a,t.includeDeals,t.includeCollections,t.website)||i.forEach(r=>{if(fi(r,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:o,rawMsrp:u}=Ku(r);if(!Sa(o,t.priceRange)||!Ca(o,u,t.discountAmount))return;let c=r.data||{},s=c.brand||c.retailer;if(!s)return;let f=s.replace(/^\d+\.\s*/,"").trim(),d=f.toLowerCase(),m=Object.keys(n).find(v=>v.toLowerCase()===d);m?n[m]++:(f===f.toLowerCase()&&(f=f.replace(/\b\w/g,v=>v.toUpperCase())),n[f]=1)})}),Object.keys(n).map(a=>({formatted_value:a,count:n[a]})).sort((a,l)=>l.count-a.count)}function d2(e){return String(e||"").trim().toLowerCase()}function Ju(e){return(Array.isArray(e)?e:[e]).map(d2).filter(Boolean)}function pf(e){let t=Ju(e.articletype),n=[...Ju(e.articlecontroltag),...Ju(e.articletagtypetaghandle)];return t.includes("deals")||n.some(a=>a.replace(/[\s-]+/g,"_")==="type_deal")}function V0(e){let t=Array.isArray(e)?e[0]:e,n=new Date(String(t||"")).getTime();return Number.isFinite(n)?n:null}function f2(e){for(let t of[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]){let n=V0(t);if(n!==null)return n}return null}function g2(e){for(let t of[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]){let n=V0(t);if(n!==null)return n}return null}function Y0(e){return Ju(e.articletype).includes("review")}function yf(e,t=new Date,n=0){let a=pf(e)?1:Y0(e)?36:n;if(a<=0)return!0;let l=Y0(e)?g2(e):f2(e);if(l===null)return!0;let i=new Date(t);return i.setMonth(i.getMonth()-a),l>=i.getTime()}function tl(e,t,n=0){return e.filter(a=>yf(a,t,n))}var m2=15;function Q0(e){return Array.isArray(e.articlemedia)?e.articlemedia[0]:""}function zr(e){return Array.isArray(e.documenturl)?e.documenturl[0]:e.documenturl||""}function h2(e){return kt(String(e||"").replace(/^\d+\.\s*/,"").trim())}function tt(e){return Array.isArray(e)?e.map(tt).find(Boolean)||"":typeof e=="string"||typeof e=="number"?String(e).trim():""}function vf(e,t=!1){return(t?[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]:[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]).map(tt).find(Boolean)||""}function p2(e,t,n){let a=tt(e).match(/^\s*(\d+)\s*[.)]\s*/)?.[1];return a||[t.rank,t.position,t.number,t.productNumber,t.product_number].map(tt).map(i=>i.match(/^\s*(\d+)\s*$/)?.[1]||"").find(Boolean)||String(n+1)}function y2(e){let t=tt(e);try{t=new URL(t).pathname}catch{}return t=t.split(/[?#]/)[0].split("/").filter(Boolean).at(-1)||"",t.split(/[-_]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function v2(e){return tt(e.documenthandle)||tt(e.document_handle)||zr(e)||tt(e.documentname)||tt(e.documentnametext)}function b2(e,t){if(!t)return"";let n=t.length>m2?"Ranked":t;return`#${e} ${n}`}function A2(e){if(typeof e=="object"&&e)return String(e["data-model-name"]||"");try{return String(JSON.parse(String(e||""))["data-model-name"]||"")}catch{return""}}function w2(e){let t=e.brand||e.productBrand||e.manufacturer||e.maker||"";return typeof t=="string"?kt(t.replace(/^\d+\.\s*/,"").trim()):""}function S2(e){let t=e.price&&typeof e.price=="object"?e.price:{},n=Number(t.salePrice||t.price||e.salePrice||e.current_price||(typeof e.price=="number"?e.price:0)),a=Number(t.wasPrice||t.msrp||e.was_price||e.msrp||0),l=e.url||e.link?.url||e.link?.href||"";return{currency:t.currency||e.currency||"",rawMsrp:Number.isFinite(a)?a:0,rawPrice:Number.isFinite(n)?n:0,url:l}}function bf(e){let t=e?.review||{},n=t.rating??t.starRating??t.score??e?.rating??e?.starRating??e?.score,a=Number(n);if(!Number.isFinite(a)||a<=0)return null;let l=a>5?a/20:a;return Math.min(l,5)}function K0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,imageUrl:i}){let r=t.data||{},o=r.review||{},u=h2(r.title),c=p2(r.title,r,a),s=y2(v2(e)),f=zr(e),d=S2(r),m=!!d.url,v=m?d.url:o.url||f,A=i||Q0(e);return{id:`airedale-buying-guide-${n}-${a}`,url:v,image:A,fallbackImage:A,title:u,brand:w2(r),productName:u,merchant:"",rawPrice:d.rawPrice,rawMsrp:d.rawMsrp,price:d.rawPrice>0?String(d.rawPrice):"",msrp:d.rawMsrp>0?String(d.rawMsrp):"",currency:d.currency,isoCurrency:"",isCheckPrice:d.rawPrice<=0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf(r),description:"",text:"",subtitle:kt(r.subtitle||""),pros:Array.isArray(r.pros)?r.pros:[],cons:Array.isArray(r.cons)?r.cons:[],...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:!1,isBuyingGuideProduct:!0,buyingGuideBadge:b2(c,s),hawkModelName:A2(r.hawk),hasCommerceOffer:m,sourceArticleUrl:f}}function C2(e){return gi(e)||tt(e.documentnametext)||tt(e.documentname)}function $u(e){if(Array.isArray(e))return e.map($u).find(Boolean)||"";if(e&&typeof e=="object"){let n=e,a=tt(n["data-widget-type"]||n.dataWidgetType||n.widgetType).toLowerCase(),l=tt(n["data-model-name"]||n.dataModelName||n.modelName);return a==="review"&&l?l:Object.values(n).map($u).find(Boolean)||""}if(typeof e!="string")return"";let t=[e,e.replace(/\\"/g,'"').replace(/\\u0022/gi,'"')];for(let n of t){try{let l=$u(JSON.parse(n));if(l)return l}catch{}let a=n.match(/["']data-widget-type["']\s*:\s*["']review["'][\s\S]{0,1500}?["']data-model-name["']\s*:\s*["']([^"']+)["']/i);if(a?.[1])return a[1].trim()}return""}function gi(e){let t=tt(e.articlehawkmodels);if(t)return t;for(let n of[e.articlepage,e.articlebodypageblock,e.articlepageblock,e.fepjson,e.articlebodyclean]){let a=$u(n);if(a)return a}return""}function X0(e){return(Array.isArray(e)?e:[e]).map(t=>kt(tt(t))).filter(Boolean)}function Z0({article:e,articleIdentity:t,authorProfile:n}){let a=kt(gi(e)),l=kt(C2(e)),i=zr(e),r=Q0(e),o=kt(tt(e.productverdict));return{id:`airedale-review-${t}`,url:i,image:r,fallbackImage:r,title:l,brand:"",productName:l,merchant:"",rawPrice:0,rawMsrp:0,price:"",msrp:"",currency:"",isoCurrency:"",isCheckPrice:!0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf({rating:e.productrating}),description:o,text:o,...n,documentUrl:i,modifiedDate:vf(e,!0),isFeatured:!1,isReviewProduct:!0,hawkModelName:a||l,hasCommerceOffer:!1,sourceArticleUrl:i,pros:X0(e.productpros),cons:X0(e.productcons)}}function kt(e){return typeof e=="string"?ee(e):e}function W0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,currencyString:i,isoCurrency:r,presentation:o,pricing:u}){let c=t.data||{},{isFeatured:s,externalUrl:f,summaryTitle:d,description:m,imageUrl:v,merchantName:A}=o,{rawPrice:b,rawMsrp:h,savingLabel:g}=u;return{id:`airedale-${n}-${a}`,url:f,image:v,fallbackImage:v,title:kt(d),brand:kt(c.brand||""),productName:kt(c.productName||""),merchant:kt(A),rawPrice:b,rawMsrp:h,price:b>0?b.toString():"",msrp:h>0?h.toString():"",currency:i,isoCurrency:r,isCheckPrice:!b,savingLabel:g,savingType:h>b?"amount":"none",isPrime:!1,starRating:bf(c),description:kt(m),text:kt(c.text||""),...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:s,hasCommerceOffer:!!f}}function I0(e,t){let n=t.data||{},a=t.type==="featured-product",l=n.link||{},i=n.image||{};n.brand&&(n.brand=n.brand.replace(/^\d+\.\s*/,"").trim());let r=a?n.url:l.href||null,o=a?n.name||n.brand:n.productName||l.label||(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),u=a?n.strapline||"":n.text||"";if(!a&&!n.productName&&n.text){let f=n.text.split(/<br\s*\/?>/i);if(f.length>1)o=f[0].replace(/<[^>]+>/g,"").trim(),u=f.slice(1).join(" ").replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();else{let d=n.text.match(/<strong>(.*?)<\/strong>/);d&&(o=d[1].replace(/<[^>]+>/g,"").trim(),o.endsWith(":")&&(o=o.slice(0,-1)))}}let c=a?i.mos:i.src||null;c?.startsWith("//")&&(c=`https:${c}`),u=u.replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").replace(/View Deal$/i,"").trim();let s=n.retailer||"";if(!s&&r)try{s=new URL(r).hostname.replace("www.","").split(".")[0],s=s.charAt(0).toUpperCase()+s.slice(1)}catch{}return s||(s="Retailer"),{isFeatured:a,externalUrl:r,summaryTitle:o,description:u,imageUrl:c,merchantName:s}}function J0(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=0,r=0;a?(i=typeof n.salePrice=="number"&&n.salePrice>0?n.salePrice:typeof n.price=="number"?n.price:0,r=typeof n.salePrice=="number"&&typeof n.price=="number"&&n.price>n.salePrice?n.price:0):(i=l.amount?parseFloat(l.amount):0,r=l.amountWas?parseFloat(l.amountWas):0);let o=0,u="";return i>0&&r>i&&(o=parseFloat((r-i).toFixed(2)),u=`Save ${t}${o}`),{rawPrice:i,rawMsrp:r,savingLabel:u}}function R2(e,t){let n=e.indexOf(t);if(n<1)return"";let a=e[n-1]?.data||{},i=a.slides?.[0]?.image||a.image||a;return i?.src||i?.mos||""}function Ur(e,{activeRegionCode:t,targetIso:n,selectedBrands:a,priceRange:l,discountAmount:i,authorHandle:r,authorName:o,createFallbackIdentity:u=Math.random,includeBuyingGuideProducts:c=!1,includeCollections:s=!0,includeDeals:f=!0,includeReviewProducts:d=!1,website:m}){let v=[],A=new Set;return e.forEach(b=>{if(d&&Zt(b)==="review"){v.push(Z0({article:b,articleIdentity:b.id||u(),authorProfile:Qu(b,r,o)}));return}if(!b.articlepage)return;let h=ci(b),g=si(h,c,{includeCollections:s,includeDeals:f});(f===!1||s===!1)&&!g.some(p=>p.type==="buying-guide")&&!el(b,f,s,m)||g.forEach((p,y)=>{if(p.type==="buying-guide"){v.push(K0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),imageUrl:R2(h,p)}));return}let{isoCurr:C,currencyStr:R}=fi(p,t);if(C!==n)return;let T=p.data||{},M=I0(b,p),{externalUrl:w}=M,D=J0(p,R),{rawPrice:k,rawMsrp:se}=D;if(!(a&&a.length>0&&!di(T,a))&&Sa(k,l)&&Ca(k,se,i)){if(w){if(A.has(w))return;A.add(w)}v.push(W0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),currencyString:R,isoCurrency:C,presentation:M,pricing:D}))}})}),v}function mi(e,t){return Ur(e,{...t,selectedBrands:[],priceRange:"all",discountAmount:"0"})}function $0(e,t){return Ur(e,t)}function Gr(e){return(Array.isArray(e)?e:[e]).filter(n=>typeof n=="string").map(n=>n.trim())}function ec(e){return e?.trim().toLowerCase()==="freeform"}function Af(e){return!!e&&!/[^\p{L}\p{N}\s]/u.test(e)}function wf(e){let t=Gr(e.articletag),n=Gr(e.articletaghandle),a=Gr(e.articletagtype),l=new Map;t.forEach((o,u)=>{let c=n[u];!ec(a[u])||!c||!Af(o)||l.set(c.toLowerCase(),{handle:c,label:o,requestValue:o})});let i=Gr(e.articletagtypetag),r=Gr(e.articletagtypetaghandle);return i.forEach((o,u)=>{let[c,...s]=o.split("|"),[f,...d]=(r[u]||"").split("|"),m=s.join("|").trim(),v=d.join("|").trim();!ec(c)||!ec(f)||!v||!Af(m)||l.has(v.toLowerCase())||l.set(v.toLowerCase(),{handle:v,label:m,requestValue:m})}),r.forEach(o=>{let[u,...c]=o.split("|"),s=c.join("|").trim();!ec(u)||!s||!Af(s)||l.has(s.toLowerCase())||l.set(s.toLowerCase(),{handle:s,label:s})}),[...l.values()]}function ev(e,t){if(t)return e.find(n=>n.handle.toLowerCase()===t.toLowerCase())?.requestValue}function hi(e,t){let n=(Array.isArray(t)?t:[t]).filter(a=>typeof a=="string").map(a=>a.trim().toLowerCase()).filter(Boolean);return n.length===0?e:e.filter(a=>wf(a).some(l=>n.includes(l.handle.toLowerCase())))}function T2(e){let t=new Map;return Array.isArray(e.articlecategory)?(e.articlecategory.forEach(n=>{if(typeof n!="string")return;let a=n.trim();a===a.toLowerCase()&&(a=a.replace(/\b\w/g,l=>l.toUpperCase())),a&&!t.has(a.toLowerCase())&&t.set(a.toLowerCase(),{handle:a,label:a})}),[...t.values()]):[]}function tv(e,t,n){let a={},l={},i={};e.forEach(u=>{let c=[];if(t.includeReviewProducts&&Zt(u)==="review"&&c.push(u.id||u.documenturl||u.documenthandle||""),u.articlepage)try{let s=ci(u),f=si(s,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});if((t.includeDeals===!1||t.includeCollections===!1)&&!f.some(d=>d.type==="buying-guide")&&!el(u,t.includeDeals,t.includeCollections,t.website))return;f.forEach(d=>{if(d.type==="buying-guide"){c.push(d.id||JSON.stringify(d.data||{}));return}if(fi(d,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:m,rawMsrp:v}=Ku(d);if(!Sa(m,t.priceRange)||!Ca(m,v,t.discountAmount))return;let A=d.data||{};if(t.selectedBrands&&t.selectedBrands.length>0&&!di(A,t.selectedBrands))return;let h=d.type==="featured-product"?A.primaryLink:A.link,g=A.url||A.link&&A.link.url||h&&h.url;c.push(g||JSON.stringify(A))})}catch{}c.length!==0&&n(u).forEach(s=>{let f=s.handle.toLowerCase(),d=Object.keys(a).find(m=>m.toLowerCase()===f);d||(d=s.handle,a[d]=new Set,l[d]=s.label,i[d]=s.requestValue),c.forEach(m=>a[d].add(m))})});let r={};return Object.keys(a).forEach(u=>{r[u]=a[u].size}),{tags:Object.keys(r).map(u=>({handle:u,label:l[u]||u,requestValue:i[u]})).sort((u,c)=>r[c.handle]-r[u.handle]),tagCounts:r}}function tc(e,t){let{tags:n,tagCounts:a}=tv(e,t,T2);return{tags:n.map(l=>l.label),tagCounts:a}}function nc(e,t){let{tags:n,tagCounts:a}=tv(e,t,wf);return{tags:n,tagCounts:a}}function E2(e,t){return e.documentUrl||e.sourceArticleUrl||e.articleId||`deal-${t}`}function yn(e,t,n){if(t!=="mix"||n!=="date_desc")return e;let a=new Map;e.forEach((o,u)=>{let c=E2(o,u),s=a.get(c)||[];s.push(o),a.set(c,s)});let l=[],i=0,r=!0;for(;r;)r=!1,a.forEach(o=>{let u=o[i];u&&(l.push(u),r=!0)}),i+=1;return l}var nv="compact-v1",D2={brand:"",currency:"",hasCommerceOffer:!1,isoCurrency:"",isCheckPrice:!0,isFeatured:!1,isPrime:!1,merchant:"",merchantId:"",msrp:"",price:"",rawMsrp:0,rawPrice:0,savingLabel:"",savingType:"none"},x2={hasCommerceOffer:!0,hawkPricePending:!1,rawMsrp:0,rawPrice:0};function av(e){return e.map(t=>{if(!t.isReviewProduct)return t;let n=String(t.sourceArticleUrl||t.documentUrl||t.url||""),a=t.fallbackImage??t.image??"",l={...D2,...t,fallbackImage:a,image:t.image??a,sourceArticleUrl:n,documentUrl:t.documentUrl??n,url:t.url??n,title:t.title??t.productName??"",text:t.text??t.description??"",hawkPricePending:t.hawkPricePending??!!t.hawkModelName,pros:t.pros??[],cons:t.cons??[]};return t.hawkRegionalCommerce&&(l.hawkRegionalCommerce=Object.fromEntries(Object.entries(t.hawkRegionalCommerce).map(([i,r])=>{let o=r,u=o.productName??l.productName,c=o.rawPrice??0,s=o.rawMsrp??0;return[i,{...x2,...o,fallbackImage:o.fallbackImage??a,image:o.image??a,productName:u,title:o.title??u??l.title,price:o.price??(c?String(c):""),msrp:o.msrp??(s?String(s):"")}]}))),l})}function ac(e,t,n=100){let a=new Set(e.slice(0,t).map((i,r)=>i.id||`visible-${r}`)),l=e.slice(0,t).filter(i=>i.isReviewProduct).length;return e.filter((i,r)=>{let o=i.id||`visible-${r}`;return a.has(o)?!0:i.isReviewProduct?(l+=1,l<=n):!1})}function lv(e,t){let n=new Map(t.map((a,l)=>[a.id||`enriched-${l}`,a]));return e.map((a,l)=>n.get(a.id||`enriched-${l}`)||a)}var M2=new Set(["deal","featured-product","gallery","buying-guide","text","section"]);function lc(e){return!!e&&typeof e=="object"}function iv(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function rv(e){try{let t=iv(e);if(!Array.isArray(t)||!t[0])return;let n=t[0],a=typeof n=="string"?iv(n):Array.isArray(n)?n:lc(n)&&"type"in n?t:n;if(!Array.isArray(a))return;let l=a.filter(i=>lc(i)&&M2.has(i.type)).map(i=>i.type==="text"&&i.data?{type:"text",data:{paragraphs:Array.isArray(i.data.paragraphs)?i.data.paragraphs.slice(0,3):void 0,text:typeof i.data.text=="string"?i.data.text.slice(0,500):void 0}}:i.type==="section"&&i.data?{type:"section",data:{text:i.data.text,heading:i.data.heading,title:i.data.title}}:i);return l.length>0?[JSON.stringify(l)]:void 0}catch{return}}function ov(e){if(!Array.isArray(e))return[];let t=!1;return e.map(n=>{if(!lc(n))return n;let a=n.articlepage?rv(n.articlepage):void 0,l=!!(n.articleauthormedia||n.articleauthorrole),i=!!(!t&&(n.articleauthorbio||n.articleauthorlongbio||n.articleauthorsocialnetworks));return i&&(t=!0),{id:n.id,articlename:n.articlename,documentname:n.documentname,documentnametext:n.documentnametext,documenthandle:n.documenthandle,articlecategory:n.articlecategory,articletag:n.articletag,articletaghandle:n.articletaghandle,articletagtype:n.articletagtype,articletagtypetag:n.articletagtypetag,articletagtypetaghandle:n.articletagtypetaghandle,articlecontroltag:n.articlecontroltag,articletype:n.articletype,articleauthor:n.articleauthor,articleauthorhandle:n.articleauthorhandle,articleauthortext:n.articleauthortext,...l?{articleauthorrole:n.articleauthorrole,articleauthormedia:n.articleauthormedia}:{},articlestrapline:n.articlestrapline,articlesocialtitle:n.articlesocialtitle,documenturl:n.documenturl,articlemedia:n.articlemedia,articlehawkmodels:n.articlehawkmodels,productrating:n.productrating,productpros:n.productpros,productcons:n.productcons,productverdict:n.productverdict,contentmodifieddate:n.contentmodifieddate,modifieddate:n.modifieddate,createddate:n.createddate,datepublished:n.datepublished,publisheddate:n.publisheddate,...i?{articleauthorbio:n.articleauthorbio,articleauthorlongbio:n.articleauthorlongbio,articleauthorsocialnetworks:n.articleauthorsocialnetworks}:{},...a?{articlepage:a}:{}}})}function uv(e){return Array.isArray(e)?e.map(t=>{if(!lc(t))return t;let n=t.articlepage?rv(t.articlepage):void 0;return{id:t.id,articleid:t.articleid,articlename:t.articlename,documentname:t.documentname,documentnametext:t.documentnametext,documenthandle:t.documenthandle,articleauthor:t.articleauthor,articleauthorhandle:t.articleauthorhandle,articleauthortext:t.articleauthortext,articleauthorrole:t.articleauthorrole,articleauthormedia:t.articleauthormedia,articleauthorbio:t.articleauthorbio,articleauthorlongbio:t.articleauthorlongbio,articleauthorsocialnetworks:t.articleauthorsocialnetworks,articlecategory:t.articlecategory,articletag:t.articletag,articletaghandle:t.articletaghandle,articletagtype:t.articletagtype,articletagtypetag:t.articletagtypetag,articletagtypetaghandle:t.articletagtypetaghandle,articletype:t.articletype,articlestrapline:t.articlestrapline,articlesocialtitle:t.articlesocialtitle,documenturl:t.documenturl,articlemedia:t.articlemedia,articlehawkmodels:t.articlehawkmodels,productrating:t.productrating,productpros:t.productpros,productcons:t.productcons,productverdict:t.productverdict,url:t.url,contentmodifieddate:t.contentmodifieddate,modifieddate:t.modifieddate,createddate:t.createddate,datepublished:t.datepublished,publisheddate:t.publisheddate,content:t.content,dek:t.dek,image_thumbnail:t.image_thumbnail,intro:t.intro,paragraphs:t.paragraphs,strapline:t.strapline,subtitle:t.subtitle,title:t.title,...n?{articlepage:n}:{}}}):[]}function pi(e){if(!e?.modifiedDate)return 0;let t=Array.isArray(e.modifiedDate)?e.modifiedDate[0]:e.modifiedDate,n=new Date(t).getTime();return Number.isNaN(n)?0:n}function nl(e){return e?.hasCommerceOffer===!0?!0:e?.hasCommerceOffer===!1?!1:!!(!e?.isBuyingGuideProduct&&!e?.isReviewProduct&&e?.url)}function ln(e,t,n=!0){let a=!0;t==="date_desc"?e.sort((l,i)=>pi(i)-pi(l)):t==="price_asc"?e.sort((l,i)=>l.rawPrice-i.rawPrice):t==="price_desc"?e.sort((l,i)=>i.rawPrice-l.rawPrice):t==="discount_desc"?e.sort((l,i)=>{let r=l.rawMsrp>l.rawPrice?l.rawMsrp-l.rawPrice:0;return(i.rawMsrp>i.rawPrice?i.rawMsrp-i.rawPrice:0)-r}):t==="rating_desc"?e.sort((l,i)=>{let r=Number(l.starRating)||0;return(Number(i.starRating)||0)-r||pi(i)-pi(l)}):t==="scored_first"?e.sort((l,i)=>{let r=Number(l.starRating)>0?1:0;return(Number(i.starRating)>0?1:0)-r||pi(i)-pi(l)}):a=!1,a&&n&&e.sort((l,i)=>Number(nl(i))-Number(nl(l)))}function cv(e,t,n){let a=e;if(!a&&t){let l=n.find(i=>i.toLowerCase()===t?.toLowerCase());l&&(a=l)}return a}function Pr(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(a=>a.articlecategory&&Array.isArray(a.articlecategory)&&a.articlecategory.some(l=>{if(!l||typeof l!="string")return!1;let i=l.toLowerCase(),r=i.split(":::");return i===n||r[0]===n||i.includes(n)}))}function sv(e){let t=wt(e.region);return{activeRegionCode:t,targetIso:an(t)}}function al(e,t,{discountAmount:n,priceRange:a}={}){let l=!!(a&&a!=="all"),i=!!(n&&n!=="0"&&n!=="all");return!t?.length&&!l&&!i?e:e.filter(r=>!r.isBuyingGuideProduct&&!r.isReviewProduct?!0:t?.length&&!di({brand:r.brand},t)||l&&(!Number(r.rawPrice)||!Sa(Number(r.rawPrice),a))?!1:Ca(Number(r.rawPrice)||0,Number(r.rawMsrp)||0,n))}function _2(e,t){let n=e.articleauthorhandle||[],a=e.articleauthor||[],l=e.articleauthortext||[],i=new Set([t.handle.toLowerCase(),t.fullName.toLowerCase(),t.name.toLowerCase()]);return[...n,...a,...l].some(r=>i.has(String(r||"").toLowerCase()))}function Sf(e,t,n){let a=Object.fromEntries(e.map(l=>[l.handle,0]));return t.forEach(l=>{let i=mi([l],n).length;i!==0&&e.forEach(r=>{_2(l,r)&&(a[r.handle]+=i)})}),a}function Cf(e,t){let n=Xu(e,t.authorHandle,t.authorName),a=t.selectedArticleId?n.filter(A=>A.id===t.selectedArticleId):n,{activeRegionCode:l,targetIso:i}=sv(t),{tags:r,tagCounts:o}=tc(a,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),u=cv(t.activeDealTag,t.query,r),c=Pr(a,u),{tags:s,tagCounts:f}=nc(c,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),d=t.activeFreeformTags?.length?t.activeFreeformTags:t.activeFreeformTag?[t.activeFreeformTag]:[],m=d.flatMap(A=>{let b=s.find(h=>h.handle.toLowerCase()===A.toLowerCase());return b?[b.handle]:[]}),v=t.preserveFreeformTagSelection?d:m;return{activeDealTag:u,activeFreeformTag:v[0]||null,activeFreeformTags:v,activeRegionCode:l,authorArticles:n,freeformTagCounts:f,freeformTags:s,tagCounts:o,tags:r,targetArticles:hi(c,v),targetIso:i}}function ic(e,t,n,a){let l=Iu(e,{activeRegionCode:n,targetIso:a,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),i=Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(i,t.sort,t.prioritiseCommercialProducts);let r=yn(al(i,t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange}),t.productSelection,t.sort).map(o=>(o.isBuyingGuideProduct||o.isReviewProduct)&&o.hawkModelName?{...o,hawkPricePending:!0}:o);return{brands:l,displayedDeals:r,extractedDeals:i}}function dv(e,t){let{activeRegionCode:n,targetIso:a}=sv(t),l=Lr(e,t.website||"tomsguide"),i=e.filter(o=>mi([o],{activeRegionCode:n,targetIso:a,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}).length>0),r=al(Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange});return{authorCount:kr(l,i).length,deals:r}}function fv({allArticles:e,authorArticles:t,inventoryArticles:n,bakeReviewInventory:a,brands:l,couponMap:i,currentDealTag:r,currentFreeformTags:o,displayedDeals:u,options:c,resultCount:s,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}){let h=Lr(e,c.website||"tomsguide"),g=Sf(h,n,{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),selectedBrands:c.selectedBrands,priceRange:c.priceRange,discountAmount:c.discountAmount,includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}),p=kr(h,e.filter(C=>mi([C],{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}).length>0)),y=Number(s)||12;return{activeDealTag:r,activeFreeformTag:o[0]||null,activeFreeformTags:o,allDeals:a?ac(u,y):u,authorArticles:ov(t),authors:Yu(p,g),brands:l,couponMap:i,deals:u.slice(0,y),reviewInventoryBaked:a,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}}function B2(e){return e&&e.widget&&e.widget.data&&Array.isArray(e.widget.data.offers)?e.widget.data.offers:e&&e.data&&Array.isArray(e.data.offers)?e.data.offers:Array.isArray(e)?e:e&&Array.isArray(e.offers)?e.offers:e&&e.offers&&Array.isArray(e.offers.offer)?e.offers.offer:e&&Array.isArray(e.data)?e.data:[]}function gv(e,t,n){let a={...n},l=new Set;return B2(e).forEach(r=>{let o="";r.merchant_name?o=r.merchant_name:r.merchant&&r.merchant[0]&&r.merchant[0].name?o=r.merchant[0].name:r.merchant&&r.merchant.name?o=r.merchant.name:r.retailer&&(o=r.retailer),o&&l.add(o.toLowerCase())}),t.forEach(r=>{a[r]=l.has(r.toLowerCase())?"has":"none"}),a}function mv(e){let t=[];return e?.widget?.data?.offers?t=e.widget.data.offers:e?.data?.offers?t=e.data.offers:Array.isArray(e)?t=e:e?.offers?.offer?t=Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers&&(t=Array.isArray(e.offers)?e.offers:[e.offers]),t}async function hv({couponMap:e,couponUrl:t,fetcher:n=fetch,merchants:a}){if(!t)return e;try{let l=await n(t.toString());return gv(await l.json(),a,e)}catch{let l={...e};return a.forEach(i=>{l[i]="none"}),l}}function pv({enrichingBuyingGuides:e,error:t,loading:n,loadingMore:a,refreshingFeed:l}){return t?"error":a?"loading_more":n?"loading_inventory":l?"refreshing_inventory":e?"enriching_visible_cards":"ready"}function yv(e,t){let n=Xu(tl(e),t.authorHandle,t.authorName),a=wt(t.region),l=an(a),{tags:i,tagCounts:r}=tc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),o=Iu(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),{tags:u,tagCounts:c}=nc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),s=$0(n,{activeRegionCode:a,targetIso:l,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(s,t.sort,t.prioritiseCommercialProducts);let f=yn(s,t.productSelection,t.sort);return{authorArticles:n,brands:o,deals:f,tagCounts:r,tags:i,freeformTagCounts:c,freeformTags:u}}var N2="fc-author-commerce-widget",vn="airedale-feeds";var rc=null;function vv(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Rf(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function Tf(){return rc||(typeof window>"u"||typeof window.indexedDB>"u"?Promise.resolve(null):(rc=new Promise(e=>{let t=window.indexedDB.open(N2,14);t.onupgradeneeded=()=>{let n=t.result;n.objectStoreNames.contains(vn)||n.createObjectStore(vn,{keyPath:"key"})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),rc))}function bv({authorHandle:e,authorName:t,includeBuyingGuideProducts:n,includeCollections:a,includeDeals:l,includeReviewProducts:i,articleCategory:r,articleTag:o,pageStarts:u,reviewPageStarts:c,loadAllReviewPages:s,website:f}){return["v14",f||"tomsguide",e||"",t||"",n?"buying-guides":"",a===!1?"no-collections":"collections",l===!1?"no-deals":"deals",i?"reviews":"",r||"",o||"",u?.join(",")||"",c?.join(",")||"",s===!1?"review-pages-partial":""].map(d=>encodeURIComponent(d)).join("|")}async function O2(e){let t=await Tf();if(!t)return;let n=t.transaction(vn,"readwrite"),a=Rf(n);n.objectStore(vn).delete(e),await a}async function Av(e,t=Date.now()){try{let n=await Tf();if(!n)return null;let a=n.transaction(vn,"readonly"),l=await vv(a.objectStore(vn).get(e));if(!l||l.schemaVersion!==14||!Array.isArray(l.articles)||l.articles.length===0)return null;let i=Math.max(0,t-l.cachedAt);return i>864e5?(O2(e),null):{articles:l.articles,cachedAt:l.cachedAt,isFresh:i<=6e5}}catch{return null}}async function k2(e){let t=e.transaction(vn,"readwrite"),n=Rf(t),a=t.objectStore(vn);(await vv(a.getAll())).sort((i,r)=>r.cachedAt-i.cachedAt).slice(10).forEach(i=>a.delete(i.key)),await n}async function wv(e,t,n=Date.now()){if(t.length!==0)try{let a=await Tf();if(!a)return;let l=a.transaction(vn,"readwrite"),i=Rf(l);l.objectStore(vn).put({articles:t,cachedAt:n,key:e,schemaVersion:14}),await i,await k2(a)}catch{}}var Ef=[];var Mf=[],Df=0;function Sv(){for(;Df<4&&Mf.length>0;){let e=Mf.shift();if(!e)return;Df+=1,e.run().then(e.resolve,e.reject).finally(()=>{Df-=1,Sv()})}}function L2(e){return new Promise((t,n)=>{Mf.push({reject:n,resolve:t,run:e}),Sv()})}function xf(e){Ef.push(e),Ef.length>100&&Ef.shift()}async function oc(e,t,n=4){let a=new Array(e.length),l=0,i=Math.min(Math.max(1,n),e.length);return await Promise.all(Array.from({length:i},async()=>{for(;l<e.length;){let r=l;l+=1,a[r]=await t(e[r],r)}})),a}async function yi(e,t){return L2(async()=>{let n=t.fetcher||fetch,a=Date.now(),l=new AbortController,i=!1,r=()=>l.abort();if(t.signal?.aborted)return xf({durationMs:0,outcome:"aborted",source:t.source,startedAt:a}),{data:null,response:null};t.signal?.addEventListener("abort",r,{once:!0});let o=setTimeout(()=>{i=!0,l.abort()},8e3);try{let u=await n(e,{signal:l.signal}),c=u.ok?await u.json():null;return xf({durationMs:Date.now()-a,outcome:u.ok?"succeeded":"failed",source:t.source,startedAt:a}),{data:c,response:u}}catch{return xf({durationMs:Date.now()-a,outcome:i?"timed_out":t.signal?.aborted?"aborted":"failed",source:t.source,startedAt:a}),{data:null,response:null}}finally{clearTimeout(o),t.signal?.removeEventListener("abort",r)}})}var Bf="https://airedale.futurecdn.net/feeds/feed_1786707986217.json",H2="https://airedale.futurecdn.net/feeds/feed_1786702796175.json",z2="https://airedale.futurecdn.net/feeds/feed_1787582137748.json",U2=2,_f=new Map,Cv=new Map;function Rv(e){let t=new URL(e),n=String(t.searchParams.get("articleType")||"").trim().toLowerCase(),a=String(t.searchParams.get("articleControlTag")||"").replace(/[\s-]+/g,"_").toLowerCase();return n!=="deals"&&a!=="type_deal"?null:(t.searchParams.delete("start"),t.toString())}function G2(e){return!e.response?.ok||e.articles.length<50?!1:!e.articles.some(t=>pf(t)&&!yf(t))}function P2(e){return!e.parameter||!e.value?"":`&${e.parameter}=${encodeURIComponent(e.value)}`}function q2(e,t="",n=!1,a,l,{includeCollections:i=!0,includeDeals:r=!0}={},o){let u=Wu(e,{includeBuyingGuideProducts:n,includeCollections:i,includeDeals:r}),c=a?`&articleCategory=${encodeURIComponent(a)}`:"",s=o?`&articleTag=${encodeURIComponent(o)}`:"";return u.scopes.flatMap(f=>(l||u.pageStarts).map(d=>`${Bf}?site=${e}&limit=${50}&start=${d}${P2(f)}${t}${c}${s}`))}function Tv(e,t="",n,a=0,l){let i=e==="pcgamer"?"&articleControlTag=channel_gaming_hardware":"",r=n?`&articleCategory=${encodeURIComponent(n)}`:"",o=l?`&articleTag=${encodeURIComponent(l)}`:"";return`${H2}?site=${encodeURIComponent(e)}&articleType=review&limit=${50}&start=${a}${i}${t}${r}${o}`}function F2(e,t){return t!=="pcgamer"?e:e.map(n=>{let a=Array.isArray(n.articlecontroltag)?n.articlecontroltag:[];return a.some(l=>String(l).replace(/[^a-z0-9]/gi,"").toLowerCase()==="channelgaminghardware")?n:{...n,articlecontroltag:[...a,"channel_gaming_hardware"]}})}function j2(e,t){return`${z2}?site=${encodeURIComponent(e)}&documentHandle=${encodeURIComponent(t)}&limit=1`}async function Y2(e,t){let n=`${e}|${t}`,a=Cv.get(n);if(a)return a;let l=yi(j2(e,t),{source:"review-model-resolver"}).then(({data:i})=>i?gf(i)[0]:null).then(i=>i?gi(i):"").catch(()=>"");return Cv.set(n,l),l}async function Nf(e,t,n,a="date_desc"){let l=o=>{let u=[o.datepublished,o.publisheddate,o.createddate,o.contentmodifieddate,o.modifieddate].find(s=>s!=null&&String(s).trim()),c=new Date(Array.isArray(u)?u[0]:u).getTime();return Number.isFinite(c)?c:0},i=o=>{let u=Array.isArray(o.productrating)?o.productrating[0]:o.productrating;return Number(u)||0},r=e.filter(o=>Zt(o)==="review"&&!gi(o)&&typeof o.documenthandle=="string"&&o.documenthandle.trim()).sort((o,u)=>{let c=i(o),s=i(u);return a==="rating_desc"?s-c||l(u)-l(o):a==="scored_first"&&+(s>0)-+(c>0)||l(u)-l(o)}).slice(0,n);return await Promise.all(r.map(async o=>{let u=await Y2(t,o.documenthandle);u&&(o.articlehawkmodels=[u])})),e}function xv(e,t){let n=()=>{wv(e,uv(t))};if(typeof window<"u"&&typeof window.requestIdleCallback=="function"){window.requestIdleCallback(n,{timeout:2e3});return}setTimeout(n,0)}function V2(e,t){return e&&e!=="all-authors"?`&articleAuthorHandle=${encodeURIComponent(e)}`:t&&t!=="All authors"&&t!=="all-authors"?`&articleAuthor=${encodeURIComponent(t)}`:""}function X2({articleCategory:e,articleTag:t,authorParameter:n}){return!!(n&&!e&&!t)}async function Mv({authorHandle:e,authorName:t,fallbackAuthorName:n,includeBuyingGuideProducts:a,includeCollections:l,includeDeals:i,includeReviewProducts:r,onProgress:o,articleCategory:u,articleTag:c,pageStarts:s,reviewPageStarts:f,loadAllReviewPages:d,signal:m,throwOnFailure:v,website:A}){let b=A||"tomsguide",h=V2(e,t),g=[],p=!1,y=!0,C=w=>j0(w,b,a,r,l,i),R=()=>q0(g).map(w=>{let D=gi(w);return D&&!String(w.articlehawkmodels||"").trim()?{...w,articlehawkmodels:[D]}:w}).filter(C),T=()=>{let w=R();w.length>0&&o?.(w)};try{let w=q2(b,h,a,u,s,{includeCollections:l,includeDeals:i},c),D=[];r&&(f||[0]).forEach(X=>{let de=Tv(b,h,u,X,c);D.push(de),w.push(de)});let k=async(X,de=D.includes(X)?"review-feed":"author-feed")=>{let $e=await yi(X,{signal:m,source:de});for(let jr=0;jr<U2&&!$e.response?.ok&&!m?.aborted;jr+=1)$e=await yi(X,{signal:m,source:de});let{data:Z,response:x}=$e,P=Z?gf(Z):[],Q=b==="pcgamer"&&de.startsWith("review-feed")?F2(P,b):P,Vn={articles:Q,data:Z,isPcGamerHardwareReviewFeed:b==="pcgamer"&&de.startsWith("review-feed"),response:x,reviewTotalCount:D.includes(X)&&Number(x?.headers.get("x-total-count"))||null};return Q.length>0&&g.push(...Q),Vn},se=w.filter(X=>Number(new URL(X).searchParams.get("start")||0)===0),I=w.filter(X=>!se.includes(X)),j=await oc(se,X=>k(X));T();let He=new Map(se.flatMap((X,de)=>{let $e=Rv(X);return $e?[[$e,j[de]]]:[]})),ze=new Map,St=[];I.forEach(X=>{let de=Rv(X);if(!de){St.push(X);return}ze.set(de,[...ze.get(de)||[],X])});let[Ie,rn]=await Promise.all([oc(St,X=>k(X)),Promise.all([...ze.entries()].map(async([X,de])=>{let $e=[],Z=He.get(X);for(let x of de){if(!Z||!G2(Z))break;let P=await k(x);$e.push(P),Z=P}return $e}))]),Be=[...Ie,...rn.flat()],Je=[...j,...Be];p=Je.length>0&&Je.every(X=>!X.response?.ok);let nt=Je.find(X=>X.reviewTotalCount!==null)?.reviewTotalCount;if(d!==!1&&f&&nt&&nt>f.length*50){let X=new Set(f),de=[];for(let Z=0;Z<nt;Z+=50)X.has(Z)||de.push(Z);let $e=await oc(de,async Z=>await k(Tv(b,h,u,Z,c),"review-feed-page"));Je.push(...$e)}y=Je.every(X=>X.response?.ok)}catch(w){y=!1}if(v&&p)throw new Error("The author feed could not be loaded");let M=R();if(M.length===0&&X2({authorParameter:h,articleCategory:u,articleTag:c}))try{let w=await yi(`${Bf}?site=${b}&limit=150${h}`,{signal:m,source:"author-feed-fallback"});if(!w.response?.ok&&n&&(w=await yi(`${Bf}?site=${b}&limit=150&articleAuthor=${encodeURIComponent(n)}`,{signal:m,source:"author-feed-fallback"})),w.data){let D=w.data,k=Array.isArray(D)?D:D.data||[];k.length>0&&(M=k.slice(0,150))}}catch(w){}return{articles:M.filter(C),complete:!m?.aborted&&y}}function Ev(e,t){let n=_f.get(e);if(n)return n;let a=Mv(t).then(l=>(l.complete&&l.articles.length>0&&xv(e,l.articles),l)).finally(()=>{_f.delete(e)});return _f.set(e,a),a}async function Dv(e,t){let n=await Mv(t);return n.complete&&n.articles.length>0&&xv(e,n.articles),n}async function _v({onBackgroundRefresh:e,onProgress:t,...n}){let a=bv(n),l=await Av(a);return l?(t?.(l.articles),l.isFresh||(n.signal?Dv(a,n):Ev(a,n)).then(({articles:o,complete:u})=>{u&&o.length>0&&e?.(o)}),l.articles):(await(n.signal?Dv(a,{...n,onProgress:t}):Ev(a,{...n,onProgress:t}))).articles}function Of(e,t){let n=e.shipping?.prime===!0,a=e.merchant?.name||e.merchant_name||e.retailer||"Retailer";typeof e.merchant=="string"&&(a=e.merchant);let l=null,i=0,r=String(e.model_id||e.id||"");if(r&&t)if(t[r]&&t[r].score!=null)l=parseFloat(t[r].score);else{let o=Object.values(t).find(u=>String(u.model_id)===r||String(u.id)===r);o&&o.score!=null&&(l=parseFloat(o.score))}return l!=null&&(i=Math.round((l>10?l/20:l/2)*2)/2),{isPrime:n,merchant:a,starRating:i>0?i:null}}function kf(e){let t=String(e.price||e.current_price||"0"),n=String(e.was_price||e.msrp||e.original_price||"0"),a=parseFloat(t.replace(/[^0-9.]/g,""))||0,l=parseFloat(n.replace(/[^0-9.]/g,""))||0,i=a===0||t==="0.00"||t==="0",r=e.currency&&typeof e.currency=="string"?e.currency:e.currency_symbol&&typeof e.currency_symbol=="string"?e.currency_symbol:"$",o=ee(e.percentage_saving_label||"");!o&&l>a&&a>0&&(o=Math.round((l-a)/l*100)+"% OFF");let u=r;return u.includes("&")&&(u.includes("36")?u="$":u.includes("163")||u.includes("pound")?u="\xA3":(u.includes("8364")||u.includes("euro"))&&(u="\u20AC")),{rawPrice:a,rawMsrp:l,currency:u,isCheckPrice:i,savingLabel:o}}function Bv({query:e,region:t,retailer:n,selectedBrands:a,offerType:l,priceRange:i,discountAmount:r,resultCount:o}){let u=new URL("https://search-api.fie.future.net.uk/widget.php");if(u.searchParams.append("model_name",e),t&&t!=="auto"&&u.searchParams.append("area",t),n&&u.searchParams.append("filter_merchant_name",n),a&&a.length>0&&u.searchParams.append("filter_label[text_brand]",a.join(",")),l&&u.searchParams.append("offer",l),i&&i!=="all"){if(i==="under50")u.searchParams.append("filter_max_price","50");else if(i==="over50")u.searchParams.append("filter_min_price","50");else if(i==="over30")u.searchParams.append("filter_min_price","30");else if(i==="over500")u.searchParams.append("filter_min_price","500");else if(i.includes("_")){let[c,s]=i.split("_");c&&u.searchParams.append("filter_min_price",c),s&&u.searchParams.append("filter_max_price",s)}}if(r&&r!=="0"){let c=(100-parseInt(r))/100;u.searchParams.append("min_discount_ratio",c.toString())}return u.searchParams.append("filter_product_types","deals"),u.searchParams.append("rows",String(o||"12")),u}function Nv(e){return e?.widget?.data?.offers?e.widget.data.offers:e?.data?.offers?e.data.offers:Array.isArray(e)?e:e?.offers?.offer?Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers?Array.isArray(e.offers)?e.offers:[e.offers]:[]}function Ov(e){let t=[];return e.forEach(n=>{let a=[];Array.isArray(n.offers)?a=n.offers:Array.isArray(n.offer)?a=n.offer:n.offers&&typeof n.offers=="object"?a=[n.offers]:n.offer&&typeof n.offer=="object"&&(a=[n.offer]),a.length>0?a.forEach(l=>{t.push({...n,...l})}):t.push(n)}),t}function kv(e){return e?.widget?.data?.model_info?e.widget.data.model_info:e?.data?.model_info?e.data.model_info:{}}var Lf=new Map,Q2=3e3,K2=["GB","US"],Lv=6,Z2=["brand","currency","fallbackImage","hasCommerceOffer","hawkPricePending","hawkListings","image","isCheckPrice","merchant","merchantId","modelId","msrp","price","productKey","productName","rawMsrp","rawPrice","savingLabel","title","url"];function Hf(e){return String(e||"").trim().toLowerCase()}function Gv(e){return e==="UK"?"GB":e}function Pv(e,t){let n=String(t||"").trim().toUpperCase(),l={AU:["A$","AUD"],CA:["CA$","CAD"],DE:["\u20AC","EUR"],ES:["\u20AC","EUR"],FR:["\u20AC","EUR"],GB:["\xA3","GBP","GB\xA3"],IT:["\u20AC","EUR"],NL:["\u20AC","EUR"],US:["$","USD","US$"]}[e];return!l||l.includes(n)}function Hv(e,t){return String(e.id||`hawk-deal-${t}`)}function W2(e){return e.map(t=>({...t,hasCommerceOffer:!1,hawkPricePending:!!t.hawkModelName,hawkListings:[],image:t.fallbackImage||t.image||"",isCheckPrice:!0,merchant:"",merchantId:"",msrp:"",price:"",productKey:"",rawMsrp:0,rawPrice:0,savingLabel:"",url:t.sourceArticleUrl||t.documentUrl||t.url}))}function I2(e){return Z2.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}function qv(e){return!!((e.isBuyingGuideProduct||e.isReviewProduct)&&e.hawkModelName)}function J2(e){return e.model_image_url||e.model_image||e.product_image||e.image_url||e.image||""}function Fv(e){return e.link||e.url||e.offer_link||""}function $2(e,t){let n=String(t.model_id||t.id||"");return n&&e[n]?e[n]:Object.values(e).find(a=>String(a?.model_id||a?.id||"")===n)||{}}function eS(e,t,n){let a=e.map(i=>{let r=kf(i),o=Of(i,t),u=Fv(i),c=ee(String(o.merchant||"")).trim();return!u||!c||r.rawPrice<=0||!Pv(n,r.currency)?null:{merchant:c,merchantId:typeof i.merchant=="object"?String(i.merchant?.id||""):"",modelId:String(i.model_id||""),offer:i,productKey:String(i.product_key||""),rawPrice:r.rawPrice,url:u}}).filter(i=>i!==null).sort((i,r)=>i.rawPrice-r.rawPrice||i.merchant.localeCompare(r.merchant)),l=new Set;return a.filter(i=>{let r=i.merchant.toLocaleLowerCase();return l.has(r)?!1:(l.add(r),!0)}).slice(0,4)}async function zv(e,t,n){let a=`${t}|${Hf(e)}`;return Lf.has(a)||Lf.set(a,(async()=>{let l;try{let i=new AbortController;l=setTimeout(()=>i.abort(),Q2);let r=await n(Bv({query:e,region:t,resultCount:12}).toString(),{signal:i.signal});if(!r.ok)return null;let o=await r.json(),u=Ov(Nv(o)),c=Hf(e),s=u.filter(A=>Hf(A.model_name||A.model)===c),f=s.length?s:u,d=f[0]||null;if(!d)return null;let m=kv(o),v=$2(m,d);return{brand:String(v?.brand||d.brand||"").trim(),modelInfo:m,offer:d,offers:f}}catch{return null}finally{l&&clearTimeout(l)}})()),Lf.get(a)}function Uv(e,t,n){return e.map(a=>{let l=String(a.hawkModelName);if(!qv(a)||!t.has(l))return a;let i=t.get(l);if(!i)return{...a,hawkPricePending:!1};let{offer:r}=i.lookup,o=kf(r),u=Of(r,i.lookup.modelInfo),c=J2(r),s=Fv(r),f=ee(String(r.model_name||r.model||a.hawkModelName||a.productName||a.title||"").trim()),d=!!(i.region===n&&s&&Pv(n,o.currency)),m=i.region===n?eS(i.lookup.offers,i.lookup.modelInfo,n).map(({offer:v,...A})=>A):[];return d?{...a,brand:i.lookup.brand||r.brand||a.brand,currency:o.currency||a.currency,fallbackImage:c?a.image:a.fallbackImage,hasCommerceOffer:!0,hawkPricePending:!1,hawkListings:m,image:c||a.image,isCheckPrice:o.isCheckPrice,merchant:u.merchant||a.merchant,merchantId:typeof r.merchant=="object"&&r.merchant?.id||"",modelId:r.model_id||"",msrp:o.rawMsrp>0?String(o.rawMsrp):"",price:o.rawPrice>0?String(o.rawPrice):"",productKey:r.product_key||"",productName:f||a.productName,rawMsrp:o.rawMsrp,rawPrice:o.rawPrice,savingLabel:o.savingLabel,title:f||a.title,url:s||a.url}:{...a,brand:i.lookup.brand||a.brand,fallbackImage:c?a.image:a.fallbackImage,hawkPricePending:!1,image:c||a.image,productName:f||a.productName,title:f||a.title}})}async function vi(e,t,n=fetch,a,l=[],i){let r=Gv(t),o=new Map,u=e.filter(qv).map(f=>String(f.hawkModelName)),c=new Set(u),s=Array.from(new Set([...l.filter(f=>c.has(f)),...u])).slice(0,a);for(let f=0;f<s.length;f+=Lv)await Promise.all(s.slice(f,f+Lv).map(async d=>{let m=await zv(d,r,n),v=m||r==="GB"?null:await zv(d,"GB",n);o.set(d,m?{lookup:m,region:r}:v?{lookup:v,region:"GB"}:null),i?.(Uv(e,o,r))}));return Uv(e,o,r)}async function jv(e,t=fetch){let n=W2(e),a=await Promise.all(K2.map(async i=>[i,await vi(n,i,t)])),l=new Map;return a.forEach(([i,r])=>{r.forEach((o,u)=>{if(!o.hasCommerceOffer)return;let c=Hv(o,u),s=l.get(c)||{};s[i]=I2(o),l.set(c,s)})}),e.map((i,r)=>{let o=l.get(Hv(i,r));return o?{...i,hawkRegionalCommerce:o}:i})}function zf(e,t){let n=Gv(t);return e.map(a=>{let l=a.hawkRegionalCommerce?.[n];return l?{...a,...l,hawkPricePending:!1}:a})}function Yv(e,t){let n=Array.from(new Set(e.map(i=>i.merchant).filter(Boolean))),a={};if(n.forEach(i=>{a[i]="loading"}),n.length===0)return{merchants:n,couponMap:a,couponUrl:null};let l=new URL("https://search-api.fie.future.net.uk/widget.php");return l.searchParams.append("model_name","Everything"),l.searchParams.append("filter_merchant_name",n.join(",")),l.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),l.searchParams.append("sort","voucher"),l.searchParams.append("rows","120"),l.searchParams.append("origin","widgets-clientside"),l.searchParams.append("combine_product_types","1"),l.searchParams.append("language","en-GB"),l.searchParams.append("all_filters","false"),l.searchParams.append("exclude_unlabelled","false"),l.searchParams.append("include_specs","false"),t&&t!=="auto"&&l.searchParams.append("area",t),{merchants:n,couponMap:a,couponUrl:l}}function Vv(e,t){let n=new URL("https://search-api.fie.future.net.uk/widget.php");return n.searchParams.append("model_name","Everything"),n.searchParams.append("language","en-GB"),t&&t!=="auto"&&n.searchParams.append("area",t),n.searchParams.append("combine_product_types","1"),n.searchParams.append("filter_merchant_name",e),n.searchParams.append("all_filters","false"),n.searchParams.append("exclude_unlabelled","false"),n.searchParams.append("include_specs","false"),n.searchParams.append("sort","voucher"),n.searchParams.append("distinct_merchants","natural"),n.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),n.searchParams.append("rows","50"),n.searchParams.append("origin","widgets-clientside"),n}function Uf(e,t,n=!0){if(!e?.length)return e||[];if(t==="date_desc"&&!n)return e;let a=[...e];return ln(a,t,n),a}function uc(e,t,n,a=!0){if(n!=="date_desc"||!e?.length)return t;let l=(c,s)=>String(c.id||s),i=new Map(t.map((c,s)=>[l(c,s),c])),r=new Set,o=e.flatMap((c,s)=>{let f=l(c,s);r.add(f);let d=i.get(f);return d?[d]:[]}),u=t.filter((c,s)=>!r.has(l(c,s)));return a?[...o.filter(nl),...u.filter(nl),...o.filter(c=>!nl(c)),...u.filter(c=>!nl(c))]:[...o,...u]}function Xv({activeDealTag:e,activeFreeformTag:t,clickedAuthorOverride:n,compactEmbed:a,compactInventoryExplored:l,compactLoadRequested:i,initialActiveDealTag:r,initialActiveFreeformTag:o,reviewInventoryBaked:u}){return!!(a&&u&&!n&&!i&&!l&&(!e||e===r)&&(!t||t===o))}var Qv=[0,50,100,150,200,250,300,350,400,450],Gf=4;function Kv(e){return(Array.isArray(e)?e:[e]).reduce((n,a)=>{if(typeof a!="string"||!a.trim())return n;let l=a.trim();return n.some(i=>i.toLowerCase()===l.toLowerCase())?n:[...n,l]},[])}function nS(e,t){return e.length===t.length&&e.every((n,a)=>n===t[a])}function Pf(e){return e.map(t=>t.trim().toLowerCase()).sort().join("|")}function qf(e){let t=e.initialData,n=Fu(e),a=!!(e.preloadReviewInventory&&!n),l=!!(e.preloadReviewInventory&&e.includeReviewProducts&&!e.compactEmbed),i=n?Number(e.resultCount)||12:100,r=n?!1:e.prioritiseCommercialProducts,o=wt(e.region),u=zf(t?.allDeals||t?.deals||[],o).filter(_=>P0(_,o)),c=wa(n?"date_desc":e.sort,!Or(e)),s=!!(e.priceRange&&e.priceRange!=="all")||!!(e.discountAmount&&e.discountAmount!=="0"&&e.discountAmount!=="all"),f=tl(t?.authorArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),d=tl(t?.authorInteractionArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),[m,v]=(0,N.useState)(()=>Uf(u,c,r)),[A,b]=(0,N.useState)(t?.totalDealCount??t?.allDeals?.length??t?.deals?.length??0),[h,g]=(0,N.useState)(t?.totalAuthorCount??t?.authors?.length??0),[p,y]=(0,N.useState)(!t),[C,R]=(0,N.useState)(!1),[T,M]=(0,N.useState)(!1),[w,D]=(0,N.useState)(!1),[k,se]=(0,N.useState)(t?.couponMap||{}),[I,j]=(0,N.useState)(f),[He,ze]=(0,N.useState)(f),[St,Ie]=(0,N.useState)(t?.tags||[]),[rn,Be]=(0,N.useState)(t?.tagCounts||{}),[Je,nt]=(0,N.useState)(t?.freeformTags||[]),[X,de]=(0,N.useState)(t?.freeformTagCounts||{}),[$e,Z]=(0,N.useState)(t?.brands||[]),[x,P]=(0,N.useState)(()=>{let _=t?.activeDealTag||e.query;return _&&_.toLowerCase()!=="everything"?_:null}),[Q,Vn]=(0,N.useState)(()=>Kv(t?.activeFreeformTags||t?.activeFreeformTag)),[jr,bi]=(0,N.useState)(f),[sc,ll]=(0,N.useState)(null),[at,Yr]=(0,N.useState)(!1),[il,Vr]=(0,N.useState)(""),[rl,Xr]=(0,N.useState)(""),[f1,g1]=(0,N.useState)(0),[Wt,dc]=(0,N.useState)(e.resultCount?parseInt(e.resultCount):12),[Xf,fc]=(0,N.useState)(!1),[m1,Qr]=(0,N.useState)(null),[gc,h1]=(0,N.useState)(!1),[mc,p1]=(0,N.useState)([0]),Kr=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`:""),hc=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}|age-${e.editorialMaxAgeMonths||"none"}`:""),y1=(0,N.useRef)(e.website||"tomsguide"),pc=(0,N.useRef)(e.website||"tomsguide"),Qf=(0,N.useRef)(u.length>0),Kf=(0,N.useRef)(null),ol=(0,N.useRef)(new Map),v1=(0,N.useRef)({activeDealTag:String(x||"").trim().toLowerCase(),freeformTags:Pf(Kv(t?.activeFreeformTags||t?.activeFreeformTag)),discountAmount:e.discountAmount,priceRange:e.priceRange}),Xn=(0,N.useRef)(!1),De=(0,N.useRef)(!1),Ai=(0,N.useRef)(!1),Zf=(_,oe,ne=at?il:e.authorHandle,we=at?rl:e.authorName)=>[e.website||"tomsguide",ne||"",we||"",wt(e.region),String(_||"").trim().toLowerCase(),Pf(oe),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),Wf=(_,oe)=>{let ne=v1.current;return!!(e.compactEmbed&&t?.brands?.length&&String(_||"").trim().toLowerCase()===ne.activeDealTag&&Pf(oe)===ne.freeformTags&&e.priceRange===ne.priceRange&&e.discountAmount===ne.discountAmount)},Zr=(_,oe)=>{let ne=ol.current.get(Zf(_,oe));if(ne){Z(ne);return}if(Wf(_,oe)){Z(t?.brands||[]);return}},ul=()=>Xn.current||n?void 0:e.productSelection;(0,N.useEffect)(()=>{ll(null)},[e.authorName,e.authorHandle]),(0,N.useLayoutEffect)(()=>{let _=e.website||"tomsguide";pc.current!==_&&(pc.current=_,v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),ol.current.clear(),se({}),Yr(!1),Vr(""),Xr(""),ll(null),P(null),Vn([]),g(0),b(0),M(!1),fc(!1),Qr(null),Ai.current=!1,R(!0),y(!0))},[e.website]),(0,N.useEffect)(()=>{e.compactEmbed||typeof document>"u"||setTimeout(()=>{document.dispatchEvent(new CustomEvent("processArticle"))},100)},[m,Wt,e.query,x,Q]),(0,N.useEffect)(()=>{e.resultCount&&(dc(parseInt(e.resultCount,10)||12),Qr(null))},[e.resultCount]),(0,N.useEffect)(()=>{Qr(null)},[x,Q,e.authorHandle,e.authorName,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands,e.sort]),(0,N.useEffect)(()=>{if(!t||!e.includeBuyingGuideProducts&&!e.includeReviewProducts||e.compactEmbed&&(De.current||e.refreshDealsOnViewport))return;let _=wt(e.region),oe=zf(t.allDeals||t.deals||[],_);if(_==="unavailable"){let It=oe.map(on=>(on.isBuyingGuideProduct||on.isReviewProduct)&&on.hawkModelName?{...on,hawkPricePending:!1}:on);ln(It,c,r),v(yn(It,ul(),c));return}let ne=al(oe,e.selectedBrands),we=Number(e.resultCount)||12,Ta=typeof navigator>"u"?void 0:navigator.connection,Ea=!Ta?.saveData&&!Ta?.effectiveType?.includes("2g")&&(!e.compactEmbed||!!e.warmInventory),Si=s?ne:t.reviewInventoryBaked?ne.slice(0,Wt+(Ea?we:0)):oe;if(!Si.some(It=>(It.isBuyingGuideProduct||It.isReviewProduct)&&It.hawkModelName))return;let sl=!0;return M(!0),vi(Si,_).then(It=>{if(!sl)return;let on=t.reviewInventoryBaked?lv(oe,It):It,Ir=al(on,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(lt=>(lt.isBuyingGuideProduct||lt.isReviewProduct)&&lt.hawkModelName?{...lt,hawkPricePending:!1}:lt);ln(Ir,c,r),v(yn(Ir,ul(),c)),Z(lt=>t?.brands?.length?lt:hf(lt,It))}).finally(()=>{sl&&M(!1)}),()=>{sl=!1}},[t,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,e.selectedBrands,e.discountAmount,e.priceRange,c,e.productSelection,Wt,e.resultCount,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,x,Q]),(0,N.useEffect)(()=>{let _=!0,oe=new AbortController,ne=Ai.current,we=!e.refreshDealsOnViewport&&Xv({activeDealTag:x,activeFreeformTag:Q[0]||null,clickedAuthorOverride:at,compactEmbed:e.compactEmbed,compactInventoryExplored:De.current,compactLoadRequested:gc,initialActiveDealTag:t?.activeDealTag,initialActiveFreeformTag:t?.activeFreeformTag,reviewInventoryBaked:t?.reviewInventoryBaked}),Ta=u.length>0,Ea=!!(n&&e.compactEmbed&&!De.current),Si=!!(Ea&&e.warmInventory&&I.length===0&&m.length>0),sl=!!(we||e.compactEmbed&&Ta&&I.length===0&&!at&&!gc&&!De.current&&!e.refreshDealsOnViewport&&(!n||!e.warmInventory));return!sl&&!ne&&!Si&&(R(!0),e.compactEmbed&&De.current&&v([])),(async()=>{D(!1),M(!1);let on=m.length>0||St.length>0||Je.length>0||$e.length>0,Ir=sl;try{if(!e.authorName&&!e.authorHandle){v([]),j([]),bi([]),Ie([]),nt([]),Z([]),ll(null),P(null),Vn([]),y(!0);return}let lt=at?il:e.authorHandle,Jr=at?rl:e.authorName,$r=`${e.website||"tomsguide"}|${lt||""}|${Jr||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`,yc=`${$r}|${e.compactEmbed&&x||""}|${e.compactEmbed?Q.join(","):""}|${e.compactEmbed&&De.current?"expanded":e.refreshDealsOnViewport?"viewport-refresh":"initial"}|lightweight-pages-${Ea?mc.join(","):"all"}|age-${e.editorialMaxAgeMonths||"none"}`,Jt=I,$f=St,U1=ev(Je,Q.length===1?Q[0]:null),eg=()=>({activeDealTag:x,activeFreeformTag:Q[0]||null,activeFreeformTags:Q,preserveFreeformTagSelection:!!(e.compactEmbed&&Q.length),authorHandle:lt,authorName:Jr,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,priceRange:e.priceRange,prioritiseCommercialProducts:r,productSelection:ul(),query:e.query,region:e.region,selectedArticleId:sc,selectedBrands:e.selectedBrands,sort:c,website:e.website}),tg=hc.current!==yc||Jt.length===0,Da=[],vc=!1,ng=(me,zt=!1)=>{if(!_||zt&&vc)return;let bn=al(me,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange});ln(bn,c,r);let Di=yn(bn,ul(),c);v(uc(Da,Di,c,r))};if(Ir){y(!1),R(!1);return}if(tg){let me=Kr.current.split("|")[0],zt=e.website||"tomsguide",bn=!!(Kr.current&&me!==zt);!ne&&!Si&&R(!!e.compactEmbed||!on),bn&&(Jt=[],$f=[],v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),se({}),Yr(!1),Vr(""),Xr(""),y(!0));let Di=Qf.current&&Kr.current===$r&&Jt.length===0&&!De.current;Qf.current=!1,!Di&&!on&&y(!0);let lo=Ba=>{if(!_||Ba.length===0)return;let fe=eg(),it=Cf(Ba,fe),{displayedDeals:io}=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);io.length!==0&&(Da=io,v(Da),y(!1),e.includeReviewProducts&&Nf(it.targetArticles,e.website||"tomsguide",Math.min(Wt,Gf),c).then(()=>{if(!_||vc)return;let An=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);Da=An.displayedDeals,v(Da);let xi=An.displayedDeals.filter(dt=>dt.isReviewProduct&&dt.hawkModelName).slice(0,Gf).map(dt=>String(dt.hawkModelName));vi(An.extractedDeals,it.activeRegionCode,void 0,Gf,xi,dt=>ng(dt,!0))}))};if(Jt=await _v({authorHandle:lt,authorName:Jr,fallbackAuthorName:e.authorName,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,articleCategory:e.compactEmbed&&x||void 0,articleTag:e.compactEmbed?U1:void 0,pageStarts:e.compactEmbed&&!e.warmInventory&&!De.current?[0]:void 0,reviewPageStarts:e.includeReviewProducts?Ea?mc:!e.compactEmbed||De.current?Qv:void 0:void 0,loadAllReviewPages:!Ea,throwOnFailure:!!(e.compactEmbed&&De.current),onBackgroundRefresh:Ba=>{if(!_||hc.current!==yc)return;let fe=tl(Ba,void 0,Number(e.editorialMaxAgeMonths)||0);j(fe),at||ze(fe),g1(it=>it+1)},onProgress:lo,signal:oe.signal,website:e.website}),!_)return;if(Jt=tl(Jt,void 0,Number(e.editorialMaxAgeMonths)||0),Kr.current=$r,hc.current=yc,Di&&Jt.length===0){y(!1);return}_&&(j(Jt),at||ze(Jt),R(!1))}let eo=eg(),G1=Cf(Jt,eo),{activeDealTag:xa,activeRegionCode:Ci,authorArticles:ag,activeFreeformTags:Ma,freeformTagCounts:lg,freeformTags:to,tagCounts:ig,tags:Ri,targetArticles:_a,targetIso:P1}=G1,Ti=e.compactEmbed&&x&&!xa?x:xa,Ei=e.compactEmbed&&Q.length>0&&Ma.length===0?Q:Ma,q1=Ri.length>0?Ri:Ti?[Ti]:Ri,F1=to.length>0?to:Ei.length>0?t?.freeformTags?.filter(me=>Ei.includes(me.handle))||[]:to,j1={...ig,...Ti&&!xa?{[Ti]:0}:{}},Y1={...lg,...Object.fromEntries(Ma.length===0?Ei.map(me=>[me,0]):[])},no=Zf(xa,Ma,lt,Jr),rg=[$r,Ci,xa||"",Ma.join(","),e.selectedBrands.join(","),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),dl=null,fl=null;if(!at){let me=Kf.current;if(me?.key===rg&&me.articleCount===_a.length)dl=me.deals.length,fl=me.authorCount;else{let zt=dv(_a,eo);dl=zt.deals.length,fl=zt.authorCount,Kf.current={articleCount:_a.length,authorCount:fl,deals:zt.deals,key:rg}}}$f=Ri;let Ht;_&&(Ie(q1),Be(j1),nt(F1),de(Y1)),e.includeReviewProducts&&await Nf(_a,e.website||"tomsguide",l?Math.min(_a.length,i):Wt,c);let{brands:bc,displayedDeals:Ac,extractedDeals:ao}=ic(_a,eo,Ci,P1),{merchants:V1,couponMap:wc,couponUrl:X1}=Yv(Ac,e.region);_&&se(wc);let Q1=me=>{!_||!Ht||(Ht={...Ht,couponMap:me},window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht))};if(hv({couponMap:wc,couponUrl:X1,merchants:V1}).then(me=>{_&&(se(me),Q1(me))}),_){tg&&P(Ti),nS(Q,Ei)||Vn(Ei),bi(ag);let me=uc(Da,Ac,c,r);if(vc=!0,v(me),dl!==null){let zt=t?.totalDealCount||0,bn=Ea&&zt>dl;b(bn?zt:dl),g(bn?Math.max(t?.totalAuthorCount||0,fl||0):fl||0)}!ol.current.has(no)&&Wf(xa,Ma)&&ol.current.set(no,t?.brands||[]),Z(ol.current.get(no)||bc),y(!1),Ht=fv({allArticles:Jt,authorArticles:ag,bakeReviewInventory:a&&!e.compactEmbed,brands:bc,couponMap:wc,currentDealTag:xa,currentFreeformTags:Ma,displayedDeals:me,inventoryArticles:_a,options:eo,resultCount:e.resultCount,tagCounts:ig,tags:Ri,freeformTagCounts:lg,freeformTags:to,totalAuthorCount:fl??h,totalDealCount:dl??A}),window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht)}if((e.includeBuyingGuideProducts||e.includeReviewProducts)&&Ci!=="unavailable"){let me=Wt,zt=l?ao.filter(fe=>fe.isReviewProduct&&fe.hawkModelName).slice(0,i).map(fe=>String(fe.hawkModelName)):[],bn=Ac.filter(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName).map(fe=>String(fe.hawkModelName));ao.some(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName)&&M(!0);let lo=vi(ao,Ci,void 0,s?void 0:e.includeReviewProducts?l?i:me:void 0,[...zt,...bn],ng).then(async fe=>{if(!_)return;let it=al(fe,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(dt=>(dt.isBuyingGuideProduct||dt.isReviewProduct)&&dt.hawkModelName?{...dt,hawkPricePending:!1}:dt);ln(it,c,r);let io=yn(it,ul(),c),An=uc(Da,io,c,r),xi=hf(bc,fe);if(ol.current.set(no,xi),v(An),Z(xi),s&&b(it.length),Ht){let dt=a&&!e.compactEmbed,og=l,ug=dt?ac(An,Number(e.resultCount)||12):og?An.slice(0,i):An,K1=og?await jv(ug):ug;if(!_)return;let Sc={...Ht,allDeals:K1,deals:An.slice(0,me),brands:xi,totalDealCount:s?it.length:Ht.totalDealCount};Ht=Sc,window.__AUTHOR_PRELOAD_DATA__=Sc,e.onDataLoaded&&e.onDataLoaded(Sc)}}).finally(()=>{_&&M(!1)}),Ba=ao.slice(me,me+(Number(e.resultCount)||12));e.includeReviewProducts&&e.warmInventory&&!s&&!ne&&Ba.some(fe=>fe.hawkModelName)&&lo.then(()=>{_&&vi(Ba,Ci)}),ne&&await lo}}catch(lt){_&&D(!0)}finally{_&&(y(!1),R(!1),fc(!1),Ai.current=!1)}})(),()=>{_=!1,oe.abort()}},[e.query,e.region,e.selectedBrands,e.website,e.resultCount,Wt,c,e.priceRange,e.discountAmount,x,Q,e.authorName,e.authorHandle,e.website,e.authorBioLength,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,s,a,l,i,r,n,mc,e.productSelection,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,e.editorialMaxAgeMonths,sc,at,il,rl,f1,gc]);let Wr=e.website||"tomsguide",st=pc.current!==Wr,Ra=(0,N.useMemo)(()=>st?[]:y1.current===Wr&&t?.authors?t.authors:Lr(He.length>0?He:I,Wr),[I,Wr,He,t?.authors,st]),b1=at?il:e.authorHandle,A1=at?rl:e.authorName,w1=Ra.find(_=>_.handle===b1||_.fullName===A1),cl=He.length>0?He:I,If=(0,N.useMemo)(()=>{if(cl.length===0)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q),we=Sf(Ra,ne,{activeRegionCode:_,targetIso:oe,selectedBrands:e.selectedBrands,priceRange:e.priceRange,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website});return Yu(Ra,we)},[x,Q,Ra,cl,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands]),S1=(0,N.useMemo)(()=>{if(st)return[];if(cl.length===0&&t?.authors?.length||e.compactEmbed&&!x&&Q.length===0&&t?.authors?.length)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q).filter(we=>mi([we],{activeRegionCode:_,targetIso:oe,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website}).length>0);return kr(If,ne)},[x,Q,cl,st,at,t?.authors?.length,e.compactEmbed,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,If,e.website]),Jf=(_,oe)=>{let ne=He.length>0?He:I.length>0?I:d;if(ne.length===0)return;let we=yv(ne,{authorHandle:_,authorName:oe,discountAmount:e.discountAmount,priceRange:e.priceRange,region:e.region,selectedBrands:e.selectedBrands,sort:c,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,prioritiseCommercialProducts:r,website:e.website,productSelection:void 0});ll(null),P(null),Vn([]),bi(we.authorArticles),Ie(we.tags),Be(we.tagCounts),nt(we.freeformTags),de(we.freeformTagCounts),Z(we.brands),v(we.deals),y(!1)},C1=()=>{!e.compactEmbed||!t||(v(yn(Uf(t.deals||t.allDeals||[],c,r),ul(),c)),Ie(t.tags||[]),Be(t.tagCounts||{}),nt(t.freeformTags||[]),de(t.freeformTagCounts||{}),Z(t.brands||[]),se(t.couponMap||{}),g(t.totalAuthorCount??t.authors?.length??0),b(t.totalDealCount??t.deals?.length??t.allDeals?.length??0))},R1=_=>{Xn.current=!0,De.current=!0,R(!0),at&&(il===_.handle||rl===_.fullName)?(e.compactEmbed&&t?C1():Jf(e.authorHandle,e.authorName),Yr(!1),Vr(""),Xr("")):(Jf(_.handle,_.fullName),Yr(!0),Vr(_.handle),Xr(_.fullName)),e.onQueryChange?.("")},T1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=x===_?null:_;Zr(oe,Q),P(oe),e.onQueryChange?.("")},E1=()=>{Xn.current=!0,De.current=!0,R(!0)},D1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(null,Q),P(null),e.onQueryChange?.("")},x1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=Q.some(ne=>ne.toLowerCase()===_.toLowerCase())?Q.filter(ne=>ne.toLowerCase()!==_.toLowerCase()):[...Q,_];Zr(x,oe),Vn(oe)},M1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(x,[]),Vn([])},_1=_=>{Xn.current=!0,De.current=!0,R(!0),ll(_)},B1=()=>{if(Ai.current)return;Ai.current=!0,fc(!0);let _=Wt+(e.resultCount?parseInt(e.resultCount,10):12);!!(n&&e.compactEmbed&&!De.current)&&I.length>0&&m.length<_&&p1(we=>{let Ta=Qv[we.length];return Ta===void 0?we:[...we,Ta]}),dc(we=>(Qr(we),we+(e.resultCount?parseInt(e.resultCount,10):12)));let ne=!!(t?.reviewInventoryBaked&&m.length>Wt);e.compactEmbed&&I.length===0&&!ne&&(R(!0),h1(!0))},wi=e.compactEmbed&&!e.refreshDealsOnViewport,N1=wi&&t?.tags?.length?t.tags:St,O1=wi&&t?.tags?.length?t.tagCounts||{}:rn,k1=wi&&!De.current&&t?.brands?.length?t.brands:$e,L1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTags:Je,H1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTagCounts||{}:X,z1=pv({enrichingBuyingGuides:T,error:w,loading:p,loadingMore:Xf,refreshingFeed:C});return{activeDealTag:x,activeFreeformTags:Q,airedaleBrands:st?[]:k1,airedaleTagCounts:st?{}:O1,airedaleTags:st?[]:N1,airedaleFreeformTagCounts:st?{}:H1,airedaleFreeformTags:st?[]:L1,allAuthorsList:S1,authorArticlesList:st?[]:jr,clickedAuthorOverride:at,couponMap:k,deals:st?[]:m,displayCount:Wt,error:w,enrichingBuyingGuides:T,effectiveAuthorProfile:st?void 0:w1,loading:p,loadingMore:Xf,loadMoreStartCount:m1,markProductSelectionInteracted:E1,hasMore:m.length>Wt||!!e.compactEmbed&&A>m.length,loadMore:B1,refreshingFeed:C,overriddenAuthorHandle:il,overriddenAuthorName:rl,selectedArticleId:sc,setActiveDealTag:P,clearDealTag:D1,clearFreeformTags:M1,selectArticle:_1,setDisplayCount:dc,setSelectedArticleId:ll,status:z1,toggleAuthorOverride:R1,toggleDealTag:T1,toggleFreeformTag:x1,totalAuthorCount:st?0:h,totalDealCount:st?0:A}}var aS=B(ft(),1);var Fr=B(ft(),1);function Zv(e){let[t,n]=(0,Fr.useState)(null),[a,l]=(0,Fr.useState)([]),[i,r]=(0,Fr.useState)(!1),[o,u]=(0,Fr.useState)(!1);return{close:()=>n(null),error:o,loading:i,merchant:t,open:async f=>{n(f),r(!0),u(!1),l([]);try{let d=Vv(f,e),m=await fetch(d.toString());if(!m.ok)throw new Error("API Error");l(mv(await m.json()))}catch(d){u(!0)}finally{r(!1)}},vouchers:a}}var je=B(O(),1);function lS(e){return new Set(e.map(t=>Array.isArray(t.authorName)?t.authorName[0]:t.authorName).map(t=>String(t||"").trim().toLowerCase()).filter(Boolean)).size}var iS=new Map,rS=()=>{};function Iv({data:e,editorBar:t,editorMode:n=!1,props:a,selectedDeals:l=iS,setSelectedDeals:i=rS}){let r=Zv(a.region),[o,u]=(0,Wv.useState)(new Set),c=p0[a.website||""]||"#1F69FF",s=a.backgroundColor?a.backgroundColor==="white"?"#ffffff":a.backgroundColor==="transparent"?"transparent":a.backgroundColor==="light_blue"?"#E7F0FF":void 0:void 0,f=Vu(a.authorHandle,a.authorName),d=Or(a),m=Fu(a),v=wa(m?"date_desc":a.sort,!d),A=!!(a.showReviewSort&&a.includeReviewProducts),b=a.showPriceDiscountFilters!==!1||A,h=!a.authorFullBleed,g=!e.clickedAuthorOverride,p=e.totalDealCount||e.deals.length,y=e.totalAuthorCount||lS(e.deals),C=e.status==="loading_inventory"||e.status==="refreshing_inventory"||e.status==="enriching_visible_cards",R=e.status==="loading_inventory"||(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards")&&e.deals.length===0,M=!!(a.showReviewSort&&a.includeReviewProducts&&(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards"))?"Loading and sorting available review products":e.status==="enriching_visible_cards"?"Adding live product images and prices":e.status==="refreshing_inventory"?"Updating products":`Loading ${a.website||"site"} authors and products`,w=j=>{e.markProductSelectionInteracted(),a.onBrandToggle?.(j)},D=j=>{e.markProductSelectionInteracted(),a.onBrandSelect?.(j)},k=j=>{e.markProductSelectionInteracted(),a.onPriceRangeChange?.(j)},se=j=>{e.markProductSelectionInteracted(),a.onDiscountAmountChange?.(j)},I=j=>{e.markProductSelectionInteracted(),a.onSortChange?.(j)};return(0,je.jsx)("div",{className:"tg-df-widget-host",style:{"--tg-df-blue":c.toUpperCase()==="#FFFFFF"?"#000000":c},"data-vizualizer-embed":"true","data-tg-df-full-bleed":a.authorFullBleed?"true":"false","data-tg-df-mobile-dropdowns":a.mobileDropdowns?"true":"false","data-tg-df-sticky-mobile-filters":a.stickyMobileFilters===!1?"false":"true",children:(0,je.jsxs)("div",{className:"tg-df-container article-body",style:a.backgroundColor?{backgroundColor:s}:void 0,children:[(a.showAuthorIdentity!==!1||a.showAuthorBio!==!1)&&(0,je.jsx)("div",{className:"tg-df-author-embed",style:{width:"100%",fontFamily:"inherit"},children:(0,je.jsx)("div",{className:"tg-df-author-section",style:{display:"block",opacity:1,overflow:"visible",background:"transparent",border:"none"},children:(0,je.jsx)(U0,{authorArticlesList:e.authorArticlesList,authorBioLength:a.authorBioLength,customBio:g?a.customBio:void 0,customHeaderKicker:a.customHeaderKicker,customHeaderTitle:a.customHeaderTitle,effectiveAuthorHandle:e.clickedAuthorOverride?e.overriddenAuthorHandle:a.authorHandle,effectiveAuthorName:e.clickedAuthorOverride?e.overriddenAuthorName:a.authorName,isReviewWidget:d,onBioChange:g?a.onBioChange:void 0,onHeaderKickerChange:a.onHeaderKickerChange,onHeaderTitleChange:a.onHeaderTitleChange,selectedProfile:e.effectiveAuthorProfile,showAuthorBio:a.showAuthorBio,showAuthorIdentity:a.showAuthorIdentity,showSocialButtons:a.showSocialButtons,stabilizeBio:f,authorCount:y,totalDealCount:p,website:a.website})})}),t,a.showCollectionsDropdown&&(0,je.jsx)(r0,{articles:e.authorArticlesList,authorHandle:a.authorHandle,authorName:a.authorName||a.author,onChange:e.selectArticle,selectedArticleId:e.selectedArticleId,shortenedHeadlines:a.shortenedHeadlines}),C&&(0,je.jsxs)("div",{role:"status","aria-live":"polite","aria-label":M,style:{alignItems:"center",display:"flex",justifyContent:"center",marginBottom:"16px",minHeight:"72px"},children:[(0,je.jsx)("span",{className:"tg-df-coupon-spinner","aria-hidden":"true",style:{borderWidth:"3px",height:"24px",width:"24px"}}),(0,je.jsxs)("span",{style:{color:"#4B5563",fontSize:"14px",marginLeft:"10px"},children:[M,"\u2026"]})]}),(0,je.jsx)(_0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,allAuthorsList:e.allAuthorsList,brands:a.brands,clickedAuthorOverride:e.clickedAuthorOverride,loading:e.loading,refreshing:e.refreshingFeed,onAuthorClick:e.toggleAuthorOverride,onBrandToggle:w,onFreeformTagClick:e.toggleFreeformTag,onTagClick:e.toggleDealTag,overriddenAuthorHandle:e.overriddenAuthorHandle,overriddenAuthorName:e.overriddenAuthorName,selectedBrands:a.selectedBrands,showAuthorRail:f&&a.showAuthorRail!==!1,showAuthorCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,website:a.website}),(0,je.jsx)(k0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,brands:a.brands,discountAmount:a.discountAmount,enabled:a.mobileDropdowns||h,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,onPriceRangeChange:k,onReviewSortChange:I,onTagClear:e.clearDealTag,onTagClick:e.toggleDealTag,priceRange:a.priceRange,reviewSort:v,selectedBrands:a.selectedBrands||[],showCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),b&&(0,je.jsx)(L0,{airedaleBrands:e.airedaleBrands,airedaleTags:e.airedaleTags,discountAmount:a.discountAmount,hidden:!!e.selectedArticleId,onDiscountAmountChange:se,onPriceRangeChange:k,onReviewSortChange:I,priceRange:a.priceRange,reviewSort:v,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),(0,je.jsx)(i0,{articles:e.authorArticlesList,selectedArticleId:e.selectedArticleId}),(a.showCategoryRail!==!1||a.showFreeformTagRail!==!1||a.showBrandRail!==!1)&&(0,je.jsx)(a0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleTags:e.airedaleTags,freeformTags:e.airedaleFreeformTags,discountAmount:a.discountAmount,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onPriceRangeChange:k,onTagClear:e.clearDealTag,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,priceRange:a.priceRange,selectedBrands:a.selectedBrands||[]}),(0,je.jsx)(w0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,couponMap:e.couponMap,deals:e.deals,displayCount:e.displayCount,editorMode:n,error:e.error,expandedDealIds:o,hasMore:e.hasMore,hideHawkPrices:a.hideHawkPrices,loading:R,loadingMore:e.loadingMore,loadMoreStartCount:e.loadMoreStartCount,onDescriptionToggle:j=>u(He=>{let ze=new Set(He);return ze.has(j)?ze.delete(j):ze.add(j),ze}),onLoadMore:e.loadMore,onOpenVouchers:r.open,query:a.query,recentDealsOnly:!!(a.includeDeals&&!a.includeCollections&&!a.includeBuyingGuideProducts&&!a.includeReviewProducts),selectedBrands:a.selectedBrands,selectedDeals:l,setSelectedDeals:i,website:a.website}),(0,je.jsx)(G0,{error:r.error,loading:r.loading,merchant:r.merchant,onClose:r.close,vouchers:r.vouchers})]})})}var $v=B(O(),1),Jv=e=>{let t={...e,editorMode:!1},n=qf(t);return(0,$v.jsx)(Iv,{data:n,props:t})};var U={authorBioLength:"short",authorFullBleed:!0,authorHandle:"all-authors",authorName:"All authors",backgroundColor:"transparent",customBio:"",customHeaderKicker:void 0,customHeaderTitle:void 0,discountAmount:"0",editorMode:!1,editorialMaxAgeMonths:"12",includeBuyingGuideProducts:!0,includeCollections:!0,includeDeals:!0,includeReviewProducts:!1,mobileDropdowns:!0,stickyMobileFilters:!0,offerType:"",preloadReviewInventory:!1,lightweightReviewDelivery:!1,hideHawkPrices:!1,prioritiseCommercialProducts:!0,priceRange:"all",productSelection:"latest",query:"Everything",region:"auto",resultCount:"12",retailer:"",selectedBrands:[],showAuthorBio:!0,showAuthorCounters:!0,showAuthorIdentity:!0,showAuthorRail:!0,showBrandRail:!0,showCategoryRail:!0,showCollectionsDropdown:!1,showPriceDiscountFilters:!0,showReviewSort:!1,showSocialButtons:!0,showCountdown:!1,showHeaderDetails:!0,showFreeformTagRail:!0,sort:"date_desc",viewMode:"author",website:"whowhatwear",widgetSubtitle:"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.",widgetTitle:"Top Deals Handpicked by Our Editors"};function We(e,t){return typeof e=="string"?e:t}function Ae(e,t){return typeof e=="boolean"?e:t}function e1(e){let t=e||{},n=t.authorBioLength==="long"?"long":"short",a=t.productSelection==="mix"?"mix":"latest";return{...U,...t,authorBioLength:n,authorFullBleed:Ae(t.authorFullBleed,U.authorFullBleed),authorHandle:We(t.authorHandle,U.authorHandle),authorName:We(t.authorName,U.authorName),backgroundColor:We(t.backgroundColor,U.backgroundColor),customBio:We(t.customBio,U.customBio),customHeaderKicker:typeof t.customHeaderKicker=="string"?t.customHeaderKicker:void 0,customHeaderTitle:typeof t.customHeaderTitle=="string"?t.customHeaderTitle:void 0,discountAmount:We(t.discountAmount,U.discountAmount),editorMode:Ae(t.editorMode,U.editorMode),editorialMaxAgeMonths:We(t.editorialMaxAgeMonths,U.editorialMaxAgeMonths),includeBuyingGuideProducts:Ae(t.includeBuyingGuideProducts,U.includeBuyingGuideProducts),includeCollections:Ae(t.includeCollections,U.includeCollections),includeDeals:Ae(t.includeDeals,U.includeDeals),includeReviewProducts:Ae(t.includeReviewProducts,U.includeReviewProducts),mobileDropdowns:Ae(t.mobileDropdowns,U.mobileDropdowns),stickyMobileFilters:Ae(t.stickyMobileFilters,U.stickyMobileFilters),offerType:We(t.offerType,U.offerType),preloadReviewInventory:Ae(t.preloadReviewInventory,U.preloadReviewInventory),lightweightReviewDelivery:Ae(t.lightweightReviewDelivery,U.lightweightReviewDelivery),hideHawkPrices:Ae(t.hideHawkPrices,U.hideHawkPrices),prioritiseCommercialProducts:Ae(t.prioritiseCommercialProducts,U.prioritiseCommercialProducts),priceRange:We(t.priceRange,U.priceRange),productSelection:a,query:We(t.query,U.query),region:We(t.region,U.region),resultCount:We(t.resultCount,U.resultCount),retailer:We(t.retailer,U.retailer),selectedBrands:Array.isArray(t.selectedBrands)?t.selectedBrands.filter(l=>typeof l=="string"):[],showAuthorBio:Ae(t.showAuthorBio,U.showAuthorBio),showAuthorCounters:Ae(t.showAuthorCounters,U.showAuthorCounters),showAuthorIdentity:Ae(t.showAuthorIdentity,U.showAuthorIdentity),showAuthorRail:Ae(t.showAuthorRail,U.showAuthorRail),showBrandRail:Ae(t.showBrandRail,U.showBrandRail),showCategoryRail:Ae(t.showCategoryRail,U.showCategoryRail),showCollectionsDropdown:Ae(t.showCollectionsDropdown,U.showCollectionsDropdown),showPriceDiscountFilters:Ae(t.showPriceDiscountFilters,U.showPriceDiscountFilters),showReviewSort:Ae(t.showReviewSort,U.showReviewSort),showSocialButtons:Ae(t.showSocialButtons,U.showSocialButtons),showCountdown:Ae(t.showCountdown,U.showCountdown),showHeaderDetails:Ae(t.showHeaderDetails,U.showHeaderDetails),showFreeformTagRail:Ae(t.showFreeformTagRail,U.showFreeformTagRail),sort:We(t.sort,U.sort),viewMode:We(t.viewMode,U.viewMode),website:We(t.website,U.website),widgetSubtitle:We(t.widgetSubtitle,U.widgetSubtitle),widgetTitle:We(t.widgetTitle,U.widgetTitle)}}function t1(e,t={}){return{...e,brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}}function n1(e,t){try{window.hawk?.analytics?.freyr?.push({name:e,data:t}),window.dispatchEvent(new CustomEvent("hawk-analytics-update")),window.freyr?.cmd.push(()=>{window.freyr?.pushAndUpdate?.(e,t)})}catch{}}function a1(){window.dataLayer=window.dataLayer||[],window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.hawk=window.hawk||{},window.hawk.analytics=window.hawk.analytics||{},window.hawk.analytics.freyr=window.hawk.analytics.freyr||[],window.freyr=window.freyr||{cmd:[]},window.freyr.cmd=window.freyr.cmd||[];let e="https://freyr.futurecdn.net/freyr.js",t=window.location.hostname;if(!(window.navigator.webdriver||window.navigator.userAgent.includes("Headless"))&&!!t&&t!=="localhost"&&t!=="127.0.0.1"&&!t.includes("run.app")&&!document.querySelector(`script[src="${e}"]`)){let l=document.createElement("script");l.src=e,l.async=!0,document.head.appendChild(l)}}function oS(e){let t=Number.parseFloat(e.rawPrice||e.price)||null,n=Number.parseFloat(e.rawMsrp||e.msrp)||null;return{product:{primary:{id:e.externalProductId||e.id||e.matchId||null,name:e.productName||e.title||"",type:"deal",price:t,previousPrice:n,currency:e.isoCurrencyCode||e.currency||"USD",preorder:!1,labels:e.modelBrand||e.brand?[{type:"brand",value:e.modelBrand||e.brand}]:[],link:e.url||null,originalLink:e.originalLink||e.url||null,revenueId:e.revenueId||null,startTime:null,endTime:null,voucherCode:null,voucherAudience:null,voucherPercentageSaving:n&&t&&n>t?Math.round((1-t/n)*100):null,voucherMoneySaving:null,voucherType:null,offerExclusive:!1,offerScope:null,globalId:e.productKey||null,inStock:e.inStock!==!1,contractProvider:null,contractMinutes:null,contractTexts:null,contractData:null,contractLength:null,contractMonthlyPrice:null,contractCurrency:e.isoCurrencyCode||e.currency||"USD"}},merchant:{id:e.merchantId||null,name:e.merchant||"Retailer",url:e.merchantUrl||null,network:e.merchantNetwork||null},model:{id:e.modelId||null,brand:e.modelBrand||e.brand||null,name:e.productName||e.title||"",parent:e.modelParent||null}}}var uS=new Set(["subid1","ascsubtag","clickref","u1"]);function cS(e){return e.match(/(?:^|[-_])(\d{10,})(?=$|[-_])/)?.[1]||null}function sS(e){let t=new Set,n=a=>{if(!a||t.has(a))return null;t.add(a);let l;try{l=new URL(a)}catch{return null}for(let[i,r]of l.searchParams)if(uS.has(i.toLowerCase())){let o=cS(r);if(o)return o}for(let i of l.searchParams.values())if(/^https?:\/\//i.test(i)){let r=n(i);if(r)return r}return null};return n(e)}function l1({areaClicked:e,clickType:t,deals:n,index:a,queryName:l}){let i={event:"hawkEvent",category:"Affiliates",affiliate:{action:{type:t,id:"author-widget",event:t==="appeared"?"viewed":"Click from",timestamp:Date.now()},component:{flag:"Editor",product:"deals",category:"Signal Deal Finder Author widget",type:t==="appeared"?"review":"signal product",label:l||n[0]?.productName||n[0]?.title||"",index:a??-1,linkCount:n.length,blockLayout:"",areaClicked:e}},products:n.slice(0,20).map(oS),reviews:[],_clear:!0,"gtm.uniqueEventId":Date.now()%1e4};n1("hawkEvent",i)}function i1(e,t){e.length&&l1({areaClicked:"",clickType:"appeared",deals:e,index:null,queryName:t})}function r1(e,t){if(e?.deals?.length)return e.deals;let n=Number(t)||12;return e?.allDeals?.slice(0,n)||[]}function o1(e){e.addEventListener("click",t=>{let n=t.target;if(!(n instanceof Element))return;let a=n.closest("a[data-fcaw-affiliate-link][href], a.hawk-affiliate-link-deal-widget[href], a.hawk-affiliate-link-container[href], a.hawk-affiliate-link-deal-button[href]"),l=n.closest(".tg-df-card"),i=!!(!a?.dataset.fcawRevenueId&&(a?.hasAttribute("data-hl-processed")||a?.hasAttribute("data-fcaw-hawklinks-requested")));a&&l&&!i&&l1({areaClicked:"Signal Product Card",clickType:"retailer",deals:[{brand:l.dataset.brand,currency:l.dataset.currency,id:l.dataset.dealId,merchant:a.dataset.merchant||l.dataset.merchant,merchantId:a.dataset.merchantId||l.dataset.merchantId,modelId:a.dataset.modelId||l.dataset.modelId,productKey:a.dataset.productKey||l.dataset.productKey,rawMsrp:l.dataset.previousPrice,rawPrice:l.dataset.price,originalLink:a.dataset.fcawOriginalLink||a.href,revenueId:a.dataset.fcawRevenueId||sS(a.href),title:l.dataset.productName,url:a.href}],index:Array.from(e.querySelectorAll(".tg-df-card")).indexOf(l)});let r=n.closest('button, select, [role="button"]');r&&n1("elementInteraction",{element:{action:"click",id:r.id||void 0,class:r.className||void 0,name:r.getAttribute("name")||r.getAttribute("aria-label")||void 0,text:r.textContent?.trim()||void 0,label:r.getAttribute("aria-label")||void 0}})})}var Vf=B(O(),1),dS='fc-author-commerce-widget[data-fcaw-version="1"]',fS="(max-width: 599px)",gS=600,mS='[class*="membership-expandable-banner"]',hS=/^jump\s+to\b/i,jf="data-fcaw-jump-navigation-suppressed",pS=50,yS=1e4,vS=["[data-sticky-header]","[data-header-sticky]",'[role="banner"]',".navigation__container",".site-header",".main-header",".header__container",'[class*="membership-expandable-banner"] [class*="skinny-banner"]','[class*="membership-expandable-banner"] [id="skinnyBanner"]',"nav","header"].join(","),bS=`  :host {    display: block !important;    width: 100% !important;    min-width: 0 !important;    max-width: none !important;    isolation: isolate !important;    contain: style !important;  }  :host([data-fcaw-full-bleed="true"]) {    width: min(      1200px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1200px !important;    margin-left: var(      --fcaw-full-bleed-offset,      calc(50% - min(600px, 50vw))    ) !important;    margin-right: 0 !important;    position: relative !important;  }  :host([data-fcaw-full-bleed="true"]) #tg-df-spreadsheet-filters {    width: min(      1500px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1500px !important;    margin-left: calc(      (        100% -        min(1500px, var(--fcaw-viewport-width, 100vw))      ) / 2    ) !important;    margin-right: 0 !important;  }  :host, :host *, :host *::before, :host *::after {    box-sizing: border-box;  }`,Ff=new WeakMap;function AS(){if(document.querySelector("style[data-fcaw-jump-navigation-protection]"))return;let e=document.createElement("style");e.setAttribute("data-fcaw-jump-navigation-protection",""),e.textContent=`    [${jf}="true"] {      opacity: 0 !important;      pointer-events: none !important;      visibility: hidden !important;    }  `,document.head.appendChild(e)}function wS(){let e=Array.from(document.querySelectorAll("span, p, div, strong, b")).filter(n=>n.childElementCount===0&&hS.test(n.textContent?.trim()||"")),t=new Set;for(let n of e)for(let a=n.parentElement;a&&a!==document.body;a=a.parentElement)if(getComputedStyle(a).position==="sticky"){t.add(a);break}return[...t]}function SS(e,t,n){let a=Ff.get(e)||new Set;n?a.add(t):a.delete(t),a.size>0?(Ff.set(e,a),e.setAttribute(jf,"true")):(Ff.delete(e),e.removeAttribute(jf))}function CS(e){if(e.dataset.fcawFullBleed!=="true"||typeof IntersectionObserver>"u")return;let t=wS().filter(a=>!a.contains(e));if(t.length===0)return;AS(),new IntersectionObserver(([a])=>{t.forEach(l=>SS(l,e,a.isIntersecting))},{threshold:0}).observe(e)}function RS({host:e,initialData:t,initialProps:n}){let[a]=(0,Lt.useState)(d1),l=DS(t,a),[i,r]=(0,Lt.useState)(n.query),[o,u]=(0,Lt.useState)(n.selectedBrands),[c,s]=(0,Lt.useState)(n.priceRange),[f,d]=(0,Lt.useState)(n.discountAmount),[m,v]=(0,Lt.useState)(n.sort),[A,b]=(0,Lt.useState)(!1),h=!!(A&&n.compactEmbed&&n.includeDeals!==!1),g=(0,Lt.useRef)(!1);return(0,Lt.useEffect)(()=>{let p=()=>{g.current||(g.current=!0,i1(r1(l,n.resultCount),n.query))};if(typeof IntersectionObserver>"u"){p();return}let y=new IntersectionObserver(([C])=>{C?.isIntersecting&&(p(),y.disconnect())},{threshold:.1});return y.observe(e),()=>y.disconnect()},[e,l,n.query]),(0,Lt.useEffect)(()=>{if(typeof IntersectionObserver>"u"){b(!0);return}let p=new IntersectionObserver(([y])=>{y?.isIntersecting&&(b(!0),p.disconnect())},{rootMargin:"800px 0px"});return p.observe(e),()=>p.disconnect()},[e]),(0,Vf.jsx)(Jv,{...n,region:a||"unavailable",initialData:l,warmInventory:A,refreshDealsOnViewport:h,query:i,selectedBrands:o,priceRange:c,discountAmount:f,sort:m,editorMode:!1,onQueryChange:r,onBrandSelect:u,onBrandToggle:p=>u(y=>y.includes(p)?y.filter(C=>C!==p):[...y,p]),onPriceRangeChange:s,onDiscountAmountChange:d,onSortChange:v})}function TS(e){try{let t=document.cookie.match(new RegExp(`(?:^|;\\s*)${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}catch{return}}function cc(e){let n=String(e||"").trim().toUpperCase().replace("_","-").split("-").at(-1);return n==="UK"?"GB":["US","GB","AU","CA","DE","FR","IT","ES","NL"].includes(n||"")?n:void 0}function d1(){let e=new URLSearchParams(window.location.search).get("area");return cc(e)||cc(TS("FTR_Country_Code"))||cc(document.documentElement.getAttribute("data-locale"))||cc(window.navigator.language)}function u1(e,t){let n=e.querySelector(t);if(n?.textContent)try{return JSON.parse(n.textContent)}catch(a){console.warn("Author widget configuration could not be parsed.",a);return}}function ES(e){return e?.reviewInventoryFormat!==nv||!e.allDeals?e:{...e,allDeals:av(e.allDeals)}}function DS(e,t){let n=t?e?.regionalDealManifests?.[t]:void 0;if(!n)return e;let a=e?.regionalDealRailData?.[t];return{...e,allDeals:void 0,deals:n,...a}}function c1(e){e.querySelectorAll("a[href]").forEach(t=>{(t.hasAttribute("data-fcaw-affiliate-link")||t.classList.contains("hawk-affiliate-link-deal-widget")||t.classList.contains("hawk-affiliate-link-container")||t.classList.contains("hawk-affiliate-link-deal-button"))&&(t.rel="sponsored nofollow noopener")})}function xS(e){let t=e.closest(".tg-df-card"),n=t?.dataset.fcawRevenueId||e.dataset.fcawRevenueId;if(n)return n;let a=[window.location.href,t?.dataset.productName||"",t?.dataset.merchant||"",t?.dataset.modelId||"",new Date().toDateString(),"tomsguide"].join("|"),l=0;for(let r=0;r<a.length;r+=1)l=(l<<5)-l+a.charCodeAt(r),l|=0;let i=String(Math.abs(l));for(;i.length<19;)l=(l<<5)-l+i.length,l|=0,i+=String(Math.abs(l));return i=i.slice(0,19),t&&(t.dataset.fcawRevenueId=i),i}function MS(e){let t=e.dataset.fcawOriginalLink||e.href;if(!t.includes("hawk-custom-tracking"))return!1;let n=d1();if(!n)return!1;let a=xS(e);return e.dataset.fcawOriginalLink=t,e.dataset.fcawRevenueId=a,e.href=t.replaceAll("hawk-custom-tracking",`tomsguide-${n.toLowerCase()}-${a}`),e.setAttribute("data-fcaw-hawklinks-requested","true"),!0}function _S(){return!!window.hawklinks?.version}function BS(e){let t=!1,n,a,l=()=>Array.from(e.querySelectorAll(".article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-widget[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-container[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-button[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested])")),i=()=>{t=!1;let u=l();if(u.length===0)return;let c=u.filter(s=>!MS(s));if(c.length!==0){if(!_S()){let s=Date.now();a??=s,!n&&s-a<yS&&(n=window.setTimeout(()=>{n=void 0,r()},pS));return}a=void 0,c.forEach(s=>s.setAttribute("data-fcaw-hawklinks-requested","true")),document.dispatchEvent(new CustomEvent("processArticle",{detail:{element:e}}))}},r=()=>{t||(t=!0,window.setTimeout(i,0))},o=new MutationObserver(r);return o.observe(e,{attributes:!0,attributeFilter:["href"],childList:!0,subtree:!0}),r(),()=>{o.disconnect(),n&&window.clearTimeout(n)}}function NS(e){if(e.dataset.fcawFullBleed!=="true")return;let t=()=>{let n=document.documentElement.clientWidth||window.innerWidth,a=Math.min(1200,n),l=Math.max(0,(n-a)/2),i=e.parentElement?.getBoundingClientRect().left||0;e.style.setProperty("--fcaw-full-bleed-offset",`${l-i}px`),e.style.setProperty("--fcaw-viewport-width",`${n}px`)};t(),window.addEventListener("resize",t,{passive:!0}),typeof ResizeObserver<"u"&&e.parentElement&&new ResizeObserver(t).observe(e.parentElement)}function OS(e){let t=window.matchMedia(fS),n=!1,a=new Set,l=new Map,i,r=()=>t.matches||e.getBoundingClientRect().width<gS,o=()=>{n||(n=!0,window.requestAnimationFrame(s))},u=()=>{if(typeof MutationObserver>"u")return;let f=new Set(Array.from(document.querySelectorAll(mS)));l.forEach((d,m)=>{f.has(m)&&m.isConnected||(d.disconnect(),l.delete(m))}),f.forEach(d=>{if(l.has(d))return;let m=new MutationObserver(o);m.observe(d,{attributes:!0,attributeFilter:["class","style"],childList:!0,subtree:!0}),l.set(d,m)})},c=f=>{let d=new Set(f);a.forEach(m=>{d.has(m)||(i?.unobserve(m),m.removeEventListener("transitionend",o),a.delete(m))}),f.forEach(m=>{a.has(m)||(i?.observe(m),m.addEventListener("transitionend",o),a.add(m))})},s=()=>{if(n=!1,u(),!r()){c([]),e.style.removeProperty("--fcaw-mobile-sticky-offset");return}let f=Number.parseFloat(getComputedStyle(e).getPropertyValue("--fcaw-publisher-sticky-offset"));if(Number.isFinite(f)&&f>=0){c([]),e.style.setProperty("--fcaw-mobile-sticky-offset",`${f}px`);return}let d=Array.from(document.querySelectorAll(vS)).filter(v=>{if(v.contains(e))return!1;let A=getComputedStyle(v).position;return A==="fixed"||A==="sticky"});c(d);let m=d.reduce((v,A)=>{let b=A.getBoundingClientRect();return b.top>2||b.bottom<=0||b.height<=0||b.height>window.innerHeight*.5?v:Math.max(v,b.bottom)},0);e.style.setProperty("--fcaw-mobile-sticky-offset",`${Math.ceil(m)}px`)};return typeof ResizeObserver<"u"&&(i=new ResizeObserver(o),i.observe(e)),s(),window.addEventListener("scroll",o,{capture:!0,passive:!0}),window.addEventListener("resize",o,{passive:!0}),t.addEventListener?.("change",o),()=>{window.removeEventListener("scroll",o,!0),window.removeEventListener("resize",o),t.removeEventListener?.("change",o),i?.disconnect(),a.forEach(f=>f.removeEventListener("transitionend",o)),a.clear(),l.forEach(f=>f.disconnect()),l.clear()}}function kS(e){if(e.dataset.fcawEnhanced==="true")return;let t=u1(e,"script[data-fcaw-config]");if(!t)return;let n={...t1(e1(t),{brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}),compactEmbed:t.compactEmbed,editorMode:!1,warmInventory:t.warmInventory},a=u1(e,"script[data-fcaw-preload]"),l=ES(a),i=e.querySelector("[data-fcaw-fallback]");if(!i)return;NS(e),CS(e),n.stickyMobileFilters!==!1&&OS(e),c1(i);let r=e.shadowRoot||e.attachShadow({mode:"open"}),o=e.querySelector(":scope > style[data-fcaw-host-protection]");if(o&&r.appendChild(o),!r.querySelector("style[data-fcaw-shadow-protection]")){let c=document.createElement("style");c.setAttribute("data-fcaw-shadow-protection",""),c.textContent=bS,r.appendChild(c)}i.querySelectorAll(":scope > style").forEach(c=>{r.appendChild(c)});let u=document.createElement("div");for(u.setAttribute("data-fcaw-mount","");i.firstChild;)u.appendChild(i.firstChild);i.remove(),r.appendChild(u),e.dataset.fcawEnhanced="true",a1(),e.dataset.fcawAnalyticsReady="true",o1(r),BS(r),(0,s1.createRoot)(u).render((0,Vf.jsx)(RS,{host:e,initialData:l,initialProps:n})),window.setTimeout(()=>c1(r),0)}function Yf(){document.querySelectorAll(dS).forEach(kS)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yf,{once:!0}):Yf();new MutationObserver(Yf).observe(document.documentElement,{childList:!0,subtree:!0});})();/*! Bundled license information:react/cjs/react.production.js:  (**   * @license React   * react.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)scheduler/cjs/scheduler.production.js:  (**   * @license React   * scheduler.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom.production.js:  (**   * @license React   * react-dom.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom-client.production.js:  (**   * @license React   * react-dom-client.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react/cjs/react-jsx-runtime.production.js:  (**   * @license React   * react-jsx-runtime.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)*/</script></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-prime-day-gaming-mouse-deals-in-the-uk"><span>Prime Day gaming mouse deals in the UK</span></h2><h2 id="where-are-the-best-prime-day-gaming-keyboard-mouse-and-controller-deals-in-the-uk">Where are the best Prime Day gaming keyboard, mouse, and controller deals in the UK?</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.co.uk/s?k=gaming+mice&crid=LB80KGTDLNUC&sprefix=gaming+mice%2Caps%2C142&ref=nb_sb_noss_1" target="_blank">Big discounts on top-brand gaming mice</a></li><li><strong>Overclockers:</strong> <a href="https://www.overclockers.co.uk/peripherals/mice/gaming-mice" target="_blank">Over 100 gaming mice to choose from</a></li><li><strong>Scan:</strong> <a href="https://www.scan.co.uk/search?q=gaming+mice" target="_blank">Gaming mice from just £18</a></li><li><strong>Box: </strong><a href="https://box.co.uk/gaming-mice" target="_blank">Gaming mice from Asus, Logitech, and Razer</a></li><li><strong>Currys:</strong> <a href="https://www.currys.co.uk/search?q=gaming%20mice" target="_blank">Mice from as little as £15</a></li><li><strong>Argos: </strong><a href="https://www.argos.co.uk/search/gaming-mice/?clickOrigin=searchbar:search:term:gaming+mice" target="_blank">Good prices on budget to high-end mice</a></li></ul><div class="product"><a data-dimension112="8f407f3c-bb39-11f1-8991-4f2d86e6f914" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="£20.90" href="https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1401px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qgFqUinn2HCKHEThJ47QpC" name="1636734797.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1401" height="1401" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/" target="_blank" rel="nofollow" data-dimension112="8f407f3c-bb39-11f1-8991-4f2d86e6f914" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="£20.90">G203 | Wired: was £30.99 now £20.90</a></strong><br>Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.</p><p><strong>Key specs: Wired | 8,000 DPI | Right-handed</strong><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/" target="_blank" rel="nofollow" data-dimension112="8f407f3c-bb39-11f1-8991-4f2d86e6f914" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="£20.90">View Deal</a></p></div><div class="product"><a data-dimension112="8f408004-bb39-11f1-8fae-d191715af846" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="£35.80" href="https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="SaXBHtPWoMGvzcyvsLNQQX" name="1698934268.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/" target="_blank" rel="nofollow" data-dimension112="8f408004-bb39-11f1-8fae-d191715af846" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="£35.80">G502 Hero | Wired: £35.80</a></strong><br>This is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package.</p><p><strong>Key specs: Wired | 25,600 DPI | Right-handed</strong><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/" target="_blank" rel="nofollow" data-dimension112="8f408004-bb39-11f1-8fae-d191715af846" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="£35.80">View Deal</a></p></div><div class="product"><a data-dimension112="8f408068-bb39-11f1-a3a5-2fe33575d15c" data-action="Deal Block" data-label="Aerox 3 | Wireless" data-dimension48="Aerox 3 | Wireless" data-dimension25="£69.97" href="https://www.amazon.co.uk/SteelSeries-Aerox-Wireless-TrueMove-Optical/dp/B0GNMGXRF8/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1433px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="43md8LJJA69Nb4NXj4Aq6f" name="1790601815.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/43md8LJJA69Nb4NXj4Aq6f-1920-80.jpg" mos="" align="middle" fullscreen="" width="1433" height="1433" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/SteelSeries-Aerox-Wireless-TrueMove-Optical/dp/B0GNMGXRF8/?th=1" target="_blank" rel="nofollow" data-dimension112="8f408068-bb39-11f1-a3a5-2fe33575d15c" data-action="Deal Block" data-label="Aerox 3 | Wireless" data-dimension48="Aerox 3 | Wireless" data-dimension25="£69.97">Aerox 3 | Wireless: was £99.99 now £69.97</a></strong><br>The SteelSeries Aerox 3 might be lightweight with its honeycombed design, but it's certainly not light on features. With a 200-hour battery life, dual connectivity, and AquaBarrier protection to ensure water, dust and dirt resistance, this is a mouse designed to take some abuse and keep on trucking.</p><p><strong>Key specs: Wireless | 18,000 DPI | Right-handed</strong><a class="view-deal button" href="https://www.amazon.co.uk/SteelSeries-Aerox-Wireless-TrueMove-Optical/dp/B0GNMGXRF8/?th=1" target="_blank" rel="nofollow" data-dimension112="8f408068-bb39-11f1-a3a5-2fe33575d15c" data-action="Deal Block" data-label="Aerox 3 | Wireless" data-dimension48="Aerox 3 | Wireless" data-dimension25="£69.97">View Deal</a></p></div><div class="product"><a data-dimension112="f90d145a-c0ae-11f1-a1ce-d7b42889a7cd" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="£79.99" href="https://www.amazon.co.uk/Corsair-SABRE-Ultralight-Wireless-Gaming/dp/B0FPDBK2M6" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4AaJcaYRutRHqs8C5qjfye" name="Sabre V2 Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4AaJcaYRutRHqs8C5qjfye-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Corsair-SABRE-Ultralight-Wireless-Gaming/dp/B0FPDBK2M6" target="_blank" rel="nofollow" data-dimension112="f90d145a-c0ae-11f1-a1ce-d7b42889a7cd" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="£79.99">Sabre V2 Pro: was £89.99 now £79.99</a></strong><br>Getting a <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/" target="_blank">92% from our Jacob Fox</a> last year, this ultra-light gaming mouse is a bit of a beast. It's light, sturdy and comes with a great sensor too. </p><p><strong>Key specs: 33K sensor | Wireless | 36 g weight | 8,000 Hz</strong><a class="view-deal button" href="https://www.amazon.co.uk/Corsair-SABRE-Ultralight-Wireless-Gaming/dp/B0FPDBK2M6" target="_blank" rel="nofollow" data-dimension112="f90d145a-c0ae-11f1-a1ce-d7b42889a7cd" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="£79.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f4080cc-bb39-11f1-aa32-7f104278d10e" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="£98.40" href="https://www.amazon.co.uk/Logitech-Lightspeed-Left-Handed-Customisable-Switchable-Black/dp/B0DBZGCQHX/ref=sr_1_5" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1206px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="8LsAaks2QtDi5D9rVtv4Yc" name="1781520515.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/8LsAaks2QtDi5D9rVtv4Yc-1920-80.jpg" mos="" align="middle" fullscreen="" width="1206" height="1206" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-Lightspeed-Left-Handed-Customisable-Switchable-Black/dp/B0DBZGCQHX/ref=sr_1_5" target="_blank" rel="nofollow" data-dimension112="8f4080cc-bb39-11f1-aa32-7f104278d10e" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="£98.40">G Pro 2 Lightspeed | Wireless: was £119.99 now £98.40</a></strong><br>A great 44K DPI sensor with an ambidextrous shape, the G Pro was our first love before the Superlight showed up. It's still a wicked shape and plenty capable for gaming. This one may drop further as while it is a good price today, it has been a touch cheaper in recent months.</p><p><strong>Key specs: Ambidextrous | 44K DPI | Wireless</strong><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-Lightspeed-Left-Handed-Customisable-Switchable-Black/dp/B0DBZGCQHX/ref=sr_1_5" target="_blank" rel="nofollow" data-dimension112="8f4080cc-bb39-11f1-aa32-7f104278d10e" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="£98.40">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-mice/best-prime-day-gaming-mouse-deals/</link>
                                                                            <description>
                            <![CDATA[ The Big Deal Days may technically be finished, but we're still finding big discounts on gaming mice. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">DpQ8P8QRZKyquhjyAvtzVT</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Q8oSk3zQUGsBXY2zk6PGek-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 28 Sep 2026 13:33:10 +0000</pubDate>                                                                                                                                <updated>Thu, 08 Oct 2026 09:24:25 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Mice]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                <author><![CDATA[ dave.james@futurenet.com (Dave James) ]]></author>                    <dc:creator><![CDATA[ Dave James ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-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/Q8oSk3zQUGsBXY2zk6PGek-1920-80.jpg">
                                                            <media:credit><![CDATA[Logitech]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Logitech gaming mouse on a Prime Day background]]></media:description>                                                            <media:text><![CDATA[Logitech gaming mouse on a Prime Day background]]></media:text>
                                <media:title type="plain"><![CDATA[Logitech gaming mouse on a Prime Day background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Q8oSk3zQUGsBXY2zk6PGek-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Amazon's October Prime Day event has technically finished, but as always, many deals are still running. Especially because every other retailer is also jumping on the discounts bandwagon. It's not too late to find a big discount on an excellent squeaker, that's for sure.</p><p>👉<a href="https://www.amazon.com/s?k=gaming+mice&crid=2J6G5VPFKFEZ6&sprefix=gaming+mice%2Caps%2C210&ref=nb_sb_noss_1" target="_blank"><strong>ALL of Amazon's gaming mice deals</strong></a>👈<br><strong>👉</strong><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>OUR favorite Prime Day PC gaming deals</strong></a><strong>👈</strong></p><p>We're PC gamers, so the <a href="https://www.pcgamer.com/the-best-gaming-mouse/" target="_blank">best gaming mice</a> are our bread and butter. We spend a lot of time through the year testing the latest mice and the latest tech, so check out our guide to get an idea of what might be the right one for you. In the meantime, though, there are lots of tempting options below.</p><h2 id="where-to-find-the-best-prime-day-gaming-mice-deals">Where to find the best Prime Day gaming mice deals</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.com/s?k=gaming+mice&crid=2J6G5VPFKFEZ6&sprefix=gaming+mice%2Caps%2C210&ref=nb_sb_noss_1" target="_blank"><strong>All the gaming mice you could ever want</strong></a></li><li><strong>Walmart:</strong> <a href="https://www.walmart.com/search?q=gaming+mice" target="_blank">Speedy gaming mice, superb savings</a></li><li><strong>Best Buy:</strong> <a href="https://www.bestbuy.com/site/searchpage.jsp?id=pcat17071&st=gaming%20mice" target="_blank">Big name meeces with big value discounts</a></li><li><strong>Newegg:</strong> <a href="https://www.newegg.com/Gaming-Mouse/SubCategory/ID-3527?cm_sp=Cat_Keyboard-Mice_3-_-VisNav-_-Gaming-Mice" target="_blank">Big savings on big brand gaming mice</a></li></ul><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-1bec2uw *:not(svg):not(path) { box-sizing: border-box; }    #widget-1bec2uw h1, #widget-1bec2uw p, #widget-1bec2uw h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-1bec2uw, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-1bec2uw); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-1bec2uw tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-1bec2uw tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-1bec2uw td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-1bec2uw: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-1bec2uw: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-1bec2uw td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-1bec2uw td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-1bec2uw td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-1bec2uw td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-1bec2uw td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-1bec2uw td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-1bec2uw: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-1bec2uw: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-1bec2uw"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 104 gaming mouse reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Gaming Mice";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%22WMXAonUQQtoWEioUkjrHQ9%22%2C%22title%22%3A%22AngryMiao%20AM%20Infinity.97%20mouse%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fangrymiao-am-infinity-97-mouse-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-19T12%3A20%3A28Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FJFKjNACJuiQRvtSxGHrSRo.jpg%22%2C%22strapline%22%3A%22Flagship%20speed%2C%20boutique%20flair.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22gaming%20mouse%22%2C%22Asus%22%5D%2C%22score%22%3A88%2C%22summary%22%3A%22Flagship%20speed%2C%20boutique%20flair.%22%7D%2C%7B%22id%22%3A%22VoC7Nefyvxfz8vx7DkQY6G%22%2C%22title%22%3A%22Razer%20Naga%20V3%20Pro%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Frazer-naga-v3-pro-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-18T09%3A18%3A44Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FbxiLAwj2yKPCob3YQrKmwP.jpg%22%2C%22strapline%22%3A%22An%20upgrade%20in%20pretty%20much%20every%20way%20(if%20you%20ignore%20the%20audible%20ping%20of%20the%20switches).%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22gaming%20mouse%22%2C%22Asus%22%5D%2C%22score%22%3A84%2C%22summary%22%3A%22An%20upgrade%20in%20pretty%20much%20every%20way%20(if%20you%20ignore%20the%20audible%20ping%20of%20the%20switches).%22%7D%2C%7B%22id%22%3A%229rH2aY9tFgUwQt6sayPTuA%22%2C%22title%22%3A%22Asus%20ROG%20Harpe%20II%20Extreme%20Edition%2020%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fasus-rog-harpe-ii-extreme-edition-20-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-14T12%3A04%3A08Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F5Z5HG6hDyVtLXotzVznxzd.jpg%22%2C%22strapline%22%3A%22The%20most%20luxurious%20gaming%20mouse%20I've%20managed%20to%20get%20grubby.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22gaming%20mouse%22%2C%22Asus%22%2C%22Asus%20ROG%20Harpe%20II%20Extreme%20Edition%2020%22%5D%2C%22score%22%3A72%2C%22summary%22%3A%22The%20most%20luxurious%20gaming%20mouse%20I've%20managed%20to%20get%20grubby.%22%7D%2C%7B%22id%22%3A%227Ck8uEtqvvSPUEMBEB3WBL%22%2C%22title%22%3A%22Pulsar%20Feinmann%20F01%20Noctua%20Edition%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fpulsar-feinmann-f01-noctua-edition-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-11T14%3A22%3A21Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FVwUWxAQNqmnvcuJzK3zznH.jpg%22%2C%22strapline%22%3A%22Breezy%20and%20comfortable%2C%20but%20I'm%20not%20a%20fan%20of%20its%20price%20and%20battery.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22budget%20gaming%20mice%22%2C%22gaming%20mouse%22%2C%22budget%20gaming%20mouse%22%2C%22Noctua%22%5D%2C%22score%22%3A73%2C%22summary%22%3A%22Breezy%20and%20comfortable%2C%20but%20I'm%20not%20a%20fan%20of%20its%20price%20and%20battery.%22%7D%2C%7B%22id%22%3A%22oFURMEnCZ5FiByvBsJjKtG%22%2C%22title%22%3A%22Mchose%20K7%20V2%20Ultra%2B%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fmchose-k7-v2-ultra-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-31T11%3A12%3A44Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FJPWDDosBpyPGimW3CEGTPg.jpg%22%2C%22strapline%22%3A%22Great%20specs%20with%20a%20Viper%20V3%2FV4%20Pro's%20shape%2C%20for%20less.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20mice%22%2C%22MCHOSE%22%2C%22Mchose%20K7%20V2%20Ultra%2B%22%2C%22Razer%20Viper%20V4%20Pro%22%5D%2C%22score%22%3A89%2C%22summary%22%3A%22Great%20specs%20with%20a%20Viper%20V3%2FV4%20Pro's%20shape%2C%20for%20less.%22%7D%2C%7B%22id%22%3A%2274wWM4f8JebSDZj7RERSUU%22%2C%22title%22%3A%22Asus%20ProArt%20Mouse%20MD301%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fasus-proart-mouse-md301%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-08T16%3A12%3A04Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FCDsLPYCyTeZscFLF2sjGHQ.jpg%22%2C%22strapline%22%3A%22A%20professional%20design%2C%20but%20with%20enough%20quirks%20to%20give%20me%20pause.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Asus%22%2C%22ergonomic%20mouse%22%2C%22Logitech%20MX%20Master%204%22%2C%22mouse%22%2C%22polling%20rate%22%2C%22mouse%20sensor%22%2C%22Asus%20ProArt%20Mouse%20MD301%22%5D%2C%22score%22%3A71%2C%22summary%22%3A%22A%20professional%20design%2C%20but%20with%20enough%20quirks%20to%20give%20me%20pause.%22%7D%2C%7B%22id%22%3A%22K53srydpKdGNFuLaqCTAra%22%2C%22title%22%3A%22Logitech%20Mobi%20Fold%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Flogitech-mobi-fold-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-07T11%3A41%3A33Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FFgQTQfXDfPekUFgZ9dwEZ7.jpg%22%2C%22strapline%22%3A%22Is%20that%20a%20mouse%20in%20your%20pocket%20or%20do%20you%20need%20to%20see%20a%20doctor%3F%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20mouse%22%2C%22travel%20mouse%22%2C%22Logitech%22%2C%22Mobi%20Fold%22%5D%2C%22score%22%3A65%2C%22summary%22%3A%22Is%20that%20a%20mouse%20in%20your%20pocket%20or%20do%20you%20need%20to%20see%20a%20doctor%3F%22%7D%2C%7B%22id%22%3A%22CpybdgtNoaxnCfqj8qUD36%22%2C%22title%22%3A%22Logitech%20G305%20X%20Superlight%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Flogitech-g305-x-superlight-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-19T15%3A37%3A08Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FpTZdszAGGB42CfodWGhPqb.jpg%22%2C%22strapline%22%3A%22A%20solid%20and%20fairly%20plain%20upgrade%20on%20the%20original%2C%20but%20not%20wholly%20better%20either.%20%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Mice%22%2C%22gaming%20mice%22%2C%22budget%20gaming%20mice%22%2C%22gaming%20mouse%22%2C%22budget%20gaming%20mouse%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20solid%20and%20fairly%20plain%20upgrade%20on%20the%20original%2C%20but%20not%20wholly%20better%20either.%20%22%7D%2C%7B%22id%22%3A%229yFaBcP8M4acKy3vvNHd3S%22%2C%22title%22%3A%22MSI%20Versa%20300%20Wireless%208K%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fmsi-versa-300-wireless-8k-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-15T15%3A35%3A37Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FJBmtjZP3tFxWBytcBD26Jb.jpg%22%2C%22strapline%22%3A%22Surprisingly%20potent.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22MSI%22%2C%22gaming%20mouse%22%2C%228K%22%2C%22mouse%22%2C%22gaming%20mice%22%5D%2C%22score%22%3A72%2C%22summary%22%3A%22Surprisingly%20potent.%22%7D%2C%7B%22id%22%3A%22PnfkWCANTGjwi9CK2iZQBN%22%2C%22title%22%3A%22ProtoArc%20EM25%20ergonomic%20mouse%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-mice%2Fprotoarc-em25-ergonomic-mouse-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-12T16%3A31%3A51Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FZwZJejJtPeZcajbcwMNWfX.jpg%22%2C%22strapline%22%3A%22Rough%20around%20the%20edges.%22%2C%22categories%22%3A%5B%22Gaming%20Mice%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22ergonomic%20mouse%22%2C%22ProtoArc%22%2C%22ProtoArc%20EM25%22%2C%22RF%202.4%20GHz%22%2C%22Bluetooth%22%2C%22wireless%20mouse%22%5D%2C%22score%22%3A40%2C%22summary%22%3A%22Rough%20around%20the%20edges.%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 76;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Gaming Mice Widget"></iframe></div><h2 class="article-body__section" id="section-prime-day-gaming-mouse-deals"><span>Prime Day gaming mouse deals</span></h2><div class="product"><a data-dimension112="8f407686-bb39-11f1-af31-3179bb99ad85" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="$19.99" href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1401px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qgFqUinn2HCKHEThJ47QpC" name="1636734797.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1401" height="1401" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" target="_blank" rel="nofollow" data-dimension112="8f407686-bb39-11f1-af31-3179bb99ad85" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="$19.99">G203 | Wired: was $34.99 now $19.99</a></strong><br>This rodent is perfect as a starter or low-budget option, with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software. This mouse proves that you don't need to go fancy to get a great gaming peripheral.</p><p><strong>Key specs: Wired | 8,000 DPI | Right-handed</strong></p><p><strong>Price check:</strong> <a href="https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362" target="_blank">Best Buy $29.95</a><a class="view-deal button" href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" target="_blank" rel="nofollow" data-dimension112="8f407686-bb39-11f1-af31-3179bb99ad85" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="$19.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f40774e-bb39-11f1-a4c7-7f324f579c2b" data-action="Deal Block" data-label="G305 Lightspeed | Wireless" data-dimension48="G305 Lightspeed | Wireless" data-dimension25="$29.99" href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:212px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="krHdzSvvW5EskC6Keg74P9" name="1700740513.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9-1920-80.jpg" mos="" align="middle" fullscreen="" width="212" height="212" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" target="_blank" rel="nofollow" data-dimension112="8f40774e-bb39-11f1-a4c7-7f324f579c2b" data-action="Deal Block" data-label="G305 Lightspeed | Wireless" data-dimension48="G305 Lightspeed | Wireless" data-dimension25="$29.99">G305 Lightspeed | Wireless: was $49.99 now $29.99</a></strong><br>The Logitech G305 Lightspeed is our<a href="https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse" target="_blank"> favorite budget wireless mouse</a>—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily <em>that </em>out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.</p><p><strong>Key specs: Wireless | 12,000 DPI | Right-handed</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR" target="_blank">Best Buy $36.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" target="_blank" rel="nofollow" data-dimension112="8f40774e-bb39-11f1-a4c7-7f324f579c2b" data-action="Deal Block" data-label="G305 Lightspeed | Wireless" data-dimension48="G305 Lightspeed | Wireless" data-dimension25="$29.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f407834-bb39-11f1-8a08-23fecaf5d2f8" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="$37.99" href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="SaXBHtPWoMGvzcyvsLNQQX" name="1698934268.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" target="_blank" rel="nofollow" data-dimension112="8f407834-bb39-11f1-8a08-23fecaf5d2f8" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="$37.99">G502 Hero | Wired: was $69.99 now $37.99</a></strong><br>This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. </p><p><strong>Key specs: Wired | 25,600 DPI | Right-handed</strong></p><p><strong>Price check:</strong> <a href="https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133" target="_blank">Best Buy $37.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" target="_blank" rel="nofollow" data-dimension112="8f407834-bb39-11f1-8a08-23fecaf5d2f8" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="$37.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f4076ea-bb39-11f1-bd4c-a987d18ae2e1" data-action="Deal Block" data-label="Model O Eternal | Wired" data-dimension48="Model O Eternal | Wired" data-dimension25="$39.99" href="https://www.amazon.com/dp/B0F9B79WBR" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xuXRzZ72Wy2yQ9oAS9r3A4" name="Model O Eternal | Wired" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xuXRzZ72Wy2yQ9oAS9r3A4-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0F9B79WBR" target="_blank" rel="nofollow" data-dimension112="8f4076ea-bb39-11f1-bd4c-a987d18ae2e1" data-action="Deal Block" data-label="Model O Eternal | Wired" data-dimension48="Model O Eternal | Wired" data-dimension25="$39.99">Model O Eternal | Wired: $39.99</a></strong><br>You aren't packing an incredibly high DPI or polling rate with this mouse, but you are getting strong performance for the price, as well as a lightweight, comfortable build, and solid software. Cheap and cheerful is the aim here.</p><p><strong>Key specs: 12,000 DPI | 300 IPS |  1,000 Hz | 55 g</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/glorious-model-o-eternal-lightweight-wired-optical-gaming-mouse-with-dual-zone-rgb-lighting-wired-matte-white/J39TGZ8SRL?irclickid=2FVW4gUPuxyKTPQxHiQQfQIVUkpWKjQdV36f2U0&irgwc=1&afsrc=1&ref=198&loc=Future%20Dedicated%20Account&acampID=0&mpid=1943169&affgroup=%22Content%22" target="_blank">Best Buy $39.99</a><strong></strong><a class="view-deal button" href="https://www.amazon.com/dp/B0F9B79WBR" target="_blank" rel="nofollow" data-dimension112="8f4076ea-bb39-11f1-bd4c-a987d18ae2e1" data-action="Deal Block" data-label="Model O Eternal | Wired" data-dimension48="Model O Eternal | Wired" data-dimension25="$39.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f407898-bb39-11f1-9fe6-a57bc84d8df7" data-action="Deal Block" data-label="Retro R8 | Wireless" data-dimension48="Retro R8 | Wireless" data-dimension25="$44.97" href="https://www.amazon.com/Charging-Optical-Wireless-Programmable-Switches/dp/B0F37BTPPH" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="6ftyiD7DphdvJ2Z5PfoAKh" name="PCGamer Deal Block (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6ftyiD7DphdvJ2Z5PfoAKh-1920-80.jpg" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Charging-Optical-Wireless-Programmable-Switches/dp/B0F37BTPPH" target="_blank" rel="nofollow" data-dimension112="8f407898-bb39-11f1-9fe6-a57bc84d8df7" data-action="Deal Block" data-label="Retro R8 | Wireless" data-dimension48="Retro R8 | Wireless" data-dimension25="$44.97">Retro R8 | Wireless: was $49.99 now $44.97</a></strong><br>Our James <a href="https://www.pcgamer.com/hardware/gaming-mice/8bitdo-retro-r8-gaming-mouse-review/" target="_blank">reviewed the 8BitDo Retro R8</a>, giving it an 87%, and for good reason. It's a mouse with a super unique look, good specs for the price, and it even comes with a cute charging stand. The retro feel is definitely something to get used to, with buttons that are sunken into the mouse itself, but it's a joy to use regardless. </p><p><strong>Key specs: up to 8,000 Hz polling | 26,000 DPI | 77 g | up to 100-hour battery life</strong></p><p><strong>Price check: </strong><a href="https://www.newegg.com/p/32K-00R0-00033" target="_blank">Newegg $49.99</a><em><strong></strong></em><a class="view-deal button" href="https://www.amazon.com/Charging-Optical-Wireless-Programmable-Switches/dp/B0F37BTPPH" target="_blank" rel="nofollow" data-dimension112="8f407898-bb39-11f1-9fe6-a57bc84d8df7" data-action="Deal Block" data-label="Retro R8 | Wireless" data-dimension48="Retro R8 | Wireless" data-dimension25="$44.97">View Deal</a></p></div><div class="product"><a data-dimension112="8f4078fc-bb39-11f1-8e08-352cc27b5839" data-action="Deal Block" data-label="Burst II Air | Wireless" data-dimension48="Burst II Air | Wireless" data-dimension25="$54.99" href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1504px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="oHpVvSDqMgFC5rnRe2pUnQ" name="1790601251.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1504" height="1494" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" target="_blank" rel="nofollow" data-dimension112="8f4078fc-bb39-11f1-8e08-352cc27b5839" data-action="Deal Block" data-label="Burst II Air | Wireless" data-dimension48="Burst II Air | Wireless" data-dimension25="$54.99">Burst II Air | Wireless: was $99.99 now $54.99</a></strong><br>We gave this mouse an 85% in <a href="https://www.pcgamer.com/hardware/gaming-mice/turtle-beach-burst-ii-air-review/" target="_blank">our review</a>, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price.</p><p><strong>Key specs: Wireless | 26,000 DPI | Symmetrical</strong></p><p><strong>Price check:</strong> <a href="https://www.bestbuy.com/site/turtle-beach-burst-ii-air-ultra-lightweight-wireless-symmetrical-gaming-mouse-with-bluetooth-120-hour-battery-black/6579301.p?skuId=6579301" target="_blank">Best Buy $99.99</a><a class="view-deal button" href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" target="_blank" rel="nofollow" data-dimension112="8f4078fc-bb39-11f1-8e08-352cc27b5839" data-action="Deal Block" data-label="Burst II Air | Wireless" data-dimension48="Burst II Air | Wireless" data-dimension25="$54.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f407a28-bb39-11f1-9086-f5bfce42139a" data-action="Deal Block" data-label="DeathAdder V3 HyperSpeed | Wireless" data-dimension48="DeathAdder V3 HyperSpeed | Wireless" data-dimension25="$63.10" href="https://www.amazon.com/Razer-DeathAdder-HyperSpeed-Wireless-Gaming/dp/B0D4RF55QK/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="PCcmPTSb6k5nc2pqpvNUbN" name="razerdeathadderv3hyperspeed" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PCcmPTSb6k5nc2pqpvNUbN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-DeathAdder-HyperSpeed-Wireless-Gaming/dp/B0D4RF55QK/" target="_blank" rel="nofollow" data-dimension112="8f407a28-bb39-11f1-9086-f5bfce42139a" data-action="Deal Block" data-label="DeathAdder V3 HyperSpeed | Wireless" data-dimension48="DeathAdder V3 HyperSpeed | Wireless" data-dimension25="$63.10">DeathAdder V3 HyperSpeed | Wireless: was $99.99 now $63.10</a></strong><br>Simple, lightweight, fast and accurate. What more do you need from a gaming mouse? Because it eschews all the fancy gadgets that so many mice have these days, you save a bundle of cash and get a really long battery life.</p><p><strong>Key specs: 26K sensor | Wireless | 55 g weight</strong></p><p><strong>Price check: </strong><a href="https://www.razer.com/gaming-mice/razer-deathadder-v3-hyperspeed/RZ01-05140100-R3U1" target="_blank">Razer $99.99</a><a class="view-deal button" href="https://www.amazon.com/Razer-DeathAdder-HyperSpeed-Wireless-Gaming/dp/B0D4RF55QK/" target="_blank" rel="nofollow" data-dimension112="8f407a28-bb39-11f1-9086-f5bfce42139a" data-action="Deal Block" data-label="DeathAdder V3 HyperSpeed | Wireless" data-dimension48="DeathAdder V3 HyperSpeed | Wireless" data-dimension25="$63.10">View Deal</a></p></div><div class="product"><a data-dimension112="f90d1356-c0ae-11f1-87f0-ad9b8dfc6e90" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$66.49" href="https://www.amazon.com/dp/B0FKJ2J2R8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4AaJcaYRutRHqs8C5qjfye" name="Sabre V2 Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4AaJcaYRutRHqs8C5qjfye-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FKJ2J2R8" target="_blank" rel="nofollow" data-dimension112="f90d1356-c0ae-11f1-87f0-ad9b8dfc6e90" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$66.49">Sabre V2 Pro: was $99.99 now $66.49</a></strong><br>Earning a <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/" target="_blank">92% score from our Jacob Fox</a> last year, this ultra-light gaming mouse is a bit of a beast. It's light, sturdy and comes with a great sensor too. </p><p><strong>Key specs: 33K sensor | Wireless | 36 g weight | 8,000 Hz</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FKJ2J2R8" target="_blank" rel="nofollow" data-dimension112="f90d1356-c0ae-11f1-87f0-ad9b8dfc6e90" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$66.49">View Deal</a></p></div><div class="product"><a data-dimension112="7cff63d8-c1a1-11f1-a930-b5d93a967ba0" data-action="Deal Block" data-label="Scimitar Elite Wireless SE" data-dimension48="Scimitar Elite Wireless SE" data-dimension25="$69.99" href="https://www.amazon.com/Corsair-Scimitar-Elite-Wireless-Gaming/dp/B0F6NGCDFN/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Ff9x6ch3ZJnim88AyVvuW3" name="scimitar2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Ff9x6ch3ZJnim88AyVvuW3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>An MMO mouse with many, many buttons, this rodent is a bit heavy—but truly great for those with macros to dance between. In <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-scimitar-elite-wireless-se-review" target="_blank" data-dimension112="7cff63d8-c1a1-11f1-a930-b5d93a967ba0" data-action="Deal Block" data-label="Scimitar Elite Wireless SE" data-dimension48="Scimitar Elite Wireless SE" data-dimension25="$69.99">our review</a>, Hope found the Scimitar Elite Wireless SE to be extremely comfortable, and all the buttons very useful for everything from gaming to streaming. That'll be why it's our <a href="https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-mmo-gaming-mouse" target="_blank">best MMO gaming mouse</a>, then.</p><p><strong>Key specs: 16 buttons | 33K DPI | 1,000 Hz | 114 g</strong><a class="view-deal button" href="https://www.amazon.com/Corsair-Scimitar-Elite-Wireless-Gaming/dp/B0F6NGCDFN/" target="_blank" rel="nofollow" data-dimension112="7cff63d8-c1a1-11f1-a930-b5d93a967ba0" data-action="Deal Block" data-label="Scimitar Elite Wireless SE" data-dimension48="Scimitar Elite Wireless SE" data-dimension25="$69.99">View Deal</a></p></div><div class="product"><a data-dimension112="9e4c0872-c23f-11f1-8b7a-a1bd787e6d85" data-action="Deal Block" data-label="Pro Click V2 Vertical" data-dimension48="Pro Click V2 Vertical" data-dimension25="$89.99" href="https://www.amazon.com/dp/B0DVD5RTZ5" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="SRqAFtT45pzxpttZkcGZqk" name="1782387315.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/SRqAFtT45pzxpttZkcGZqk-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1499" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0DVD5RTZ5" target="_blank" rel="nofollow" data-dimension112="9e4c0872-c23f-11f1-8b7a-a1bd787e6d85" data-action="Deal Block" data-label="Pro Click V2 Vertical" data-dimension48="Pro Click V2 Vertical" data-dimension25="$89.99">Pro Click V2 Vertical: was $119.99 now $89.99</a></strong><br>With a high DPI, RGB lighting, 2.4 GHz connectivity, and USB Type-C charging, you're not missing out on much by opting for this vertical mouse. It's just better on the joints, is all.</p><p><strong>Key specs: Wireless | Type-C charging | Up to 30K DPI | RGB lighting</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0DVD5RTZ5" target="_blank" rel="nofollow" data-dimension112="9e4c0872-c23f-11f1-8b7a-a1bd787e6d85" data-action="Deal Block" data-label="Pro Click V2 Vertical" data-dimension48="Pro Click V2 Vertical" data-dimension25="$89.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f407af0-bb39-11f1-ac92-315a3f6b90cd" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="$122.95" href="https://www.amazon.com/Logitech-Lightspeed-Left-Handed-Customizable-Switchable/dp/B0CJ4TPLRM" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Q3PxPrNWbFomndFenbZFge" name="PCGamer Deal Block - 2025-11-06T154608.374" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Q3PxPrNWbFomndFenbZFge-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-Lightspeed-Left-Handed-Customizable-Switchable/dp/B0CJ4TPLRM" target="_blank" rel="nofollow" data-dimension112="8f407af0-bb39-11f1-ac92-315a3f6b90cd" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="$122.95">G Pro 2 Lightspeed | Wireless: was $149.99 now $122.95</a></strong><br>Though it doesn't quite look as impressive as the Superlight 2, the G Pro 2 Lightspeed matches the same internals and is truly ambidextrous, thanks to swappable side buttons.</p><p><strong>Key specs: 44,000 DPI | 888 IPS | 88g accelerations | 4 side buttons</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/logitech-pro-2-lightspeed-lightweight-optical-hero-44k-dpi-gaming-mouse-with-4-customizable-and-switchable-magnetic-side-buttons-wireless-black/J7H7ZYG63P" target="_blank">Best Buy $129</a><a class="view-deal button" href="https://www.amazon.com/Logitech-Lightspeed-Left-Handed-Customizable-Switchable/dp/B0CJ4TPLRM" target="_blank" rel="nofollow" data-dimension112="8f407af0-bb39-11f1-ac92-315a3f6b90cd" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="$122.95">View Deal</a></p></div><div class="product"><a data-dimension112="8f407bc2-bb39-11f1-8631-a57dfb7e727f" data-action="Deal Block" data-label="Viper V3 Pro | Wireless" data-dimension48="Viper V3 Pro | Wireless" data-dimension25="$109.99" href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CVRGCGWJ/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xR8QJpjHGx27FS3pZnYBj7" name="1790601520.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xR8QJpjHGx27FS3pZnYBj7-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1509" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CVRGCGWJ/?th=1" target="_blank" rel="nofollow" data-dimension112="8f407bc2-bb39-11f1-8631-a57dfb7e727f" data-action="Deal Block" data-label="Viper V3 Pro | Wireless" data-dimension48="Viper V3 Pro | Wireless" data-dimension25="$109.99">Viper V3 Pro | Wireless: was $159.99 now $109.99</a></strong><br>Razer doesn't play around with its compact Viper line-up. The V3 Pro is pretty light, feels great in hand, and tracks your movement like any other high-end mouse. It's top-tier and a little cheaper than the newer V4 Pro now.</p><p><strong>Key specs: 6 buttons | 35K DPI | 8,000 Hz | 70 g</strong><a class="view-deal button" href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CVRGCGWJ/?th=1" target="_blank" rel="nofollow" data-dimension112="8f407bc2-bb39-11f1-8631-a57dfb7e727f" data-action="Deal Block" data-label="Viper V3 Pro | Wireless" data-dimension48="Viper V3 Pro | Wireless" data-dimension25="$109.99">View Deal</a></p></div><h2 id="check-out-all-our-latest-deals-in-any-category-3">Check out all our latest deals in any category:</h2><div class="vizualizer-embed"><fc-author-commerce-widget data-fcaw-version="1" data-fcaw-full-bleed="false">  <style data-fcaw-host-protection>fc-author-commerce-widget[data-fcaw-version="1"] {  display: block !important;  width: 100% !important;  min-width: 0 !important;  max-width: none !important;  isolation: isolate !important;  contain: style !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]{  width: min(    1200px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1200px !important;  margin-left: var(    --fcaw-full-bleed-offset,    calc(50% - min(600px, 50vw))  ) !important;  margin-right: 0 !important;  position: relative !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]  #tg-df-spreadsheet-filters {  width: min(    1500px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1500px !important;  margin-left: calc(    (      100% -      min(1500px, var(--fcaw-viewport-width, 100vw))    ) / 2  ) !important;  margin-right: 0 !important;}fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::before,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::after {  box-sizing: border-box;}</style>  <div data-fcaw-fallback class="fcaw-v1-fallback">    <style>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with 'tg-df-' to prevent CMS style leakage.    */    .tg-df-container { user-select: text; -webkit-user-select: text;      container-type: inline-size;      container-name: tg-df;                  --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]    {      width: min(        1200px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1200px !important;      margin-left: calc(        (          100% -          min(1200px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;      position: relative !important;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]      #tg-df-spreadsheet-filters {      width: min(        1500px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1500px !important;      margin-left: calc(        (          100% -          min(1500px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: var(--tg-df-blue);    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }        .tg-df-filters {      display: flex;      justify-content: center;      width: 100%;      gap: 12px;      margin: 0 auto;      max-width: 42rem;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;      max-width: 280px;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    .tg-df-scroll-btn {      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 4px;    }    .tg-df-scroll-btn.right {      right: 4px;    }    @container tg-df (max-width: 768px) {      .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;      margin: 0 auto;    }    .tg-df-filters {        justify-content: center;        width: 100%;        margin: 0 auto;        margin-bottom: -320px;        padding: 0 0 320px 0;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: calc(100% + 32px);      max-width: none;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;      margin: 0 -16px -16px -16px;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }    .tg-df-buying-guide-badge {      left: auto;      right: 12px;      max-width: calc(100% - 24px);      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges { position: absolute; bottom: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; z-index: 10; }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-card-listings {      margin: 0 0 12px;    }    .tg-df-card-listings-title {      display: block;      color: var(--tg-df-text-muted);      font-size: 11px;      font-weight: 700;      letter-spacing: 0.45px;      line-height: 1.2;      margin-bottom: 4px;      text-transform: uppercase;    }    .tg-df-card-listings-links {      border-top: 1px solid var(--tg-df-border);    }    .tg-df-container .tg-df-card-listing-link {      align-items: center;      border-bottom: 1px solid var(--tg-df-border);      box-sizing: border-box;      color: var(--tg-df-blue);      display: flex;      font-size: 13px;      font-weight: 700;      justify-content: space-between;      line-height: 1.2;      min-height: 34px;      padding: 5px 2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-listing-link::after {      content: '↗';      font-size: 14px;      font-weight: 600;      margin-left: 8px;    }    .tg-df-container .tg-df-card-listing-link:hover,    .tg-df-container .tg-df-card-listing-link:focus-visible {      background: #f8fafc;      color: var(--tg-df-blue);      outline: 2px solid var(--tg-df-blue);      outline-offset: -2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: calc(100% + 32px);      max-width: none;      box-sizing: border-box;      background-color: var(--tg-df-blue);      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;      margin: 0 -16px -16px -16px;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      filter: brightness(0.85);    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /* Optional mobile 2x2 filter grid */    .tg-df-mobile-2x2-container {      display: none;      width: 100%;      margin: 0 0 16px 0;      position: relative;      z-index: 30;    }    .tg-df-mobile-2x2-grid {      display: grid;      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);      width: 100%;      border: 1px solid var(--tg-df-border, #e2e8f0);      background: var(--tg-df-bg, #ffffff);    }    .tg-df-container .tg-df-mobile-grid-cell {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      min-width: 0;      padding: 12px 14px;      font-family: inherit;      font-size: 11px;      font-weight: 600;      line-height: 1.2;      text-transform: uppercase;      letter-spacing: 0.5px;      text-align: left;      color: var(--tg-df-text-muted, #64748b);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-mobile-grid-cell > span {      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }    .tg-df-mobile-grid-cell > svg {      flex: 0 0 auto;      margin-left: 8px;      transition: transform 0.15s ease;    }    .tg-df-mobile-grid-cell > svg.is-open {      transform: rotate(180deg);    }    .tg-df-mobile-grid-cell {      border-bottom: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-grid-cell:nth-child(odd) {      border-right: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-2x2-grid--even .tg-df-mobile-grid-cell:nth-last-child(-n + 2) {      border-bottom: 0;    }    .tg-df-mobile-2x2-grid--odd .tg-df-mobile-grid-cell:last-child {      grid-column: 1 / -1;      border-right: 0;      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-grid-cell.active,    .tg-df-container .tg-df-mobile-grid-cell:hover {      background: var(--tg-df-bg-secondary, #f8fafc);      color: var(--tg-df-text, #0f172a);    }    .tg-df-container .tg-df-mobile-grid-cell.has-active-filter {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;    }    .tg-df-mobile-menu-drawer {      width: 100%;      max-height: 260px;      overflow-y: auto;      overscroll-behavior: contain;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-top: 0;      background: var(--tg-df-bg, #ffffff);      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);    }    .tg-df-container .tg-df-mobile-menu-item {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      width: 100%;      min-height: 42px;      padding: 12px 16px;      font-family: inherit;      font-size: 12px;      font-weight: 500;      line-height: 1.3;      text-align: left;      color: var(--tg-df-text, #0f172a);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-bottom: 1px solid #f1f5f9;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-container .tg-df-mobile-menu-item:last-child {      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-menu-item.selected {      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.08);      font-weight: 600;    }    .tg-df-container .tg-df-mobile-menu-item:hover {      background: var(--tg-df-bg-secondary, #f8fafc);    }    .tg-df-mobile-cell-badge {      display: inline-flex;      align-items: center;      justify-content: center;      padding: 2px 6px;      margin-left: 4px;      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.1);      border-radius: 9999px;      font-size: 10px;      font-weight: 700;    }    @container tg-df (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    @media (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    /* A non-full-bleed desktop embed is constrained to the article column.       Reuse the compact filter grid there instead of squeezing the rails. */    @container tg-df (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    @media (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-mobile-authors { gap: 16px !important; }      .tg-df-mobile-authors .tg-df-author-row-item { width: 56px !important; }      .tg-df-mobile-authors .tg-df-author-img-wrapper { width: 48px !important; height: 48px !important; }      .tg-df-mobile-authors .tg-df-author-brand-logo { width: 18px !important; height: 18px !important; bottom: -2px !important; right: -2px !important; }      .tg-df-mobile-authors .tg-df-author-row-name { font-size: 11px !important; }      .tg-df-mobile-authors .tg-df-author-row-role { font-size: 10px !important; }            .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-controls {        padding: 16px 0 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 8px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    @media (max-width: 599px) {      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }        .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: var(--tg-df-blue);      position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }      .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }        .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;      scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-scroll-left {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: rgba(255, 255, 255, 0.4);      color: var(--tg-df-blue);      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);      border: none;      cursor: pointer;      transition: background-color 0.2s;      margin-top: -4px;      z-index: 10;    }    .tg-df-container .tg-df-carousel-scroll-right {      right: 0;    }    .tg-df-container .tg-df-carousel-scroll-left {      left: 0;    }    .tg-df-container .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-scroll-left:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left {       height: 30px;       width: 30px;       background-color: rgba(255, 255, 255, 0.8);       box-shadow: 0 2px 4px rgba(0,0,0,0.1);       margin-top: 0;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left:hover {       background-color: white;    }    .tg-df-container .tg-df-grid-wrapper {       position: relative;    }    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-left {       background-color: white;       box-shadow: 0 4px 12px rgba(0,0,0,0.15);       top: 40%;       width: 44px;       height: 44px;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }            .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover, .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      width: calc(100% + 24px);      border-radius: 0;      padding: 8px 10px;      margin: auto -12px -12px -12px;      background-color: var(--tg-df-blue);    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; padding-right: 12px; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @media (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }      .tg-df-container .hawk-deal-widget-title-product-title,      .tg-df-container .hawk-deal-widget-title-price,      .tg-df-container .hawk-deal-widget-title-retailer {        font-size: 14px !important;        line-height: 1.35 !important;        font-weight: 700 !important;      }      .tg-df-container .hawk-deal-widget-title-was-price {        font-size: 13px !important;        line-height: 1.35 !important;      }      .tg-df-container .hawk-deal-widget-text-body-main {        font-size: 14px !important;        line-height: 1.35 !important;        margin-bottom: 8px !important;      }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    /* BESPOKE AUTHOR HEADER STYLES - MAX ISOLATION PROTECTION */    .tg-df-author-embed {      width: 100% !important;      font-family: inherit !important;      background: transparent !important;      margin: 0 !important;      padding: 0 !important;      border: none !important;    }    .tg-df-author-section {      display: block !important;      width: 100% !important;      max-width: 100% !important;      opacity: 1 !important;      overflow: visible !important;      background: transparent !important;      border: none !important;      margin: 0 auto !important;      padding: 0 !important;      box-shadow: none !important;    }    .tg-df-author-card {      text-align: center !important;      padding: 1.75rem 1rem 1.25rem 1rem !important;      margin: 0 auto !important;      max-width: 48rem !important;      background: transparent !important;      border: none !important;      border-radius: 0 !important;      box-sizing: border-box !important;      box-shadow: none !important;    }    .tg-df-author-image {      width: 180px !important;      height: 180px !important;      border-radius: 50% !important;      object-fit: cover !important;      margin: 0 auto 0.75rem auto !important;      display: block !important;      border: none !important;      box-shadow: none !important;      max-width: 100% !important;    }    .tg-df-author-media-slot {      width: 100% !important;      height: 180px !important;      min-height: 180px !important;      margin: 0 auto 0.75rem auto !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;    }    .tg-df-author-media-slot .tg-df-author-image {      margin: 0 auto !important;    }    .tg-df-author-profile-image-wrapper {      position: relative !important;      width: 180px !important;      height: 180px !important;      margin: 0 auto 0.75rem auto !important;      flex: 0 0 auto !important;    }    .tg-df-author-profile-brand-logo {      position: absolute !important;      right: 12px !important;      bottom: 12px !important;      width: 42px !important;      height: 42px !important;      padding: 0 !important;      border: 3px solid var(--tg-df-bg, #fff) !important;      border-radius: 50% !important;      background: #000 !important;      object-fit: contain !important;      box-sizing: border-box !important;    }    .tg-df-author-curated-by {      font-size: 0.875rem !important;      color: #6B7280 !important;      font-style: normal !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      line-height: 1.4 !important;    }    .tg-df-author-name {      font-size: 2rem !important;      font-weight: 300 !important;      color: #111827 !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      line-height: 1.1 !important;      letter-spacing: -0.02em !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-role {      font-size: 0.9375rem !important;      font-weight: 500 !important;      color: var(--tg-df-blue, #1F69FF) !important;      margin: 0 0 1.25rem 0 !important;      padding: 0 !important;      line-height: 1.3 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-meta-slot {      width: 100% !important;      min-height: 88px !important;      display: flex !important;      flex-direction: column !important;      align-items: center !important;      justify-content: flex-start !important;    }    .tg-df-author-meta-slot--site {      padding-top: 1rem !important;    }    .tg-df-author-meta-slot--no-social {      min-height: 0 !important;    }    .tg-df-author-meta-slot--no-social .tg-df-author-role {      margin-bottom: 0.5rem !important;    }    .tg-df-author-social-links {      display: flex !important;      flex-wrap: wrap !important;      align-items: center !important;      justify-content: center !important;      gap: 1rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 !important;      max-width: 42rem !important;      width: 100% !important;      list-style: none !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-social-btn {      display: inline-flex !important;      align-items: center !important;      justify-content: center !important;      padding: 0 !important;      border-radius: 50% !important;      background-color: #f2f2f2 !important;      color: #111111 !important;      font-size: 0.8125rem !important;      font-weight: 500 !important;      text-decoration: none !important;      transition: all 0.2s ease !important;      border: 0 !important;      line-height: 1 !important;      box-shadow: none !important;      cursor: pointer !important;      outline: none !important;      margin: 0 !important;      height: 34px !important;      width: 34px !important;      min-width: 34px !important;      box-sizing: border-box !important;    }    .tg-df-author-social-btn:hover {      background-color: #dedede !important;      color: #111111 !important;      transform: translateY(-1px) !important;    }    .tg-df-author-social-btn > svg {      width: 19px !important;      height: 19px !important;      flex-shrink: 0 !important;      display: block !important;      margin: 0 !important;    }    .tg-df-author-social-btn[data-social-key="facebook"] > svg {      transform: scale(1.25) !important;    }    .tg-df-author-social-btn[data-social-key="pinterest"] > svg,    .tg-df-author-social-btn[data-social-key="tiktok"] > svg {      transform: scale(1.2) !important;    }    .tg-df-author-bio {      max-width: 42rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 0.5rem !important;      color: #4b5563 !important;      line-height: 1.6 !important;      font-weight: 300 !important;      font-size: 0.9375rem !important;      text-align: center !important;      background: none !important;      border: none !important;      border-radius: 0 !important;      box-shadow: none !important;      display: block !important;      height: auto !important;      overflow: visible !important;    }    .tg-df-author-bio-shell--stable {      width: 100% !important;      box-sizing: border-box !important;    }    .tg-df-author-bio--clamped {      min-height: 4.8em !important;      height: 4.8em !important;      max-height: 4.8em !important;      display: -webkit-box !important;      -webkit-box-orient: vertical !important;      -webkit-line-clamp: 3 !important;      overflow: hidden !important;    }    .tg-df-author-bio--expanded {      min-height: 4.8em !important;      height: auto !important;      max-height: none !important;      display: block !important;      overflow: visible !important;    }    .tg-df-author-bio--static,    .tg-df-author-bio--static:hover,    .tg-df-author-bio--static:focus,    .tg-df-author-bio--static:focus-visible {      outline: none !important;      box-shadow: none !important;      cursor: default !important;    }    .tg-df-author-bio-toggle-slot {      height: 28px !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;      margin: 0.125rem 0 0 !important;    }    .tg-df-author-bio-toggle {      appearance: none !important;      border: 0 !important;      border-bottom: 1px solid currentColor !important;      border-radius: 0 !important;      padding: 0.125rem 0 !important;      margin: 0 !important;      background: transparent !important;      color: #4b5563 !important;      box-shadow: none !important;      font: inherit !important;      font-size: 0.75rem !important;      font-weight: 600 !important;      line-height: 1.2 !important;      text-decoration: none !important;      text-transform: none !important;      cursor: pointer !important;    }    .tg-df-author-bio a {      color: var(--tg-df-blue, #1F69FF) !important;      text-decoration: underline !important;      font-weight: 400 !important;      background: none !important;      border: none !important;      padding: 0 !important;      margin: 0 !important;      border-radius: 0 !important;      display: inline !important;      box-shadow: none !important;    }    .tg-df-author-bio p,    .tg-df-author-bio div,    .tg-df-author-bio span {      margin: 0 !important;      padding: 0 !important;      color: inherit !important;      font: inherit !important;      line-height: inherit !important;      text-align: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-bio strong,    .tg-df-author-bio b {      font-weight: 600 !important;    }    .tg-df-author-bio em,    .tg-df-author-bio i {      font-style: italic !important;    }    @container tg-df (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @media (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @container tg-df (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @media (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }    @media (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }        .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button {      align-items: center; background-color: var(--tg-df-blue); box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;    }    .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button:hover { filter: brightness(0.85); text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-active-badges-row {      display: flex;      flex-wrap: wrap;      gap: 8px;      align-items: center;      margin-top: 12px;      margin-bottom: 16px;      width: 100%;    }    .tg-df-active-badge {      display: inline-flex;      align-items: center;      gap: 6px;      padding: 8px 14px;      background-color: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border: 1px solid var(--tg-df-blue, #1f69ff);      border-radius: 0px;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;    }    .tg-df-badge-remove {      display: inline-flex;      align-items: center;      justify-content: center;      width: 16px;      height: 16px;      border-radius: 0px;      border: none;      background: rgba(255, 255, 255, 0.25);      color: #ffffff;      cursor: pointer;      padding: 0;      margin-left: 4px;      transition: background-color 0.15s, color 0.15s;    }    .tg-df-badge-remove:hover {      background: rgba(255, 255, 255, 0.45);      color: #ffffff;    }    .tg-df-badge-clear-all {      display: inline-flex;      align-items: center;      justify-content: center;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;      padding: 8px 14px;      color: var(--tg-df-text-muted, #64748b);      cursor: pointer;      background: #ffffff;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-radius: 0px;      transition: all 0.15s ease;    }    .tg-df-badge-clear-all:hover {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border-color: var(--tg-df-blue, #1f69ff);    }    .tg-df-savings-squad-header {      margin-bottom: 24px;      text-align: center;    }    .tg-df-banner-img-desktop {      display: block;      width: 100%;      height: auto;      margin-bottom: 32px;    }    .tg-df-banner-img-mobile {      display: none;      width: 100%;      height: auto;      margin-bottom: 32px;    }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop {        display: none;      }      .tg-df-banner-img-mobile {        display: block;      }    }    .tg-df-header-title {      font-size: 28px;      font-weight: 700;      color: var(--tg-df-text);      margin: 32px 0 12px 0;      line-height: 1.3;    }    .tg-df-header-subtitle {      font-size: 16px;      color: var(--tg-df-text-muted);      margin: 0 0 32px 0;      line-height: 1.5;    }    @container tg-df (max-width: 599px) {      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    @media (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    /* Article Intro Content Styling */    .tg-df-article-content {      font-size: 1rem;      line-height: 1.7;      color: #334155;    }    .tg-df-article-content p {      margin-bottom: 1.25rem;      line-height: 1.7;      font-size: 1rem;      color: #334155;    }    .tg-df-article-content > p:first-of-type::first-letter {      font-size: 3.25rem;      font-weight: 700;      float: left;      line-height: 0.85;      margin-right: 0.5rem;      margin-top: 0.15rem;      color: #0f172a;      font-family: inherit;    }    .tg-df-article-content a {      color: #0066cc;      text-decoration: underline;      font-weight: 500;    }    .tg-df-article-content a:hover {      color: #004499;    }    .tg-df-article-content strong, .tg-df-article-content b {      font-weight: 700;      color: #0f172a;    }    .tg-df-article-section-banner {      border-bottom: 2px solid #e6007e;      margin: 2.25rem 0 1.25rem 0;      position: relative;      clear: both;    }    .tg-df-article-section-banner span {      background-color: #e6007e;      color: #ffffff;      padding: 6px 16px;      font-weight: 700;      font-size: 0.875rem;      text-transform: uppercase;      letter-spacing: 0.05em;      display: inline-block;    }  </style><div class="tg-df-widget-host" data-vizualizer-embed="true" data-tg-df-full-bleed="false" data-tg-df-mobile-dropdowns="true" data-tg-df-sticky-mobile-filters="false" style="--tg-df-blue: #DC191B;"><div class="tg-df-container article-body" style="background-color: transparent;"><div id="tg-df-spreadsheet-filters" style="display: block; margin-bottom: 16px;"><div class="tg-df-categories-row-container" style="border-bottom: 1px solid var(--tg-df-border); position: relative;"><button aria-label="Scroll left" class="tg-df-scroll-btn left tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 18l-6-6 6-6"></path></svg></button><button aria-label="Scroll right" class="tg-df-scroll-btn right tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-categories-row" style="display: flex; overflow-x: auto; scrollbar-width: none;"><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Hardware <span style="color: var(--tg-df-blue); font-size: 10px;">66</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Monitors <span style="color: var(--tg-df-blue); font-size: 10px;">9</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming PCs <span style="color: var(--tg-df-blue); font-size: 10px;">7</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Mice <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Headsets <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Audio <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">SSDs <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Storage <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Laptops <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Controllers <span style="color: var(--tg-df-blue); font-size: 10px;">1</span></button></div></div></div><div class="tg-df-mobile-2x2-container"><div class="tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--odd"><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>CATEGORIES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>PRICES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell has-active-filter" aria-expanded="false"><span>DISCOUNTS (25%+)</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button></div></div><div class="tg-df-controls" id="tg-df-controls" style="display: flex; margin-top: 12px; margin-bottom: 16px; justify-content: center;"><div class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0px auto;"><button class="tg-df-scroll-btn left" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 18l-6-6 6-6"></path></svg></button><button class="tg-df-scroll-btn right" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-filters"><div class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices"><option value="all">All Prices</option><option value="under50">Under $50</option><option value="50_100">$50 - $100</option><option value="100_200">$100 - $200</option><option value="200_500">$200 - $500</option><option value="over500">Over $500</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount"><option value="all">Any discount</option><option value="5">Min 5%</option><option value="10">Min 10%</option><option value="15">Min 15%</option><option value="20">Min 20%</option><option value="25">Min 25%</option><option value="30">Min 30%</option><option value="40">Min 40%</option><option value="50">Min 50%</option><option value="60">Min 60%</option><option value="70">Min 70%</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-review-sort-wrapper" style="display: none;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 7h16M7 12h10m-7 5h4"></path></svg><select class="tg-df-filter-select" id="tg-df-review-sort" aria-label="Sort Reviews"><option value="date_desc">Most recent</option><option value="rating_desc">Highest rating</option><option value="scored_first">Scored products first</option></select></div></div></div></div><div class="tg-df-active-badges-row" style="display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 10px; margin-bottom: 16px;"><span class="tg-df-active-badge">Min 25% off<button type="button" class="tg-df-badge-remove" aria-label="Remove Min 25% off"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></span></div><div class="tg-df-grid-wrapper"><div class="tg-df-grid article-body tg-df-grid-auto" id="tg-df-grid"><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-0" data-merchant="Amazon" data-previous-price="34.99" data-price="25.99" data-product-name="G203 | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $9</span><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G203 | Wired" class="tg-df-card-image" loading="lazy" src="http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G203 | Wired"><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G203 | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>25.99</span></span><span class="tg-df-card-msrp">$34.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Glorious" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-0" data-merchant="Amazon" data-previous-price="59.99" data-price="26.31" data-product-name="GHS Eternal | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33.68</span><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="GHS Eternal | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="GHS Eternal | 40 mm drivers"><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Glorious GHS Eternal | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>26.31</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-1" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed | Wireless"><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-86" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed"><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-87" data-merchant="Bestbuy" data-previous-price="69.99" data-price="34.98" data-product-name="Basilisk V3"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35.01</span><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Basilisk V3" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Basilisk V3"><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Basilisk V3</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>34.98</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-3" data-merchant="Amazon" data-previous-price="69.99" data-price="37.99" data-product-name="G502 Hero | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $32</span><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G502 Hero | Wired" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G502 Hero | Wired"><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G502 Hero | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>37.99</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-80" data-merchant="Amazon" data-previous-price="59.99" data-price="39.79" data-product-name="BlackShark V2 X"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20.2</span><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="BlackShark V2 X" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="BlackShark V2 X"><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer BlackShark V2 X</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.79</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-1" data-merchant="Amazon" data-previous-price="79.99" data-price="39.99" data-product-name="G432 | 50 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $40</span><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G432 | 50 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G432 | 50 mm drivers"><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G432 | 50 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-2" data-merchant="Amazon" data-previous-price="79.99" data-price="44.99" data-product-name="Kraken V4 X | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35</span><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Kraken V4 X | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Kraken V4 X | 40 mm drivers"><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Kraken V4 X | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>44.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Turtle Beach" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-5" data-merchant="Amazon" data-previous-price="99.99" data-price="54.99" data-product-name="Burst II Air | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $45</span><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Burst II Air | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Burst II Air | Wireless"><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Turtle Beach Burst II Air | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>54.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="HyperX" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-5" data-merchant="Amazon" data-previous-price="99.99" data-price="57.99" data-product-name="Cloud III | 53 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $42</span><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Cloud III | 53 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Cloud III | 53 mm drivers"><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>HyperX Cloud III | 53 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>57.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Nothing" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-15" data-merchant="Amazon" data-previous-price="79" data-price="59" data-product-name="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Nothing Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>59</span></span><span class="tg-df-card-msrp">$79</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="KTC" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-40" data-merchant="Newegg" data-previous-price="99.99" data-price="62.49" data-product-name="H24V27"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $37.5</span><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="H24V27" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="H24V27"><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>KTC H24V27</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code &quot;LDSF246&quot; for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>62.49</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Scuf" data-currency="$" data-deal-id="airedale-A97h9Ug45WeF5xPLdcoJyf-0" data-merchant="Amazon" data-previous-price="109.99" data-price="76.99" data-product-name="Valor Pro"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33</span><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Valor Pro" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Valor Pro"><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Scuf Valor Pro</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>76.99</span></span><span class="tg-df-card-msrp">$109.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Jess Kinghorn" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/controllers/the-best-wired-pc-controller-has-been-knocked-down-to-usd77-so-long-as-you-dont-mind-it-in-white" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Jess Kinghorn</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 24 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Acer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-41" data-merchant="Newegg" data-previous-price="129.99" data-price="79.99" data-product-name="AOpen 24KG1Y X3bip"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="AOpen 24KG1Y X3bip" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="AOpen 24KG1Y X3bip"><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Acer AOpen 24KG1Y X3bip</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Asus" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-82" data-merchant="Amazon" data-previous-price="129.99" data-price="79.99" data-product-name="ROG Pelta"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="ROG Pelta" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="ROG Pelta"><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Asus ROG Pelta</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-43" data-merchant="Bestbuy" data-previous-price="149.99" data-price="97.49" data-product-name="MAG 244F"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $52.5</span><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 244F" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 244F"><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 244F</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>97.49</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-UBBZiFU9BXsLfvbZ8d4awf-1" data-merchant="Walmart" data-previous-price="149.99" data-price="99" data-product-name="MAG 255XFV"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50.99</span><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 255XFV" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 255XFV"><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 255XFV</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>99</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Walmart</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/amazon-prime-day-gaming-monitor-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-load-more-control" style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1; overflow-anchor: none;"><button type="button" class="tg-df-tag-outline" aria-busy="false" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More</button></div><script type="application/ld+json">{"@context":"https://schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Product","name":"G203 | Wired","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":25.99,"url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":2,"item":{"@type":"Product","name":"GHS Eternal | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","brand":{"@type":"Brand","name":"Glorious"},"offers":{"@type":"Offer","priceCurrency":"USD","price":26.31,"url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":3,"item":{"@type":"Product","name":"G305 Lightspeed | Wireless","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":4,"item":{"@type":"Product","name":"G305 Lightspeed","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/dp/B07CMS5Q6P","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":5,"item":{"@type":"Product","name":"Basilisk V3","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":34.98,"url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":6,"item":{"@type":"Product","name":"G502 Hero | Wired","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":37.99,"url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":7,"item":{"@type":"Product","name":"BlackShark V2 X","image":"https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg","description":"The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.79,"url":"https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":8,"item":{"@type":"Product","name":"G432 | 50 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg","description":"Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.99,"url":"https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":9,"item":{"@type":"Product","name":"Kraken V4 X | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg","description":"If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":44.99,"url":"https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":10,"item":{"@type":"Product","name":"Burst II Air | Wireless","image":"https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg","description":"We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99","brand":{"@type":"Brand","name":"Turtle Beach"},"offers":{"@type":"Offer","priceCurrency":"USD","price":54.99,"url":"https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":11,"item":{"@type":"Product","name":"Cloud III | 53 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg","description":"We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99","brand":{"@type":"Brand","name":"HyperX"},"offers":{"@type":"Offer","priceCurrency":"USD","price":57.99,"url":"https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":12,"item":{"@type":"Product","name":"Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)","image":"https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png","description":"These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response","brand":{"@type":"Brand","name":"Nothing"},"offers":{"@type":"Offer","priceCurrency":"USD","price":59,"url":"https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":13,"item":{"@type":"Product","name":"H24V27","image":"https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png","description":"This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code "LDSF246" for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA","brand":{"@type":"Brand","name":"KTC"},"offers":{"@type":"Offer","priceCurrency":"USD","price":62.49,"url":"https://www.newegg.com/p/3D4-007C-00016","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":14,"item":{"@type":"Product","name":"Valor Pro","image":"https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png","description":"This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks","brand":{"@type":"Brand","name":"Scuf"},"offers":{"@type":"Offer","priceCurrency":"USD","price":76.99,"url":"https://www.amazon.com/dp/B0DTB3QCS5","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":15,"item":{"@type":"Product","name":"AOpen 24KG1Y X3bip","image":"https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png","description":"With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"Acer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.newegg.com/p/N82E16824011533","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":16,"item":{"@type":"Product","name":"ROG Pelta","image":"https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg","description":"With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life","brand":{"@type":"Brand","name":"Asus"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":17,"item":{"@type":"Product","name":"MAG 244F","image":"https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png","description":"With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":97.49,"url":"https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":18,"item":{"@type":"Product","name":"MAG 255XFV","image":"https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg","description":"You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":99,"url":"https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174","seller":{"@type":"Organization","name":"Walmart"}}}}]}</script></div></div><div class="tg-df-modal-backdrop "><div class="tg-df-modal"><div class="tg-df-modal-header"><h3 class="tg-df-modal-title">Available Coupons & Deals</h3><button class="tg-df-modal-close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="tg-df-modal-body"><div class="tg-df-message">No active vouchers found for .</div></div></div></div></div></div>  </div>  <script type="application/json" data-fcaw-config>{"authorBioLength":"short","authorFullBleed":false,"authorHandle":"all-authors","authorName":"All authors","backgroundColor":"transparent","customBio":"","discountAmount":"25","editorMode":false,"editorialMaxAgeMonths":"0","includeBuyingGuideProducts":false,"includeCollections":false,"includeDeals":true,"includeReviewProducts":false,"mobileDropdowns":true,"stickyMobileFilters":false,"offerType":"","preloadReviewInventory":false,"lightweightReviewDelivery":false,"hideHawkPrices":false,"prioritiseCommercialProducts":true,"priceRange":"all","productSelection":"mix","query":"","region":"auto","resultCount":"6","retailer":"","selectedBrands":[],"showAuthorBio":false,"showAuthorCounters":true,"showAuthorIdentity":false,"showAuthorRail":false,"showBrandRail":false,"showCategoryRail":true,"showCollectionsDropdown":false,"showPriceDiscountFilters":true,"showReviewSort":false,"showSocialButtons":false,"showCountdown":false,"showHeaderDetails":true,"showFreeformTagRail":false,"sort":"price_asc","viewMode":"author","website":"pcgamer","widgetSubtitle":"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.","widgetTitle":"Top Deals Handpicked by Our Editors","brands":[],"shortenedHeadlines":{},"compactEmbed":true}</script>  <script type="application/json" data-fcaw-preload>{"authors":[{"bioLong":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","bioShort":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","name":"James","fullName":"James Bentley","handle":"james-bentley","role":"Hardware writer","image":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","brandKey":"pcgamer"},{"bioLong":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","bioShort":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","name":"Dave","fullName":"Dave James","handle":"dave-james","role":"Editor-in-Chief, Hardware","image":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/not_the_gk","label":"X (Twitter)"},{"key":"email","href":"mailto:dave.james@futurenet.com","label":"Email"}]},{"bioLong":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","bioShort":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","name":"Jacob","fullName":"Jacob Fox","handle":"jacob-fox","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","brandKey":"pcgamer"},{"bioLong":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","bioShort":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","name":"Andy","fullName":"Andy Edser","handle":"andy-edser","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","brandKey":"pcgamer"},{"bioLong":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","bioShort":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","name":"Jess","fullName":"Jess Kinghorn","handle":"jess-kinghorn","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/KoeniginKatze","label":"X (Twitter)"},{"key":"linkedin","href":"https://www.linkedin.com/in/jess-kinghorn","label":"LinkedIn"}]}],"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"activeDealTag":null,"activeFreeformTag":null,"activeFreeformTags":[],"couponMap":{"Amazon":"has","Bestbuy":"none","Newegg":"none","Walmart":"none"},"totalAuthorCount":5,"totalDealCount":56,"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"reviewInventoryBaked":false,"regionalDealManifests":{"US":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-0","url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":25.99,"rawMsrp":34.99,"price":"25.99","msrp":"34.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $9","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362\" target=\"_blank\"\u003eBest Buy $39.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-0","url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","title":"GHS Eternal | 40 mm drivers","brand":"Glorious","productName":"GHS Eternal | 40 mm drivers","merchant":"Amazon","rawPrice":26.31,"rawMsrp":59.99,"price":"26.31","msrp":"59.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $33.68","savingType":"amount","isPrime":false,"starRating":null,"description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","text":"\u003cp\u003eWith a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20 hz - 20 kHz | 255 g\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-1","url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite budget wireless mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR\" target=\"_blank\"\u003eBest Buy $49.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-86","url":"https://www.amazon.com/dp/B07CMS5Q6P","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","title":"G305 Lightspeed","brand":"Logitech","productName":"G305 Lightspeed","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","text":"\u003cp\u003eAlready reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-87","url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","title":"Basilisk V3","brand":"Razer","productName":"Basilisk V3","merchant":"Bestbuy","rawPrice":34.98,"rawMsrp":69.99,"price":"34.98","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $35.01","savingType":"amount","isPrime":false,"starRating":null,"description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","text":"\u003cp\u003eThis mouse might be a few years old, but we scored it highly in \u003ca href=\"https://www.pcgamer.com/razer-basilisk-v3-gaming-mouse-review/\" target=\"_blank\"\u003eour review\u003c/a\u003e in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to \u003ca href=\"https://www.pcgamer.com/hardware/im-ashamed-to-say-that-this-razer-mouse-has-made-me-actually-take-a-shine-to-rgb-and-now-you-can-be-persuaded-too-for-almost-50-percent-off/\" target=\"_blank\"\u003etempt even those who usually hate RGB lighting\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-3","url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":37.99,"rawMsrp":69.99,"price":"37.99","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $32","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","text":"\u003cp\u003eThis is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133\" target=\"_blank\"\u003eBest Buy $69.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true}],"GB":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-10","url":"https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":19.99,"rawMsrp":30.99,"price":"19.99","msrp":"30.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £11","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-11","url":"https://www.amazon.co.uk/Logitech-Wireless-Lightweight-Programmable-compatible/dp/B07CGPZ3ZQ","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":19.99,"rawMsrp":27.99,"price":"19.99","msrp":"27.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £8","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite wireless budget mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays. Key specs: Wireless | 12,000 DPI | Right-handed","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite wireless budget mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-19","url":"https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/","image":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","title":"Quantum 100 | 40 mm drivers","brand":"JBL","productName":"Quantum 100 | 40 mm drivers","merchant":"Amazon","rawPrice":19.99,"rawMsrp":29.99,"price":"19.99","msrp":"29.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £10","savingType":"amount","isPrime":false,"starRating":null,"description":"JBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired","text":"\u003cp\u003eJBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-12","url":"https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":22.01,"rawMsrp":37.79,"price":"22.01","msrp":"37.79","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £15.78","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness. Key specs: Wired | 25,600 DPI | Right-handed","text":"\u003cp\u003eThis is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-23","url":"https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1","image":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","title":"G321 Lightspeed | 40 mm drivers","brand":"Logitech","productName":"G321 Lightspeed | 40 mm drivers","merchant":"Amazon","rawPrice":32.99,"rawMsrp":59.99,"price":"32.99","msrp":"59.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £27","savingType":"amount","isPrime":false,"starRating":null,"description":"This very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in his review. It won't blow you away with bass or features, but at this price it's still worth considering. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless Price check: Currys £42.99","text":"\u003cp\u003eThis very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in \u003ca href=\"https://www.pcgamer.com/hardware/gaming-headsets/logitech-g321-lightspeed-review/\" target=\"_blank\"\u003ehis review\u003c/a\u003e. It won't blow you away with bass or features, but at this price it's still worth considering.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless \u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g321-lightspeed-wireless-bluetooth-gaming-headset-black-10289632.html\" target=\"_blank\"\u003eCurrys £42.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-20","url":"https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/","image":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","title":"G335 | 40 mm drivers","brand":"Logitech","productName":"G335 | 40 mm drivers","merchant":"Amazon","rawPrice":34.99,"rawMsrp":64.99,"price":"34.99","msrp":"64.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £30","savingType":"amount","isPrime":false,"starRating":null,"description":"This Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired Price check: Currys £34.99","text":"\u003cp\u003eThis Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g335-gaming-headset-black-10227173.html\" target=\"_blank\"\u003eCurrys £34.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true}],"AU":[{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-5","url":"https://www.amazon.com.au/JBL-QuantumSOUND-Signature-Comfortable-Breathable/dp/B0D6NLHV8N","image":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","title":"Quantum 100M2","brand":"JBL","productName":"Quantum 100M2","merchant":"Amazon","rawPrice":29,"rawMsrp":59.95,"price":"29","msrp":"59.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$30.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.","text":"\u003cp\u003eIf you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-1","url":"https://www.amazon.com.au/dp/B0CMCPY4VG","image":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","title":"Nova Lite","brand":"GameSir","productName":"Nova Lite","merchant":"Amazon","rawPrice":32,"rawMsrp":45,"price":"32","msrp":"45","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$13","savingType":"amount","isPrime":false,"starRating":null,"description":"Our favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.","text":"\u003cp\u003eOur favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-15","url":"https://www.amazon.com.au/dp/B07MG5547J","image":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","title":"G502 Hero","brand":"Logitech","productName":"G502 Hero","merchant":"Amazon","rawPrice":55.99,"rawMsrp":149.95,"price":"55.99","msrp":"149.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$93.96","savingType":"amount","isPrime":false,"starRating":null,"description":"Logitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;","text":"\u003cp\u003eLogitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-8","url":"https://www.amazon.com.au/CORSAIR-Membrane-Wired-Gaming-Keyboard/dp/B0CP6BR96G","image":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","title":"K55 Core Membrane","brand":"Corsair","productName":"K55 Core Membrane","merchant":"Amazon","rawPrice":59,"rawMsrp":79.95,"price":"59","msrp":"79.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$20.95","savingType":"amount","isPrime":false,"starRating":null,"description":"This discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.","text":"\u003cp\u003eThis discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-11","url":"https://www.amazon.com.au/dp/B01K48R5V4","image":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","fallbackImage":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","title":"G G213 Prodigy","brand":"Logitech","productName":"G G213 Prodigy","merchant":"Amazon","rawPrice":72,"rawMsrp":129.95,"price":"72","msrp":"129.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$57.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.","text":"\u003cp\u003eIf you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-13","url":"https://www.amazon.com.au/CORSAIR-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8/","image":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","title":"Sabre v2 Pro","brand":"Corsair","productName":"Sabre v2 Pro","merchant":"Amazon","rawPrice":79,"rawMsrp":169,"price":"79","msrp":"169","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$90","savingType":"amount","isPrime":false,"starRating":null,"description":"The Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox loved its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life.","text":"\u003cp\u003eThe Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox \u003ca href=\"https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/\"\u003eloved\u003c/a\u003e its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life. \u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true}]},"regionalDealRailData":{"US":{"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"totalAuthorCount":5,"totalDealCount":56},"GB":{"brands":[{"formatted_value":"Logitech","count":6},{"formatted_value":"Steelseries","count":2},{"formatted_value":"EarFun","count":2},{"formatted_value":"Lexar","count":2},{"formatted_value":"AOC","count":2},{"formatted_value":"MSI","count":2},{"formatted_value":"JBL","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Turtle Beach","count":1}],"freeformTagCounts":{"hardware":17,"mouse":5,"gaming-mouse":5,"prime-day":5,"amazon-prime-day-2026":14,"amazon-prime-day":17,"prime-day-deals":8,"deals":17,"deal":17,"big-deal-days":17,"gaming-headset":9,"amazon-prime":3,"ssd":1,"pc-deals":3,"gaming-monitor":2,"monitors":2,"solid-state-drive":1,"solid-state":1,"hdd":1,"hard-drive":1,"storage":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"}],"tagCounts":{"Gaming Mice":5,"Hardware":17,"Gaming Headsets":9,"Gaming Audio":9,"SSDs":1,"Storage":1,"Gaming Monitors":2},"tags":["Hardware","Gaming Headsets","Gaming Audio","Gaming Mice","Gaming Monitors","SSDs","Storage"],"totalAuthorCount":4,"totalDealCount":17},"AU":{"brands":[{"formatted_value":"Logitech","count":7},{"formatted_value":"Corsair","count":4},{"formatted_value":"JBL","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"GameSir","count":1},{"formatted_value":"8BitDo","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Asus","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"SteelSeries","count":1}],"freeformTagCounts":{"hardware":20,"amazon-prime":20,"pc-deals":20,"deals":20,"prime-day-deals":20},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"}],"tagCounts":{"Hardware":20},"tags":["Hardware"],"totalAuthorCount":1,"totalDealCount":20}}}</script></fc-author-commerce-widget><script>(()=>{var Z1=Object.create;var cg=Object.defineProperty;var W1=Object.getOwnPropertyDescriptor;var I1=Object.getOwnPropertyNames;var J1=Object.getPrototypeOf,$1=Object.prototype.hasOwnProperty;var un=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var eb=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of I1(t))!$1.call(e,l)&&l!==n&&cg(e,l,{get:()=>t[l],enumerable:!(a=W1(t,l))||a.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Z1(J1(e)):{},eb(t||!e||!e.__esModule?cg(n,"default",{value:e,enumerable:!0}):n,e));var Ag=un(z=>{"use strict";var Tc=Symbol.for("react.transitional.element"),tb=Symbol.for("react.portal"),nb=Symbol.for("react.fragment"),ab=Symbol.for("react.strict_mode"),lb=Symbol.for("react.profiler"),ib=Symbol.for("react.consumer"),rb=Symbol.for("react.context"),ob=Symbol.for("react.forward_ref"),ub=Symbol.for("react.suspense"),cb=Symbol.for("react.memo"),mg=Symbol.for("react.lazy"),sb=Symbol.for("react.activity"),sg=Symbol.iterator;function db(e){return e===null||typeof e!="object"?null:(e=sg&&e[sg]||e["@@iterator"],typeof e=="function"?e:null)}var hg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pg=Object.assign,yg={};function ml(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}ml.prototype.isReactComponent={};ml.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ml.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function vg(){}vg.prototype=ml.prototype;function Ec(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}var Dc=Ec.prototype=new vg;Dc.constructor=Ec;pg(Dc,ml.prototype);Dc.isPureReactComponent=!0;var dg=Array.isArray;function Rc(){}var he={H:null,A:null,T:null,S:null},bg=Object.prototype.hasOwnProperty;function xc(e,t,n){var a=n.ref;return{$$typeof:Tc,type:e,key:t,ref:a!==void 0?a:null,props:n}}function fb(e,t){return xc(e.type,t,e.props)}function Mc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function gb(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var fg=/\/+/g;function Cc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?gb(""+e.key):t.toString(36)}function mb(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Rc,Rc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function gl(e,t,n,a,l){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var r=!1;if(e===null)r=!0;else switch(i){case"bigint":case"string":case"number":r=!0;break;case"object":switch(e.$$typeof){case Tc:case tb:r=!0;break;case mg:return r=e._init,gl(r(e._payload),t,n,a,l)}}if(r)return l=l(e),r=a===""?"."+Cc(e,0):a,dg(l)?(n="",r!=null&&(n=r.replace(fg,"$&/")+"/"),gl(l,t,n,"",function(c){return c})):l!=null&&(Mc(l)&&(l=fb(l,n+(l.key==null||e&&e.key===l.key?"":(""+l.key).replace(fg,"$&/")+"/")+r)),t.push(l)),1;r=0;var o=a===""?".":a+":";if(dg(e))for(var u=0;u<e.length;u++)a=e[u],i=o+Cc(a,u),r+=gl(a,t,n,i,l);else if(u=db(e),typeof u=="function")for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,i=o+Cc(a,u++),r+=gl(a,t,n,i,l);else if(i==="object"){if(typeof e.then=="function")return gl(mb(e),t,n,a,l);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return r}function ro(e,t,n){if(e==null)return e;var a=[],l=0;return gl(e,a,"","",function(i){return t.call(n,i,l++)}),a}function hb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var gg=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},pb={map:ro,forEach:function(e,t,n){ro(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ro(e,function(){t++}),t},toArray:function(e){return ro(e,function(t){return t})||[]},only:function(e){if(!Mc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};z.Activity=sb;z.Children=pb;z.Component=ml;z.Fragment=nb;z.Profiler=lb;z.PureComponent=Ec;z.StrictMode=ab;z.Suspense=ub;z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=he;z.__COMPILER_RUNTIME={__proto__:null,c:function(e){return he.H.useMemoCache(e)}};z.cache=function(e){return function(){return e.apply(null,arguments)}};z.cacheSignal=function(){return null};z.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=pg({},e.props),l=e.key;if(t!=null)for(i in t.key!==void 0&&(l=""+t.key),t)!bg.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(a[i]=t[i]);var i=arguments.length-2;if(i===1)a.children=n;else if(1<i){for(var r=Array(i),o=0;o<i;o++)r[o]=arguments[o+2];a.children=r}return xc(e.type,l,a)};z.createContext=function(e){return e={$$typeof:rb,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:ib,_context:e},e};z.createElement=function(e,t,n){var a,l={},i=null;if(t!=null)for(a in t.key!==void 0&&(i=""+t.key),t)bg.call(t,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(l[a]=t[a]);var r=arguments.length-2;if(r===1)l.children=n;else if(1<r){for(var o=Array(r),u=0;u<r;u++)o[u]=arguments[u+2];l.children=o}if(e&&e.defaultProps)for(a in r=e.defaultProps,r)l[a]===void 0&&(l[a]=r[a]);return xc(e,i,l)};z.createRef=function(){return{current:null}};z.forwardRef=function(e){return{$$typeof:ob,render:e}};z.isValidElement=Mc;z.lazy=function(e){return{$$typeof:mg,_payload:{_status:-1,_result:e},_init:hb}};z.memo=function(e,t){return{$$typeof:cb,type:e,compare:t===void 0?null:t}};z.startTransition=function(e){var t=he.T,n={};he.T=n;try{var a=e(),l=he.S;l!==null&&l(n,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Rc,gg)}catch(i){gg(i)}finally{t!==null&&n.types!==null&&(t.types=n.types),he.T=t}};z.unstable_useCacheRefresh=function(){return he.H.useCacheRefresh()};z.use=function(e){return he.H.use(e)};z.useActionState=function(e,t,n){return he.H.useActionState(e,t,n)};z.useCallback=function(e,t){return he.H.useCallback(e,t)};z.useContext=function(e){return he.H.useContext(e)};z.useDebugValue=function(){};z.useDeferredValue=function(e,t){return he.H.useDeferredValue(e,t)};z.useEffect=function(e,t){return he.H.useEffect(e,t)};z.useEffectEvent=function(e){return he.H.useEffectEvent(e)};z.useId=function(){return he.H.useId()};z.useImperativeHandle=function(e,t,n){return he.H.useImperativeHandle(e,t,n)};z.useInsertionEffect=function(e,t){return he.H.useInsertionEffect(e,t)};z.useLayoutEffect=function(e,t){return he.H.useLayoutEffect(e,t)};z.useMemo=function(e,t){return he.H.useMemo(e,t)};z.useOptimistic=function(e,t){return he.H.useOptimistic(e,t)};z.useReducer=function(e,t,n){return he.H.useReducer(e,t,n)};z.useRef=function(e){return he.H.useRef(e)};z.useState=function(e){return he.H.useState(e)};z.useSyncExternalStore=function(e,t,n){return he.H.useSyncExternalStore(e,t,n)};z.useTransition=function(){return he.H.useTransition()};z.version="19.2.8"});var ft=un((zS,wg)=>{"use strict";wg.exports=Ag()});var Bg=un(Se=>{"use strict";function Oc(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,l=e[a];if(0<oo(l,t))e[a]=t,e[n]=l,n=a;else break e}}function cn(e){return e.length===0?null:e[0]}function co(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,l=e.length,i=l>>>1;a<i;){var r=2*(a+1)-1,o=e[r],u=r+1,c=e[u];if(0>oo(o,n))u<l&&0>oo(c,o)?(e[a]=c,e[u]=n,a=u):(e[a]=o,e[r]=n,a=r);else if(u<l&&0>oo(c,n))e[a]=c,e[u]=n,a=u;else break e}}return t}function oo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Se.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Sg=performance,Se.unstable_now=function(){return Sg.now()}):(_c=Date,Cg=_c.now(),Se.unstable_now=function(){return _c.now()-Cg});var Sg,_c,Cg,wn=[],Qn=[],yb=1,Ut=null,et=3,kc=!1,Mi=!1,_i=!1,Lc=!1,Eg=typeof setTimeout=="function"?setTimeout:null,Dg=typeof clearTimeout=="function"?clearTimeout:null,Rg=typeof setImmediate<"u"?setImmediate:null;function uo(e){for(var t=cn(Qn);t!==null;){if(t.callback===null)co(Qn);else if(t.startTime<=e)co(Qn),t.sortIndex=t.expirationTime,Oc(wn,t);else break;t=cn(Qn)}}function Hc(e){if(_i=!1,uo(e),!Mi)if(cn(wn)!==null)Mi=!0,pl||(pl=!0,hl());else{var t=cn(Qn);t!==null&&zc(Hc,t.startTime-e)}}var pl=!1,Bi=-1,xg=5,Mg=-1;function _g(){return Lc?!0:!(Se.unstable_now()-Mg<xg)}function Bc(){if(Lc=!1,pl){var e=Se.unstable_now();Mg=e;var t=!0;try{e:{Mi=!1,_i&&(_i=!1,Dg(Bi),Bi=-1),kc=!0;var n=et;try{t:{for(uo(e),Ut=cn(wn);Ut!==null&&!(Ut.expirationTime>e&&_g());){var a=Ut.callback;if(typeof a=="function"){Ut.callback=null,et=Ut.priorityLevel;var l=a(Ut.expirationTime<=e);if(e=Se.unstable_now(),typeof l=="function"){Ut.callback=l,uo(e),t=!0;break t}Ut===cn(wn)&&co(wn),uo(e)}else co(wn);Ut=cn(wn)}if(Ut!==null)t=!0;else{var i=cn(Qn);i!==null&&zc(Hc,i.startTime-e),t=!1}}break e}finally{Ut=null,et=n,kc=!1}t=void 0}}finally{t?hl():pl=!1}}}var hl;typeof Rg=="function"?hl=function(){Rg(Bc)}:typeof MessageChannel<"u"?(Nc=new MessageChannel,Tg=Nc.port2,Nc.port1.onmessage=Bc,hl=function(){Tg.postMessage(null)}):hl=function(){Eg(Bc,0)};var Nc,Tg;function zc(e,t){Bi=Eg(function(){e(Se.unstable_now())},t)}Se.unstable_IdlePriority=5;Se.unstable_ImmediatePriority=1;Se.unstable_LowPriority=4;Se.unstable_NormalPriority=3;Se.unstable_Profiling=null;Se.unstable_UserBlockingPriority=2;Se.unstable_cancelCallback=function(e){e.callback=null};Se.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):xg=0<e?Math.floor(1e3/e):5};Se.unstable_getCurrentPriorityLevel=function(){return et};Se.unstable_next=function(e){switch(et){case 1:case 2:case 3:var t=3;break;default:t=et}var n=et;et=t;try{return e()}finally{et=n}};Se.unstable_requestPaint=function(){Lc=!0};Se.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=et;et=e;try{return t()}finally{et=n}};Se.unstable_scheduleCallback=function(e,t,n){var a=Se.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?a+n:a):n=a,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return l=n+l,e={id:yb++,callback:t,priorityLevel:e,startTime:n,expirationTime:l,sortIndex:-1},n>a?(e.sortIndex=n,Oc(Qn,e),cn(wn)===null&&e===cn(Qn)&&(_i?(Dg(Bi),Bi=-1):_i=!0,zc(Hc,n-a))):(e.sortIndex=l,Oc(wn,e),Mi||kc||(Mi=!0,pl||(pl=!0,hl()))),e};Se.unstable_shouldYield=_g;Se.unstable_wrapCallback=function(e){var t=et;return function(){var n=et;et=t;try{return e.apply(this,arguments)}finally{et=n}}}});var Og=un((GS,Ng)=>{"use strict";Ng.exports=Bg()});var Lg=un(ot=>{"use strict";var vb=ft();function kg(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Kn(){}var rt={d:{f:Kn,r:function(){throw Error(kg(522))},D:Kn,C:Kn,L:Kn,m:Kn,X:Kn,S:Kn,M:Kn},p:0,findDOMNode:null},bb=Symbol.for("react.portal");function Ab(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:bb,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}var Ni=vb.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function so(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ot.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=rt;ot.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(kg(299));return Ab(e,t,null,n)};ot.flushSync=function(e){var t=Ni.T,n=rt.p;try{if(Ni.T=null,rt.p=2,e)return e()}finally{Ni.T=t,rt.p=n,rt.d.f()}};ot.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,rt.d.C(e,t))};ot.prefetchDNS=function(e){typeof e=="string"&&rt.d.D(e)};ot.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin),l=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?rt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:l,fetchPriority:i}):n==="script"&&rt.d.X(e,{crossOrigin:a,integrity:l,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ot.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=so(t.as,t.crossOrigin);rt.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&rt.d.M(e)};ot.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin);rt.d.L(e,n,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};ot.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=so(t.as,t.crossOrigin);rt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else rt.d.m(e)};ot.requestFormReset=function(e){rt.d.r(e)};ot.unstable_batchedUpdates=function(e,t){return e(t)};ot.useFormState=function(e,t,n){return Ni.H.useFormState(e,t,n)};ot.useFormStatus=function(){return Ni.H.useHostTransitionStatus()};ot.version="19.2.8"});var Ug=un((qS,zg)=>{"use strict";function Hg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Hg)}catch(e){console.error(e)}}Hg(),zg.exports=Lg()});var Wy=un(Hu=>{"use strict";var Ge=Og(),sh=ft(),wb=Ug();function S(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function dh(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function vr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function fh(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function gh(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Gg(e){if(vr(e)!==e)throw Error(S(188))}function Sb(e){var t=e.alternate;if(!t){if(t=vr(e),t===null)throw Error(S(188));return t!==e?null:e}for(var n=e,a=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(a=l.return,a!==null){n=a;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return Gg(l),e;if(i===a)return Gg(l),t;i=i.sibling}throw Error(S(188))}if(n.return!==a.return)n=l,a=i;else{for(var r=!1,o=l.child;o;){if(o===n){r=!0,n=l,a=i;break}if(o===a){r=!0,a=l,n=i;break}o=o.sibling}if(!r){for(o=i.child;o;){if(o===n){r=!0,n=i,a=l;break}if(o===a){r=!0,a=i,n=l;break}o=o.sibling}if(!r)throw Error(S(189))}}if(n.alternate!==a)throw Error(S(190))}if(n.tag!==3)throw Error(S(188));return n.stateNode.current===n?e:t}function mh(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=mh(e),t!==null)return t;e=e.sibling}return null}var ve=Object.assign,Cb=Symbol.for("react.element"),fo=Symbol.for("react.transitional.element"),Pi=Symbol.for("react.portal"),Sl=Symbol.for("react.fragment"),hh=Symbol.for("react.strict_mode"),ys=Symbol.for("react.profiler"),ph=Symbol.for("react.consumer"),Mn=Symbol.for("react.context"),fd=Symbol.for("react.forward_ref"),vs=Symbol.for("react.suspense"),bs=Symbol.for("react.suspense_list"),gd=Symbol.for("react.memo"),Zn=Symbol.for("react.lazy");Symbol.for("react.scope");var As=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var Rb=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var Pg=Symbol.iterator;function Oi(e){return e===null||typeof e!="object"?null:(e=Pg&&e[Pg]||e["@@iterator"],typeof e=="function"?e:null)}var Tb=Symbol.for("react.client.reference");function ws(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Tb?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Sl:return"Fragment";case ys:return"Profiler";case hh:return"StrictMode";case vs:return"Suspense";case bs:return"SuspenseList";case As:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Pi:return"Portal";case Mn:return e.displayName||"Context";case ph:return(e._context.displayName||"Context")+".Consumer";case fd:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gd:return t=e.displayName||null,t!==null?t:ws(e.type)||"Memo";case Zn:t=e._payload,e=e._init;try{return ws(e(t))}catch{}}return null}var qi=Array.isArray,L=sh.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=wb.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,za={pending:!1,data:null,method:null,action:null},Ss=[],Cl=-1;function mn(e){return{current:e}}function Fe(e){0>Cl||(e.current=Ss[Cl],Ss[Cl]=null,Cl--)}function ge(e,t){Cl++,Ss[Cl]=e.current,e.current=t}var gn=mn(null),lr=mn(null),ra=mn(null),Vo=mn(null);function Xo(e,t){switch(ge(ra,t),ge(lr,e),ge(gn,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qm(t),e=Hy(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Fe(gn),ge(gn,e)}function ql(){Fe(gn),Fe(lr),Fe(ra)}function Cs(e){e.memoizedState!==null&&ge(Vo,e);var t=gn.current,n=Hy(t,e.type);t!==n&&(ge(lr,e),ge(gn,n))}function Qo(e){lr.current===e&&(Fe(gn),Fe(lr)),Vo.current===e&&(Fe(Vo),hr._currentValue=za)}var Uc,qg;function Oa(e){if(Uc===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Uc=t&&t[1]||"",qg=-1<n.stack.indexOf(`    at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return``+Uc+e+qg}var Gc=!1;function Pc(e,t){if(!e||Gc)return"";Gc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(m){var d=m}Reflect.construct(e,[],f)}else{try{f.call()}catch(m){d=m}e.call(f.prototype)}}else{try{throw Error()}catch(m){d=m}(f=e())&&typeof f.catch=="function"&&f.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),r=i[0],o=i[1];if(r&&o){var u=r.split(``),c=o.split(``);for(l=a=0;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;for(;l<c.length&&!c[l].includes("DetermineComponentFrameRoot");)l++;if(a===u.length||l===c.length)for(a=u.length-1,l=c.length-1;1<=a&&0<=l&&u[a]!==c[l];)l--;for(;1<=a&&0<=l;a--,l--)if(u[a]!==c[l]){if(a!==1||l!==1)do if(a--,l--,0>l||u[a]!==c[l]){var s=``+u[a].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=a&&0<=l);break}}}finally{Gc=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Oa(n):""}function Eb(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return Pc(e.type,!1);case 11:return Pc(e.type.render,!1);case 1:return Pc(e.type,!0);case 31:return Oa("Activity");default:return""}}function Fg(e){try{var t="",n=null;do t+=Eb(e,n),n=e,e=e.return;while(e);return t}catch(a){return`Error generating stack: `+a.message+``+a.stack}}var Rs=Object.prototype.hasOwnProperty,md=Ge.unstable_scheduleCallback,qc=Ge.unstable_cancelCallback,Db=Ge.unstable_shouldYield,xb=Ge.unstable_requestPaint,Dt=Ge.unstable_now,Mb=Ge.unstable_getCurrentPriorityLevel,yh=Ge.unstable_ImmediatePriority,vh=Ge.unstable_UserBlockingPriority,Ko=Ge.unstable_NormalPriority,_b=Ge.unstable_LowPriority,bh=Ge.unstable_IdlePriority,Bb=Ge.log,Nb=Ge.unstable_setDisableYieldValue,br=null,xt=null;function ta(e){if(typeof Bb=="function"&&Nb(e),xt&&typeof xt.setStrictMode=="function")try{xt.setStrictMode(br,e)}catch{}}var Mt=Math.clz32?Math.clz32:Lb,Ob=Math.log,kb=Math.LN2;function Lb(e){return e>>>=0,e===0?32:31-(Ob(e)/kb|0)|0}var go=256,mo=262144,ho=4194304;function ka(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Au(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var o=a&134217727;return o!==0?(a=o&~i,a!==0?l=ka(a):(r&=o,r!==0?l=ka(r):n||(n=o&~e,n!==0&&(l=ka(n))))):(o=a&~i,o!==0?l=ka(o):r!==0?l=ka(r):n||(n=a&~e,n!==0&&(l=ka(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function Ar(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Hb(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ah(){var e=ho;return ho<<=1,(ho&62914560)===0&&(ho=4194304),e}function Fc(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wr(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function zb(e,t,n,a,l,i){var r=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,u=e.expirationTimes,c=e.hiddenUpdates;for(n=r&~n;0<n;){var s=31-Mt(n),f=1<<s;o[s]=0,u[s]=-1;var d=c[s];if(d!==null)for(c[s]=null,s=0;s<d.length;s++){var m=d[s];m!==null&&(m.lane&=-536870913)}n&=~f}a!==0&&wh(e,a,0),i!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=i&~(r&~t))}function wh(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Mt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function Sh(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Mt(n),l=1<<a;l&t|e[a]&t&&(e[a]|=t),n&=~l}}function Ch(e,t){var n=t&-t;return n=(n&42)!==0?1:hd(n),(n&(e.suspendedLanes|t))!==0?0:n}function hd(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function pd(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Rh(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:Qy(e.type))}function jg(e,t){var n=$.p;try{return $.p=e,t()}finally{$.p=n}}var ba=Math.random().toString(36).slice(2),Ve="__reactFiber$"+ba,vt="__reactProps$"+ba,Jl="__reactContainer$"+ba,Ts="__reactEvents$"+ba,Ub="__reactListeners$"+ba,Gb="__reactHandles$"+ba,Yg="__reactResources$"+ba,Sr="__reactMarker$"+ba;function yd(e){delete e[Ve],delete e[vt],delete e[Ts],delete e[Ub],delete e[Gb]}function Rl(e){var t=e[Ve];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jl]||n[Ve]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Jm(e);e!==null;){if(n=e[Ve])return n;e=Jm(e)}return t}e=n,n=e.parentNode}return null}function $l(e){if(e=e[Ve]||e[Jl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Fi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(S(33))}function kl(e){var t=e[Yg];return t||(t=e[Yg]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function qe(e){e[Sr]=!0}var Th=new Set,Eh={};function Qa(e,t){Fl(e,t),Fl(e+"Capture",t)}function Fl(e,t){for(Eh[e]=t,e=0;e<t.length;e++)Th.add(t[e])}var Pb=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Vg={},Xg={};function qb(e){return Rs.call(Xg,e)?!0:Rs.call(Vg,e)?!1:Pb.test(e)?Xg[e]=!0:(Vg[e]=!0,!1)}function _o(e,t,n){if(qb(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function po(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function Sn(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+a)}}function Pt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fb(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,i=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(r){n=""+r,i.call(this,r)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){if(!e._valueTracker){var t=Dh(e)?"checked":"value";e._valueTracker=Fb(e,t,""+e[t])}}function xh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=Dh(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Zo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var jb=/[\n"\\]/g;function jt(e){return e.replace(jb,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ds(e,t,n,a,l,i,r,o){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pt(t)):e.value!==""+Pt(t)&&(e.value=""+Pt(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?xs(e,r,Pt(t)):n!=null?xs(e,r,Pt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+Pt(o):e.removeAttribute("name")}function Mh(e,t,n,a,l,i,r,o){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Es(e);return}n=n!=null?""+Pt(n):"",t=t!=null?""+Pt(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=o?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),Es(e)}function xs(e,t,n){t==="number"&&Zo(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ll(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&a&&(e[n].defaultSelected=!0)}else{for(n=""+Pt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,a&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function _h(e,t,n){if(t!=null&&(t=""+Pt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Pt(n):""}function Bh(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(S(92));if(qi(a)){if(1<a.length)throw Error(S(93));a=a[0]}n=a}n==null&&(n=""),t=n}n=Pt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==""&&a!==null&&(e.value=a),Es(e)}function jl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Qg(e,t,n){var a=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,n):typeof n!="number"||n===0||Yb.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Nh(e,t,n){if(t!=null&&typeof t!="object")throw Error(S(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var l in t)a=t[l],t.hasOwnProperty(l)&&n[l]!==a&&Qg(e,l,a)}else for(var i in t)t.hasOwnProperty(i)&&Qg(e,i,t[i])}function vd(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Xb=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Bo(e){return Xb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function _n(){}var Ms=null;function bd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tl=null,Hl=null;function Kg(e){var t=$l(e);if(t&&(e=t.stateNode)){var n=e[vt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Ds(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+jt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var l=a[vt]||null;if(!l)throw Error(S(90));Ds(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&xh(a)}break e;case"textarea":_h(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ll(e,!!n.multiple,t,!1)}}}var jc=!1;function Oh(e,t,n){if(jc)return e(t,n);jc=!0;try{var a=e(t);return a}finally{if(jc=!1,(Tl!==null||Hl!==null)&&(Nu(),Tl&&(t=Tl,e=Hl,Hl=Tl=null,Kg(t),e)))for(t=0;t<e.length;t++)Kg(e[t])}}function ir(e,t){var n=e.stateNode;if(n===null)return null;var a=n[vt]||null;if(a===null)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(S(231,t,typeof n));return n}var Ln=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_s=!1;if(Ln)try{yl={},Object.defineProperty(yl,"passive",{get:function(){_s=!0}}),window.addEventListener("test",yl,yl),window.removeEventListener("test",yl,yl)}catch{_s=!1}var yl,na=null,Ad=null,No=null;function kh(){if(No)return No;var e,t=Ad,n=t.length,a,l="value"in na?na.value:na.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var r=n-e;for(a=1;a<=r&&t[n-a]===l[i-a];a++);return No=l.slice(e,1<a?1-a:void 0)}function Oo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yo(){return!0}function Zg(){return!1}function bt(e){function t(n,a,l,i,r){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=i,this.target=r,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?yo:Zg,this.isPropagationStopped=Zg,this}return ve(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=yo)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var Ka={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},wu=bt(Ka),Cr=ve({},Ka,{view:0,detail:0}),Qb=bt(Cr),Yc,Vc,ki,Su=ve({},Cr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wd,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ki&&(ki&&e.type==="mousemove"?(Yc=e.screenX-ki.screenX,Vc=e.screenY-ki.screenY):Vc=Yc=0,ki=e),Yc)},movementY:function(e){return"movementY"in e?e.movementY:Vc}}),Wg=bt(Su),Kb=ve({},Su,{dataTransfer:0}),Zb=bt(Kb),Wb=ve({},Cr,{relatedTarget:0}),Xc=bt(Wb),Ib=ve({},Ka,{animationName:0,elapsedTime:0,pseudoElement:0}),Jb=bt(Ib),$b=ve({},Ka,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),eA=bt($b),tA=ve({},Ka,{data:0}),Ig=bt(tA),nA={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},aA={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},lA={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function iA(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=lA[e])?!!t[e]:!1}function wd(){return iA}var rA=ve({},Cr,{key:function(e){if(e.key){var t=nA[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Oo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?aA[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wd,charCode:function(e){return e.type==="keypress"?Oo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Oo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),oA=bt(rA),uA=ve({},Su,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jg=bt(uA),cA=ve({},Cr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wd}),sA=bt(cA),dA=ve({},Ka,{propertyName:0,elapsedTime:0,pseudoElement:0}),fA=bt(dA),gA=ve({},Su,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mA=bt(gA),hA=ve({},Ka,{newState:0,oldState:0}),pA=bt(hA),yA=[9,13,27,32],Sd=Ln&&"CompositionEvent"in window,Vi=null;Ln&&"documentMode"in document&&(Vi=document.documentMode);var vA=Ln&&"TextEvent"in window&&!Vi,Lh=Ln&&(!Sd||Vi&&8<Vi&&11>=Vi),$g=" ",em=!1;function Hh(e,t){switch(e){case"keyup":return yA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var El=!1;function bA(e,t){switch(e){case"compositionend":return zh(t);case"keypress":return t.which!==32?null:(em=!0,$g);case"textInput":return e=t.data,e===$g&&em?null:e;default:return null}}function AA(e,t){if(El)return e==="compositionend"||!Sd&&Hh(e,t)?(e=kh(),No=Ad=na=null,El=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Lh&&t.locale!=="ko"?null:t.data;default:return null}}var wA={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tm(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!wA[e.type]:t==="textarea"}function Uh(e,t,n,a){Tl?Hl?Hl.push(a):Hl=[a]:Tl=a,t=gu(t,"onChange"),0<t.length&&(n=new wu("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Xi=null,rr=null;function SA(e){Oy(e,0)}function Cu(e){var t=Fi(e);if(xh(t))return e}function nm(e,t){if(e==="change")return t}var Gh=!1;Ln&&(Ln?(bo="oninput"in document,bo||(Qc=document.createElement("div"),Qc.setAttribute("oninput","return;"),bo=typeof Qc.oninput=="function"),vo=bo):vo=!1,Gh=vo&&(!document.documentMode||9<document.documentMode));var vo,bo,Qc;function am(){Xi&&(Xi.detachEvent("onpropertychange",Ph),rr=Xi=null)}function Ph(e){if(e.propertyName==="value"&&Cu(rr)){var t=[];Uh(t,rr,e,bd(e)),Oh(SA,t)}}function CA(e,t,n){e==="focusin"?(am(),Xi=t,rr=n,Xi.attachEvent("onpropertychange",Ph)):e==="focusout"&&am()}function RA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Cu(rr)}function TA(e,t){if(e==="click")return Cu(t)}function EA(e,t){if(e==="input"||e==="change")return Cu(t)}function DA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bt=typeof Object.is=="function"?Object.is:DA;function or(e,t){if(Bt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!Rs.call(t,l)||!Bt(e[l],t[l]))return!1}return!0}function lm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function im(e,t){var n=lm(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lm(n)}}function qh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Zo(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Zo(e.document)}return t}function Cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var xA=Ln&&"documentMode"in document&&11>=document.documentMode,Dl=null,Bs=null,Qi=null,Ns=!1;function rm(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ns||Dl==null||Dl!==Zo(a)||(a=Dl,"selectionStart"in a&&Cd(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Qi&&or(Qi,a)||(Qi=a,a=gu(Bs,"onSelect"),0<a.length&&(t=new wu("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=Dl)))}function Na(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xl={animationend:Na("Animation","AnimationEnd"),animationiteration:Na("Animation","AnimationIteration"),animationstart:Na("Animation","AnimationStart"),transitionrun:Na("Transition","TransitionRun"),transitionstart:Na("Transition","TransitionStart"),transitioncancel:Na("Transition","TransitionCancel"),transitionend:Na("Transition","TransitionEnd")},Kc={},jh={};Ln&&(jh=document.createElement("div").style,"AnimationEvent"in window||(delete xl.animationend.animation,delete xl.animationiteration.animation,delete xl.animationstart.animation),"TransitionEvent"in window||delete xl.transitionend.transition);function Za(e){if(Kc[e])return Kc[e];if(!xl[e])return e;var t=xl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in jh)return Kc[e]=t[n];return e}var Yh=Za("animationend"),Vh=Za("animationiteration"),Xh=Za("animationstart"),MA=Za("transitionrun"),_A=Za("transitionstart"),BA=Za("transitioncancel"),Qh=Za("transitionend"),Kh=new Map,Os="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Os.push("scrollEnd");function tn(e,t){Kh.set(e,t),Qa(t,[e])}var Wo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Gt=[],Ml=0,Rd=0;function Ru(){for(var e=Ml,t=Rd=Ml=0;t<e;){var n=Gt[t];Gt[t++]=null;var a=Gt[t];Gt[t++]=null;var l=Gt[t];Gt[t++]=null;var i=Gt[t];if(Gt[t++]=null,a!==null&&l!==null){var r=a.pending;r===null?l.next=l:(l.next=r.next,r.next=l),a.pending=l}i!==0&&Zh(n,l,i)}}function Tu(e,t,n,a){Gt[Ml++]=e,Gt[Ml++]=t,Gt[Ml++]=n,Gt[Ml++]=a,Rd|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function Td(e,t,n,a){return Tu(e,t,n,a),Io(e)}function Wa(e,t){return Tu(e,null,null,t),Io(e)}function Zh(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var l=!1,i=e.return;i!==null;)i.childLanes|=n,a=i.alternate,a!==null&&(a.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(l=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,l&&t!==null&&(l=31-Mt(n),e=i.hiddenUpdates,a=e[l],a===null?e[l]=[t]:a.push(t),t.lane=n|536870912),i):null}function Io(e){if(50<nr)throw nr=0,ed=null,Error(S(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var _l={};function NA(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(e,t,n,a){return new NA(e,t,n,a)}function Ed(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nn(e,t){var n=e.alternate;return n===null?(n=Tt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Wh(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ko(e,t,n,a,l,i){var r=0;if(a=e,typeof e=="function")Ed(e)&&(r=1);else if(typeof e=="string")r=Lw(e,n,gn.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case As:return e=Tt(31,n,t,l),e.elementType=As,e.lanes=i,e;case Sl:return Ua(n.children,l,i,t);case hh:r=8,l|=24;break;case ys:return e=Tt(12,n,t,l|2),e.elementType=ys,e.lanes=i,e;case vs:return e=Tt(13,n,t,l),e.elementType=vs,e.lanes=i,e;case bs:return e=Tt(19,n,t,l),e.elementType=bs,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Mn:r=10;break e;case ph:r=9;break e;case fd:r=11;break e;case gd:r=14;break e;case Zn:r=16,a=null;break e}r=29,n=Error(S(130,e===null?"null":typeof e,"")),a=null}return t=Tt(r,n,t,l),t.elementType=e,t.type=a,t.lanes=i,t}function Ua(e,t,n,a){return e=Tt(7,e,a,t),e.lanes=n,e}function Zc(e,t,n){return e=Tt(6,e,null,t),e.lanes=n,e}function Ih(e){var t=Tt(18,null,null,0);return t.stateNode=e,t}function Wc(e,t,n){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var om=new WeakMap;function Yt(e,t){if(typeof e=="object"&&e!==null){var n=om.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Fg(t)},om.set(e,t),t)}return{value:e,source:t,stack:Fg(t)}}var Bl=[],Nl=0,Jo=null,ur=0,qt=[],Ft=0,ha=null,sn=1,dn="";function Dn(e,t){Bl[Nl++]=ur,Bl[Nl++]=Jo,Jo=e,ur=t}function Jh(e,t,n){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,ha=e;var a=sn;e=dn;var l=32-Mt(a)-1;a&=~(1<<l),n+=1;var i=32-Mt(t)+l;if(30<i){var r=l-l%5;i=(a&(1<<r)-1).toString(32),a>>=r,l-=r,sn=1<<32-Mt(t)+l|n<<l|a,dn=i+e}else sn=1<<i|n<<l|a,dn=e}function Dd(e){e.return!==null&&(Dn(e,1),Jh(e,1,0))}function xd(e){for(;e===Jo;)Jo=Bl[--Nl],Bl[Nl]=null,ur=Bl[--Nl],Bl[Nl]=null;for(;e===ha;)ha=qt[--Ft],qt[Ft]=null,dn=qt[--Ft],qt[Ft]=null,sn=qt[--Ft],qt[Ft]=null}function $h(e,t){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,sn=t.id,dn=t.overflow,ha=e}var Xe=null,ye=null,V=!1,oa=null,Vt=!1,ks=Error(S(519));function pa(e){var t=Error(S(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw cr(Yt(t,e)),ks}function um(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[Ve]=e,t[vt]=a,n){case"dialog":q("cancel",t),q("close",t);break;case"iframe":case"object":case"embed":q("load",t);break;case"video":case"audio":for(n=0;n<gr.length;n++)q(gr[n],t);break;case"source":q("error",t);break;case"img":case"image":case"link":q("error",t),q("load",t);break;case"details":q("toggle",t);break;case"input":q("invalid",t),Mh(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":q("invalid",t);break;case"textarea":q("invalid",t),Bh(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||a.suppressHydrationWarning===!0||Ly(t.textContent,n)?(a.popover!=null&&(q("beforetoggle",t),q("toggle",t)),a.onScroll!=null&&q("scroll",t),a.onScrollEnd!=null&&q("scrollend",t),a.onClick!=null&&(t.onclick=_n),t=!0):t=!1,t||pa(e,!0)}function cm(e){for(Xe=e.return;Xe;)switch(Xe.tag){case 5:case 31:case 13:Vt=!1;return;case 27:case 3:Vt=!0;return;default:Xe=Xe.return}}function vl(e){if(e!==Xe)return!1;if(!V)return cm(e),V=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||id(e.type,e.memoizedProps)),n=!n),n&&ye&&pa(e),cm(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else t===27?(t=ye,Aa(e.type)?(e=cd,cd=null,ye=e):ye=t):ye=Xe?Qt(e.stateNode.nextSibling):null;return!0}function Fa(){ye=Xe=null,V=!1}function Ic(){var e=oa;return e!==null&&(pt===null?pt=e:pt.push.apply(pt,e),oa=null),e}function cr(e){oa===null?oa=[e]:oa.push(e)}var Ls=mn(null),Ia=null,Bn=null;function In(e,t,n){ge(Ls,t._currentValue),t._currentValue=n}function On(e){e._currentValue=Ls.current,Fe(Ls)}function Hs(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function zs(e,t,n,a){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var i=l.dependencies;if(i!==null){var r=l.child;i=i.firstContext;e:for(;i!==null;){var o=i;i=l;for(var u=0;u<t.length;u++)if(o.context===t[u]){i.lanes|=n,o=i.alternate,o!==null&&(o.lanes|=n),Hs(i.return,n,e),a||(r=null);break e}i=o.next}}else if(l.tag===18){if(r=l.return,r===null)throw Error(S(341));r.lanes|=n,i=r.alternate,i!==null&&(i.lanes|=n),Hs(r,n,e),r=null}else r=l.child;if(r!==null)r.return=l;else for(r=l;r!==null;){if(r===e){r=null;break}if(l=r.sibling,l!==null){l.return=r.return,r=l;break}r=r.return}l=r}}function ei(e,t,n,a){e=null;for(var l=t,i=!1;l!==null;){if(!i){if((l.flags&524288)!==0)i=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var r=l.alternate;if(r===null)throw Error(S(387));if(r=r.memoizedProps,r!==null){var o=l.type;Bt(l.pendingProps.value,r.value)||(e!==null?e.push(o):e=[o])}}else if(l===Vo.current){if(r=l.alternate,r===null)throw Error(S(387));r.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(hr):e=[hr])}l=l.return}e!==null&&zs(t,e,n,a),t.flags|=262144}function $o(e){for(e=e.firstContext;e!==null;){if(!Bt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ja(e){Ia=e,Bn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Qe(e){return ep(Ia,e)}function Ao(e,t){return Ia===null&&ja(e),ep(e,t)}function ep(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Bn===null){if(e===null)throw Error(S(308));Bn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Bn=Bn.next=t;return n}var OA=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},kA=Ge.unstable_scheduleCallback,LA=Ge.unstable_NormalPriority,ke={$$typeof:Mn,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Md(){return{controller:new OA,data:new Map,refCount:0}}function Rr(e){e.refCount--,e.refCount===0&&kA(LA,function(){e.controller.abort()})}var Ki=null,Us=0,Yl=0,zl=null;function HA(e,t){if(Ki===null){var n=Ki=[];Us=0,Yl=ef(),zl={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Us++,t.then(sm,sm),t}function sm(){if(--Us===0&&Ki!==null){zl!==null&&(zl.status="fulfilled");var e=Ki;Ki=null,Yl=0,zl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function zA(e,t){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var l=0;l<n.length;l++)(0,n[l])(t)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var dm=L.S;L.S=function(e,t){my=Dt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&HA(e,t),dm!==null&&dm(e,t)};var Ga=mn(null);function _d(){var e=Ga.current;return e!==null?e:ue.pooledCache}function Lo(e,t){t===null?ge(Ga,Ga.current):ge(Ga,t.pool)}function tp(){var e=_d();return e===null?null:{parent:ke._currentValue,pool:e}}var ti=Error(S(460)),Bd=Error(S(474)),Eu=Error(S(542)),eu={then:function(){}};function fm(e){return e=e.status,e==="fulfilled"||e==="rejected"}function np(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(_n,_n),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e;default:if(typeof t.status=="string")t.then(_n,_n);else{if(e=ue,e!==null&&100<e.shellSuspendCounter)throw Error(S(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=a}},function(a){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e}throw Pa=t,ti}}function La(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Pa=n,ti):n}}var Pa=null;function gm(){if(Pa===null)throw Error(S(459));var e=Pa;return Pa=null,e}function mm(e){if(e===ti||e===Eu)throw Error(S(483))}var Ul=null,sr=0;function wo(e){var t=sr;return sr+=1,Ul===null&&(Ul=[]),np(Ul,e,t)}function Li(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function So(e,t){throw t.$$typeof===Cb?Error(S(525)):(e=Object.prototype.toString.call(t),Error(S(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ap(e){function t(h,g){if(e){var p=h.deletions;p===null?(h.deletions=[g],h.flags|=16):p.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function a(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function l(h,g){return h=Nn(h,g),h.index=0,h.sibling=null,h}function i(h,g,p){return h.index=p,e?(p=h.alternate,p!==null?(p=p.index,p<g?(h.flags|=67108866,g):p):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function r(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function o(h,g,p,y){return g===null||g.tag!==6?(g=Zc(p,h.mode,y),g.return=h,g):(g=l(g,p),g.return=h,g)}function u(h,g,p,y){var C=p.type;return C===Sl?s(h,g,p.props.children,y,p.key):g!==null&&(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type)?(g=l(g,p.props),Li(g,p),g.return=h,g):(g=ko(p.type,p.key,p.props,null,h.mode,y),Li(g,p),g.return=h,g)}function c(h,g,p,y){return g===null||g.tag!==4||g.stateNode.containerInfo!==p.containerInfo||g.stateNode.implementation!==p.implementation?(g=Wc(p,h.mode,y),g.return=h,g):(g=l(g,p.children||[]),g.return=h,g)}function s(h,g,p,y,C){return g===null||g.tag!==7?(g=Ua(p,h.mode,y,C),g.return=h,g):(g=l(g,p),g.return=h,g)}function f(h,g,p){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Zc(""+g,h.mode,p),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case fo:return p=ko(g.type,g.key,g.props,null,h.mode,p),Li(p,g),p.return=h,p;case Pi:return g=Wc(g,h.mode,p),g.return=h,g;case Zn:return g=La(g),f(h,g,p)}if(qi(g)||Oi(g))return g=Ua(g,h.mode,p,null),g.return=h,g;if(typeof g.then=="function")return f(h,wo(g),p);if(g.$$typeof===Mn)return f(h,Ao(h,g),p);So(h,g)}return null}function d(h,g,p,y){var C=g!==null?g.key:null;if(typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint")return C!==null?null:o(h,g,""+p,y);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:return p.key===C?u(h,g,p,y):null;case Pi:return p.key===C?c(h,g,p,y):null;case Zn:return p=La(p),d(h,g,p,y)}if(qi(p)||Oi(p))return C!==null?null:s(h,g,p,y,null);if(typeof p.then=="function")return d(h,g,wo(p),y);if(p.$$typeof===Mn)return d(h,g,Ao(h,p),y);So(h,p)}return null}function m(h,g,p,y,C){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return h=h.get(p)||null,o(g,h,""+y,C);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case fo:return h=h.get(y.key===null?p:y.key)||null,u(g,h,y,C);case Pi:return h=h.get(y.key===null?p:y.key)||null,c(g,h,y,C);case Zn:return y=La(y),m(h,g,p,y,C)}if(qi(y)||Oi(y))return h=h.get(p)||null,s(g,h,y,C,null);if(typeof y.then=="function")return m(h,g,p,wo(y),C);if(y.$$typeof===Mn)return m(h,g,p,Ao(g,y),C);So(g,y)}return null}function v(h,g,p,y){for(var C=null,R=null,T=g,M=g=0,w=null;T!==null&&M<p.length;M++){T.index>M?(w=T,T=null):w=T.sibling;var D=d(h,T,p[M],y);if(D===null){T===null&&(T=w);break}e&&T&&D.alternate===null&&t(h,T),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D,T=w}if(M===p.length)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;M<p.length;M++)T=f(h,p[M],y),T!==null&&(g=i(T,g,M),R===null?C=T:R.sibling=T,R=T);return V&&Dn(h,M),C}for(T=a(T);M<p.length;M++)w=m(T,h,M,p[M],y),w!==null&&(e&&w.alternate!==null&&T.delete(w.key===null?M:w.key),g=i(w,g,M),R===null?C=w:R.sibling=w,R=w);return e&&T.forEach(function(k){return t(h,k)}),V&&Dn(h,M),C}function A(h,g,p,y){if(p==null)throw Error(S(151));for(var C=null,R=null,T=g,M=g=0,w=null,D=p.next();T!==null&&!D.done;M++,D=p.next()){T.index>M?(w=T,T=null):w=T.sibling;var k=d(h,T,D.value,y);if(k===null){T===null&&(T=w);break}e&&T&&k.alternate===null&&t(h,T),g=i(k,g,M),R===null?C=k:R.sibling=k,R=k,T=w}if(D.done)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;!D.done;M++,D=p.next())D=f(h,D.value,y),D!==null&&(g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return V&&Dn(h,M),C}for(T=a(T);!D.done;M++,D=p.next())D=m(T,h,M,D.value,y),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?M:D.key),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return e&&T.forEach(function(se){return t(h,se)}),V&&Dn(h,M),C}function b(h,g,p,y){if(typeof p=="object"&&p!==null&&p.type===Sl&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:e:{for(var C=p.key;g!==null;){if(g.key===C){if(C=p.type,C===Sl){if(g.tag===7){n(h,g.sibling),y=l(g,p.props.children),y.return=h,h=y;break e}}else if(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type){n(h,g.sibling),y=l(g,p.props),Li(y,p),y.return=h,h=y;break e}n(h,g);break}else t(h,g);g=g.sibling}p.type===Sl?(y=Ua(p.props.children,h.mode,y,p.key),y.return=h,h=y):(y=ko(p.type,p.key,p.props,null,h.mode,y),Li(y,p),y.return=h,h=y)}return r(h);case Pi:e:{for(C=p.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===p.containerInfo&&g.stateNode.implementation===p.implementation){n(h,g.sibling),y=l(g,p.children||[]),y.return=h,h=y;break e}else{n(h,g);break}else t(h,g);g=g.sibling}y=Wc(p,h.mode,y),y.return=h,h=y}return r(h);case Zn:return p=La(p),b(h,g,p,y)}if(qi(p))return v(h,g,p,y);if(Oi(p)){if(C=Oi(p),typeof C!="function")throw Error(S(150));return p=C.call(p),A(h,g,p,y)}if(typeof p.then=="function")return b(h,g,wo(p),y);if(p.$$typeof===Mn)return b(h,g,Ao(h,p),y);So(h,p)}return typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint"?(p=""+p,g!==null&&g.tag===6?(n(h,g.sibling),y=l(g,p),y.return=h,h=y):(n(h,g),y=Zc(p,h.mode,y),y.return=h,h=y),r(h)):n(h,g)}return function(h,g,p,y){try{sr=0;var C=b(h,g,p,y);return Ul=null,C}catch(T){if(T===ti||T===Eu)throw T;var R=Tt(29,T,null,h.mode);return R.lanes=y,R.return=h,R}finally{}}}var Ya=ap(!0),lp=ap(!1),Wn=!1;function Nd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gs(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ca(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(J&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=Io(e),Zh(e,null,n),t}return Tu(e,a,t,n),Io(e)}function Zi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}function Jc(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var r={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=r:i=i.next=r,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ps=!1;function Wi(){if(Ps){var e=zl;if(e!==null)throw e}}function Ii(e,t,n,a){Ps=!1;var l=e.updateQueue;Wn=!1;var i=l.firstBaseUpdate,r=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var u=o,c=u.next;u.next=null,r===null?i=c:r.next=c,r=u;var s=e.alternate;s!==null&&(s=s.updateQueue,o=s.lastBaseUpdate,o!==r&&(o===null?s.firstBaseUpdate=c:o.next=c,s.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;r=0,s=c=u=null,o=i;do{var d=o.lane&-536870913,m=d!==o.lane;if(m?(Y&d)===d:(a&d)===d){d!==0&&d===Yl&&(Ps=!0),s!==null&&(s=s.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var v=e,A=o;d=t;var b=n;switch(A.tag){case 1:if(v=A.payload,typeof v=="function"){f=v.call(b,f,d);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=A.payload,d=typeof v=="function"?v.call(b,f,d):v,d==null)break e;f=ve({},f,d);break e;case 2:Wn=!0}}d=o.callback,d!==null&&(e.flags|=64,m&&(e.flags|=8192),m=l.callbacks,m===null?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:o.tag,payload:o.payload,callback:o.callback,next:null},s===null?(c=s=m,u=f):s=s.next=m,r|=d;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;m=o,o=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);s===null&&(u=f),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=s,i===null&&(l.shared.lanes=0),va|=r,e.lanes=r,e.memoizedState=f}}function ip(e,t){if(typeof e!="function")throw Error(S(191,e));e.call(t)}function rp(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ip(n[e],t)}var Vl=mn(null),tu=mn(0);function hm(e,t){e=Gn,ge(tu,e),ge(Vl,t),Gn=e|t.baseLanes}function qs(){ge(tu,Gn),ge(Vl,Vl.current)}function Od(){Gn=tu.current,Fe(Vl),Fe(tu)}var Nt=mn(null),Xt=null;function Jn(e){var t=e.alternate;ge(xe,xe.current&1),ge(Nt,e),Xt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Xt=e)}function Fs(e){ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)}function op(e){e.tag===22?(ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)):$n(e)}function $n(){ge(xe,xe.current),ge(Nt,Nt.current)}function Rt(e){Fe(Nt),Xt===e&&(Xt=null),Fe(xe)}var xe=mn(0);function nu(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||od(n)||ud(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hn=0,G=null,re=null,Ne=null,au=!1,Gl=!1,Va=!1,lu=0,dr=0,Pl=null,UA=0;function Re(){throw Error(S(321))}function kd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Bt(e[n],t[n]))return!1;return!0}function Ld(e,t,n,a,l,i){return Hn=i,G=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=e===null||e.memoizedState===null?Up:Xd,Va=!1,i=n(a,l),Va=!1,Gl&&(i=cp(t,n,a,l)),up(e),i}function up(e){L.H=fr;var t=re!==null&&re.next!==null;if(Hn=0,Ne=re=G=null,au=!1,dr=0,Pl=null,t)throw Error(S(300));e===null||Le||(e=e.dependencies,e!==null&&$o(e)&&(Le=!0))}function cp(e,t,n,a){G=e;var l=0;do{if(Gl&&(Pl=null),dr=0,Gl=!1,25<=l)throw Error(S(301));if(l+=1,Ne=re=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}L.H=Gp,i=t(n,a)}while(Gl);return i}function GA(){var e=L.H,t=e.useState()[0];return t=typeof t.then=="function"?Tr(t):t,e=e.useState()[0],(re!==null?re.memoizedState:null)!==e&&(G.flags|=1024),t}function Hd(){var e=lu!==0;return lu=0,e}function zd(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ud(e){if(au){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}au=!1}Hn=0,Ne=re=G=null,Gl=!1,dr=lu=0,Pl=null}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e,Ne}function Me(){if(re===null){var e=G.alternate;e=e!==null?e.memoizedState:null}else e=re.next;var t=Ne===null?G.memoizedState:Ne.next;if(t!==null)Ne=t,re=e;else{if(e===null)throw G.alternate===null?Error(S(467)):Error(S(310));re=e,e={memoizedState:re.memoizedState,baseState:re.baseState,baseQueue:re.baseQueue,queue:re.queue,next:null},Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e}return Ne}function Du(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Tr(e){var t=dr;return dr+=1,Pl===null&&(Pl=[]),e=np(Pl,e,t),t=G,(Ne===null?t.memoizedState:Ne.next)===null&&(t=t.alternate,L.H=t===null||t.memoizedState===null?Up:Xd),e}function xu(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Tr(e);if(e.$$typeof===Mn)return Qe(e)}throw Error(S(438,String(e)))}function Gd(e){var t=null,n=G.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=G.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Du(),G.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=Rb;return t.index++,n}function zn(e,t){return typeof t=="function"?t(e):t}function Ho(e){var t=Me();return Pd(t,re,e)}function Pd(e,t,n){var a=e.queue;if(a===null)throw Error(S(311));a.lastRenderedReducer=n;var l=e.baseQueue,i=a.pending;if(i!==null){if(l!==null){var r=l.next;l.next=i.next,i.next=r}t.baseQueue=l=i,a.pending=null}if(i=e.baseState,l===null)e.memoizedState=i;else{t=l.next;var o=r=null,u=null,c=t,s=!1;do{var f=c.lane&-536870913;if(f!==c.lane?(Y&f)===f:(Hn&f)===f){var d=c.revertLane;if(d===0)u!==null&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===Yl&&(s=!0);else if((Hn&d)===d){c=c.next,d===Yl&&(s=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=f,r=i):u=u.next=f,G.lanes|=d,va|=d;f=c.action,Va&&n(i,f),i=c.hasEagerState?c.eagerState:n(i,f)}else d={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=d,r=i):u=u.next=d,G.lanes|=f,va|=f;c=c.next}while(c!==null&&c!==t);if(u===null?r=i:u.next=o,!Bt(i,e.memoizedState)&&(Le=!0,s&&(n=zl,n!==null)))throw n;e.memoizedState=i,e.baseState=r,e.baseQueue=u,a.lastRenderedState=i}return l===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function $c(e){var t=Me(),n=t.queue;if(n===null)throw Error(S(311));n.lastRenderedReducer=e;var a=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var r=l=l.next;do i=e(i,r.action),r=r.next;while(r!==l);Bt(i,t.memoizedState)||(Le=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function sp(e,t,n){var a=G,l=Me(),i=V;if(i){if(n===void 0)throw Error(S(407));n=n()}else n=t();var r=!Bt((re||l).memoizedState,n);if(r&&(l.memoizedState=n,Le=!0),l=l.queue,qd(gp.bind(null,a,l,e),[e]),l.getSnapshot!==t||r||Ne!==null&&Ne.memoizedState.tag&1){if(a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,l,n,t),null),ue===null)throw Error(S(349));i||(Hn&127)!==0||dp(a,t,n)}return n}function dp(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=G.updateQueue,t===null?(t=Du(),G.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function fp(e,t,n,a){t.value=n,t.getSnapshot=a,mp(t)&&hp(e)}function gp(e,t,n){return n(function(){mp(t)&&hp(e)})}function mp(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Bt(e,n)}catch{return!0}}function hp(e){var t=Wa(e,2);t!==null&&yt(t,e,2)}function js(e){var t=ut();if(typeof e=="function"){var n=e;if(e=n(),Va){ta(!0);try{n()}finally{ta(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:e},t}function pp(e,t,n,a){return e.baseState=n,Pd(e,re,typeof a=="function"?a:zn)}function PA(e,t,n,a,l){if(_u(e))throw Error(S(485));if(e=t.action,e!==null){var i={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){i.listeners.push(r)}};L.T!==null?n(!0):i.isTransition=!1,a(i),n=t.pending,n===null?(i.next=t.pending=i,yp(t,i)):(i.next=n.next,t.pending=n.next=i)}}function yp(e,t){var n=t.action,a=t.payload,l=e.state;if(t.isTransition){var i=L.T,r={};L.T=r;try{var o=n(l,a),u=L.S;u!==null&&u(r,o),pm(e,t,o)}catch(c){Ys(e,t,c)}finally{i!==null&&r.types!==null&&(i.types=r.types),L.T=i}}else try{i=n(l,a),pm(e,t,i)}catch(c){Ys(e,t,c)}}function pm(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){ym(e,t,a)},function(a){return Ys(e,t,a)}):ym(e,t,n)}function ym(e,t,n){t.status="fulfilled",t.value=n,vp(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,yp(e,n)))}function Ys(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=n,vp(t),t=t.next;while(t!==a)}e.action=null}function vp(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function bp(e,t){return t}function vm(e,t){if(V){var n=ue.formState;if(n!==null){e:{var a=G;if(V){if(ye){t:{for(var l=ye,i=Vt;l.nodeType!==8;){if(!i){l=null;break t}if(l=Qt(l.nextSibling),l===null){l=null;break t}}i=l.data,l=i==="F!"||i==="F"?l:null}if(l){ye=Qt(l.nextSibling),a=l.data==="F!";break e}}pa(a)}a=!1}a&&(t=n[0])}}return n=ut(),n.memoizedState=n.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bp,lastRenderedState:t},n.queue=a,n=Lp.bind(null,G,a),a.dispatch=n,a=js(!1),i=Vd.bind(null,G,!1,a.queue),a=ut(),l={state:t,dispatch:null,action:e,pending:null},a.queue=l,n=PA.bind(null,G,l,i,n),l.dispatch=n,a.memoizedState=e,[t,n,!1]}function bm(e){var t=Me();return Ap(t,re,e)}function Ap(e,t,n){if(t=Pd(e,t,bp)[0],e=Ho(zn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=Tr(t)}catch(r){throw r===ti?Eu:r}else a=t;t=Me();var l=t.queue,i=l.dispatch;return n!==t.memoizedState&&(G.flags|=2048,Xl(9,{destroy:void 0},qA.bind(null,l,n),null)),[a,i,e]}function qA(e,t){e.action=t}function Am(e){var t=Me(),n=re;if(n!==null)return Ap(t,n,e);Me(),t=t.memoizedState,n=Me();var a=n.queue.dispatch;return n.memoizedState=e,[t,a,!1]}function Xl(e,t,n,a){return e={tag:e,create:n,deps:a,inst:t,next:null},t=G.updateQueue,t===null&&(t=Du(),G.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function wp(){return Me().memoizedState}function zo(e,t,n,a){var l=ut();G.flags|=e,l.memoizedState=Xl(1|t,{destroy:void 0},n,a===void 0?null:a)}function Mu(e,t,n,a){var l=Me();a=a===void 0?null:a;var i=l.memoizedState.inst;re!==null&&a!==null&&kd(a,re.memoizedState.deps)?l.memoizedState=Xl(t,i,n,a):(G.flags|=e,l.memoizedState=Xl(1|t,i,n,a))}function wm(e,t){zo(8390656,8,e,t)}function qd(e,t){Mu(2048,8,e,t)}function FA(e){G.flags|=4;var t=G.updateQueue;if(t===null)t=Du(),G.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Sp(e){var t=Me().memoizedState;return FA({ref:t,nextImpl:e}),function(){if((J&2)!==0)throw Error(S(440));return t.impl.apply(void 0,arguments)}}function Cp(e,t){return Mu(4,2,e,t)}function Rp(e,t){return Mu(4,4,e,t)}function Tp(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ep(e,t,n){n=n!=null?n.concat([e]):null,Mu(4,4,Tp.bind(null,t,e),n)}function Fd(){}function Dp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;return t!==null&&kd(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function xp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;if(t!==null&&kd(t,a[1]))return a[0];if(a=e(),Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a}function jd(e,t,n){return n===void 0||(Hn&1073741824)!==0&&(Y&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=py(),G.lanes|=e,va|=e,n)}function Mp(e,t,n,a){return Bt(n,t)?n:Vl.current!==null?(e=jd(e,n,a),Bt(e,t)||(Le=!0),e):(Hn&42)===0||(Hn&1073741824)!==0&&(Y&261930)===0?(Le=!0,e.memoizedState=n):(e=py(),G.lanes|=e,va|=e,t)}function _p(e,t,n,a,l){var i=$.p;$.p=i!==0&&8>i?i:8;var r=L.T,o={};L.T=o,Vd(e,!1,t,n);try{var u=l(),c=L.S;if(c!==null&&c(o,u),u!==null&&typeof u=="object"&&typeof u.then=="function"){var s=zA(u,a);Ji(e,t,s,_t(e))}else Ji(e,t,a,_t(e))}catch(f){Ji(e,t,{then:function(){},status:"rejected",reason:f},_t())}finally{$.p=i,r!==null&&o.types!==null&&(r.types=o.types),L.T=r}}function jA(){}function Vs(e,t,n,a){if(e.tag!==5)throw Error(S(476));var l=Bp(e).queue;_p(e,l,t,za,n===null?jA:function(){return Np(e),n(a)})}function Bp(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:za,baseState:za,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:za},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Np(e){var t=Bp(e);t.next===null&&(t=e.alternate.memoizedState),Ji(e,t.next.queue,{},_t())}function Yd(){return Qe(hr)}function Op(){return Me().memoizedState}function kp(){return Me().memoizedState}function YA(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_t();e=ua(n);var a=ca(t,e,n);a!==null&&(yt(a,t,n),Zi(a,t,n)),t={cache:Md()},e.payload=t;return}t=t.return}}function VA(e,t,n){var a=_t();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},_u(e)?Hp(t,n):(n=Td(e,t,n,a),n!==null&&(yt(n,e,a),zp(n,t,a)))}function Lp(e,t,n){var a=_t();Ji(e,t,n,a)}function Ji(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(_u(e))Hp(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,o=i(r,n);if(l.hasEagerState=!0,l.eagerState=o,Bt(o,r))return Tu(e,t,l,0),ue===null&&Ru(),!1}catch{}finally{}if(n=Td(e,t,l,a),n!==null)return yt(n,e,a),zp(n,t,a),!0}return!1}function Vd(e,t,n,a){if(a={lane:2,revertLane:ef(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},_u(e)){if(t)throw Error(S(479))}else t=Td(e,n,a,2),t!==null&&yt(t,e,2)}function _u(e){var t=e.alternate;return e===G||t!==null&&t===G}function Hp(e,t){Gl=au=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zp(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}var fr={readContext:Qe,use:xu,useCallback:Re,useContext:Re,useEffect:Re,useImperativeHandle:Re,useLayoutEffect:Re,useInsertionEffect:Re,useMemo:Re,useReducer:Re,useRef:Re,useState:Re,useDebugValue:Re,useDeferredValue:Re,useTransition:Re,useSyncExternalStore:Re,useId:Re,useHostTransitionStatus:Re,useFormState:Re,useActionState:Re,useOptimistic:Re,useMemoCache:Re,useCacheRefresh:Re};fr.useEffectEvent=Re;var Up={readContext:Qe,use:xu,useCallback:function(e,t){return ut().memoizedState=[e,t===void 0?null:t],e},useContext:Qe,useEffect:wm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,zo(4194308,4,Tp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zo(4194308,4,e,t)},useInsertionEffect:function(e,t){zo(4,2,e,t)},useMemo:function(e,t){var n=ut();t=t===void 0?null:t;var a=e();if(Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=ut();if(n!==void 0){var l=n(t);if(Va){ta(!0);try{n(t)}finally{ta(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=VA.bind(null,G,e),[a.memoizedState,e]},useRef:function(e){var t=ut();return e={current:e},t.memoizedState=e},useState:function(e){e=js(e);var t=e.queue,n=Lp.bind(null,G,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Fd,useDeferredValue:function(e,t){var n=ut();return jd(n,e,t)},useTransition:function(){var e=js(!1);return e=_p.bind(null,G,e.queue,!0,!1),ut().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=G,l=ut();if(V){if(n===void 0)throw Error(S(407));n=n()}else{if(n=t(),ue===null)throw Error(S(349));(Y&127)!==0||dp(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,wm(gp.bind(null,a,i,e),[e]),a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,i,n,t),null),n},useId:function(){var e=ut(),t=ue.identifierPrefix;if(V){var n=dn,a=sn;n=(a&~(1<<32-Mt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=lu++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=UA++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Yd,useFormState:vm,useActionState:vm,useOptimistic:function(e){var t=ut();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Vd.bind(null,G,!0,n),n.dispatch=t,[e,t]},useMemoCache:Gd,useCacheRefresh:function(){return ut().memoizedState=YA.bind(null,G)},useEffectEvent:function(e){var t=ut(),n={impl:e};return t.memoizedState=n,function(){if((J&2)!==0)throw Error(S(440));return n.impl.apply(void 0,arguments)}}},Xd={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:Ho,useRef:wp,useState:function(){return Ho(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=Ho(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:bm,useActionState:bm,useOptimistic:function(e,t){var n=Me();return pp(n,re,e,t)},useMemoCache:Gd,useCacheRefresh:kp};Xd.useEffectEvent=Sp;var Gp={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:$c,useRef:wp,useState:function(){return $c(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return re===null?jd(n,e,t):Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=$c(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:Am,useActionState:Am,useOptimistic:function(e,t){var n=Me();return re!==null?pp(n,re,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Gd,useCacheRefresh:kp};Gp.useEffectEvent=Sp;function es(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:ve({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xs={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=_t(),a=ua(n);a.tag=2,t!=null&&(a.callback=t),t=ca(e,a,n),t!==null&&(yt(t,e,n),Zi(t,e,n))}};function Sm(e,t,n,a,l,i,r){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,r):t.prototype&&t.prototype.isPureReactComponent?!or(n,a)||!or(l,i):!0}function Cm(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Xs.enqueueReplaceState(t,t.state,null)}function Xa(e,t){var n=t;if("ref"in t){n={};for(var a in t)a!=="ref"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=ve({},n));for(var l in e)n[l]===void 0&&(n[l]=e[l])}return n}function Pp(e){Wo(e)}function qp(e){console.error(e)}function Fp(e){Wo(e)}function iu(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function Rm(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Qs(e,t,n){return n=ua(n),n.tag=3,n.payload={element:null},n.callback=function(){iu(e,t)},n}function jp(e){return e=ua(e),e.tag=3,e}function Yp(e,t,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var i=a.value;e.payload=function(){return l(i)},e.callback=function(){Rm(t,n,a)}}var r=n.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){Rm(t,n,a),typeof l!="function"&&(sa===null?sa=new Set([this]):sa.add(this));var o=a.stack;this.componentDidCatch(a.value,{componentStack:o!==null?o:""})})}function XA(e,t,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=n.alternate,t!==null&&ei(t,n,l,!0),n=Nt.current,n!==null){switch(n.tag){case 31:case 13:return Xt===null?su():n.alternate===null&&Te===0&&(Te=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),ds(e,a,l)),!1;case 22:return n.flags|=65536,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),ds(e,a,l)),!1}throw Error(S(435,n.tag))}return ds(e,a,l),su(),!1}if(V)return t=Nt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,a!==ks&&(e=Error(S(422),{cause:a}),cr(Yt(e,n)))):(a!==ks&&(t=Error(S(423),{cause:a}),cr(Yt(t,n))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,a=Yt(a,n),l=Qs(e.stateNode,a,l),Jc(e,l),Te!==4&&(Te=2)),!1;var i=Error(S(520),{cause:a});if(i=Yt(i,n),tr===null?tr=[i]:tr.push(i),Te!==4&&(Te=2),t===null)return!0;a=Yt(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=l&-l,n.lanes|=e,e=Qs(n.stateNode,a,e),Jc(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(sa===null||!sa.has(i))))return n.flags|=65536,l&=-l,n.lanes|=l,l=jp(l),Yp(l,e,n,a),Jc(n,l),!1}n=n.return}while(n!==null);return!1}var Qd=Error(S(461)),Le=!1;function Ye(e,t,n,a){t.child=e===null?lp(t,null,n,a):Ya(t,e.child,n,a)}function Tm(e,t,n,a,l){n=n.render;var i=t.ref;if("ref"in a){var r={};for(var o in a)o!=="ref"&&(r[o]=a[o])}else r=a;return ja(t),a=Ld(e,t,n,r,i,l),o=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&o&&Dd(t),t.flags|=1,Ye(e,t,a,l),t.child)}function Em(e,t,n,a,l){if(e===null){var i=n.type;return typeof i=="function"&&!Ed(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,Vp(e,t,i,a,l)):(e=ko(n.type,null,a,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Kd(e,l)){var r=i.memoizedProps;if(n=n.compare,n=n!==null?n:or,n(r,a)&&e.ref===t.ref)return Un(e,t,l)}return t.flags|=1,e=Nn(i,a),e.ref=t.ref,e.return=t,t.child=e}function Vp(e,t,n,a,l){if(e!==null){var i=e.memoizedProps;if(or(i,a)&&e.ref===t.ref)if(Le=!1,t.pendingProps=a=i,Kd(e,l))(e.flags&131072)!==0&&(Le=!0);else return t.lanes=e.lanes,Un(e,t,l)}return Ks(e,t,n,a,l)}function Xp(e,t,n,a){var l=a.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(a=t.child=e.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~i}else a=0,t.child=null;return Dm(e,t,i,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Lo(t,i!==null?i.cachePool:null),i!==null?hm(t,i):qs(),op(t);else return a=t.lanes=536870912,Dm(e,t,i!==null?i.baseLanes|n:n,n,a)}else i!==null?(Lo(t,i.cachePool),hm(t,i),$n(t),t.memoizedState=null):(e!==null&&Lo(t,null),qs(),$n(t));return Ye(e,t,l,n),t.child}function ji(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Dm(e,t,n,a,l){var i=_d();return i=i===null?null:{parent:ke._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Lo(t,null),qs(),op(t),e!==null&&ei(e,t,a,!0),t.childLanes=l,null}function Uo(e,t){return t=ru({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function xm(e,t,n){return Ya(t,e.child,null,n),e=Uo(t,t.pendingProps),e.flags|=2,Rt(t),t.memoizedState=null,e}function QA(e,t,n){var a=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(V){if(a.mode==="hidden")return e=Uo(t,a),t.lanes=536870912,ji(null,e);if(Fs(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return t.lanes=536870912,null}return Uo(t,a)}var i=e.memoizedState;if(i!==null){var r=i.dehydrated;if(Fs(t),l)if(t.flags&256)t.flags&=-257,t=xm(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(S(558));else if(Le||ei(e,t,n,!1),l=(n&e.childLanes)!==0,Le||l){if(a=ue,a!==null&&(r=Ch(a,n),r!==0&&r!==i.retryLane))throw i.retryLane=r,Wa(e,r),yt(a,e,r),Qd;su(),t=xm(e,t,n)}else e=i.treeContext,ye=Qt(r.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Uo(t,a),t.flags|=4096;return t}return e=Nn(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Go(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(S(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Ks(e,t,n,a,l){return ja(t),n=Ld(e,t,n,a,void 0,l),a=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,l),t.child)}function Mm(e,t,n,a,l,i){return ja(t),t.updateQueue=null,n=cp(t,a,n,l),up(e),a=Hd(),e!==null&&!Le?(zd(e,t,i),Un(e,t,i)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,i),t.child)}function _m(e,t,n,a,l){if(ja(t),t.stateNode===null){var i=_l,r=n.contextType;typeof r=="object"&&r!==null&&(i=Qe(r)),i=new n(a,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Xs,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=a,i.state=t.memoizedState,i.refs={},Nd(t),r=n.contextType,i.context=typeof r=="object"&&r!==null?Qe(r):_l,i.state=t.memoizedState,r=n.getDerivedStateFromProps,typeof r=="function"&&(es(t,n,r,a),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&Xs.enqueueReplaceState(i,i.state,null),Ii(t,a,i,l),Wi(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){i=t.stateNode;var o=t.memoizedProps,u=Xa(n,o);i.props=u;var c=i.context,s=n.contextType;r=_l,typeof s=="object"&&s!==null&&(r=Qe(s));var f=n.getDerivedStateFromProps;s=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function",o=t.pendingProps!==o,s||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o||c!==r)&&Cm(t,i,a,r),Wn=!1;var d=t.memoizedState;i.state=d,Ii(t,a,i,l),Wi(),c=t.memoizedState,o||d!==c||Wn?(typeof f=="function"&&(es(t,n,f,a),c=t.memoizedState),(u=Wn||Sm(t,n,u,a,d,c,r))?(s||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=r,a=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Gs(e,t),r=t.memoizedProps,s=Xa(n,r),i.props=s,f=t.pendingProps,d=i.context,c=n.contextType,u=_l,typeof c=="object"&&c!==null&&(u=Qe(c)),o=n.getDerivedStateFromProps,(c=typeof o=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r!==f||d!==u)&&Cm(t,i,a,u),Wn=!1,d=t.memoizedState,i.state=d,Ii(t,a,i,l),Wi();var m=t.memoizedState;r!==f||d!==m||Wn||e!==null&&e.dependencies!==null&&$o(e.dependencies)?(typeof o=="function"&&(es(t,n,o,a),m=t.memoizedState),(s=Wn||Sm(t,n,s,a,d,m,u)||e!==null&&e.dependencies!==null&&$o(e.dependencies))?(c||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(a,m,u),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(a,m,u)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=u,a=s):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return i=a,Go(e,t),a=(t.flags&128)!==0,i||a?(i=t.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&a?(t.child=Ya(t,e.child,null,l),t.child=Ya(t,null,n,l)):Ye(e,t,n,l),t.memoizedState=i.state,e=t.child):e=Un(e,t,l),e}function Bm(e,t,n,a){return Fa(),t.flags|=256,Ye(e,t,n,a),t.child}var ts={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ns(e){return{baseLanes:e,cachePool:tp()}}function as(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Et),e}function Qp(e,t,n){var a=t.pendingProps,l=!1,i=(t.flags&128)!==0,r;if((r=i)||(r=e!==null&&e.memoizedState===null?!1:(xe.current&2)!==0),r&&(l=!0,t.flags&=-129),r=(t.flags&32)!==0,t.flags&=-33,e===null){if(V){if(l?Jn(t):$n(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return ud(e)?t.lanes=32:t.lanes=536870912,null}var o=a.children;return a=a.fallback,l?($n(t),l=t.mode,o=ru({mode:"hidden",children:o},l),a=Ua(a,l,n,null),o.return=t,a.return=t,o.sibling=a,t.child=o,a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,ji(null,a)):(Jn(t),Zs(t,o))}var u=e.memoizedState;if(u!==null&&(o=u.dehydrated,o!==null)){if(i)t.flags&256?(Jn(t),t.flags&=-257,t=ls(e,t,n)):t.memoizedState!==null?($n(t),t.child=e.child,t.flags|=128,t=null):($n(t),o=a.fallback,l=t.mode,a=ru({mode:"visible",children:a.children},l),o=Ua(o,l,n,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,Ya(t,e.child,null,n),a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,t=ji(null,a));else if(Jn(t),ud(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var c=r.dgst;r=c,a=Error(S(419)),a.stack="",a.digest=r,cr({value:a,source:null,stack:null}),t=ls(e,t,n)}else if(Le||ei(e,t,n,!1),r=(n&e.childLanes)!==0,Le||r){if(r=ue,r!==null&&(a=Ch(r,n),a!==0&&a!==u.retryLane))throw u.retryLane=a,Wa(e,a),yt(r,e,a),Qd;od(o)||su(),t=ls(e,t,n)}else od(o)?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,ye=Qt(o.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Zs(t,a.children),t.flags|=4096);return t}return l?($n(t),o=a.fallback,l=t.mode,u=e.child,c=u.sibling,a=Nn(u,{mode:"hidden",children:a.children}),a.subtreeFlags=u.subtreeFlags&65011712,c!==null?o=Nn(c,o):(o=Ua(o,l,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,ji(null,a),a=t.child,o=e.child.memoizedState,o===null?o=ns(n):(l=o.cachePool,l!==null?(u=ke._currentValue,l=l.parent!==u?{parent:u,pool:u}:l):l=tp(),o={baseLanes:o.baseLanes|n,cachePool:l}),a.memoizedState=o,a.childLanes=as(e,r,n),t.memoizedState=ts,ji(e.child,a)):(Jn(t),n=e.child,e=n.sibling,n=Nn(n,{mode:"visible",children:a.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Zs(e,t){return t=ru({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ru(e,t){return e=Tt(22,e,null,t),e.lanes=0,e}function ls(e,t,n){return Ya(t,e.child,null,n),e=Zs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nm(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Hs(e.return,t,n)}function is(e,t,n,a,l,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=l,r.treeForkCount=i)}function Kp(e,t,n){var a=t.pendingProps,l=a.revealOrder,i=a.tail;a=a.children;var r=xe.current,o=(r&2)!==0;if(o?(r=r&1|2,t.flags|=128):r&=1,ge(xe,r),Ye(e,t,a,n),a=V?ur:0,!o&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nm(e,n,t);else if(e.tag===19)Nm(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&nu(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),is(t,!1,l,n,i,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&nu(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}is(t,!0,n,null,i,a);break;case"together":is(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function Un(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),va|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ei(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(S(153));if(t.child!==null){for(e=t.child,n=Nn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Nn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Kd(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&$o(e)))}function KA(e,t,n){switch(t.tag){case 3:Xo(t,t.stateNode.containerInfo),In(t,ke,e.memoizedState.cache),Fa();break;case 27:case 5:Cs(t);break;case 4:Xo(t,t.stateNode.containerInfo);break;case 10:In(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Fs(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(Jn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Qp(e,t,n):(Jn(t),e=Un(e,t,n),e!==null?e.sibling:null);Jn(t);break;case 19:var l=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||(ei(e,t,n,!1),a=(n&t.childLanes)!==0),l){if(a)return Kp(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ge(xe,xe.current),a)break;return null;case 22:return t.lanes=0,Xp(e,t,n,t.pendingProps);case 24:In(t,ke,e.memoizedState.cache)}return Un(e,t,n)}function Zp(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Le=!0;else{if(!Kd(e,n)&&(t.flags&128)===0)return Le=!1,KA(e,t,n);Le=(e.flags&131072)!==0}else Le=!1,V&&(t.flags&1048576)!==0&&Jh(t,ur,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=La(t.elementType),t.type=e,typeof e=="function")Ed(e)?(a=Xa(e,a),t.tag=1,t=_m(null,t,e,a,n)):(t.tag=0,t=Ks(null,t,e,a,n));else{if(e!=null){var l=e.$$typeof;if(l===fd){t.tag=11,t=Tm(null,t,e,a,n);break e}else if(l===gd){t.tag=14,t=Em(null,t,e,a,n);break e}}throw t=ws(e)||e,Error(S(306,t,""))}}return t;case 0:return Ks(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,l=Xa(a,t.pendingProps),_m(e,t,a,l,n);case 3:e:{if(Xo(t,t.stateNode.containerInfo),e===null)throw Error(S(387));a=t.pendingProps;var i=t.memoizedState;l=i.element,Gs(e,t),Ii(t,a,null,n);var r=t.memoizedState;if(a=r.cache,In(t,ke,a),a!==i.cache&&zs(t,[ke],n,!0),Wi(),a=r.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:r.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Bm(e,t,a,n);break e}else if(a!==l){l=Yt(Error(S(424)),t),cr(l),t=Bm(e,t,a,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(ye=Qt(e.firstChild),Xe=t,V=!0,oa=null,Vt=!0,n=lp(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Fa(),a===l){t=Un(e,t,n);break e}Ye(e,t,a,n)}t=t.child}return t;case 26:return Go(e,t),e===null?(n=eh(t.type,null,t.pendingProps,null))?t.memoizedState=n:V||(n=t.type,e=t.pendingProps,a=mu(ra.current).createElement(n),a[Ve]=t,a[vt]=e,Ke(a,n,e),qe(a),t.stateNode=a):t.memoizedState=eh(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Cs(t),e===null&&V&&(a=t.stateNode=Gy(t.type,t.pendingProps,ra.current),Xe=t,Vt=!0,l=ye,Aa(t.type)?(cd=l,ye=Qt(a.firstChild)):ye=l),Ye(e,t,t.pendingProps.children,n),Go(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&V&&((l=a=ye)&&(a=Sw(a,t.type,t.pendingProps,Vt),a!==null?(t.stateNode=a,Xe=t,ye=Qt(a.firstChild),Vt=!1,l=!0):l=!1),l||pa(t)),Cs(t),l=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,a=i.children,id(l,i)?a=null:r!==null&&id(l,r)&&(t.flags|=32),t.memoizedState!==null&&(l=Ld(e,t,GA,null,null,n),hr._currentValue=l),Go(e,t),Ye(e,t,a,n),t.child;case 6:return e===null&&V&&((e=n=ye)&&(n=Cw(n,t.pendingProps,Vt),n!==null?(t.stateNode=n,Xe=t,ye=null,e=!0):e=!1),e||pa(t)),null;case 13:return Qp(e,t,n);case 4:return Xo(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ya(t,null,a,n):Ye(e,t,a,n),t.child;case 11:return Tm(e,t,t.type,t.pendingProps,n);case 7:return Ye(e,t,t.pendingProps,n),t.child;case 8:return Ye(e,t,t.pendingProps.children,n),t.child;case 12:return Ye(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,In(t,t.type,a.value),Ye(e,t,a.children,n),t.child;case 9:return l=t.type._context,a=t.pendingProps.children,ja(t),l=Qe(l),a=a(l),t.flags|=1,Ye(e,t,a,n),t.child;case 14:return Em(e,t,t.type,t.pendingProps,n);case 15:return Vp(e,t,t.type,t.pendingProps,n);case 19:return Kp(e,t,n);case 31:return QA(e,t,n);case 22:return Xp(e,t,n,t.pendingProps);case 24:return ja(t),a=Qe(ke),e===null?(l=_d(),l===null&&(l=ue,i=Md(),l.pooledCache=i,i.refCount++,i!==null&&(l.pooledCacheLanes|=n),l=i),t.memoizedState={parent:a,cache:l},Nd(t),In(t,ke,l)):((e.lanes&n)!==0&&(Gs(e,t),Ii(t,null,null,n),Wi()),l=e.memoizedState,i=t.memoizedState,l.parent!==a?(l={parent:a,cache:a},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),In(t,ke,a)):(a=i.cache,In(t,ke,a),a!==l.cache&&zs(t,[ke],n,!0))),Ye(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(S(156,t.tag))}function Cn(e){e.flags|=4}function rs(e,t,n,a,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(by())e.flags|=8192;else throw Pa=eu,Bd}else e.flags&=-16777217}function Om(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Fy(t))if(by())e.flags|=8192;else throw Pa=eu,Bd}function Co(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ah():536870912,e.lanes|=t,Ql|=t)}function Hi(e,t){if(!V)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function ZA(e,t,n){var a=t.pendingProps;switch(xd(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pe(t),null;case 1:return pe(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),On(ke),ql(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(vl(t)?Cn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ic())),pe(t),null;case 26:var l=t.type,i=t.memoizedState;return e===null?(Cn(t),i!==null?(pe(t),Om(t,i)):(pe(t),rs(t,l,null,a,n))):i?i!==e.memoizedState?(Cn(t),pe(t),Om(t,i)):(pe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&Cn(t),pe(t),rs(t,l,e,a,n)),null;case 27:if(Qo(t),n=ra.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}e=gn.current,vl(t)?um(t,e):(e=Gy(l,a,n),t.stateNode=e,Cn(t))}return pe(t),null;case 5:if(Qo(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}if(i=gn.current,vl(t))um(t,i);else{var r=mu(ra.current);switch(i){case 1:i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":i=r.createElement("div"),i.innerHTML="<script><\/scr"+"ipt>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?r.createElement(l,{is:a.is}):r.createElement(l)}}i[Ve]=t,i[vt]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(Ke(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Cn(t)}}return pe(t),rs(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(S(166));if(e=ra.current,vl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=Xe,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[Ve]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Ly(e.nodeValue,n)),e||pa(t,!0)}else e=mu(e).createTextNode(a),e[Ve]=t,t.stateNode=e}return pe(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=vl(t),n!==null){if(e===null){if(!a)throw Error(S(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(557));e[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),e=!1}else n=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Rt(t),t):(Rt(t),null);if((t.flags&128)!==0)throw Error(S(558))}return pe(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=vl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(S(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(317));l[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),l=!1}else l=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Rt(t),t):(Rt(t),null)}return Rt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Co(t,t.updateQueue),pe(t),null);case 4:return ql(),e===null&&tf(t.stateNode.containerInfo),pe(t),null;case 10:return On(t.type),pe(t),null;case 19:if(Fe(xe),a=t.memoizedState,a===null)return pe(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)Hi(a,!1);else{if(Te!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=nu(e),i!==null){for(t.flags|=128,Hi(a,!1),e=i.updateQueue,t.updateQueue=e,Co(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Wh(n,e),n=n.sibling;return ge(xe,xe.current&1|2),V&&Dn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Dt()>uu&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304)}else{if(!l)if(e=nu(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Co(t,e),Hi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!V)return pe(t),null}else 2*Dt()-a.renderingStartTime>uu&&n!==536870912&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Dt(),e.sibling=null,n=xe.current,ge(xe,l?n&1|2:n&1),V&&Dn(t,a.treeForkCount),e):(pe(t),null);case 22:case 23:return Rt(t),Od(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(pe(t),t.subtreeFlags&6&&(t.flags|=8192)):pe(t),n=t.updateQueue,n!==null&&Co(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&Fe(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),On(ke),pe(t),null;case 25:return null;case 30:return null}throw Error(S(156,t.tag))}function WA(e,t){switch(xd(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return On(ke),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Qo(t),null;case 31:if(t.memoizedState!==null){if(Rt(t),t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Rt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fe(xe),null;case 4:return ql(),null;case 10:return On(t.type),null;case 22:case 23:return Rt(t),Od(),e!==null&&Fe(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return On(ke),null;case 25:return null;default:return null}}function Wp(e,t){switch(xd(t),t.tag){case 3:On(ke),ql();break;case 26:case 27:case 5:Qo(t);break;case 4:ql();break;case 31:t.memoizedState!==null&&Rt(t);break;case 13:Rt(t);break;case 19:Fe(xe);break;case 10:On(t.type);break;case 22:case 23:Rt(t),Od(),e!==null&&Fe(Ga);break;case 24:On(ke)}}function Er(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,r=n.inst;a=i(),r.destroy=a}n=n.next}while(n!==l)}}catch(o){le(t,t.return,o)}}function ya(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var r=a.inst,o=r.destroy;if(o!==void 0){r.destroy=void 0,l=t;var u=n,c=o;try{c()}catch(s){le(l,u,s)}}}a=a.next}while(a!==i)}}catch(s){le(t,t.return,s)}}function Ip(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{rp(t,n)}catch(a){le(e,e.return,a)}}}function Jp(e,t,n){n.props=Xa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){le(e,t,a)}}function $i(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){le(e,t,l)}}function fn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){le(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){le(e,t,l)}else n.current=null}function $p(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){le(e,e.return,l)}}function os(e,t,n){try{var a=e.stateNode;pw(a,e.type,n,t),a[vt]=t}catch(l){le(e,e.return,l)}}function ey(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Aa(e.type)||e.tag===4}function us(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ey(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Aa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ws(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=_n));else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Ws(e,t,n),e=e.sibling;e!==null;)Ws(e,t,n),e=e.sibling}function ou(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ou(e,t,n),e=e.sibling;e!==null;)ou(e,t,n),e=e.sibling}function ty(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);Ke(t,a,n),t[Ve]=e,t[vt]=n}catch(i){le(e,e.return,i)}}var xn=!1,Oe=!1,cs=!1,km=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function IA(e,t){if(e=e.containerInfo,ad=vu,e=Fh(e),Cd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var r=0,o=-1,u=-1,c=0,s=0,f=e,d=null;t:for(;;){for(var m;f!==n||l!==0&&f.nodeType!==3||(o=r+l),f!==i||a!==0&&f.nodeType!==3||(u=r+a),f.nodeType===3&&(r+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===n&&++c===l&&(o=r),d===i&&++s===a&&(u=r),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}n=o===-1||u===-1?null:{start:o,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ld={focusedElem:e,selectionRange:n},vu=!1,Pe=t;Pe!==null;)if(t=Pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Pe=e;else for(;Pe!==null;){switch(t=Pe,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)l=e[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,l=i.memoizedProps,i=i.memoizedState,a=n.stateNode;try{var v=Xa(n.type,l);e=a.getSnapshotBeforeUpdate(v,i),a.__reactInternalSnapshotBeforeUpdate=e}catch(A){le(n,n.return,A)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)rd(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":rd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(S(163))}if(e=t.sibling,e!==null){e.return=t.return,Pe=e;break}Pe=t.return}}function ny(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Tn(e,n),a&4&&Er(5,n);break;case 1:if(Tn(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(r){le(n,n.return,r)}else{var l=Xa(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(r){le(n,n.return,r)}}a&64&&Ip(n),a&512&&$i(n,n.return);break;case 3:if(Tn(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{rp(e,t)}catch(r){le(n,n.return,r)}}break;case 27:t===null&&a&4&&ty(n);case 26:case 5:Tn(e,n),t===null&&a&4&&$p(n),a&512&&$i(n,n.return);break;case 12:Tn(e,n);break;case 31:Tn(e,n),a&4&&iy(e,n);break;case 13:Tn(e,n),a&4&&ry(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=rw.bind(null,n),Rw(e,n))));break;case 22:if(a=n.memoizedState!==null||xn,!a){t=t!==null&&t.memoizedState!==null||Oe,l=xn;var i=Oe;xn=a,(Oe=t)&&!i?En(e,n,(n.subtreeFlags&8772)!==0):Tn(e,n),xn=l,Oe=i}break;case 30:break;default:Tn(e,n)}}function ay(e){var t=e.alternate;t!==null&&(e.alternate=null,ay(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&yd(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ce=null,ht=!1;function Rn(e,t,n){for(n=n.child;n!==null;)ly(e,t,n),n=n.sibling}function ly(e,t,n){if(xt&&typeof xt.onCommitFiberUnmount=="function")try{xt.onCommitFiberUnmount(br,n)}catch{}switch(n.tag){case 26:Oe||fn(n,t),Rn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Oe||fn(n,t);var a=Ce,l=ht;Aa(n.type)&&(Ce=n.stateNode,ht=!1),Rn(e,t,n),ar(n.stateNode),Ce=a,ht=l;break;case 5:Oe||fn(n,t);case 6:if(a=Ce,l=ht,Ce=null,Rn(e,t,n),Ce=a,ht=l,Ce!==null)if(ht)try{(Ce.nodeType===9?Ce.body:Ce.nodeName==="HTML"?Ce.ownerDocument.body:Ce).removeChild(n.stateNode)}catch(i){le(n,t,i)}else try{Ce.removeChild(n.stateNode)}catch(i){le(n,t,i)}break;case 18:Ce!==null&&(ht?(e=Ce,Zm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),Il(e)):Zm(Ce,n.stateNode));break;case 4:a=Ce,l=ht,Ce=n.stateNode.containerInfo,ht=!0,Rn(e,t,n),Ce=a,ht=l;break;case 0:case 11:case 14:case 15:ya(2,n,t),Oe||ya(4,n,t),Rn(e,t,n);break;case 1:Oe||(fn(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"&&Jp(n,t,a)),Rn(e,t,n);break;case 21:Rn(e,t,n);break;case 22:Oe=(a=Oe)||n.memoizedState!==null,Rn(e,t,n),Oe=a;break;default:Rn(e,t,n)}}function iy(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Il(e)}catch(n){le(t,t.return,n)}}}function ry(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Il(e)}catch(n){le(t,t.return,n)}}function JA(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new km),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new km),t;default:throw Error(S(435,e.tag))}}function Ro(e,t){var n=JA(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var l=ow.bind(null,e,a);a.then(l,l)}})}function gt(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var l=n[a],i=e,r=t,o=r;e:for(;o!==null;){switch(o.tag){case 27:if(Aa(o.type)){Ce=o.stateNode,ht=!1;break e}break;case 5:Ce=o.stateNode,ht=!1;break e;case 3:case 4:Ce=o.stateNode.containerInfo,ht=!0;break e}o=o.return}if(Ce===null)throw Error(S(160));ly(i,r,l),Ce=null,ht=!1,i=l.alternate,i!==null&&(i.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)oy(t,e),t=t.sibling}var en=null;function oy(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),mt(e),a&4&&(ya(3,e,e.return),Er(3,e),ya(5,e,e.return));break;case 1:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&64&&xn&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var l=en;if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&4){var i=n!==null?n.memoizedState:null;if(a=e.memoizedState,n===null)if(a===null)if(e.stateNode===null){e:{a=e.type,n=e.memoizedProps,l=l.ownerDocument||l;t:switch(a){case"title":i=l.getElementsByTagName("title")[0],(!i||i[Sr]||i[Ve]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=l.createElement(a),l.head.insertBefore(i,l.querySelector("head > title"))),Ke(i,a,n),i[Ve]=e,qe(i),a=i;break e;case"link":var r=nh("link","href",l).get(a+(n.href||""));if(r){for(var o=0;o<r.length;o++)if(i=r[o],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;case"meta":if(r=nh("meta","content",l).get(a+(n.content||""))){for(o=0;o<r.length;o++)if(i=r[o],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;default:throw Error(S(468,a))}i[Ve]=e,qe(i),a=i}e.stateNode=a}else ah(l,e.type,e.stateNode);else e.stateNode=th(l,a,e.memoizedProps);else i!==a?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count--,a===null?ah(l,e.type,e.stateNode):th(l,a,e.memoizedProps)):a===null&&e.stateNode!==null&&os(e,e.memoizedProps,n.memoizedProps)}break;case 27:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),n!==null&&a&4&&os(e,e.memoizedProps,n.memoizedProps);break;case 5:if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),e.flags&32){l=e.stateNode;try{jl(l,"")}catch(v){le(e,e.return,v)}}a&4&&e.stateNode!=null&&(l=e.memoizedProps,os(e,l,n!==null?n.memoizedProps:l)),a&1024&&(cs=!0);break;case 6:if(gt(t,e),mt(e),a&4){if(e.stateNode===null)throw Error(S(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(v){le(e,e.return,v)}}break;case 3:if(Fo=null,l=en,en=hu(t.containerInfo),gt(t,e),en=l,mt(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Il(t.containerInfo)}catch(v){le(e,e.return,v)}cs&&(cs=!1,uy(e));break;case 4:a=en,en=hu(e.stateNode.containerInfo),gt(t,e),mt(e),en=a;break;case 12:gt(t,e),mt(e);break;case 31:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 13:gt(t,e),mt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Bu=Dt()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 22:l=e.memoizedState!==null;var u=n!==null&&n.memoizedState!==null,c=xn,s=Oe;if(xn=c||l,Oe=s||u,gt(t,e),Oe=s,xn=c,mt(e),a&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(n===null||u||xn||Oe||Ha(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){u=n=t;try{if(i=u.stateNode,l)r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{o=u.stateNode;var f=u.memoizedProps.style,d=f!=null&&f.hasOwnProperty("display")?f.display:null;o.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(v){le(u,u.return,v)}}}else if(t.tag===6){if(n===null){u=t;try{u.stateNode.nodeValue=l?"":u.memoizedProps}catch(v){le(u,u.return,v)}}}else if(t.tag===18){if(n===null){u=t;try{var m=u.stateNode;l?Wm(m,!0):Wm(u.stateNode,!1)}catch(v){le(u,u.return,v)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,Ro(e,n))));break;case 19:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 30:break;case 21:break;default:gt(t,e),mt(e)}}function mt(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(ey(a)){n=a;break}a=a.return}if(n==null)throw Error(S(160));switch(n.tag){case 27:var l=n.stateNode,i=us(e);ou(e,i,l);break;case 5:var r=n.stateNode;n.flags&32&&(jl(r,""),n.flags&=-33);var o=us(e);ou(e,o,r);break;case 3:case 4:var u=n.stateNode.containerInfo,c=us(e);Ws(e,c,u);break;default:throw Error(S(161))}}catch(s){le(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function uy(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;uy(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Tn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ny(e,t.alternate,t),t=t.sibling}function Ha(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ya(4,t,t.return),Ha(t);break;case 1:fn(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Jp(t,t.return,n),Ha(t);break;case 27:ar(t.stateNode);case 26:case 5:fn(t,t.return),Ha(t);break;case 22:t.memoizedState===null&&Ha(t);break;case 30:Ha(t);break;default:Ha(t)}e=e.sibling}}function En(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,l=e,i=t,r=i.flags;switch(i.tag){case 0:case 11:case 15:En(l,i,n),Er(4,i);break;case 1:if(En(l,i,n),a=i,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(c){le(a,a.return,c)}if(a=i,l=a.updateQueue,l!==null){var o=a.stateNode;try{var u=l.shared.hiddenCallbacks;if(u!==null)for(l.shared.hiddenCallbacks=null,l=0;l<u.length;l++)ip(u[l],o)}catch(c){le(a,a.return,c)}}n&&r&64&&Ip(i),$i(i,i.return);break;case 27:ty(i);case 26:case 5:En(l,i,n),n&&a===null&&r&4&&$p(i),$i(i,i.return);break;case 12:En(l,i,n);break;case 31:En(l,i,n),n&&r&4&&iy(l,i);break;case 13:En(l,i,n),n&&r&4&&ry(l,i);break;case 22:i.memoizedState===null&&En(l,i,n),$i(i,i.return);break;case 30:break;default:En(l,i,n)}t=t.sibling}}function Zd(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Rr(n))}function Wd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e))}function $t(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)cy(e,t,n,a),t=t.sibling}function cy(e,t,n,a){var l=t.flags;switch(t.tag){case 0:case 11:case 15:$t(e,t,n,a),l&2048&&Er(9,t);break;case 1:$t(e,t,n,a);break;case 3:$t(e,t,n,a),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e)));break;case 12:if(l&2048){$t(e,t,n,a),e=t.stateNode;try{var i=t.memoizedProps,r=i.id,o=i.onPostCommit;typeof o=="function"&&o(r,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(u){le(t,t.return,u)}}else $t(e,t,n,a);break;case 31:$t(e,t,n,a);break;case 13:$t(e,t,n,a);break;case 23:break;case 22:i=t.stateNode,r=t.alternate,t.memoizedState!==null?i._visibility&2?$t(e,t,n,a):er(e,t):i._visibility&2?$t(e,t,n,a):(i._visibility|=2,Al(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Zd(r,t);break;case 24:$t(e,t,n,a),l&2048&&Wd(t.alternate,t);break;default:$t(e,t,n,a)}}function Al(e,t,n,a,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,r=t,o=n,u=a,c=r.flags;switch(r.tag){case 0:case 11:case 15:Al(i,r,o,u,l),Er(8,r);break;case 23:break;case 22:var s=r.stateNode;r.memoizedState!==null?s._visibility&2?Al(i,r,o,u,l):er(i,r):(s._visibility|=2,Al(i,r,o,u,l)),l&&c&2048&&Zd(r.alternate,r);break;case 24:Al(i,r,o,u,l),l&&c&2048&&Wd(r.alternate,r);break;default:Al(i,r,o,u,l)}t=t.sibling}}function er(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,l=a.flags;switch(a.tag){case 22:er(n,a),l&2048&&Zd(a.alternate,a);break;case 24:er(n,a),l&2048&&Wd(a.alternate,a);break;default:er(n,a)}t=t.sibling}}var Yi=8192;function bl(e,t,n){if(e.subtreeFlags&Yi)for(e=e.child;e!==null;)sy(e,t,n),e=e.sibling}function sy(e,t,n){switch(e.tag){case 26:bl(e,t,n),e.flags&Yi&&e.memoizedState!==null&&Hw(n,en,e.memoizedState,e.memoizedProps);break;case 5:bl(e,t,n);break;case 3:case 4:var a=en;en=hu(e.stateNode.containerInfo),bl(e,t,n),en=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=Yi,Yi=16777216,bl(e,t,n),Yi=a):bl(e,t,n));break;default:bl(e,t,n)}}function dy(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function zi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)fy(e),e=e.sibling}function fy(e){switch(e.tag){case 0:case 11:case 15:zi(e),e.flags&2048&&ya(9,e,e.return);break;case 3:zi(e);break;case 12:zi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Po(e)):zi(e);break;default:zi(e)}}function Po(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ya(8,t,t.return),Po(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Po(t));break;default:Po(t)}e=e.sibling}}function gy(e,t){for(;Pe!==null;){var n=Pe;switch(n.tag){case 0:case 11:case 15:ya(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Rr(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,Pe=a;else e:for(n=e;Pe!==null;){a=Pe;var l=a.sibling,i=a.return;if(ay(a),a===n){Pe=null;break e}if(l!==null){l.return=i,Pe=l;break e}Pe=i}}}var $A={getCacheForType:function(e){var t=Qe(ke),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Qe(ke).controller.signal}},ew=typeof WeakMap=="function"?WeakMap:Map,J=0,ue=null,F=null,Y=0,ae=0,Ct=null,aa=!1,ni=!1,Id=!1,Gn=0,Te=0,va=0,qa=0,Jd=0,Et=0,Ql=0,tr=null,pt=null,Is=!1,Bu=0,my=0,uu=1/0,cu=null,sa=null,Ue=0,da=null,Kl=null,kn=0,Js=0,$s=null,hy=null,nr=0,ed=null;function _t(){return(J&2)!==0&&Y!==0?Y&-Y:L.T!==null?ef():Rh()}function py(){if(Et===0)if((Y&536870912)===0||V){var e=mo;mo<<=1,(mo&3932160)===0&&(mo=262144),Et=e}else Et=536870912;return e=Nt.current,e!==null&&(e.flags|=32),Et}function yt(e,t,n){(e===ue&&(ae===2||ae===9)||e.cancelPendingCommit!==null)&&(Zl(e,0),la(e,Y,Et,!1)),wr(e,n),((J&2)===0||e!==ue)&&(e===ue&&((J&2)===0&&(qa|=n),Te===4&&la(e,Y,Et,!1)),hn(e))}function yy(e,t,n){if((J&6)!==0)throw Error(S(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Ar(e,t),l=a?aw(e,t):ss(e,t,!0),i=a;do{if(l===0){ni&&!a&&la(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!tw(n)){l=ss(e,t,!1),i=!1;continue}if(l===2){if(i=t,e.errorRecoveryDisabledLanes&i)var r=0;else r=e.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){t=r;e:{var o=e;l=tr;var u=o.current.memoizedState.isDehydrated;if(u&&(Zl(o,r).flags|=256),r=ss(o,r,!1),r!==2){if(Id&&!u){o.errorRecoveryDisabledLanes|=i,qa|=i,l=4;break e}i=pt,pt=l,i!==null&&(pt===null?pt=i:pt.push.apply(pt,i))}l=r}if(i=!1,l!==2)continue}}if(l===1){Zl(e,0),la(e,t,0,!0);break}e:{switch(a=e,i=l,i){case 0:case 1:throw Error(S(345));case 4:if((t&4194048)!==t)break;case 6:la(a,t,Et,!aa);break e;case 2:pt=null;break;case 3:case 5:break;default:throw Error(S(329))}if((t&62914560)===t&&(l=Bu+300-Dt(),10<l)){if(la(a,t,Et,!aa),Au(a,0,!0)!==0)break e;kn=t,a.timeoutHandle=zy(Lm.bind(null,a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,"Throttled",-0,0),l);break e}Lm(a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,null,-0,0)}}break}while(!0);hn(e)}function Lm(e,t,n,a,l,i,r,o,u,c,s,f,d,m){if(e.timeoutHandle=-1,f=t.subtreeFlags,f&8192||(f&16785408)===16785408){f={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:_n},sy(t,i,f);var v=(i&62914560)===i?Bu-Dt():(i&4194048)===i?my-Dt():0;if(v=zw(f,v),v!==null){kn=i,e.cancelPendingCommit=v(zm.bind(null,e,t,i,n,a,l,r,o,u,s,f,null,d,m)),la(e,i,r,!c);return}}zm(e,t,i,n,a,l,r,o,u)}function tw(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],i=l.getSnapshot;l=l.value;try{if(!Bt(i(),l))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function la(e,t,n,a){t&=~Jd,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var l=t;0<l;){var i=31-Mt(l),r=1<<i;a[i]=-1,l&=~r}n!==0&&wh(e,n,t)}function Nu(){return(J&6)===0?(Dr(0,!1),!1):!0}function $d(){if(F!==null){if(ae===0)var e=F.return;else e=F,Bn=Ia=null,Ud(e),Ul=null,sr=0,e=F;for(;e!==null;)Wp(e.alternate,e),e=e.return;F=null}}function Zl(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,bw(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),kn=0,$d(),ue=e,F=n=Nn(e.current,null),Y=t,ae=0,Ct=null,aa=!1,ni=Ar(e,t),Id=!1,Ql=Et=Jd=qa=va=Te=0,pt=tr=null,Is=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var l=31-Mt(a),i=1<<l;t|=e[l],a&=~i}return Gn=t,Ru(),n}function vy(e,t){G=null,L.H=fr,t===ti||t===Eu?(t=gm(),ae=3):t===Bd?(t=gm(),ae=4):ae=t===Qd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ct=t,F===null&&(Te=1,iu(e,Yt(t,e.current)))}function by(){var e=Nt.current;return e===null?!0:(Y&4194048)===Y?Xt===null:(Y&62914560)===Y||(Y&536870912)!==0?e===Xt:!1}function Ay(){var e=L.H;return L.H=fr,e===null?fr:e}function wy(){var e=L.A;return L.A=$A,e}function su(){Te=4,aa||(Y&4194048)!==Y&&Nt.current!==null||(ni=!0),(va&134217727)===0&&(qa&134217727)===0||ue===null||la(ue,Y,Et,!1)}function ss(e,t,n){var a=J;J|=2;var l=Ay(),i=wy();(ue!==e||Y!==t)&&(cu=null,Zl(e,t)),t=!1;var r=Te;e:do try{if(ae!==0&&F!==null){var o=F,u=Ct;switch(ae){case 8:$d(),r=6;break e;case 3:case 2:case 9:case 6:Nt.current===null&&(t=!0);var c=ae;if(ae=0,Ct=null,Ol(e,o,u,c),n&&ni){r=0;break e}break;default:c=ae,ae=0,Ct=null,Ol(e,o,u,c)}}nw(),r=Te;break}catch(s){vy(e,s)}while(!0);return t&&e.shellSuspendCounter++,Bn=Ia=null,J=a,L.H=l,L.A=i,F===null&&(ue=null,Y=0,Ru()),r}function nw(){for(;F!==null;)Sy(F)}function aw(e,t){var n=J;J|=2;var a=Ay(),l=wy();ue!==e||Y!==t?(cu=null,uu=Dt()+500,Zl(e,t)):ni=Ar(e,t);e:do try{if(ae!==0&&F!==null){t=F;var i=Ct;t:switch(ae){case 1:ae=0,Ct=null,Ol(e,t,i,1);break;case 2:case 9:if(fm(i)){ae=0,Ct=null,Hm(t);break}t=function(){ae!==2&&ae!==9||ue!==e||(ae=7),hn(e)},i.then(t,t);break e;case 3:ae=7;break e;case 4:ae=5;break e;case 7:fm(i)?(ae=0,Ct=null,Hm(t)):(ae=0,Ct=null,Ol(e,t,i,7));break;case 5:var r=null;switch(F.tag){case 26:r=F.memoizedState;case 5:case 27:var o=F;if(r?Fy(r):o.stateNode.complete){ae=0,Ct=null;var u=o.sibling;if(u!==null)F=u;else{var c=o.return;c!==null?(F=c,Ou(c)):F=null}break t}}ae=0,Ct=null,Ol(e,t,i,5);break;case 6:ae=0,Ct=null,Ol(e,t,i,6);break;case 8:$d(),Te=6;break e;default:throw Error(S(462))}}lw();break}catch(s){vy(e,s)}while(!0);return Bn=Ia=null,L.H=a,L.A=l,J=n,F!==null?0:(ue=null,Y=0,Ru(),Te)}function lw(){for(;F!==null&&!Db();)Sy(F)}function Sy(e){var t=Zp(e.alternate,e,Gn);e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Hm(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Mm(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=Mm(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:Ud(t);default:Wp(n,t),t=F=Wh(t,Gn),t=Zp(n,t,Gn)}e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Ol(e,t,n,a){Bn=Ia=null,Ud(t),Ul=null,sr=0;var l=t.return;try{if(XA(e,l,t,n,Y)){Te=1,iu(e,Yt(n,e.current)),F=null;return}}catch(i){if(l!==null)throw F=l,i;Te=1,iu(e,Yt(n,e.current)),F=null;return}t.flags&32768?(V||a===1?e=!0:ni||(Y&536870912)!==0?e=!1:(aa=e=!0,(a===2||a===9||a===3||a===6)&&(a=Nt.current,a!==null&&a.tag===13&&(a.flags|=16384))),Cy(t,e)):Ou(t)}function Ou(e){var t=e;do{if((t.flags&32768)!==0){Cy(t,aa);return}e=t.return;var n=ZA(t.alternate,t,Gn);if(n!==null){F=n;return}if(t=t.sibling,t!==null){F=t;return}F=t=e}while(t!==null);Te===0&&(Te=5)}function Cy(e,t){do{var n=WA(e.alternate,e);if(n!==null){n.flags&=32767,F=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){F=e;return}F=e=n}while(e!==null);Te=6,F=null}function zm(e,t,n,a,l,i,r,o,u){e.cancelPendingCommit=null;do ku();while(Ue!==0);if((J&6)!==0)throw Error(S(327));if(t!==null){if(t===e.current)throw Error(S(177));if(i=t.lanes|t.childLanes,i|=Rd,zb(e,n,i,r,o,u),e===ue&&(F=ue=null,Y=0),Kl=t,da=e,kn=n,Js=i,$s=l,hy=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,uw(Ko,function(){return xy(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=L.T,L.T=null,l=$.p,$.p=2,r=J,J|=4;try{IA(e,t,n)}finally{J=r,$.p=l,L.T=a}}Ue=1,Ry(),Ty(),Ey()}}function Ry(){if(Ue===1){Ue=0;var e=da,t=Kl,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{oy(t,e);var i=ld,r=Fh(e.containerInfo),o=i.focusedElem,u=i.selectionRange;if(r!==o&&o&&o.ownerDocument&&qh(o.ownerDocument.documentElement,o)){if(u!==null&&Cd(o)){var c=u.start,s=u.end;if(s===void 0&&(s=c),"selectionStart"in o)o.selectionStart=c,o.selectionEnd=Math.min(s,o.value.length);else{var f=o.ownerDocument||document,d=f&&f.defaultView||window;if(d.getSelection){var m=d.getSelection(),v=o.textContent.length,A=Math.min(u.start,v),b=u.end===void 0?A:Math.min(u.end,v);!m.extend&&A>b&&(r=b,b=A,A=r);var h=im(o,A),g=im(o,b);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var p=f.createRange();p.setStart(h.node,h.offset),m.removeAllRanges(),A>b?(m.addRange(p),m.extend(g.node,g.offset)):(p.setEnd(g.node,g.offset),m.addRange(p))}}}}for(f=[],m=o;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<f.length;o++){var y=f[o];y.element.scrollLeft=y.left,y.element.scrollTop=y.top}}vu=!!ad,ld=ad=null}finally{J=l,$.p=a,L.T=n}}e.current=t,Ue=2}}function Ty(){if(Ue===2){Ue=0;var e=da,t=Kl,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{ny(e,t.alternate,t)}finally{J=l,$.p=a,L.T=n}}Ue=3}}function Ey(){if(Ue===4||Ue===3){Ue=0,xb();var e=da,t=Kl,n=kn,a=hy;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ue=5:(Ue=0,Kl=da=null,Dy(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(sa=null),pd(n),t=t.stateNode,xt&&typeof xt.onCommitFiberRoot=="function")try{xt.onCommitFiberRoot(br,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=L.T,l=$.p,$.p=2,L.T=null;try{for(var i=e.onRecoverableError,r=0;r<a.length;r++){var o=a[r];i(o.value,{componentStack:o.stack})}}finally{L.T=t,$.p=l}}(kn&3)!==0&&ku(),hn(e),l=e.pendingLanes,(n&261930)!==0&&(l&42)!==0?e===ed?nr++:(nr=0,ed=e):nr=0,Dr(0,!1)}}function Dy(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Rr(t)))}function ku(){return Ry(),Ty(),Ey(),xy()}function xy(){if(Ue!==5)return!1;var e=da,t=Js;Js=0;var n=pd(kn),a=L.T,l=$.p;try{$.p=32>n?32:n,L.T=null,n=$s,$s=null;var i=da,r=kn;if(Ue=0,Kl=da=null,kn=0,(J&6)!==0)throw Error(S(331));var o=J;if(J|=4,fy(i.current),cy(i,i.current,r,n),J=o,Dr(0,!1),xt&&typeof xt.onPostCommitFiberRoot=="function")try{xt.onPostCommitFiberRoot(br,i)}catch{}return!0}finally{$.p=l,L.T=a,Dy(e,t)}}function Um(e,t,n){t=Yt(n,t),t=Qs(e.stateNode,t,2),e=ca(e,t,2),e!==null&&(wr(e,2),hn(e))}function le(e,t,n){if(e.tag===3)Um(e,e,n);else for(;t!==null;){if(t.tag===3){Um(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(sa===null||!sa.has(a))){e=Yt(n,e),n=jp(2),a=ca(t,n,2),a!==null&&(Yp(n,a,t,e),wr(a,2),hn(a));break}}t=t.return}}function ds(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new ew;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Id=!0,l.add(n),e=iw.bind(null,e,t,n),t.then(e,e))}function iw(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ue===e&&(Y&n)===n&&(Te===4||Te===3&&(Y&62914560)===Y&&300>Dt()-Bu?(J&2)===0&&Zl(e,0):Jd|=n,Ql===Y&&(Ql=0)),hn(e)}function My(e,t){t===0&&(t=Ah()),e=Wa(e,t),e!==null&&(wr(e,t),hn(e))}function rw(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),My(e,n)}function ow(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(S(314))}a!==null&&a.delete(t),My(e,n)}function uw(e,t){return md(e,t)}var du=null,wl=null,td=!1,fu=!1,fs=!1,ia=0;function hn(e){e!==wl&&e.next===null&&(wl===null?du=wl=e:wl=wl.next=e),fu=!0,td||(td=!0,sw())}function Dr(e,t){if(!fs&&fu){fs=!0;do for(var n=!1,a=du;a!==null;){if(!t)if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var r=a.suspendedLanes,o=a.pingedLanes;i=(1<<31-Mt(42|e)+1)-1,i&=l&~(r&~o),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,Gm(a,i))}else i=Y,i=Au(a,a===ue?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||Ar(a,i)||(n=!0,Gm(a,i));a=a.next}while(n);fs=!1}}function cw(){_y()}function _y(){fu=td=!1;var e=0;ia!==0&&vw()&&(e=ia);for(var t=Dt(),n=null,a=du;a!==null;){var l=a.next,i=By(a,t);i===0?(a.next=null,n===null?du=l:n.next=l,l===null&&(wl=n)):(n=a,(e!==0||(i&3)!==0)&&(fu=!0)),a=l}Ue!==0&&Ue!==5||Dr(e,!1),ia!==0&&(ia=0)}function By(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var r=31-Mt(i),o=1<<r,u=l[r];u===-1?((o&n)===0||(o&a)!==0)&&(l[r]=Hb(o,t)):u<=t&&(e.expiredLanes|=o),i&=~o}if(t=ue,n=Y,n=Au(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(ae===2||ae===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&qc(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Ar(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&qc(a),pd(n)){case 2:case 8:n=vh;break;case 32:n=Ko;break;case 268435456:n=bh;break;default:n=Ko}return a=Ny.bind(null,e),n=md(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&qc(a),e.callbackPriority=2,e.callbackNode=null,2}function Ny(e,t){if(Ue!==0&&Ue!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(ku()&&e.callbackNode!==n)return null;var a=Y;return a=Au(e,e===ue?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(yy(e,a,t),By(e,Dt()),e.callbackNode!=null&&e.callbackNode===n?Ny.bind(null,e):null)}function Gm(e,t){if(ku())return null;yy(e,t,!0)}function sw(){Aw(function(){(J&6)!==0?md(yh,cw):_y()})}function ef(){if(ia===0){var e=Yl;e===0&&(e=go,go<<=1,(go&261888)===0&&(go=256)),ia=e}return ia}function Pm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Bo(""+e)}function qm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function dw(e,t,n,a,l){if(t==="submit"&&n&&n.stateNode===l){var i=Pm((l[vt]||null).action),r=a.submitter;r&&(t=(t=r[vt]||null)?Pm(t.formAction):r.getAttribute("formAction"),t!==null&&(i=t,r=null));var o=new wu("action","action",null,a,l);e.push({event:o,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(ia!==0){var u=r?qm(l,r):new FormData(l);Vs(n,{pending:!0,data:u,method:l.method,action:i},null,u)}}else typeof i=="function"&&(o.preventDefault(),u=r?qm(l,r):new FormData(l),Vs(n,{pending:!0,data:u,method:l.method,action:i},i,u))},currentTarget:l}]})}}for(To=0;To<Os.length;To++)Eo=Os[To],Fm=Eo.toLowerCase(),jm=Eo[0].toUpperCase()+Eo.slice(1),tn(Fm,"on"+jm);var Eo,Fm,jm,To;tn(Yh,"onAnimationEnd");tn(Vh,"onAnimationIteration");tn(Xh,"onAnimationStart");tn("dblclick","onDoubleClick");tn("focusin","onFocus");tn("focusout","onBlur");tn(MA,"onTransitionRun");tn(_A,"onTransitionStart");tn(BA,"onTransitionCancel");tn(Qh,"onTransitionEnd");Fl("onMouseEnter",["mouseout","mouseover"]);Fl("onMouseLeave",["mouseout","mouseover"]);Fl("onPointerEnter",["pointerout","pointerover"]);Fl("onPointerLeave",["pointerout","pointerover"]);Qa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Qa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Qa("onBeforeInput",["compositionend","keypress","textInput","paste"]);Qa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),fw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(gr));function Oy(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],l=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var r=a.length-1;0<=r;r--){var o=a[r],u=o.instance,c=o.currentTarget;if(o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}else for(r=0;r<a.length;r++){if(o=a[r],u=o.instance,c=o.currentTarget,o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}}}}function q(e,t){var n=t[Ts];n===void 0&&(n=t[Ts]=new Set);var a=e+"__bubble";n.has(a)||(ky(t,e,2,!1),n.add(a))}function gs(e,t,n){var a=0;t&&(a|=4),ky(n,e,a,t)}var Do="_reactListening"+Math.random().toString(36).slice(2);function tf(e){if(!e[Do]){e[Do]=!0,Th.forEach(function(n){n!=="selectionchange"&&(fw.has(n)||gs(n,!1,e),gs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Do]||(t[Do]=!0,gs("selectionchange",!1,t))}}function ky(e,t,n,a){switch(Qy(t)){case 2:var l=Pw;break;case 8:l=qw;break;default:l=rf}n=l.bind(null,t,n,e),l=void 0,!_s||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),a?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function ms(e,t,n,a,l){var i=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var r=a.tag;if(r===3||r===4){var o=a.stateNode.containerInfo;if(o===l)break;if(r===4)for(r=a.return;r!==null;){var u=r.tag;if((u===3||u===4)&&r.stateNode.containerInfo===l)return;r=r.return}for(;o!==null;){if(r=Rl(o),r===null)return;if(u=r.tag,u===5||u===6||u===26||u===27){a=i=r;continue e}o=o.parentNode}}a=a.return}Oh(function(){var c=i,s=bd(n),f=[];e:{var d=Kh.get(e);if(d!==void 0){var m=wu,v=e;switch(e){case"keypress":if(Oo(n)===0)break e;case"keydown":case"keyup":m=oA;break;case"focusin":v="focus",m=Xc;break;case"focusout":v="blur",m=Xc;break;case"beforeblur":case"afterblur":m=Xc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Wg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Zb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=sA;break;case Yh:case Vh:case Xh:m=Jb;break;case Qh:m=fA;break;case"scroll":case"scrollend":m=Qb;break;case"wheel":m=mA;break;case"copy":case"cut":case"paste":m=eA;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Jg;break;case"toggle":case"beforetoggle":m=pA}var A=(t&4)!==0,b=!A&&(e==="scroll"||e==="scrollend"),h=A?d!==null?d+"Capture":null:d;A=[];for(var g=c,p;g!==null;){var y=g;if(p=y.stateNode,y=y.tag,y!==5&&y!==26&&y!==27||p===null||h===null||(y=ir(g,h),y!=null&&A.push(mr(g,y,p))),b)break;g=g.return}0<A.length&&(d=new m(d,v,null,n,s),f.push({event:d,listeners:A}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",d&&n!==Ms&&(v=n.relatedTarget||n.fromElement)&&(Rl(v)||v[Jl]))break e;if((m||d)&&(d=s.window===s?s:(d=s.ownerDocument)?d.defaultView||d.parentWindow:window,m?(v=n.relatedTarget||n.toElement,m=c,v=v?Rl(v):null,v!==null&&(b=vr(v),A=v.tag,v!==b||A!==5&&A!==27&&A!==6)&&(v=null)):(m=null,v=c),m!==v)){if(A=Wg,y="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(A=Jg,y="onPointerLeave",h="onPointerEnter",g="pointer"),b=m==null?d:Fi(m),p=v==null?d:Fi(v),d=new A(y,g+"leave",m,n,s),d.target=b,d.relatedTarget=p,y=null,Rl(s)===c&&(A=new A(h,g+"enter",v,n,s),A.target=p,A.relatedTarget=b,y=A),b=y,m&&v)t:{for(A=gw,h=m,g=v,p=0,y=h;y;y=A(y))p++;y=0;for(var C=g;C;C=A(C))y++;for(;0<p-y;)h=A(h),p--;for(;0<y-p;)g=A(g),y--;for(;p--;){if(h===g||g!==null&&h===g.alternate){A=h;break t}h=A(h),g=A(g)}A=null}else A=null;m!==null&&Ym(f,d,m,A,!1),v!==null&&b!==null&&Ym(f,b,v,A,!0)}}e:{if(d=c?Fi(c):window,m=d.nodeName&&d.nodeName.toLowerCase(),m==="select"||m==="input"&&d.type==="file")var R=nm;else if(tm(d))if(Gh)R=EA;else{R=RA;var T=CA}else m=d.nodeName,!m||m.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?c&&vd(c.elementType)&&(R=nm):R=TA;if(R&&(R=R(e,c))){Uh(f,R,n,s);break e}T&&T(e,d,c),e==="focusout"&&c&&d.type==="number"&&c.memoizedProps.value!=null&&xs(d,"number",d.value)}switch(T=c?Fi(c):window,e){case"focusin":(tm(T)||T.contentEditable==="true")&&(Dl=T,Bs=c,Qi=null);break;case"focusout":Qi=Bs=Dl=null;break;case"mousedown":Ns=!0;break;case"contextmenu":case"mouseup":case"dragend":Ns=!1,rm(f,n,s);break;case"selectionchange":if(xA)break;case"keydown":case"keyup":rm(f,n,s)}var M;if(Sd)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else El?Hh(e,n)&&(w="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(w="onCompositionStart");w&&(Lh&&n.locale!=="ko"&&(El||w!=="onCompositionStart"?w==="onCompositionEnd"&&El&&(M=kh()):(na=s,Ad="value"in na?na.value:na.textContent,El=!0)),T=gu(c,w),0<T.length&&(w=new Ig(w,e,null,n,s),f.push({event:w,listeners:T}),M?w.data=M:(M=zh(n),M!==null&&(w.data=M)))),(M=vA?bA(e,n):AA(e,n))&&(w=gu(c,"onBeforeInput"),0<w.length&&(T=new Ig("onBeforeInput","beforeinput",null,n,s),f.push({event:T,listeners:w}),T.data=M)),dw(f,e,c,n,s)}Oy(f,t)})}function mr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function gu(e,t){for(var n=t+"Capture",a=[];e!==null;){var l=e,i=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||i===null||(l=ir(e,n),l!=null&&a.unshift(mr(e,l,i)),l=ir(e,t),l!=null&&a.push(mr(e,l,i))),e.tag===3)return a;e=e.return}return[]}function gw(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ym(e,t,n,a,l){for(var i=t._reactName,r=[];n!==null&&n!==a;){var o=n,u=o.alternate,c=o.stateNode;if(o=o.tag,u!==null&&u===a)break;o!==5&&o!==26&&o!==27||c===null||(u=c,l?(c=ir(n,i),c!=null&&r.unshift(mr(n,c,u))):l||(c=ir(n,i),c!=null&&r.push(mr(n,c,u)))),n=n.return}r.length!==0&&e.push({event:t,listeners:r})}var mw=/\r\n?/g,hw=/\u0000|\uFFFD/g;function Vm(e){return(typeof e=="string"?e:""+e).replace(mw,``).replace(hw,"")}function Ly(e,t){return t=Vm(t),Vm(e)===t}function ie(e,t,n,a,l,i){switch(n){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||jl(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&jl(e,""+a);break;case"className":po(e,"class",a);break;case"tabIndex":po(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":po(e,n,a);break;case"style":Nh(e,a,i);break;case"data":if(t!=="object"){po(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(n==="formAction"?(t!=="input"&&ie(e,t,"name",l.name,l,null),ie(e,t,"formEncType",l.formEncType,l,null),ie(e,t,"formMethod",l.formMethod,l,null),ie(e,t,"formTarget",l.formTarget,l,null)):(ie(e,t,"encType",l.encType,l,null),ie(e,t,"method",l.method,l,null),ie(e,t,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"onClick":a!=null&&(e.onclick=_n);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}n=Bo(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""+a):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":a===!0?e.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,a):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case"popover":q("beforetoggle",e),q("toggle",e),_o(e,"popover",a);break;case"xlinkActuate":Sn(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Sn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Sn(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Sn(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Sn(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Sn(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":_o(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Vb.get(n)||n,_o(e,n,a))}}function nd(e,t,n,a,l,i){switch(n){case"style":Nh(e,a,i);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"children":typeof a=="string"?jl(e,a):(typeof a=="number"||typeof a=="bigint")&&jl(e,""+a);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"onClick":a!=null&&(e.onclick=_n);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eh.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),t=n.slice(2,l?n.length-7:void 0),i=e[vt]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,l),typeof a=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,l);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,""):_o(e,n,a)}}}function Ke(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":q("error",e),q("load",e);var a=!1,l=!1,i;for(i in n)if(n.hasOwnProperty(i)){var r=n[i];if(r!=null)switch(i){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,i,r,n,null)}}l&&ie(e,t,"srcSet",n.srcSet,n,null),a&&ie(e,t,"src",n.src,n,null);return;case"input":q("invalid",e);var o=i=r=l=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case"name":l=s;break;case"type":r=s;break;case"checked":u=s;break;case"defaultChecked":c=s;break;case"value":i=s;break;case"defaultValue":o=s;break;case"children":case"dangerouslySetInnerHTML":if(s!=null)throw Error(S(137,t));break;default:ie(e,t,a,s,n,null)}}Mh(e,i,o,u,c,r,l,!1);return;case"select":q("invalid",e),a=r=i=null;for(l in n)if(n.hasOwnProperty(l)&&(o=n[l],o!=null))switch(l){case"value":i=o;break;case"defaultValue":r=o;break;case"multiple":a=o;default:ie(e,t,l,o,n,null)}t=i,n=r,e.multiple=!!a,t!=null?Ll(e,!!a,t,!1):n!=null&&Ll(e,!!a,n,!0);return;case"textarea":q("invalid",e),i=l=a=null;for(r in n)if(n.hasOwnProperty(r)&&(o=n[r],o!=null))switch(r){case"value":a=o;break;case"defaultValue":l=o;break;case"children":i=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(S(91));break;default:ie(e,t,r,o,n,null)}Bh(e,a,l,i);return;case"option":for(u in n)if(n.hasOwnProperty(u)&&(a=n[u],a!=null))switch(u){case"selected":e.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:ie(e,t,u,a,n,null)}return;case"dialog":q("beforetoggle",e),q("toggle",e),q("cancel",e),q("close",e);break;case"iframe":case"object":q("load",e);break;case"video":case"audio":for(a=0;a<gr.length;a++)q(gr[a],e);break;case"image":q("error",e),q("load",e);break;case"details":q("toggle",e);break;case"embed":case"source":case"link":q("error",e),q("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(a=n[c],a!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,c,a,n,null)}return;default:if(vd(t)){for(s in n)n.hasOwnProperty(s)&&(a=n[s],a!==void 0&&nd(e,t,s,a,n,void 0));return}}for(o in n)n.hasOwnProperty(o)&&(a=n[o],a!=null&&ie(e,t,o,a,n,null))}function pw(e,t,n,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,i=null,r=null,o=null,u=null,c=null,s=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":u=f;default:a.hasOwnProperty(m)||ie(e,t,m,null,a,f)}}for(var d in a){var m=a[d];if(f=n[d],a.hasOwnProperty(d)&&(m!=null||f!=null))switch(d){case"type":i=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":s=m;break;case"value":r=m;break;case"defaultValue":o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(S(137,t));break;default:m!==f&&ie(e,t,d,m,a,f)}}Ds(e,r,o,u,c,s,i,l);return;case"select":m=r=o=d=null;for(i in n)if(u=n[i],n.hasOwnProperty(i)&&u!=null)switch(i){case"value":break;case"multiple":m=u;default:a.hasOwnProperty(i)||ie(e,t,i,null,a,u)}for(l in a)if(i=a[l],u=n[l],a.hasOwnProperty(l)&&(i!=null||u!=null))switch(l){case"value":d=i;break;case"defaultValue":o=i;break;case"multiple":r=i;default:i!==u&&ie(e,t,l,i,a,u)}t=o,n=r,a=m,d!=null?Ll(e,!!n,d,!1):!!a!=!!n&&(t!=null?Ll(e,!!n,t,!0):Ll(e,!!n,n?[]:"",!1));return;case"textarea":m=d=null;for(o in n)if(l=n[o],n.hasOwnProperty(o)&&l!=null&&!a.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:ie(e,t,o,null,a,l)}for(r in a)if(l=a[r],i=n[r],a.hasOwnProperty(r)&&(l!=null||i!=null))switch(r){case"value":d=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(S(91));break;default:l!==i&&ie(e,t,r,l,a,i)}_h(e,d,m);return;case"option":for(var v in n)if(d=n[v],n.hasOwnProperty(v)&&d!=null&&!a.hasOwnProperty(v))switch(v){case"selected":e.selected=!1;break;default:ie(e,t,v,null,a,d)}for(u in a)if(d=a[u],m=n[u],a.hasOwnProperty(u)&&d!==m&&(d!=null||m!=null))switch(u){case"selected":e.selected=d&&typeof d!="function"&&typeof d!="symbol";break;default:ie(e,t,u,d,a,m)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var A in n)d=n[A],n.hasOwnProperty(A)&&d!=null&&!a.hasOwnProperty(A)&&ie(e,t,A,null,a,d);for(c in a)if(d=a[c],m=n[c],a.hasOwnProperty(c)&&d!==m&&(d!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(S(137,t));break;default:ie(e,t,c,d,a,m)}return;default:if(vd(t)){for(var b in n)d=n[b],n.hasOwnProperty(b)&&d!==void 0&&!a.hasOwnProperty(b)&&nd(e,t,b,void 0,a,d);for(s in a)d=a[s],m=n[s],!a.hasOwnProperty(s)||d===m||d===void 0&&m===void 0||nd(e,t,s,d,a,m);return}}for(var h in n)d=n[h],n.hasOwnProperty(h)&&d!=null&&!a.hasOwnProperty(h)&&ie(e,t,h,null,a,d);for(f in a)d=a[f],m=n[f],!a.hasOwnProperty(f)||d===m||d==null&&m==null||ie(e,t,f,d,a,m)}function Xm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function yw(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],i=l.transferSize,r=l.initiatorType,o=l.duration;if(i&&o&&Xm(r)){for(r=0,o=l.responseEnd,a+=1;a<n.length;a++){var u=n[a],c=u.startTime;if(c>o)break;var s=u.transferSize,f=u.initiatorType;s&&Xm(f)&&(u=u.responseEnd,r+=s*(u<o?1:(o-c)/(u-c)))}if(--a,t+=8*(i+r)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var ad=null,ld=null;function mu(e){return e.nodeType===9?e:e.ownerDocument}function Qm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Hy(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function id(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var hs=null;function vw(){var e=window.event;return e&&e.type==="popstate"?e===hs?!1:(hs=e,!0):(hs=null,!1)}var zy=typeof setTimeout=="function"?setTimeout:void 0,bw=typeof clearTimeout=="function"?clearTimeout:void 0,Km=typeof Promise=="function"?Promise:void 0,Aw=typeof queueMicrotask=="function"?queueMicrotask:typeof Km<"u"?function(e){return Km.resolve(null).then(e).catch(ww)}:zy;function ww(e){setTimeout(function(){throw e})}function Aa(e){return e==="head"}function Zm(e,t){var n=t,a=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"||n==="/&"){if(a===0){e.removeChild(l),Il(t);return}a--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")a++;else if(n==="html")ar(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,ar(n);for(var i=n.firstChild;i;){var r=i.nextSibling,o=i.nodeName;i[Sr]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&i.rel.toLowerCase()==="stylesheet"||n.removeChild(i),i=r}}else n==="body"&&ar(e.ownerDocument.body);n=l}while(n);Il(t)}function Wm(e,t){var n=e;e=0;do{var a=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=a}while(n)}function rd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":rd(n),yd(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Sw(e,t,n,a){for(;e.nodeType===1;){var l=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(a){if(!e[Sr])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Qt(e.nextSibling),e===null)break}return null}function Cw(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qt(e.nextSibling),e===null))return null;return e}function Uy(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qt(e.nextSibling),e===null))return null;return e}function od(e){return e.data==="$?"||e.data==="$~"}function ud(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Rw(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var a=function(){t(),n.removeEventListener("DOMContentLoaded",a)};n.addEventListener("DOMContentLoaded",a),e._reactRetry=a}}function Qt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var cd=null;function Im(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qt(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Jm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Gy(e,t,n){switch(t=mu(n),e){case"html":if(e=t.documentElement,!e)throw Error(S(452));return e;case"head":if(e=t.head,!e)throw Error(S(453));return e;case"body":if(e=t.body,!e)throw Error(S(454));return e;default:throw Error(S(451))}}function ar(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);yd(e)}var Kt=new Map,$m=new Set;function hu(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Pn=$.d;$.d={f:Tw,r:Ew,D:Dw,C:xw,L:Mw,m:_w,X:Nw,S:Bw,M:Ow};function Tw(){var e=Pn.f(),t=Nu();return e||t}function Ew(e){var t=$l(e);t!==null&&t.tag===5&&t.type==="form"?Np(t):Pn.r(e)}var ai=typeof document>"u"?null:document;function Py(e,t,n){var a=ai;if(a&&typeof t=="string"&&t){var l=jt(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),$m.has(l)||($m.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function Dw(e){Pn.D(e),Py("dns-prefetch",e,null)}function xw(e,t){Pn.C(e,t),Py("preconnect",e,t)}function Mw(e,t,n){Pn.L(e,t,n);var a=ai;if(a&&e&&t){var l='link[rel="preload"][as="'+jt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+jt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+jt(n.imageSizes)+'"]')):l+='[href="'+jt(e)+'"]';var i=l;switch(t){case"style":i=Wl(e);break;case"script":i=li(e)}Kt.has(i)||(e=ve({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Kt.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(xr(i))||t==="script"&&a.querySelector(Mr(i))||(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function _w(e,t){Pn.m(e,t);var n=ai;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+jt(a)+'"][href="'+jt(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=li(e)}if(!Kt.has(i)&&(e=ve({rel:"modulepreload",href:e},t),Kt.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Mr(i)))return}a=n.createElement("link"),Ke(a,"link",e),qe(a),n.head.appendChild(a)}}}function Bw(e,t,n){Pn.S(e,t,n);var a=ai;if(a&&e){var l=kl(a).hoistableStyles,i=Wl(e);t=t||"default";var r=l.get(i);if(!r){var o={loading:0,preload:null};if(r=a.querySelector(xr(i)))o.loading=5;else{e=ve({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Kt.get(i))&&nf(e,n);var u=r=a.createElement("link");qe(u),Ke(u,"link",e),u._p=new Promise(function(c,s){u.onload=c,u.onerror=s}),u.addEventListener("load",function(){o.loading|=1}),u.addEventListener("error",function(){o.loading|=2}),o.loading|=4,qo(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:o},l.set(i,r)}}}function Nw(e,t){Pn.X(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ow(e,t){Pn.M(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0,type:"module"},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function eh(e,t,n,a){var l=(l=ra.current)?hu(l):null;if(!l)throw Error(S(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Wl(n.href),n=kl(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Wl(n.href);var i=kl(l).hoistableStyles,r=i.get(e);if(r||(l=l.ownerDocument||l,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=l.querySelector(xr(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Kt.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Kt.set(e,n),i||kw(l,e,n,r.state))),t&&a===null)throw Error(S(528,""));return r}if(t&&a!==null)throw Error(S(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=li(n),n=kl(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(S(444,e))}}function Wl(e){return'href="'+jt(e)+'"'}function xr(e){return'link[rel="stylesheet"]['+e+"]"}function qy(e){return ve({},e,{"data-precedence":e.precedence,precedence:null})}function kw(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Ke(t,"link",n),qe(t),e.head.appendChild(t))}function li(e){return'[src="'+jt(e)+'"]'}function Mr(e){return"script[async]"+e}function th(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+jt(n.href)+'"]');if(a)return t.instance=a,qe(a),a;var l=ve({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),qe(a),Ke(a,"style",l),qo(a,n.precedence,e),t.instance=a;case"stylesheet":l=Wl(n.href);var i=e.querySelector(xr(l));if(i)return t.state.loading|=4,t.instance=i,qe(i),i;a=qy(n),(l=Kt.get(l))&&nf(a,l),i=(e.ownerDocument||e).createElement("link"),qe(i);var r=i;return r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),t.state.loading|=4,qo(i,n.precedence,e),t.instance=i;case"script":return i=li(n.src),(l=e.querySelector(Mr(i)))?(t.instance=l,qe(l),l):(a=n,(l=Kt.get(i))&&(a=ve({},n),af(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),qe(l),Ke(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(S(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,qo(a,n.precedence,e));return t.instance}function qo(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,r=0;r<a.length;r++){var o=a[r];if(o.dataset.precedence===t)i=o;else if(i!==l)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function nf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function af(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Fo=null;function nh(e,t,n){if(Fo===null){var a=new Map,l=Fo=new Map;l.set(n,a)}else l=Fo,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),l=0;l<n.length;l++){var i=n[l];if(!(i[Sr]||i[Ve]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var r=i.getAttribute(t)||"";r=e+r;var o=a.get(r);o?o.push(i):a.set(r,[i])}}return a}function ah(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function Lw(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Fy(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Hw(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Wl(a.href),i=t.querySelector(xr(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=pu.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,qe(i);return}i=t.ownerDocument||t,a=qy(a),(l=Kt.get(l))&&nf(a,l),i=i.createElement("link"),qe(i);var r=i;r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=pu.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ps=0;function zw(e,t){return e.stylesheets&&e.count===0&&jo(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&ps===0&&(ps=62500*yw());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>ps?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function pu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jo(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var yu=null;function jo(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,yu=new Map,t.forEach(Uw,e),yu=null,pu.call(e))}function Uw(e,t){if(!(t.state.loading&4)){var n=yu.get(e);if(n)var a=n.get(null);else{n=new Map,yu.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<l.length;i++){var r=l[i];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(n.set(r.dataset.precedence,r),a=r)}a&&n.set(null,a)}l=t.instance,r=l.getAttribute("data-precedence"),i=n.get(r)||a,i===a&&n.set(null,l),n.set(r,l),this.count++,a=pu.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),i?i.parentNode.insertBefore(l,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var hr={$$typeof:Mn,Provider:null,Consumer:null,_currentValue:za,_currentValue2:za,_threadCount:0};function Gw(e,t,n,a,l,i,r,o,u){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Fc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fc(0),this.hiddenUpdates=Fc(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=i,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=u,this.incompleteTransitions=new Map}function jy(e,t,n,a,l,i,r,o,u,c,s,f){return e=new Gw(e,t,n,r,u,c,s,f,o),t=1,i===!0&&(t|=24),i=Tt(3,null,null,t),e.current=i,i.stateNode=e,t=Md(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:a,isDehydrated:n,cache:t},Nd(i),e}function Yy(e){return e?(e=_l,e):_l}function Vy(e,t,n,a,l,i){l=Yy(l),a.context===null?a.context=l:a.pendingContext=l,a=ua(t),a.payload={element:n},i=i===void 0?null:i,i!==null&&(a.callback=i),n=ca(e,a,t),n!==null&&(yt(n,e,t),Zi(n,e,t))}function lh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lf(e,t){lh(e,t),(e=e.alternate)&&lh(e,t)}function Xy(e){if(e.tag===13||e.tag===31){var t=Wa(e,67108864);t!==null&&yt(t,e,67108864),lf(e,67108864)}}function ih(e){if(e.tag===13||e.tag===31){var t=_t();t=hd(t);var n=Wa(e,t);n!==null&&yt(n,e,t),lf(e,t)}}var vu=!0;function Pw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=2,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function qw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=8,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function rf(e,t,n,a){if(vu){var l=sd(a);if(l===null)ms(e,t,a,bu,n),rh(e,a);else if(jw(l,e,t,n,a))a.stopPropagation();else if(rh(e,a),t&4&&-1<Fw.indexOf(e)){for(;l!==null;){var i=$l(l);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var r=ka(i.pendingLanes);if(r!==0){var o=i;for(o.pendingLanes|=2,o.entangledLanes|=2;r;){var u=1<<31-Mt(r);o.entanglements[1]|=u,r&=~u}hn(i),(J&6)===0&&(uu=Dt()+500,Dr(0,!1))}}break;case 31:case 13:o=Wa(i,2),o!==null&&yt(o,i,2),Nu(),lf(i,2)}if(i=sd(a),i===null&&ms(e,t,a,bu,n),i===l)break;l=i}l!==null&&a.stopPropagation()}else ms(e,t,a,null,n)}}function sd(e){return e=bd(e),of(e)}var bu=null;function of(e){if(bu=null,e=Rl(e),e!==null){var t=vr(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=fh(t),e!==null)return e;e=null}else if(n===31){if(e=gh(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return bu=e,null}function Qy(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Mb()){case yh:return 2;case vh:return 8;case Ko:case _b:return 32;case bh:return 268435456;default:return 32}default:return 32}}var dd=!1,fa=null,ga=null,ma=null,pr=new Map,yr=new Map,ea=[],Fw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function rh(e,t){switch(e){case"focusin":case"focusout":fa=null;break;case"dragenter":case"dragleave":ga=null;break;case"mouseover":case"mouseout":ma=null;break;case"pointerover":case"pointerout":pr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yr.delete(t.pointerId)}}function Ui(e,t,n,a,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[l]},t!==null&&(t=$l(t),t!==null&&Xy(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function jw(e,t,n,a,l){switch(t){case"focusin":return fa=Ui(fa,e,t,n,a,l),!0;case"dragenter":return ga=Ui(ga,e,t,n,a,l),!0;case"mouseover":return ma=Ui(ma,e,t,n,a,l),!0;case"pointerover":var i=l.pointerId;return pr.set(i,Ui(pr.get(i)||null,e,t,n,a,l)),!0;case"gotpointercapture":return i=l.pointerId,yr.set(i,Ui(yr.get(i)||null,e,t,n,a,l)),!0}return!1}function Ky(e){var t=Rl(e.target);if(t!==null){var n=vr(t);if(n!==null){if(t=n.tag,t===13){if(t=fh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===31){if(t=gh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Yo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=sd(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Ms=a,n.target.dispatchEvent(a),Ms=null}else return t=$l(n),t!==null&&Xy(t),e.blockedOn=n,!1;t.shift()}return!0}function oh(e,t,n){Yo(e)&&n.delete(t)}function Yw(){dd=!1,fa!==null&&Yo(fa)&&(fa=null),ga!==null&&Yo(ga)&&(ga=null),ma!==null&&Yo(ma)&&(ma=null),pr.forEach(oh),yr.forEach(oh)}function xo(e,t){e.blockedOn===t&&(e.blockedOn=null,dd||(dd=!0,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,Yw)))}var Mo=null;function uh(e){Mo!==e&&(Mo=e,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,function(){Mo===e&&(Mo=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],l=e[t+2];if(typeof a!="function"){if(of(a||n)===null)continue;break}var i=$l(n);i!==null&&(e.splice(t,3),t-=3,Vs(i,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function Il(e){function t(u){return xo(u,e)}fa!==null&&xo(fa,e),ga!==null&&xo(ga,e),ma!==null&&xo(ma,e),pr.forEach(t),yr.forEach(t);for(var n=0;n<ea.length;n++){var a=ea[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<ea.length&&(n=ea[0],n.blockedOn===null);)Ky(n),n.blockedOn===null&&ea.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],i=n[a+1],r=l[vt]||null;if(typeof i=="function")r||uh(n);else if(r){var o=null;if(i&&i.hasAttribute("formAction")){if(l=i,r=i[vt]||null)o=r.formAction;else if(of(l)!==null)continue}else o=r.action;typeof o=="function"?n[a+1]=o:(n.splice(a,3),a-=3),uh(n)}}}function Zy(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(r){return l=r})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function uf(e){this._internalRoot=e}Lu.prototype.render=uf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(S(409));var n=t.current,a=_t();Vy(n,a,e,t,null,null)};Lu.prototype.unmount=uf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Vy(e.current,2,null,e,null,null),Nu(),t[Jl]=null}};function Lu(e){this._internalRoot=e}Lu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rh();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ea.length&&t!==0&&t<ea[n].priority;n++);ea.splice(n,0,e),n===0&&Ky(e)}};var ch=sh.version;if(ch!=="19.2.8")throw Error(S(527,ch,"19.2.8"));$.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(S(188)):(e=Object.keys(e).join(","),Error(S(268,e)));return e=Sb(t),e=e!==null?mh(e):null,e=e===null?null:e.stateNode,e};var Vw={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Gi=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Gi.isDisabled&&Gi.supportsFiber))try{br=Gi.inject(Vw),xt=Gi}catch{}var Gi;Hu.createRoot=function(e,t){if(!dh(e))throw Error(S(299));var n=!1,a="",l=Pp,i=qp,r=Fp;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=jy(e,1,!1,null,null,n,a,null,l,i,r,Zy),e[Jl]=t.current,tf(e),new uf(t)};Hu.hydrateRoot=function(e,t,n){if(!dh(e))throw Error(S(299));var a=!1,l="",i=Pp,r=qp,o=Fp,u=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(i=n.onUncaughtError),n.onCaughtError!==void 0&&(r=n.onCaughtError),n.onRecoverableError!==void 0&&(o=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=jy(e,1,!0,t,n??null,a,l,u,i,r,o,Zy),t.context=Yy(null),n=t.current,a=_t(),a=hd(a),l=ua(a),l.callback=null,ca(n,l,a),n=a,t.current.lanes=n,wr(t,n),hn(t),e[Jl]=t.current,tf(e),new Lu(t)};Hu.version="19.2.8"});var $y=un((jS,Jy)=>{"use strict";function Iy(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Iy)}catch(e){console.error(e)}}Iy(),Jy.exports=Wy()});var t0=un(zu=>{"use strict";var Xw=Symbol.for("react.transitional.element"),Qw=Symbol.for("react.fragment");function e0(e,t,n){var a=null;if(n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),"key"in t){n={};for(var l in t)l!=="key"&&(n[l]=t[l])}else n=t;return t=n.ref,{$$typeof:Xw,type:e,key:a,ref:t!==void 0?t:null,props:n}}zu.Fragment=Qw;zu.jsx=e0;zu.jsxs=e0});var O=un((VS,n0)=>{"use strict";n0.exports=t0()});var Lt=B(ft(),1),s1=B($y(),1);var Wv=B(ft(),1);var qn=B(O(),1);function Kw(e){return{under50:"Under $50",over50:"Over $50",over30:"Over $30",over500:"Over $500","50_100":"$50 - $100","100_200":"$100 - $200","200_500":"$200 - $500"}[e]||e}function a0({activeDealTag:e,activeFreeformTags:t,airedaleTags:n,freeformTags:a,discountAmount:l,onBrandSelect:i,onBrandToggle:r,onDiscountAmountChange:o,onPriceRangeChange:u,onTagClear:c,onFreeformTagClear:s,onFreeformTagToggle:f,priceRange:d,selectedBrands:m}){let v=m.map(b=>({type:"brand",value:b,label:b}));if(e){let b=n.find(h=>h.startsWith(e+":::")||h===e);v.push({type:"category",value:e,label:b?b.split(":::")[1]||b.split(":::")[0]:e})}if(t.forEach(b=>{let h=a.find(g=>g.handle===b);v.push({type:"freeform-tag",value:b,label:h?.label||b})}),d&&d!=="all"&&v.push({type:"price",value:d,label:Kw(d)}),l&&l!=="0"&&l!=="all"&&v.push({type:"discount",value:l,label:`Min ${l}% off`}),v.length===0)return null;let A=b=>{b.type==="brand"&&r?.(b.value),b.type==="category"&&c(),b.type==="freeform-tag"&&f(b.value),b.type==="discount"&&o?.("0"),b.type==="price"&&u?.("all")};return(0,qn.jsxs)("div",{className:"tg-df-active-badges-row",style:{display:"flex",flexWrap:"wrap",gap:"4px",alignItems:"center",marginTop:"10px",marginBottom:"16px"},children:[v.map(b=>(0,qn.jsxs)("span",{className:"tg-df-active-badge",children:[b.label,(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-remove","aria-label":`Remove ${b.label}`,onClick:()=>A(b),children:(0,qn.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,qn.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,qn.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},b.type+"-"+b.value)),v.length>1&&(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-clear-all",onClick:()=>{i?.([]),c(),s(),o?.("0"),u?.("all")},children:"Clear all"})]})}function l0(e){if(!e)return null;let t=e.documentname||e.title||"";!t&&e.documentnametext&&(t=Array.isArray(e.documentnametext)?e.documentnametext[0]:e.documentnametext),!t&&e.articlename&&(t=Array.isArray(e.articlename)?e.articlename[0]:e.articlename),!t&&e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&(t=e.articlesocialtitle[0]);let n=e.strapline||e.articlestrapline||e.subtitle||e.dek||"";!n&&e.image_thumbnail&&e.image_thumbnail.dek&&(n=e.image_thumbnail.dek),Array.isArray(n)&&(n=n[0]||"");let a="";if(e.articlepage)try{let l=e.articlepage;if(typeof l=="string")try{l=JSON.parse(l)}catch{}if(Array.isArray(l)&&l.length>0){let i=l[0];if(typeof i=="string")try{i=JSON.parse(i)}catch{}if(Array.isArray(i)){let r=[];for(let o of i){if(o.type==="featured-product")break;if(o.type==="text"&&o.data)Array.isArray(o.data.paragraphs)?o.data.paragraphs.forEach(u=>{u&&r.push(u.startsWith("<")?u:`<p>${u}<\/p>`)}):typeof o.data.text=="string"&&o.data.text&&r.push(o.data.text.startsWith("<")?o.data.text:`<p>${o.data.text}<\/p>`);else if(o.type==="section"&&o.data){let u=o.data.text||o.data.heading||o.data.title||"";u&&r.push(`<div class="tg-df-article-section-banner"><span>${u}<\/span><\/div>`)}}r.length>0&&(a=r.join(""))}}}catch(l){console.error("Error parsing articlepage",l)}return!a&&e.content?a=typeof e.content=="string"?e.content:"":!a&&e.intro?a=typeof e.intro=="string"?e.intro:"":!a&&e.paragraphs&&(a=(Array.isArray(e.paragraphs)?e.paragraphs:[e.paragraphs]).map(i=>`<p>${i}<\/p>`).join("")),{headline:t,strapline:n,contentHtml:a}}var ii=B(O(),1);function i0({articles:e,selectedArticleId:t}){if(!t)return null;let n=e.find(l=>l.id===t);if(!n)return null;let a=l0(n);return!a||!a.headline&&!a.strapline&&!a.contentHtml?null:(0,ii.jsxs)("div",{className:"tg-df-article-intro-container",id:"tg-df-article-intro",style:{margin:"0 auto 32px",width:"100%",maxWidth:"800px",textAlign:"left",padding:"0 16px"},children:[a.headline&&(0,ii.jsx)("h2",{className:"tg-df-article-headline",id:"tg-df-article-headline",style:{fontSize:"1.75rem",fontWeight:800,color:"#0f172a",marginBottom:"1rem",lineHeight:1.25},children:a.headline}),a.strapline&&(0,ii.jsx)("p",{className:"tg-df-article-strapline",id:"tg-df-article-strapline",style:{fontSize:"1.125rem",fontWeight:600,color:"#334155",marginBottom:"1.25rem",lineHeight:1.4},children:a.strapline}),a.contentHtml&&(0,ii.jsx)("div",{className:"tg-df-article-content",id:"tg-df-article-content",dangerouslySetInnerHTML:{__html:a.contentHtml}})]})}var Fn=B(O(),1);function Zw({articles:e,authorHandle:t,authorName:n}){let a=n||e.length>0&&(e[0].articleauthortext?.[0]||e[0].articleauthor?.[0])||"Author";(t==="all-authors"||n==="all-authors"||n==="All authors")&&(a="All authors");let l=a.trim().split(" ")[0]||"Author";return a==="All authors"&&(l="All authors"),`Shop all ${l==="All authors"?"authors'":l.endsWith("'s")||l.endsWith("\u2019s")?l:`${l}'s`} collections`}function Ww(e){let t=[];return e.documentnametext&&t.push(e.documentnametext),e.documentname&&t.push(e.documentname),e.articlename&&t.push(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&t.push(...e.articlesocialtitle),t.length>0?t.reduce((n,a)=>a&&a.length<n.length?a:n,t[0]):"Article"}function r0({articles:e,authorHandle:t,authorName:n,onChange:a,selectedArticleId:l,shortenedHeadlines:i}){return(0,Fn.jsx)("div",{className:"tg-df-top-bar",id:"tg-df-top-bar",style:{position:"relative",zIndex:100,margin:"0 auto 20px",width:"100%",display:"flex",justifyContent:"center"},children:(0,Fn.jsxs)("div",{className:"tg-df-sort-wrapper",style:{width:"auto",maxWidth:"320px",display:"inline-flex",position:"relative"},children:[(0,Fn.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",width:"14px",height:"14px",color:"var(--tg-df-text-muted)",pointerEvents:"none",zIndex:2},children:(0,Fn.jsx)("path",{d:"M12 2l-10 4.5 10 4.5 10-4.5-10-4.5zm0 6.5l-8-3.6 8-3.6 8 3.6-8 3.6zm-10 6l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5zm0 5l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5z"})}),(0,Fn.jsxs)("select",{className:"tg-df-filter-select tg-df-article-select",style:{width:"100%",maxWidth:"320px",padding:"10px 36px 10px 38px",fontSize:"14px",fontWeight:500,borderRadius:"100px",border:"1px solid var(--tg-df-border)",color:"var(--tg-df-text)",backgroundColor:"var(--tg-df-bg-secondary)",appearance:"none",backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E")`,backgroundRepeat:"no-repeat",backgroundPosition:"right 14px center",textAlign:"left",textAlignLast:"left",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",cursor:"pointer"},value:l||"",onChange:r=>a(r.target.value),children:[(0,Fn.jsx)("option",{value:"",style:{textAlign:"left"},children:Zw({articles:e,authorHandle:t,authorName:n})}),e.map(r=>{let o=i?.[r.id]||Ww(r);return o&&o.length>38&&(o=o.substring(0,36)+"\u2026"),(0,Fn.jsx)("option",{value:r.id,style:{textAlign:"left"},children:o},r.id)})]})]})})}var A0=B(ft(),1);function o0(e,t=new Date){if(!e)return"";let n=new Date(e),a=Math.floor((t.getTime()-n.getTime())/1e3);if(a<60)return"Just now";let l=Math.floor(a/60);if(l<60)return`${l} min${l>1?"s":""} ago`;let i=Math.floor(l/60);if(i<24)return`${i} hr${i>1?"s":""} ago`;let r=Math.floor(i/24);if(r<30)return`${r} day${r>1?"s":""} ago`;let o=Math.floor(r/30);if(o<12)return`${o} mo${o>1?"s":""} ago`;let u=Math.floor(r/365);return`${u} yr${u>1?"s":""} ago`}function Iw(e){return e.replace(/<\/p\s*>/gi," ").replace(/<p[^>]*>/gi," ").replace(/<br\s*\/?>/gi," ").replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim()}function _r(e,t,n){let a="";return n==="short"?a=e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"":a=e.articleauthorlongbio&&e.articleauthorlongbio[t]&&e.articleauthorlongbio[t]!=="null"?e.articleauthorlongbio[t]:e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"",a?Iw(a):""}function u0(e,t){return e.articleauthorrole&&e.articleauthorrole[t]&&e.articleauthorrole[t]!=="null"?e.articleauthorrole[t]:""}function c0(e,t){return e.articleauthormedia&&e.articleauthormedia[t]?e.articleauthormedia[t]:""}function ri(e){if(typeof e!="string"||!e.trim())return"";try{let t=new URL(e);if(t.hostname.toLowerCase()!=="cdn.mos.cms.futurecdn.net")return e;let n=/\.(?:jpe?g|png|webp)$/i;return!n.test(t.pathname)||/-\d+-\d+\.(?:jpe?g|png|webp)$/i.test(t.pathname)?e:(t.pathname=t.pathname.replace(n,"-480-80$&"),t.toString())}catch{return e}}function Uu(e,t=0){if(!e||!e.articleauthorsocialnetworks)return[];let n=e.articleauthorsocialnetworks[t];if(n||(n=e.articleauthorsocialnetworks[0]),!n)return[];let a=null;if(typeof n=="string")try{a=JSON.parse(n)}catch{try{a=JSON.parse(n.replace(/\\"/g,'"'))}catch{}}else typeof n=="object"&&n!==null&&(a=n);if(!a||typeof a!="object")return[];let l=[];for(let[i,r]of Object.entries(a)){if(!r)continue;let o="",u="";if(typeof r=="string"?o=r:typeof r=="object"&&r!==null&&(o=r.url||r.address||r.link||"",u=r.address||""),!o&&!u)continue;let c=i.toLowerCase().trim(),s=o||u;c==="email"?s.startsWith("mailto:")||(s=s.includes("@")?`mailto:${s}`:`mailto:${s}`):!s.startsWith("http://")&&!s.startsWith("https://")&&!s.startsWith("//")&&(s=`https://${s}`);let f=c.charAt(0).toUpperCase()+c.slice(1);c==="linkedin"?f="LinkedIn":c==="youtube"?f="YouTube":c==="tiktok"?f="TikTok":c==="twitch"?f="Twitch":c==="steam"?f="Steam":c==="github"?f="GitHub":c==="rss"?f="RSS":(c==="x"||c==="twitter")&&(f="X (Twitter)"),l.push({key:c,href:s,label:f})}return l}function ee(e){if(!e)return"";let t=String(e);for(let n=0;n<3;n+=1){let a=t.replace(/&/gi,"&").replace(/£/g,"\xA3").replace(/£/gi,"\xA3").replace(/$/g,"$").replace(/&dollar;/gi,"$").replace(/€/g,"\u20AC").replace(/€/gi,"\u20AC").replace(/&#(\d+);/g,(l,i)=>String.fromCharCode(Number(i))).replace(/&#x([0-9a-f]+);/gi,(l,i)=>String.fromCharCode(parseInt(i,16)));if(a===t)break;t=a}return t}var Ee=B(O(),1);function cf({authorUrl:e,deal:t}){if(!t.authorName)return null;let n=ee(String(t.authorName)),a=t.authorRole&&!["null","nul","undefined"].includes(String(t.authorRole).toLowerCase())?` \u2022 ${ee(String(t.authorRole))}`:"";return(0,Ee.jsx)("div",{className:"tg-df-author-line-desktop",style:{padding:"0 0 12px 0"},children:(0,Ee.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[t.authorImage&&(0,Ee.jsx)("img",{src:ri(t.authorImage),alt:n,className:"tg-df-author-img",width:"36",height:"36",style:{borderRadius:"50%",objectFit:"cover",flexShrink:0,aspectRatio:"1 / 1",minWidth:"36px",minHeight:"36px"}}),(0,Ee.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,Ee.jsx)("div",{style:{fontSize:"10px",color:"var(--tg-df-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px",fontWeight:600},children:t.isReviewProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Product tested by:"}):t.isBuyingGuideProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Expert review by:"}):t.isFeatured?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:"Top product"})," ","recommended by:"]}):(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:t.merchant})," ","deal recommended by:"]})}),(0,Ee.jsxs)("div",{style:{fontSize:"11px",color:"var(--tg-df-text)",lineHeight:1.2},children:[(0,Ee.jsx)("strong",{children:(0,Ee.jsx)("a",{href:e,target:"_blank",rel:"noopener",style:{textDecoration:"none",color:"inherit",borderBottom:"1px dotted var(--tg-df-text-muted)"},children:n})}),a,t.modifiedDate?(0,Ee.jsxs)("span",{style:{color:"var(--tg-df-text-muted)"},children:[" ","\u2022 ",o0(t.modifiedDate)]}):""]})]})]})})}var K=B(O(),1);function s0({authorUrl:e,deal:t,hideHawkPrices:n,msrpFormatted:a,sourceArticleUrl:l}){let i=ee(String(t.merchant||"")),r=ee(String(t.currency||""));if(t.isBuyingGuideProduct||t.isReviewProduct){let o=!!t.hasCommerceOffer,u=o&&!t.isCheckPrice,c=!!t.hawkPricePending,s=!!t.isReviewProduct&&!c&&!o,f=n&&o&&Array.isArray(t.hawkListings)?t.hawkListings.filter(m=>m?.merchant&&m?.url).slice(0,4):[],d=f.length>0;return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[c?(0,K.jsx)("div",{className:"tg-df-card-price-group","aria-live":"polite",children:(0,K.jsx)("span",{className:"tg-df-card-price",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"Checking live price\u2026"})}):d?(0,K.jsxs)("div",{className:"tg-df-card-listings",children:[(0,K.jsx)("span",{className:"tg-df-card-listings-title",children:"Today's cheapest prices:"}),(0,K.jsx)("div",{className:"tg-df-card-listings-links",children:f.map((m,v)=>{let A=ee(String(m.merchant));return(0,K.jsx)("a",{"aria-label":`View product at ${A}`,className:"tg-df-card-listing-link hawk-affiliate-link-container","data-fcaw-affiliate-link":"","data-merchant":A,"data-merchant-id":m.merchantId||void 0,"data-model-id":m.modelId||void 0,"data-product-key":m.productKey||void 0,href:m.url,rel:"sponsored nofollow noopener",target:"_blank",children:A},`${m.merchant}-${m.url}-${v}`)})})]}):u?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsxs)("div",{className:"tg-df-card-price-group",children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})]}):s?(0,K.jsx)("div",{className:"tg-df-card-price-group",children:(0,K.jsx)("span",{className:"tg-df-card-price tg-df-card-price--unavailable",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"No retail listing found"})}):null,(0,K.jsx)(cf,{authorUrl:e,deal:t}),!d&&(0,K.jsx)("a",{href:o?t.url:l,"data-fcaw-affiliate-link":o?"":void 0,target:"_blank",rel:o?"sponsored nofollow noopener":"noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},children:o?u?"VIEW DEAL":"CHECK PRICE":"READ REVIEW"})]})}return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[!(t.authorName&&!t.isFeatured)&&(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsx)("div",{className:"tg-df-card-price-group",children:t.isCheckPrice?(0,K.jsx)("span",{className:"tg-df-card-price",style:{fontSize:"15px",fontWeight:500,fontStyle:"italic"},children:"See price at retailer"}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})}),(0,K.jsx)(cf,{authorUrl:e,deal:t}),(0,K.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":"",target:"_blank",rel:"sponsored nofollow noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},"data-model-id":t.modelId||void 0,"data-product-key":t.productKey||void 0,"data-merchant-id":t.merchantId||void 0,children:t.isCheckPrice?"CHECK PRICE":t.isFeatured?"SHOP NOW":"VIEW DEAL"})]})}var Ze=B(O(),1);function d0({couponStatus:e,deal:t,onOpenVouchers:n}){let a=!!t.hasCommerceOffer;return(0,Ze.jsxs)("div",{className:"tg-df-card-image-box",children:[t.buyingGuideBadge?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge tg-df-buying-guide-badge",children:t.buyingGuideBadge}):t.savingLabel&&!t.isCheckPrice?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge",children:ee(t.savingLabel)}):null,(0,Ze.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":a?"":void 0,className:a?"hawk-affiliate-link-deal-widget":void 0,target:"_blank",rel:a?"sponsored nofollow noopener":"noopener",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",height:"100%"},children:(0,Ze.jsx)("img",{src:t.image||void 0,alt:ee(String(t.title||"")),className:"tg-df-card-image",loading:"lazy",onError:l=>{t.fallbackImage&&!l.currentTarget.dataset.fb?(l.currentTarget.dataset.fb="1",l.currentTarget.src=t.fallbackImage):l.currentTarget.style.opacity="0"}})}),(0,Ze.jsxs)("div",{className:"tg-df-card-badges",children:[t.isPrime&&(0,Ze.jsxs)("span",{className:"tg-df-tag tg-df-tag-prime",children:[(0,Ze.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ze.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})," ","Prime"]}),!t.merchant?.toLowerCase().includes("amazon")&&(e==="loading"||e==="has")&&(0,Ze.jsx)("div",{className:"tg-df-coupon-wrapper",style:{display:"inline-flex",alignItems:"center"},children:e==="loading"?(0,Ze.jsx)("div",{className:"tg-df-coupon-spinner"}):(0,Ze.jsxs)("button",{type:"button",className:"tg-df-tag tg-df-tag-coupons",onClick:l=>{l.preventDefault(),n(t.merchant)},children:[(0,Ze.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,Ze.jsx)("path",{d:"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"}),(0,Ze.jsx)("line",{x1:"7",y1:"7",x2:"7.01",y2:"7"})]})," ","Coupons"]})})]})]})}var ct=B(O(),1);function f0({label:e="Tom's Guide:",starRating:t,color:n="#1f69ff"}){if(!t||t<=0)return null;let a=Math.floor(t),l=t-a>=.5?1:0,i=Math.max(0,5-a-l),r=[];for(let o=0;o<a;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:n,stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`f${o}`));l&&r.push((0,ct.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"url(#halfGrad)",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,ct.jsx)("defs",{children:(0,ct.jsxs)("linearGradient",{id:"halfGrad",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,ct.jsx)("stop",{offset:"50%",stopColor:n}),(0,ct.jsx)("stop",{offset:"50%",stopColor:"transparent"})]})}),(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})]},"h"));for(let o=0;o<i;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:n,opacity:"0.35",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`e${o}`));return(0,ct.jsxs)("div",{className:"tg-df-card-stars",style:{display:"flex",alignItems:"center",marginBottom:"8px",fontSize:"13px",fontWeight:600,color:"var(--tg-df-text-muted)"},children:[e&&(0,ct.jsx)("span",{style:{marginRight:"6px"},children:e}),(0,ct.jsx)("div",{style:{display:"flex",gap:"2px"},children:r})]})}var At=B(O(),1);function g0({heading:e,items:t}){return t.length===0?null:(0,At.jsxs)("div",{style:{marginBottom:"10px"},children:[(0,At.jsx)("strong",{style:{display:"block",fontSize:"12px",marginBottom:"3px"},children:e}),(0,At.jsx)("ul",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:0,paddingLeft:"18px"},children:t.map(n=>{let a=ee(String(n));return(0,At.jsx)("li",{children:a},n)})})]})}function m0({cons:e=[],expanded:t,fullReviewUrl:n,onToggle:a,pros:l=[],subtitle:i="",truncateSubtitle:r=!1}){let o=l.length>0||e.length>0,u=ee(i);return!u&&!o?null:(0,At.jsxs)("div",{style:{marginBottom:"12px"},children:[u&&(0,At.jsx)("p",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:"0 0 8px",display:!t&&r?"-webkit-box":"block",WebkitLineClamp:!t&&r?3:void 0,WebkitBoxOrient:!t&&r?"vertical":void 0,overflow:!t&&r?"hidden":void 0},children:u}),t&&o&&(0,At.jsxs)("div",{children:[(0,At.jsx)(g0,{heading:"Pros",items:l}),(0,At.jsx)(g0,{heading:"Cons",items:e})]}),(o||r)&&(0,At.jsxs)("div",{className:"tg-df-review-summary-actions",style:{alignItems:"flex-start",display:"flex",flexDirection:"column",gap:t&&n?"4px":0},children:[t&&n&&(0,At.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"tg-df-review-full-link",style:{alignItems:"center",color:"var(--tg-df-blue)",display:"flex",fontSize:"12px",fontWeight:700,minHeight:"40px",paddingRight:"12px",textDecoration:"underline"},children:"Read our full review"}),(0,At.jsx)("button",{type:"button",onClick:c=>{c.preventDefault(),c.stopPropagation(),a()},className:"tg-df-review-summary-toggle",style:{appearance:"none",background:"transparent",border:"none",color:"#000000",cursor:"pointer",fontFamily:"inherit",fontSize:"11px",fontWeight:700,minHeight:"40px",padding:"0 12px 0 0",textTransform:"uppercase"},children:t?"LESS":"READ MORE"})]})]})}var oi=B(ft(),1);var Br=B(O(),1);function h0({text:e,expanded:t,onToggle:n}){let[a,l]=(0,oi.useState)(!1),i=(0,oi.useRef)(null),r=ee(e);return(0,oi.useEffect)(()=>{i.current&&l(i.current.scrollHeight>i.current.clientHeight||i.current.scrollHeight>60)},[r]),r?(0,Br.jsxs)("div",{style:{marginBottom:"12px",position:"relative"},children:[(0,Br.jsx)("p",{ref:i,style:{fontSize:"13px",color:"var(--tg-df-text-muted)",marginBottom:"0",lineHeight:"1.4",display:t?"inline":"-webkit-box",WebkitLineClamp:t?"unset":3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r}),a&&(0,Br.jsx)("button",{type:"button",onClick:o=>{o.preventDefault(),o.stopPropagation(),n()},style:{display:"block",appearance:"none",border:"none",color:"#000000",fontSize:"11px",fontWeight:700,textTransform:"uppercase",cursor:"pointer",fontFamily:"inherit",position:t?"static":"absolute",bottom:"2px",right:0,background:t?"transparent":"linear-gradient(to right, transparent, #fff 20%, #fff)",padding:t?"0":"0 0 0 16px"},children:t?"LESS":"READ MORE"})]}):null}var p0={pcgamer:"#DC191B",space:"#2E4A7F",tomsguide:"#1F69FF",techradar:"#E40784",golfmonthly:"#FFFFFF",androidcentral:"#1CCC3E",cinemablend:"#FFC033",creativebloq:"#DC361A",cyclingnews:"#371B51",cyclingweekly:"#AE1305",decanter:"#1B1B1B",digitalcameraworld:"#CAEBF2",fitandwell:"#BED100",fourfourtwo:"#AE1006",gamesradar:"#DC361A",guitarplayer:"#FFFFFF",guitarworld:"#DC1F26",homesandgardens:"#185A7D",idealhome:"#CAEBF2",imore:"#FFD600",livescience:"#023953",livingetc:"#FFFFFF",loudersound:"#DC0F17",marieclaireus:"#FFFFFF",marieclaireuk:"#FFFFFF",musicradar:"#006EA9",shortlist:"#2853E0",t3:"#DF0A14",theweek:"#DF0A14",theweekjuniorus:"#10A0B0",tomshardware:"#D8373B",wallpaper:"#FFFFFF",whathifi:"#E02928",whowhatwear:"#FFFFFF",windowscentral:"#CE0E5F",womanandhome:"#2F746E"},Nr={tomsguide:"https://proof.vanilla.tools/media/images/brandLogos/tomsguide.png",techradar:"https://proof.vanilla.tools/media/images/brandLogos/techradar.png",tomshardware:"https://proof.vanilla.tools/media/images/brandLogos/tomshardware.png",pcgamer:"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png",gamesradar:"https://proof.vanilla.tools/media/images/brandLogos/gamesradar.png",creativebloq:"https://proof.vanilla.tools/media/images/brandLogos/creativebloq.png",space:"https://proof.vanilla.tools/media/images/brandLogos/space.png",livescience:"https://proof.vanilla.tools/media/images/brandLogos/livescience.png",cinemablend:"https://proof.vanilla.tools/media/images/brandLogos/cinemablend.png",marieclaireus:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireus.png",marieclaireuk:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireuk.png",homesandgardens:"https://proof.vanilla.tools/media/images/brandLogos/homesandgardens.png",whowhatwear:"https://proof.vanilla.tools/media/images/brandLogos/whowhatwear.png",idealhome:"https://proof.vanilla.tools/media/images/brandLogos/idealhome.png",womanandhome:"https://proof.vanilla.tools/media/images/brandLogos/womanandhome.png",livingetc:"https://proof.vanilla.tools/media/images/brandLogos/livingetc.png",t3:"https://proof.vanilla.tools/media/images/brandLogos/t3.png",whathifi:"https://proof.vanilla.tools/media/images/brandLogos/whathifi.png",digitalcameraworld:"https://proof.vanilla.tools/media/images/brandLogos/digitalcameraworld.png",fitandwell:"https://proof.vanilla.tools/media/images/brandLogos/fitandwell.png",golfmonthly:"https://proof.vanilla.tools/media/images/brandLogos/golfmonthly.png",musicradar:"https://proof.vanilla.tools/media/images/brandLogos/musicradar.png",windowscentral:"https://proof.vanilla.tools/media/images/brandLogos/windowscentral.png",cyclingnews:"https://proof.vanilla.tools/media/images/brandLogos/cyclingnews.png",cyclingweekly:"https://proof.vanilla.tools/media/images/brandLogos/cyclingweekly.png",loudersound:"https://proof.vanilla.tools/media/images/brandLogos/loudersound.png",guitarworld:"https://proof.vanilla.tools/media/images/brandLogos/guitarworld.png",guitarplayer:"https://proof.vanilla.tools/media/images/brandLogos/guitarplayer.png",wallpaper:"https://proof.vanilla.tools/media/images/brandLogos/wallpaper.png",fourfourtwo:"https://proof.vanilla.tools/media/images/brandLogos/fourfourtwo.png",shortlist:"https://proof.vanilla.tools/media/images/brandLogos/shortlist.png",advnture:"https://proof.vanilla.tools/media/images/brandLogos/advnture.png",countrylife:"https://proof.vanilla.tools/media/images/brandLogos/countrylife.png",gardeningknowhow:"https://proof.vanilla.tools/media/images/brandLogos/gardeningknowhow.png",gnomesingardens:"https://proof.vanilla.tools/media/images/brandLogos/gnomesingardens.png",kiplinger:"https://proof.vanilla.tools/media/images/brandLogos/kiplinger.png",moneyweek:"https://proof.vanilla.tools/media/images/brandLogos/moneyweek.png",toptenreviews:"https://proof.vanilla.tools/media/images/brandLogos/toptenreviews.png"},Gu={tomsguide:"Tom's Guide",techradar:"TechRadar",tomshardware:"Tom's Hardware",pcgamer:"PC Gamer",gamesradar:"GamesRadar+",creativebloq:"Creative Bloq",space:"Space",livescience:"Live Science",cinemablend:"CinemaBlend",marieclaireus:"Marie Claire US",marieclaireuk:"Marie Claire UK",homesandgardens:"Homes & Gardens",whowhatwear:"Who What Wear",idealhome:"Ideal Home",womanandhome:"Woman & Home",livingetc:"Living Etc",t3:"T3",whathifi:"What Hi-Fi?",digitalcameraworld:"Digital Camera World",fitandwell:"Fit & Well",golfmonthly:"Golf Monthly",musicradar:"MusicRadar",androidcentral:"Android Central",imore:"iMore",windowscentral:"Windows Central",cyclingnews:"Cycling News",cyclingweekly:"Cycling Weekly",loudersound:"Louder Sound",guitarworld:"Guitar World",guitarplayer:"Guitar Player",theweek:"The Week",theweekjuniorus:"The Week Junior US",wallpaper:"Wallpaper",decanter:"Decanter",fourfourtwo:"FourFourTwo",shortlist:"ShortList",advnture:"Advnture",countrylife:"Country Life",gardeningknowhow:"Gardening Know How",gnomesingardens:"Gnomes in Gardens",kiplinger:"Kiplinger",moneyweek:"Money Week",toptenreviews:"Top 10 Reviews"},y0={pcgamer:[{key:"steam",href:"https://steamcommunity.com/groups/pcgamer",label:"PC Gamer on Steam"},{key:"x",href:"https://twitter.com/pcgamer",label:"PC Gamer on X"},{key:"facebook",href:"https://www.facebook.com/pcgamermagazine",label:"PC Gamer on Facebook"},{key:"instagram",href:"https://www.instagram.com/pcgamer_mag/?hl=en",label:"PC Gamer on Instagram"},{key:"youtube",href:"https://www.youtube.com/user/pcgamer",label:"PC Gamer on YouTube"},{key:"twitch",href:"https://www.twitch.tv/pcgamer",label:"PC Gamer on Twitch"},{key:"tiktok",href:"https://www.tiktok.com/@pcgamer_mag?lang=en",label:"PC Gamer on TikTok"}],homesandgardens:[{key:"instagram",href:"https://www.instagram.com/homesandgardensofficial",label:"Homes & Gardens on Instagram"},{key:"facebook",href:"https://www.facebook.com/homesandgardens/",label:"Homes & Gardens on Facebook"},{key:"x",href:"https://x.com/homesandgardens",label:"Homes & Gardens on X"},{key:"tiktok",href:"https://www.tiktok.com/@homesandgardensofficial",label:"Homes & Gardens on TikTok"},{key:"pinterest",href:"https://pinterest.com/homesgardensofficial/",label:"Homes & Gardens on Pinterest"}],whowhatwear:[{key:"x",href:"https://twitter.com/WhoWhatWear",label:"Who What Wear on X"},{key:"instagram",href:"https://www.instagram.com/whowhatwear/",label:"Who What Wear on Instagram"},{key:"facebook",href:"https://www.facebook.com/WhoWhatWear/",label:"Who What Wear on Facebook"},{key:"pinterest",href:"https://www.pinterest.co.uk/whowhatwearuk/",label:"Who What Wear on Pinterest"},{key:"tiktok",href:"https://www.tiktok.com/@whowhatwear.uk",label:"Who What Wear on TikTok"}]};var Ot=B(O(),1);function v0(e){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").trim().toLowerCase()}function Jw(e){let t=ee(String(e.brand||"")).trim(),n=ee(String(e.productName||e.title||"")).trim(),a=v0(t),l=v0(n);return a.length>0&&l.startsWith(a)&&!/^[a-z0-9]/.test(l.slice(a.length))||!t?n:`${t} ${n}`.trim()}function b0({couponStatus:e,deal:t,editorMode:n,hideHawkPrices:a,isDescriptionExpanded:l,isSelected:i,onDescriptionToggle:r,onOpenVouchers:o,onSelectionChange:u,website:c}){let s=ee(String(t.currency||"")),f=t.rawMsrp?s+t.rawMsrp:null,d=Jw(t),m=ee(String(t.title||"")),v=Gu[c||"tomsguide"]||c||"Tom's Guide",A=(c||"tomsguide").includes(".")?(c||"").startsWith("http")?c:`https://${c}`:`https://www.${c||"tomsguide"}.com`,b=(t.documentUrl||"").replace(/^\/+/,""),h=b.startsWith("http://")||b.startsWith("https://")?b:`${A}/${b}`,g=String(t.sourceArticleUrl||t.documentUrl||t.url||"").replace(/^\/+/,""),p=g.startsWith("http://")||g.startsWith("https://")?g:`${A}/${g}`,y=!!t.hasCommerceOffer;return(0,Ot.jsxs)("div",{className:"tg-df-card","data-brand":t.modelBrand||t.brand||void 0,"data-currency":t.isoCurrencyCode||s||void 0,"data-deal-id":t.externalProductId||t.id||void 0,"data-merchant":t.merchant||void 0,"data-merchant-id":t.merchantId||void 0,"data-model-id":t.modelId||void 0,"data-previous-price":t.rawMsrp||void 0,"data-price":t.rawPrice||void 0,"data-product-key":t.productKey||void 0,"data-product-name":t.productName||t.title||void 0,"data-review-product":t.isReviewProduct?"true":void 0,"data-source-article-url":t.isReviewProduct?p:void 0,children:[n&&(0,Ot.jsx)("input",{type:"checkbox",className:"tg-df-deal-checkbox",checked:i,onChange:C=>u(C.target.checked)}),(0,Ot.jsx)(d0,{couponStatus:e,deal:t,onOpenVouchers:o}),(0,Ot.jsxs)("div",{className:"tg-df-card-body",children:[(0,Ot.jsx)("h3",{className:"tg-df-card-title",title:m,children:(0,Ot.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":y?"":void 0,className:y?"hawk-affiliate-link-container":void 0,target:"_blank",rel:y?"sponsored nofollow noopener":"noopener",style:{textDecoration:"none",color:"inherit"},children:(0,Ot.jsx)("strong",{children:d})})}),(0,Ot.jsx)(f0,{label:t.isBuyingGuideProduct?"":`${v} rating:`,starRating:t.starRating,color:t.isReviewProduct?"var(--tg-df-blue)":void 0}),t.isBuyingGuideProduct||t.isReviewProduct?(0,Ot.jsx)(m0,{cons:t.cons,expanded:l,fullReviewUrl:t.isReviewProduct&&g?p:void 0,onToggle:r,pros:t.pros,subtitle:t.isReviewProduct?t.description:t.subtitle,truncateSubtitle:t.isReviewProduct}):t.description?(0,Ot.jsx)(h0,{text:t.description,expanded:l,onToggle:r}):null,(0,Ot.jsx)(s0,{authorUrl:h,deal:t,hideHawkPrices:a,msrpFormatted:f,sourceArticleUrl:p})]})]})}var ce=B(O(),1);function $w({activeDealTag:e,activeFreeformTags:t=[],query:n,selectedBrands:a=[]}){let l=o=>{let u=String(o||"").trim();return u&&u.toLowerCase()!=="everything"?u:""},r=(t.length>0?t:e?[e]:a.length>0?a:[n]).map(l).filter(Boolean).map(o=>o.replace(/\s+deals?$/i,"").trim()).filter((o,u,c)=>c.findIndex(s=>s.toLowerCase()===o.toLowerCase())===u);return r.length<=1?r[0]||"":`${r.slice(0,-1).join(", ")} or ${r.at(-1)}`}function e2(){return(0,ce.jsx)(ce.Fragment,{children:Array.from({length:6}).map((e,t)=>(0,ce.jsxs)("div",{className:"tg-df-card",children:[(0,ce.jsx)("div",{className:"tg-df-card-image-box tg-df-skeleton"}),(0,ce.jsxs)("div",{className:"tg-df-card-body",children:[(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short",style:{marginBottom:"24px"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title",style:{width:"80%"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short"}),(0,ce.jsx)("div",{className:"tg-df-card-cta tg-df-skeleton",style:{width:"100%",height:"40px",marginTop:"auto",border:"none"}})]})]},t))})}function t2(e,t){return{"@context":"https://schema.org","@type":"ItemList",itemListElement:e.slice(0,t).map((n,a)=>{let l="USD";return n.currency==="\xA3"?l="GBP":n.currency==="\u20AC"?l="EUR":n.currency==="A$"?l="AUD":n.currency==="CA$"&&(l="CAD"),{"@type":"ListItem",position:a+1,item:{"@type":"Product",name:n.title,image:n.image||"",description:n.description||"",brand:{"@type":"Brand",name:n.brand||""},offers:{"@type":"Offer",priceCurrency:l,price:n.rawPrice||0,url:n.url||"",seller:{"@type":"Organization",name:n.merchant||""}}}}}).filter(n=>n.item.name)}}function w0({activeDealTag:e,activeFreeformTags:t,couponMap:n,deals:a,displayCount:l,editorMode:i,error:r,expandedDealIds:o,hasMore:u,hideHawkPrices:c,loading:s,loadingMore:f,loadMoreStartCount:d,onDescriptionToggle:m,onLoadMore:v,onOpenVouchers:A,query:b,recentDealsOnly:h,selectedBrands:g,selectedDeals:p,setSelectedDeals:y,website:C}){let R=$w({activeDealTag:e,activeFreeformTags:t,query:b,selectedBrands:g}),T=f&&d!=null?d:l,M=!f&&d!=null&&d<T?d:null,w=D=>D.map(k=>(0,ce.jsx)(A0.default.Fragment,{children:(0,ce.jsx)(b0,{couponStatus:n[k.merchant],deal:k,editorMode:i,hideHawkPrices:c,isDescriptionExpanded:o.has(k.id),isSelected:p.has(k.id),onDescriptionToggle:()=>m(k.id),onOpenVouchers:A,onSelectionChange:se=>{let I=new Map(p);se?I.set(k.id,k):I.delete(k.id),y(I)},website:C})},k.id));return(0,ce.jsx)("div",{className:"tg-df-grid-wrapper",children:(0,ce.jsx)("div",{className:"tg-df-grid article-body tg-df-grid-auto",id:"tg-df-grid",children:s?(0,ce.jsx)(e2,{}):r?(0,ce.jsx)("div",{className:"tg-df-message",children:"Failed to load deals. Please try again."}):a.length===0?(0,ce.jsx)("div",{className:"tg-df-message",children:h?`No ${R?`${R} `:""}deals found from the last 30 days.`:!b||b.length<=2||b.toLowerCase()==="everything"?"No deals found for this author.":`No savings squad match your search for "${b}".`}):(0,ce.jsxs)(ce.Fragment,{children:[w(a.slice(0,M??T)),M!=null&&(0,ce.jsx)("div",{"aria-live":"polite",className:"tg-df-load-more-boundary",style:{alignItems:"center",color:"var(--tg-df-text-muted)",display:"flex",fontSize:"13px",fontWeight:600,gridColumn:"1 / -1",justifyContent:"center",marginTop:"16px",minHeight:"40px",overflowAnchor:"none"},children:"More products"}),M!=null&&w(a.slice(M,T)),u&&(0,ce.jsx)("div",{className:"tg-df-load-more-control",style:{width:"100%",display:"flex",justifyContent:"center",marginTop:"16px",gridColumn:"1 / -1",overflowAnchor:"none"},children:(0,ce.jsx)("button",{type:"button",className:"tg-df-tag-outline",style:{padding:"8px 24px",borderRadius:"100px",fontWeight:600,fontSize:"14px",cursor:"pointer"},"aria-busy":f,disabled:f,onClick:D=>{D.preventDefault(),D.stopPropagation(),v()},children:f?"Loading more products\u2026":"Load More"})}),a.length>0&&(0,ce.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t2(a,T))}})]})})})}var S0=B(O(),1);var pn=B(ft(),1),nn=B(O(),1);function Pu({onScrollLeft:e,onScrollRight:t,showLeft:n,showRight:a}){return(0,nn.jsxs)(nn.Fragment,{children:[(0,nn.jsx)("button",{"aria-label":"Scroll left",className:"tg-df-scroll-btn left tg-df-desktop-only",onClick:e,style:{display:n?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,nn.jsx)("button",{"aria-label":"Scroll right",className:"tg-df-scroll-btn right tg-df-desktop-only",onClick:t,style:{display:a?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})}function qu(e){let t=(0,pn.useRef)(null),[n,a]=(0,pn.useState)(!1),[l,i]=(0,pn.useState)(!1),r=(0,pn.useCallback)(()=>{let u=t.current;u&&(a(u.scrollLeft>1),i(Math.ceil(u.scrollLeft+u.clientWidth)<u.scrollWidth-1))},[]);(0,pn.useLayoutEffect)(()=>{let u=t.current;if(!u)return;r();let c=requestAnimationFrame(r),s=typeof ResizeObserver>"u"?null:new ResizeObserver(r);return s?.observe(u),()=>{cancelAnimationFrame(c),s?.disconnect()}},[e,r]);let o=(0,pn.useCallback)(u=>{t.current?.scrollBy({left:u,behavior:"smooth"})},[]);return{onScroll:r,railRef:t,scrollLeft:()=>o(-240),scrollRight:()=>o(240),showLeft:n,showRight:l}}var jn=B(O(),1);function ui({containerClassName:e,itemClassName:t,items:n,loading:a,loadingKey:l,onItemClick:i,rowClassName:r,showCounters:o}){let u=qu(n.length);return n.length===0&&!a?null:(0,jn.jsxs)("div",{className:e,style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[n.length>0&&(0,jn.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,jn.jsx)("div",{className:r,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none"},onScroll:u.onScroll,children:n.length>0?n.map(c=>(0,jn.jsxs)("button",{className:t,onClick:()=>i(c.key),style:{border:"none",borderRight:"1px solid var(--tg-df-border)",padding:"12px 20px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"1px",cursor:"pointer",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:"6px",...t==="tg-df-brand-row-item"?{transition:"all 0.2s ease"}:{},background:c.selected?"var(--tg-df-bg-secondary)":"var(--tg-df-bg)",color:c.selected?"var(--tg-df-text-primary)":"var(--tg-df-text-muted)",fontWeight:c.selected?600:500},children:[c.label," ",l===c.key&&(0,jn.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading",style:{borderWidth:"2px",height:"12px",width:"12px"}}),o!==!1&&(0,jn.jsx)("span",{style:{color:"var(--tg-df-blue)",fontSize:"10px",...t==="tg-df-brand-row-item"?{fontWeight:400}:{}},children:c.count})]},c.key)):[1,2,3,4,5].map(c=>(0,jn.jsx)("div",{className:"tg-df-skeleton",style:{height:"36px",width:"80px",borderRadius:"18px",flexShrink:0,margin:"8px 12px"}},`${r}-skeleton-${c}`))})]})}var R0=B(O(),1);function C0({airedaleBrands:e,brands:t,loading:n,refreshing:a,onBrandToggle:l,selectedBrands:i,showAuthorCounters:r}){let o=e.length>0?e:t||[],u=o.slice(0,15).map(c=>({count:c.count||0,key:c.formatted_value,label:c.formatted_value,selected:i?.includes(c.formatted_value)||!1}));return(0,R0.jsx)(ui,{containerClassName:"tg-df-brands-row-container",itemClassName:"tg-df-brand-row-item",items:u,loading:n&&o.length===0,loadingKey:a?i?.[0]:null,onItemClick:c=>l?.(c),rowClassName:"tg-df-brands-row",showCounters:r})}var E0=B(O(),1);function T0({activeDealTag:e,airedaleTagCounts:t,airedaleTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>{let c=u.split(":::"),s=c[0];return{count:t[u]||0,key:s,label:c[1]||u,selected:e===s}});return(0,E0.jsx)(ui,{containerClassName:"tg-df-categories-row-container",itemClassName:"tg-df-category-row-item",items:o,loading:a&&n.length===0,loadingKey:l?e:null,onItemClick:i,rowClassName:"tg-df-categories-row",showCounters:r})}var x0=B(O(),1);function D0({activeFreeformTags:e,freeformTagCounts:t,freeformTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>({count:t[u.handle]||0,key:u.handle,label:u.label,selected:e.includes(u.handle)}));return(0,x0.jsx)(ui,{containerClassName:"tg-df-freeform-tags-row-container",itemClassName:"tg-df-freeform-tag-row-item",items:o,loading:a&&n.length===0,loadingKey:l&&e.at(-1)||null,onItemClick:i,rowClassName:"tg-df-freeform-tags-row",showCounters:r})}var _e=B(O(),1),n2=4;function M0({authors:e,clickedAuthorOverride:t,loading:n,refreshing:a,onAuthorClick:l,overriddenAuthorHandle:i,overriddenAuthorName:r,website:o}){let u=qu(e.length);return e.length===0&&!n?null:(0,_e.jsxs)("div",{className:"tg-df-authors-row-container",style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[e.length>0&&(0,_e.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,_e.jsx)("div",{className:"tg-df-authors-row tg-df-mobile-authors",onScroll:u.onScroll,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",gap:"24px",padding:"4px 16px 2px 16px",alignItems:"flex-start"},children:e.length>0?e.map((c,s)=>{let f=Nr[c.brandKey]||Nr[o||"tomsguide"],d=t&&(i===c.handle||r===c.fullName);return(0,_e.jsxs)("div",{className:"tg-df-author-row-item",onClick:()=>l(c),style:{cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px",opacity:t?d?1:.4:1},children:[(0,_e.jsxs)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px",borderRadius:"50%",boxShadow:d?"0 0 0 3px var(--tg-df-blue, #1F69FF)":"none"},children:[(0,_e.jsx)("img",{src:ri(c.image),alt:c.fullName,decoding:"async",loading:s<n2?"eager":"lazy",style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover",filter:t&&!d?"grayscale(100%)":"none"}}),d&&(0,_e.jsx)("span",{"aria-label":`Clear ${c.fullName} selection`,className:"tg-df-author-clear-badge",title:"Click again to clear selection",style:{alignItems:"center",backgroundColor:"#dc2626",border:"2px solid var(--tg-df-bg, #fff)",borderRadius:"50%",boxShadow:"0 1px 3px rgb(0 0 0 / 25%)",color:"#fff",display:"flex",fontSize:"15px",fontWeight:700,height:"20px",justifyContent:"center",lineHeight:1,position:"absolute",right:"-5px",top:"-5px",width:"20px",zIndex:1},children:(0,_e.jsx)("span",{"aria-hidden":"true",style:{display:"block",transform:"translateY(-1px)"},children:"\xD7"})}),f&&(0,_e.jsx)("img",{src:f,alt:"",className:"tg-df-author-brand-logo",decoding:"async",loading:"lazy",style:{position:"absolute",bottom:"-4px",right:"-4px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid var(--tg-df-bg, #fff)",backgroundColor:"#000",objectFit:"contain",filter:t&&!d?"grayscale(100%)":"none"}})]}),(0,_e.jsxs)("div",{style:{textAlign:"center"},children:[(0,_e.jsxs)("div",{className:"tg-df-author-row-name",style:{fontSize:"13px",fontWeight:700,color:"var(--tg-df-text)",lineHeight:"1.2"},children:[c.name,a&&d&&(0,_e.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading author products",style:{borderWidth:"2px",display:"inline-block",height:"11px",marginLeft:"4px",width:"11px"}})]}),c.role&&(0,_e.jsx)("div",{className:"tg-df-author-row-role",style:{fontSize:"11px",color:"var(--tg-df-text-muted)",lineHeight:"1.2",marginTop:"2px",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word"},children:c.role})]})]},c.handle)}):[1,2,3,4].map(c=>(0,_e.jsxs)("div",{className:"tg-df-author-row-item",style:{display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px"},children:[(0,_e.jsx)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px"},children:(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),(0,_e.jsxs)("div",{style:{textAlign:"center",width:"100%"},children:[(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"12px",width:"80%",margin:"0 auto 4px auto",borderRadius:"2px"}}),(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"10px",width:"60%",margin:"0 auto",borderRadius:"2px"}})]})]},`author-skeleton-${c}`))})]})}var Ja=B(O(),1);function _0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,freeformTagCounts:i,freeformTags:r,allAuthorsList:o,brands:u,clickedAuthorOverride:c,loading:s,refreshing:f,onAuthorClick:d,onBrandToggle:m,onTagClick:v,onFreeformTagClick:A,overriddenAuthorHandle:b,overriddenAuthorName:h,selectedBrands:g,showAuthorRail:p,showAuthorCounters:y,showBrandRail:C,showCategoryRail:R,showFreeformTagRail:T,website:M}){let w=R!==!1&&l.length>0||T!==!1&&r.length>0||C!==!1&&(n.length>0||!!u?.length)||p&&o.length>0;return!(p||R!==!1||T!==!1||C!==!1)||!w&&!s?null:(0,Ja.jsxs)("div",{id:"tg-df-spreadsheet-filters",style:{display:"block",marginBottom:"16px"},children:[p&&(0,Ja.jsx)(M0,{authors:o,clickedAuthorOverride:c,loading:s&&o.length===0,refreshing:f,onAuthorClick:d,overriddenAuthorHandle:b,overriddenAuthorName:h,website:M}),R!==!1&&(0,Ja.jsx)(T0,{activeDealTag:e,airedaleTagCounts:a,airedaleTags:l,loading:s,refreshing:f,onTagClick:v,showAuthorCounters:y}),T!==!1&&(0,Ja.jsx)(D0,{activeFreeformTags:t,freeformTagCounts:i,freeformTags:r,loading:s,refreshing:f,onTagClick:A,showAuthorCounters:y}),C!==!1&&(0,Ja.jsx)(C0,{airedaleBrands:n,brands:u,loading:s,refreshing:f,onBrandToggle:m,selectedBrands:g,showAuthorCounters:y})]})}var O0=B(ft(),1);var B0=[{value:"date_desc",label:"Most recent"},{value:"rating_desc",label:"Highest rating"},{value:"scored_first",label:"Scored products first"}];function Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}){return!!(a&&e!==!0&&t===!1&&n===!1)}function Fu({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a,lightweightReviewDelivery:l,showPriceDiscountFilters:i,showReviewSort:r}){return!!(l&&i===!1&&r===!1&&Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}))}function ju(e=!0){return e?B0:B0.filter(t=>t.value!=="scored_first")}function wa(e,t=!0){return!t&&e==="scored_first"?"date_desc":e||"date_desc"}var H=B(O(),1),N0=[{value:"all",label:"All Prices",shortLabel:""},{value:"under50",label:"Under $50",shortLabel:"< $50"},{value:"50_100",label:"$50 - $100",shortLabel:"$50-$100"},{value:"100_200",label:"$100 - $200",shortLabel:"$100-$200"},{value:"200_500",label:"$200 - $500",shortLabel:"$200-$500"},{value:"over500",label:"Over $500",shortLabel:"> $500"}],a2=[{value:"0",label:"Any discount"},...[5,10,15,20,25,30,40,50,60,70].map(e=>({value:String(e),label:`Min ${e}% off`}))];function l2({open:e}){return(0,H.jsx)("svg",{"aria-hidden":"true",className:e?"is-open":void 0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("path",{d:"m6 9 6 6 6-6"})})}function Yn(){return(0,H.jsx)("svg",{"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function k0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,brands:i,discountAmount:r,enabled:o,freeformTagCounts:u,freeformTags:c,includeScoredFirst:s,onBrandSelect:f,onBrandToggle:d,onDiscountAmountChange:m,onFreeformTagClear:v,onFreeformTagToggle:A,onPriceRangeChange:b,onReviewSortChange:h,onTagClear:g,onTagClick:p,priceRange:y,reviewSort:C,selectedBrands:R,showCounters:T,showBrandRail:M,showCategoryRail:w,showFreeformTagRail:D,showPriceDiscountFilters:k,showReviewSort:se}){let[I,j]=(0,O0.useState)(null);if(!o)return null;let He=l.map(x=>{let P=x.split(":::");return{count:a[x]||0,handle:P[0],label:P[1]||x}}),ze=n.length>0?n:i||[],St=He.find(x=>x.handle===e),Ie=y||"all",rn=!r||r==="all"?"0":r,Be=N0.find(x=>x.value===Ie),Je=k!==!1,nt=wa(C,s),X=ju(s),de=nt==="rating_desc"?"Highest rating":nt==="scored_first"?"Scored first":"Most recent",$e=x=>{j(P=>P===x?null:x)},Z=[];return w!==!1&&Z.push({active:!!e,label:`CATEGORIES${St?` (${St.label})`:""}`,menu:"categories"}),D!==!1&&Z.push({active:t.length>0,label:`KEYWORDS${t.length>0?` (${t.length})`:""}`,menu:"keywords"}),M!==!1&&Z.push({active:R.length>0,label:`BRANDS${R.length>0?` (${R.length})`:""}`,menu:"brands"}),Je&&Z.push({active:Ie!=="all",label:`PRICES${Be?.shortLabel?` (${Be.shortLabel})`:""}`,menu:"prices"}),(Je||se)&&Z.push({active:se?nt!=="date_desc":rn!=="0",label:se?`SORT REVIEWS (${de})`:`DISCOUNTS${rn!=="0"?` (${rn}%+)`:""}`,menu:se?"review-sort":"discounts"}),(0,H.jsxs)("div",{className:"tg-df-mobile-2x2-container",children:[(0,H.jsx)("div",{className:`tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--${Z.length%2===0?"even":"odd"}`,children:Z.map(x=>(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-grid-cell${x.active?" has-active-filter":""}${I===x.menu?" active":""}`,"aria-expanded":I===x.menu,onClick:()=>$e(x.menu),children:[(0,H.jsx)("span",{children:x.label}),(0,H.jsx)(l2,{open:I===x.menu})]},x.menu))}),w!==!1&&I==="categories"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${e?"":" selected"}`,onClick:()=>{g(),j(null)},children:[(0,H.jsx)("span",{children:"All Categories"}),!e&&(0,H.jsx)(Yn,{})]}),He.map(x=>{let P=e===x.handle;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{p(x.handle),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},x.handle)})]}),M!==!1&&I==="brands"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${R.length===0?" selected":""}`,onClick:()=>f?.([]),children:[(0,H.jsx)("span",{children:"All Brands"}),R.length===0&&(0,H.jsx)(Yn,{})]}),ze.map(x=>{let P=x.formatted_value,Q=R.includes(P);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${Q?" selected":""}`,onClick:()=>d?.(P),children:[(0,H.jsx)("span",{children:P}),Q?(0,H.jsx)(Yn,{}):T!==!1&&x.count?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},P)})]}),D!==!1&&I==="keywords"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${t.length===0?" selected":""}`,onClick:()=>{v(),j(null)},children:[(0,H.jsx)("span",{children:"All Keywords"}),t.length===0&&(0,H.jsx)(Yn,{})]}),c.map(x=>{let P=t.includes(x.handle);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>A(x.handle),children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1&&u[x.handle]?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:u[x.handle]}):null]},x.handle)})]}),I==="prices"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:N0.map(x=>{let P=Ie===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{b?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="discounts"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:a2.map(x=>{let P=rn===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{m?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="review-sort"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:X.map(x=>{let P=nt===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{h?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})})]})}var $a=B(ft(),1);var W=B(O(),1);function L0({airedaleBrands:e,airedaleTags:t,discountAmount:n,hidden:a,includeScoredFirst:l,onDiscountAmountChange:i,onPriceRangeChange:r,onReviewSortChange:o,priceRange:u,reviewSort:c,showReviewSort:s,showPriceDiscountFilters:f}){let d=(0,$a.useRef)(null),[m,v]=(0,$a.useState)(!1),[A,b]=(0,$a.useState)(!1),h=ju(l),g=wa(c,l),p=()=>{if(!d.current)return;let{scrollLeft:y,scrollWidth:C,clientWidth:R}=d.current;v(y>0),b(Math.ceil(y+R)<C-5)};return(0,$a.useEffect)(()=>(p(),window.addEventListener("resize",p),setTimeout(p,100),setTimeout(()=>{document.querySelector(".tg-df-categories-row")?.dispatchEvent(new Event("scroll")),document.querySelector(".tg-df-brands-row")?.dispatchEvent(new Event("scroll"))},150),()=>window.removeEventListener("resize",p)),[t,e]),(0,W.jsx)("div",{className:"tg-df-controls",id:"tg-df-controls",style:{display:a?"none":"flex",marginTop:"12px",marginBottom:"16px",justifyContent:"center"},children:(0,W.jsxs)("div",{className:"tg-df-filters-container",style:{position:"relative",width:"100%",maxWidth:"800px",margin:"0 auto"},children:[(0,W.jsx)("button",{className:"tg-df-scroll-btn left",style:{display:m?"flex":"none"},onClick:()=>d.current?.scrollBy({left:-200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,W.jsx)("button",{className:"tg-df-scroll-btn right",style:{display:A?"flex":"none"},onClick:()=>d.current?.scrollBy({left:200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M9 18l6-6-6-6"})})}),(0,W.jsxs)("div",{className:"tg-df-filters",ref:d,onScroll:p,children:[(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-legacy-price-wrapper",style:{display:f!==!1?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-price-filter","aria-label":"Filter Prices",value:u||"all",onChange:y=>r?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"All Prices"}),(0,W.jsx)("option",{value:"under50",children:"Under $50"}),(0,W.jsx)("option",{value:"50_100",children:"$50 - $100"}),(0,W.jsx)("option",{value:"100_200",children:"$100 - $200"}),(0,W.jsx)("option",{value:"200_500",children:"$200 - $500"}),(0,W.jsx)("option",{value:"over500",children:"Over $500"})]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-discount-filter-wrapper",style:{display:f!==!1&&!s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-discount-filter","aria-label":"Discount Amount",value:n||"all",onChange:y=>i?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"Any discount"}),[5,10,15,20,25,30,40,50,60,70].map(y=>(0,W.jsxs)("option",{value:y,children:["Min ",y,"%"]},y))]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-review-sort-wrapper",style:{display:s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M4 7h16M7 12h10m-7 5h4"})}),(0,W.jsx)("select",{className:"tg-df-filter-select",id:"tg-df-review-sort","aria-label":"Sort Reviews",value:g,onChange:y=>o?.(y.target.value),children:h.map(y=>(0,W.jsx)("option",{value:y.value,children:y.label},y.value))})]})]})]})})}var be=B(ft(),1);function kr(e,t){return e.filter(n=>{let a=n.handle.toLowerCase(),l=n.fullName.toLowerCase(),i=n.name.toLowerCase();return t.some(r=>{let o=r.articleauthorhandle||[],u=r.articleauthor||[],c=r.articleauthortext||[];return[...o,...u,...c].some(s=>{let f=String(s||"").toLowerCase();return f===a||f===l||f===i})})})}function Yu(e,t){return e.map((n,a)=>({index:a,profile:n,productCount:t[n.handle]||0})).sort((n,a)=>a.productCount-n.productCount||n.index-a.index).map(({profile:n})=>n)}function Vu(e,t){return e==="all-authors"||t==="all-authors"||t==="All authors"||!e&&!t}function Xu(e,t,n){let a=e;if((t||n)&&t!=="all-authors"&&n!=="all-authors"&&n!=="All authors"){if(t){let l=t.toLowerCase(),i=e.filter(r=>r.articleauthorhandle&&r.articleauthorhandle.some(o=>o.toLowerCase()===l));if(i.length>0)a=i;else if(n){let r=n.toLowerCase(),o=e.filter(u=>u.articleauthor&&u.articleauthor.some(c=>c.toLowerCase()===r));o.length>0&&(a=o)}}else if(n){let l=n.toLowerCase();a=e.filter(i=>i.articleauthor&&i.articleauthor.some(r=>r.toLowerCase()===l))}}return a}function sf(e,t,n){let a=0;if(t&&e.articleauthorhandle){let l=e.articleauthorhandle.findIndex(i=>i.toLowerCase()===t.toLowerCase());l>=0&&(a=l)}else if(n&&e.articleauthor){let l=e.articleauthor.findIndex(i=>i.toLowerCase()===n.toLowerCase());l>=0&&(a=l)}return a}function Qu(e,t,n){let a=sf(e,t,n),l=i=>typeof i=="string"?ee(i):i||"";return{authorName:e.articleauthortext?l(e.articleauthortext[a]):e.articleauthor?l(e.articleauthor[a]):"",authorRole:e.articleauthorrole?l(e.articleauthorrole[a]):"",authorImage:e.articleauthormedia?e.articleauthormedia[a]:""}}function Lr(e,t){let n=new Map;return e.forEach(a=>{if(!a.articleauthor)return;let l=t;if(a.documenturl)try{let f=new URL(a.documenturl).hostname.replace("www.","").split(".");f.length>0&&(l=f[0].toLowerCase())}catch{}let i=a.articleauthorhandle||[],r=a.articleauthor||[],o=a.articleauthortext||[],u=a.articleauthorrole||[],c=a.articleauthormedia||[];r.forEach((s,f)=>{if(!s||s==="null"||s.toLowerCase()==="all authors")return;let d=i[f]&&i[f]!=="null"?i[f]:s.toLowerCase().replace(/\s+/g,"-");if(!d||d==="null")return;let m=o[f]&&o[f]!=="null"?o[f]:s,v=u[f]&&u[f]!=="null"?u[f]:"",A=ee(String(m)),b=ee(String(v)),h=c[f]&&c[f]!=="null"?c[f]:"",g=A.split(" ")[0],p=_r(a,f,"short"),y=_r(a,f,"long"),C=Uu(a,f),R=n.get(d);!R&&A&&h?n.set(d,{...y?{bioLong:y}:{},...p?{bioShort:p}:{},name:g,fullName:A,handle:d,role:b,image:h,brandKey:l,...C.length>0?{socialNetworks:C}:{}}):R&&(!R.bioShort&&p&&(R.bioShort=p),!R.bioLong&&y&&(R.bioLong=y),!R.socialNetworks?.length&&C.length>0&&(R.socialNetworks=C))})}),Array.from(n.values())}var E=B(O(),1);function z0(e){let t=(0,be.useRef)(""),n=(0,be.useRef)(null),a=(0,be.useCallback)(()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null)},[]),l=(0,be.useCallback)(r=>{a(),t.current=r},[a]),i=(0,be.useCallback)((r,o,u=!1)=>{if(!e)return;if(r===t.current){a();return}let c=()=>{n.current=null,t.current=r,e(o)};a(),u?c():n.current=window.setTimeout(c,350)},[a,e]);return(0,be.useEffect)(()=>a,[a]),{save:i,synchronise:l}}function H0({contentKey:e,defaultText:t,kind:n,onChange:a,value:l}){let i=(0,be.useRef)(null),r=(0,be.useRef)(e),[o,u]=(0,be.useState)(!1),c=l??t,s=!!a,{save:f,synchronise:d}=z0(a);(0,be.useLayoutEffect)(()=>{let g=r.current!==e;i.current&&(g||document.activeElement!==i.current)&&(i.current.innerHTML!==c&&(i.current.innerHTML=c),d(c)),r.current=e},[e,d,c]);let m=(g=!1)=>{if(!i.current)return;let p=i.current.innerHTML;f(p,p===t?void 0:p,g)},v=(g,p)=>{document.execCommand(g,!1,p),m(!0)},A=n==="kicker"?{fontSize:"0.875rem",color:"#6B7280",fontStyle:"normal",margin:"0 0 0.25rem 0"}:{fontSize:"2.25rem",fontWeight:300,color:"#111827",margin:"0 0 0.25rem 0",lineHeight:1.1,letterSpacing:"-0.02em"},b=n==="kicker"?"tg-df-author-curated-by tg-df-author-kicker":"tg-df-author-name",h=()=>n==="kicker"?(0,E.jsx)("p",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}}):(0,E.jsx)("h2",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}});return s?(0,E.jsxs)("div",{className:"tg-df-author-header-text-shell",style:{position:"relative"},children:[o&&(0,E.jsxs)("div",{className:"tg-df-author-header-text-toolbar",role:"toolbar","aria-label":`${n==="kicker"?"Shop by text":"Site or author name"} formatting`,style:{display:"flex",justifyContent:"center",alignItems:"center",gap:"0.25rem",margin:"0 auto 0.375rem",width:"fit-content",padding:"0.25rem 0.5rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",fontSize:"11px",zIndex:10},children:[(0,E.jsx)("span",{style:{color:"#64748b",padding:"2px 2px 2px 0"},children:"Editing"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("bold"),title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("italic"),title:"Italic",children:(0,E.jsx)("em",{children:"I"})}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{let g=prompt("Enter URL:");g&&v("createLink",g)},title:"Add link",children:"\u{1F517}"}),l!==void 0&&(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{i.current&&(i.current.innerHTML=t),d(t),a?.(void 0)},title:"Restore default",children:"Reset"})]}),h()]}):h()}function i2({contentKey:e,initialBio:t,defaultPlaceholder:n,onBioChange:a,stabilizeHeight:l=!1}){let r=(0,be.useRef)(null),o=(0,be.useRef)(e),u=(0,be.useRef)(n),c=(0,be.useRef)(!1),[s,f]=(0,be.useState)(!1),[d,m]=(0,be.useState)(!1),[v,A]=(0,be.useState)(!1),b=t||n,h=l&&b.replace(/<[^>]*>/g,"").trim().length>240,g=!!a,{save:p,synchronise:y}=z0(a);(0,be.useLayoutEffect)(()=>{let w=o.current!==e,D=u.current!==n;w&&(c.current=!1);let k=!t&&D&&!c.current;r.current&&(w||document.activeElement!==r.current||k)&&(r.current.innerHTML!==b&&(r.current.innerHTML=b),y(b)),o.current=e,u.current=n},[b,e,n,t,y]),(0,be.useLayoutEffect)(()=>{m(!1)},[e]),(0,be.useLayoutEffect)(()=>{if(!h||!r.current){A(!1);return}let w=r.current,D=()=>{A(w.scrollHeight>w.clientHeight+1)};if(D(),typeof ResizeObserver>"u")return;let k=new ResizeObserver(D);return k.observe(w),()=>k.disconnect()},[b,e,d,h]);let C=(w,D=null)=>{if(c.current=!0,document.execCommand(w,!1,D||void 0),r.current){let k=r.current.innerHTML;p(k,k===n?"":k,!0)}},R=(w=!1)=>{if(!r.current)return;let D=r.current.innerHTML;p(D,D===n?"":D,w)};return(0,E.jsxs)("div",{style:{position:"relative",maxWidth:"42rem",margin:"0 auto 0.5rem auto",padding:"0.25rem 0.5rem"},className:`tg-df-author-bio-shell${l?" tg-df-author-bio-shell--stable":""}`,children:[g&&s&&(0,E.jsxs)("div",{role:"toolbar","aria-label":"Introduction text formatting",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"0.375rem",marginBottom:"0.5rem",padding:"0.25rem 0.625rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",width:"fit-content",margin:"0 auto 0.5rem auto",fontSize:"12px",userSelect:"none",zIndex:10},children:[(0,E.jsx)("span",{style:{fontSize:"11px",color:"#64748b",fontWeight:500,marginRight:"2px"},children:"Editing \u2014 saves when you click away"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("bold"),style:{fontWeight:"bold",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("italic"),style:{fontStyle:"italic",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Italic",children:"I"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>{let w=prompt("Enter URL:");w&&C("createLink",w)},style:{padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Add Link",children:"\u{1F517}"}),t&&(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:w=>{w.preventDefault(),w.stopPropagation(),r.current&&(r.current.innerHTML=n),c.current=!1,y(n),a&&a("")},style:{fontSize:"10px",padding:"2px 8px",borderRadius:"4px",background:"#fee2e2",color:"#991b1b",cursor:"pointer",border:"1px solid #fca5a5"},title:"Reset Bio",children:"Reset"})]}),(0,E.jsx)("div",{ref:r,contentEditable:g?!0:void 0,suppressContentEditableWarning:g,onFocus:g?()=>{f(!0)}:void 0,onBlur:g?()=>{f(!1),R(!0),c.current=!1}:void 0,onInput:g?()=>{c.current=!0}:void 0,className:`tg-df-author-bio ${g?"wysiwyg-bio-editable":"tg-df-author-bio--static"}${h?d?" tg-df-author-bio--expanded":" tg-df-author-bio--clamped":""}`,style:{color:"#4b5563",lineHeight:1.6,fontWeight:300,fontSize:"0.9375rem",textAlign:"center",outline:g&&s?"2px solid #3b82f6":"none",borderRadius:"6px",padding:"0.375rem 0.5rem",cursor:g?"text":"default",transition:"all 0.15s ease-in-out"}}),h?(0,E.jsx)("div",{className:"tg-df-author-bio-toggle-slot",children:(0,E.jsx)("button",{type:"button",className:"tg-df-author-bio-toggle","aria-expanded":d,onClick:()=>m(w=>!w),style:{visibility:v||d?"visible":"hidden"},children:d?"Show less":"Read more"})}):null]})}function r2(e){let t=(e||"").toLowerCase();return t==="linkedin"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"})}):t==="twitter"||t==="x"?(0,E.jsx)("svg",{className:"icon-svg",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,E.jsx)("path",{fill:"currentColor",d:"M18 2h4l-8 9 9 11h-7l-5-7-6 7H2l7-9L1 2h7l5 6zm-1 18h2L7 4H5z"})}):t==="email"||t==="mail"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),(0,E.jsx)("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}):t==="instagram"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"5",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"12",cy:"12",r:"4.25",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"17.4",cy:"6.7",r:"1.25",fill:"currentColor"})]}):t==="steam"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("circle",{fill:"#0f1618",cx:"12",cy:"12",r:"12"}),(0,E.jsx)("path",{d:"m18.22 8.9a2.269 2.269 0 1 1 -2.27-2.265 2.267 2.267 0 0 1 2.27 2.265zm2.258.005a4.534 4.534 0 0 1 -4.533 4.526h-.1l-4.087 2.911v.161a3.4 3.4 0 0 1 -6.74.669l-4.549-1.879c-.032-.109-.057-.219-.085-.329a11.973 11.973 0 0 1 -.384-2.964c0-.214.02-.423.032-.635 0-.1.008-.206.016-.308l6.394 2.643a3.385 3.385 0 0 1 1.915-.591c.065 0 .127 0 .191.005l2.865-4.145v-.062a4.533 4.533 0 0 1 9.066 0zm-9.763 6.618a2.55 2.55 0 0 0 -3.262-1.411l1.525.63a1.877 1.877 0 1 1 -1.446 3.464l-1.475-.606a2.529 2.529 0 0 0 1.315 1.25 2.559 2.559 0 0 0 3.339-1.374 2.526 2.526 0 0 0 .004-1.951zm8.251-6.618a3.021 3.021 0 1 0 -3.021 3.015 3.022 3.022 0 0 0 3.021-3.013z",fill:"#fff"})]}):t==="youtube"?(0,E.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})}):t==="twitch"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"m24 12a12 12 0 1 1 -12-12 12 12 0 0 1 12 12z",fill:"#111"}),(0,E.jsx)("path",{d:"m12.308 17.167-1.833 1.833h-1.818v-1.833h-3.357v-9.733l.925-2.434h12.475v8.517l-3.648 3.65zm5.175-10.95h-10.043v8.824h2.743v1.833l1.817-1.833h3.342l2.14-2.126zm-5.483 6.083v-3.65h-1.218v3.65zm3.342 0v-3.65h-1.216v3.65z",fill:"#fff"})]}):t==="facebook"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m13.079 19h-2.9v-7h-1.441v-2.408h1.442v-1.456c0-1.96.813-3.136 3.136-3.136h1.933v2.408h-1.2c-.91 0-.965.35-.965.966v1.218h2.183l-.257 2.408h-1.931z",fill:"currentColor"})}):t==="pinterest"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.336 5c-3.822 0-5.754 2.744-5.754 5.025a3.065 3.065 0 0 0 1.652 3.066.279.279 0 0 0 .407-.2l.154-.644a.373.373 0 0 0-.113-.448 2.341 2.341 0 0 1-.532-1.582 3.812 3.812 0 0 1 3.961-3.849 3.009 3.009 0 0 1 3.346 3.08c0 2.323-1.022 4.283-2.547 4.283a1.253 1.253 0 0 1-1.273-1.554 17.616 17.616 0 0 0 .713-2.856 1.081 1.081 0 0 0-1.092-1.2c-.854 0-1.553.881-1.553 2.071a2.954 2.954 0 0 0 .266 1.274l-1.038 4.383a9.389 9.389 0 0 0-.027 3.065.109.109 0 0 0 .2.042 8.737 8.737 0 0 0 1.457-2.631l.561-2.212a2.3 2.3 0 0 0 1.959 1.008c2.59 0 4.34-2.366 4.34-5.516a4.8 4.8 0 0 0-5.087-4.605z",fill:"currentColor"})}):t==="substack"?(0,E.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z"})}):t==="threads"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12.186 24h-.007c-3.582-.024-6.332-1.22-8.173-3.555C2.26 18.212 1.5 15.228 1.5 11.83 1.5 8.16 2.673 5.097 4.902 2.935 7.026.877 10.02 0 13.565 0c3.784 0 6.81 1.028 8.995 3.056 2.008 1.862 3.013 4.417 2.91 7.391-.122 3.518-1.57 6.136-4.304 7.781-1.892 1.138-4.103 1.62-6.57 1.433-.122.392-.266.769-.434 1.127-.514 1.096-1.18 1.96-1.982 2.569-.884.67-1.933 1.01-3.118 1.01-1.34 0-2.42-.42-3.21-1.248-.78-.82-1.17-1.89-1.17-3.18 0-1.512.52-2.73 1.545-3.62 1.018-.883 2.45-1.33 4.258-1.33.56 0 1.11.04 1.63.12-.04-.53-.13-1.02-.27-1.46-.26-.81-.71-1.45-1.34-1.92-.62-.47-1.42-.71-2.38-.71-1.09 0-2.02.29-2.77.87-.29.22-.68.17-.9-.12l-.76-1.03c-.22-.3-.16-.71.13-.93C7.43 5.37 8.95 4.9 10.8 4.9c1.64 0 2.99.41 4.02 1.22 1.04.81 1.73 1.93 2.06 3.33.15.65.25 1.42.3 2.31 1.68-.31 3.05-1.05 4.08-2.2 1.01-1.13 1.52-2.58 1.52-4.31 0-2.43-.84-4.32-2.5-5.62C18.63 1.32 16.32.5 13.56.5c-3.03 0-5.54.73-7.27 2.21C4.48 4.27 3.5 6.78 3.5 10c0 3.1.66 5.62 1.96 7.49 1.34 1.93 3.38 2.92 6.07 2.95 1.76.02 3.32-.34 4.64-1.07.28-.15.63-.05.78.22l.55.98c.15.28.05.63-.22.78-1.63.9-3.55 1.35-5.7 1.35z"})}):t==="tiktok"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.308 5.012c.763-.012 1.522 0 2.281-.012a3.636 3.636 0 0 0 1.02 2.434 4.12 4.12 0 0 0 2.473 1.043v2.349a6.177 6.177 0 0 1-2.449-.564 7.207 7.207 0 0 1-.947-.543c0 1.705.008 3.406-.01 5.105a4.442 4.442 0 0 1-.789 2.3 4.343 4.343 0 0 1-3.448 1.872 4.254 4.254 0 0 1-2.379-.6 4.393 4.393 0 0 1-2.127-3.331c-.014-.292-.019-.584-.007-.868a4.395 4.395 0 0 1 5.091-3.9c.013.864-.021 1.727-.021 2.591a2.007 2.007 0 0 0-2.558 1.237 2.316 2.316 0 0 0-.079.939 1.992 1.992 0 0 0 3.658.736 1.39 1.39 0 0 0 .239-.62c.057-1.043.034-2.082.041-3.126.006-2.351-.007-4.7.011-7.041z",fill:"currentColor"})}):t==="bluesky"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.879.139 2.588-.02 3.868.002 5.03c.08 4.201 1.84 10.024 3.931 12.397 2.091 2.373 4.545 1.573 5.467.927.817-.573 1.564-1.611 2.6-2.92 1.036 1.309 1.783 2.347 2.6 2.92.922.646 3.376 1.446 5.467-.927 2.091-2.373 3.851-8.196 3.931-12.397.022-1.162-.137-2.442-.9-3.151-.659-.613-1.664-.935-4.3-1.074C16.046 4.747 13.087 8.686 12 10.8z"})}):t==="github"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})}):t==="rss"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M4 11a9 9 0 0 1 9 9"}),(0,E.jsx)("path",{d:"M4 4a16 16 0 0 1 16 16"}),(0,E.jsx)("circle",{cx:"5",cy:"19",r:"1"})]}):(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,E.jsx)("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),(0,E.jsx)("path",{d:"M2 12h20"})]})}function U0({authorCount:e=0,authorArticlesList:t,authorBioLength:n,customBio:a,customHeaderKicker:l,customHeaderTitle:i,effectiveAuthorHandle:r,effectiveAuthorName:o,isReviewWidget:u=!1,onBioChange:c,onHeaderKickerChange:s,onHeaderTitleChange:f,selectedProfile:d,showAuthorBio:m=!0,showAuthorIdentity:v=!0,showSocialButtons:A=!0,stabilizeBio:b=!1,totalDealCount:h=0,website:g}){let p=Vu(r,o),y=g||"tomsguide",C=Gu[y]||y,R=Nr[y],T=r?.toLowerCase(),M=o?.toLowerCase(),w=t.find(Be=>T&&Be.articleauthorhandle?.some(Je=>Je?.toLowerCase()===T)||M&&Be.articleauthor?.some(Je=>Je?.toLowerCase()===M))||null,D=w?sf(w,r,o):0,k=d?.image||(w?c0(w,D):""),se=d?n==="short"?d.bioShort||"":d.bioLong||d.bioShort||"":w?_r(w,D,n):"",I=p?`Our team is dedicated to researching, reviewing and recommending the latest and best products in all the categories that matter to you. Below you can shop the latest ${h} ${u?"review ":""}recommendations from ${e} ${C} ${u?"editor tests":"editors"}.`:se||`Handpicked deals and recommendations curated by ${o||"our expert editorial team"}.`,j=d?.role||"",He=p?y0[y]||[]:d?.socialNetworks||[];!p&&w&&(j||(j=u0(w,D)),He.length===0&&(He=Uu(w,D)));let ze=d?.fullName||o||"Author Name",St=p?`site:${y}`:`author:${d?.handle||r||ze}`,Ie=A&&He.length>0,rn=!p&&!!j||Ie;return(0,E.jsxs)("div",{className:"tg-df-author-card",style:{textAlign:"center",padding:"1.75rem 1rem 0.25rem 1rem",margin:"0 auto",maxWidth:"48rem"},children:[v&&(p?(0,E.jsx)("div",{className:"tg-df-author-media-slot tg-df-author-image-container",style:{margin:"0 auto 0.75rem auto",textAlign:"center",minHeight:"180px",display:"flex",alignItems:"center",justifyContent:"center"},children:R?(0,E.jsx)("img",{src:R,alt:C,className:"tg-df-site-logo",style:{maxHeight:"150px",maxWidth:"520px",objectFit:"contain",margin:"0 auto",display:"block"}}):(0,E.jsx)("div",{style:{fontSize:"1.75rem",fontWeight:700,color:"#111827"},children:C})}):(0,E.jsx)("div",{className:"tg-df-author-media-slot",children:(0,E.jsxs)("div",{className:"tg-df-author-profile-image-wrapper",children:[k?(0,E.jsx)("img",{src:ri(k),alt:ze,className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",objectFit:"cover",display:"block"}}):(0,E.jsx)("div",{className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",background:"#e2e8f0",display:"block"}}),R?(0,E.jsx)("img",{src:R,alt:"",className:"tg-df-author-profile-brand-logo"}):null]})})),v&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(H0,{contentKey:`${St}:kicker`,defaultText:u?"Reviews shop by":"Shop by",kind:"kicker",onChange:s,value:l}),(0,E.jsx)(H0,{contentKey:`${St}:title`,defaultText:p?C:ze,kind:"title",onChange:f,value:i}),rn&&(0,E.jsxs)("div",{className:`tg-df-author-meta-slot${p?" tg-df-author-meta-slot--site":""}${Ie?"":" tg-df-author-meta-slot--no-social"}`,children:[!p&&j?(0,E.jsx)("div",{className:"tg-df-author-role",id:"tg-df-author-role-display",style:{fontSize:"0.9375rem",fontWeight:500,color:"var(--tg-df-blue, #1F69FF)",margin:"0 0 0.5rem 0",lineHeight:1.3},children:j}):null,Ie?(0,E.jsx)("div",{className:"tg-df-author-social-links",children:He.map(Be=>(0,E.jsx)("a",{href:Be.href,target:"_blank",rel:"noopener noreferrer",title:Be.label,"aria-label":Be.label,className:"tg-df-author-social-btn","data-social-key":Be.key.toLowerCase(),children:r2(Be.key)},Be.key))}):null]})]}),m&&(0,E.jsx)(i2,{contentKey:St,initialBio:a,defaultPlaceholder:I,onBioChange:c,stabilizeHeight:b})]})}var te=B(O(),1);function df(e){if(!e||typeof e!="object")return"";if(e.type==="voucher_code"&&e.display_value)return e.display_value;let t=Array.isArray(e)?e:Object.keys(e).filter(n=>Object.prototype.hasOwnProperty.call(e,n)).map(n=>e[n]);for(let n of t){let a=df(n);if(a)return a}return""}function o2({endTime:e}){if(!e)return null;let t=e;!isNaN(Number(t))&&String(t).length===10&&(t=Number(t)*1e3);let n=new Date(t),a=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"});return(0,te.jsxs)("span",{className:"tg-df-voucher-expiry",children:[(0,te.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginRight:"4px"},children:[(0,te.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,te.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"Expires ",a.format(n)]})}function G0({error:e,loading:t,merchant:n,onClose:a,vouchers:l}){return(0,te.jsx)("div",{className:`tg-df-modal-backdrop ${n?"active":""}`,onClick:i=>{i.target===i.currentTarget&&a()},children:(0,te.jsxs)("div",{className:"tg-df-modal",children:[(0,te.jsxs)("div",{className:"tg-df-modal-header",children:[(0,te.jsx)("h3",{className:"tg-df-modal-title",children:n?`${n} Coupons & Deals`:"Available Coupons & Deals"}),(0,te.jsx)("button",{className:"tg-df-modal-close",onClick:a,children:(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,te.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,te.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),(0,te.jsx)("div",{className:"tg-df-modal-body",children:t?(0,te.jsx)("div",{className:"tg-df-message",children:(0,te.jsx)("div",{className:"tg-df-coupon-spinner",style:{width:"24px",height:"24px",borderColor:"#ccc",borderTopColor:"#3b82f6"}})}):e?(0,te.jsx)("div",{className:"tg-df-message",children:"Failed to load vouchers."}):l.length===0?(0,te.jsxs)("div",{className:"tg-df-message",children:["No active vouchers found for ",n,"."]}):l.map((i,r)=>{let o=i.offer?.name||i.offer?.title||i.name||i.title||i.model_name||"Voucher",u=i.offer?.link||i.offer?.url||i.link||i.url||"#",c=i.merchant,s=Array.isArray(c)?c[0]?.logo_url||"":c?.logo_url||"",f=df(i.offer)||df(i)||i.offer?.voucher_code||i.voucher_code||"",d=i.offer?.end_time||i.end_time||"";return(0,te.jsxs)("a",{href:u,target:"_blank",rel:"noopener nofollow",className:"tg-df-voucher-item",children:[s?(0,te.jsx)("img",{src:s,alt:"Logo",className:"tg-df-voucher-logo"}):(0,te.jsx)("div",{className:"tg-df-voucher-logo",style:{background:"#e2e8f0"}}),(0,te.jsxs)("div",{className:"tg-df-voucher-content",children:[(0,te.jsx)("h4",{className:"tg-df-voucher-title",children:o}),(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginTop:"8px"},children:[f&&(0,te.jsxs)("span",{className:"tg-df-voucher-code",title:"Copy to clipboard",onClick:m=>{m.preventDefault(),m.stopPropagation();let v=m.currentTarget;navigator.clipboard.writeText(f).then(()=>{v.classList.add("copied");let A=v.querySelector(".tg-df-voucher-code-text"),b=v.querySelector(".tg-df-voucher-copy-icon"),h=A.innerText,g=b.innerHTML;A.innerText="Copied!",b.innerHTML='<polyline points="20 6 9 17 4 12"><\/polyline>',setTimeout(()=>{v.classList.remove("copied"),A&&(A.innerText=h),b&&(b.innerHTML=g)},2e3)})},children:[(0,te.jsx)("span",{className:"tg-df-voucher-code-text",children:f}),(0,te.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:"6px",flexShrink:0},className:"tg-df-voucher-copy-icon",children:[(0,te.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,te.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})]}),d&&(0,te.jsx)(o2,{endTime:d})]})]})]},r)})})]})})}var N=B(ft(),1);function ci(e){if(!e||!e.articlepage)return[];try{let t=e.articlepage;if(!Array.isArray(t))return typeof t=="string"?JSON.parse(t):t;if(t.length===0)return[];let n=t[0];return typeof n=="string"?JSON.parse(n):Array.isArray(n)?n:n&&typeof n=="object"&&"type"in n?t:n}catch{return[]}}function si(e,t=!1,{includeCollections:n=!0,includeDeals:a=!0}={}){let l=t?e.filter(r=>r.type==="buying-guide"):[];if(l.length>0)return l;let i=e.filter(r=>r.type==="deal"||r.type==="featured-product");return a&&!n&&!t?i.filter(r=>r.type==="deal"):i}function di(e,t){if(!t||t.length===0)return!0;let n=e&&(e.brand||e.retailer)||"";if(!n)return!1;let a=n.replace(/^\d+\.\s*/,"").trim().toLowerCase();return t.some(l=>{let i=l.trim().toLowerCase();return a===i||a.startsWith(`${i} `)||a.includes(i)||i.includes(a)})}function wt(e){return!e||e==="auto"?"US":e}function an(e){return e==="GB"||e==="UK"?"GBP":e==="AU"?"AUD":e==="CA"?"CAD":["DE","FR","IT","ES","NL"].includes(e)?"EUR":"USD"}function P0(e,t){if(e.isBuyingGuideProduct||e.isReviewProduct)return!0;if(t==="unavailable")return!1;let n=String(e.isoCurrency||e.currency||"").trim().toUpperCase();return({$:"USD",A$:"AUD",CA$:"CAD","\xA3":"GBP","\u20AC":"EUR"}[n]||n)===an(t)}function fi(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=a?n.currency||(n.price&&typeof n.price=="object"?n.price.currency:""):l.currency||(typeof l=="string"?l:"")||n.currency||"";!i&&n.variants&&n.variants.length>0&&(i=n.variants[0].currency||"");let r="$",o="USD",u=(i||"").toString().toUpperCase().trim();return u==="GBP"||u==="\xA3"||u.includes("POUND")||u.includes("163")?(r="\xA3",o="GBP"):u==="EUR"||u==="\u20AC"||u.includes("EURO")||u.includes("8364")?(r="\u20AC",o="EUR"):u==="AUD"||u==="A$"?(r="A$",o="AUD"):u==="CAD"||u==="CA$"?(r="CA$",o="CAD"):u==="USD"||u==="$"||u.includes("DOLLAR")||u.includes("36")?(r="$",o="USD"):(o=an(t),o==="GBP"?r="\xA3":o==="AUD"?r="A$":o==="CAD"?r="CA$":o==="EUR"&&(r="\u20AC")),{isoCurr:o,currencyStr:r}}function Ku(e){let t=e.data||{},n=e.type==="featured-product",a=t.price||{},l=0,i=0;return n?(l=typeof a=="number"?a:a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):t.msrp?parseFloat(t.msrp):0):(l=a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):0),{rawPrice:l,rawMsrp:i}}function Sa(e,t){if(!t||t==="all"||e<=0)return!0;if(t==="under50"&&e>=50||t==="over50"&&e<=50||t==="over30"&&e<=30||t==="over500"&&e<=500)return!1;if(t.includes("_")){let[n,a]=t.split("_").map(Number);if(n&&e<n||a&&e>a)return!1}return!0}function Ca(e,t,n){if(!n||n==="0"||n==="all")return!0;let a=parseInt(n);return!(!isNaN(a)&&a>0&&(!t||t<=e||Math.round((1-e/t)*100)<a))}var Zu=[0,50,100,150,200,250,300,350,400,450],ff={parameter:"articleControlTag",value:"type_buying_guide"},u2={includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"}]},c2={pcgamer:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["deals","type_deal","channel_gaming_hardware"]}],buyingGuideScopes:[ff]},homesandgardens:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"sig-product-collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"van-hawk-collection-widget",inventoryKind:"collections"},{parameter:"articleControlTag",value:"shopping",requiredArticleType:"news",inventoryKind:"collections"},{parameter:"articleType",value:"deals",inventoryKind:"deals"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["shopping","type_deal"],inventoryKind:"deals"}],buyingGuideScopes:[{parameter:"articleType",value:"buying guide"},ff]},whowhatwear:{includeAllContent:!0,pageStarts:Zu,scopes:[{}]}};function Wu(e,{includeBuyingGuideProducts:t=!1,includeCollections:n=!0,includeDeals:a=!0}={}){let l=c2[e]||u2;if(l.includeAllContent)return l;let i=l.scopes.filter(r=>r.inventoryKind==="collections"?n:r.inventoryKind==="deals"?a:r.value==="sig-product-collection"?n:a);return t?{...l,scopes:[...i,...l.buyingGuideScopes||[ff]]}:{...l,scopes:i}}function gf(e){if(Array.isArray(e))return e;let t=e.data;return t&&Array.isArray(t)?t:[]}function q0(e){let t=new Set;return e.filter(n=>{let a=n.id||n.articleid||n.url;return!a||t.has(a)?!1:(t.add(a),!0)})}function Zt(e){return typeof e.articletype=="string"?e.articletype.toLowerCase():Array.isArray(e.articletype)&&e.articletype.length>0?e.articletype[0].toLowerCase():""}function Hr(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]/g,"")}function mf(e){return[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]].map(Hr)}function s2(e){return Zt(e)==="review"&&mf(e).some(t=>t.includes("channelgaminghardware"))}function F0(e,t,n){let a=Zt(e),l=mf(e),i=c=>l.some(s=>s.includes(c)),r=a==="news"&&i("shopping")&&i("deal")&&i("typedeal"),o=a==="deals"||r,u=a==="collection"||i("sigproductcollection")||i("vanhawkcollectionwidget")||a==="news"&&i("shopping")&&!r||a==="idea"&&i("shopping")&&(i("sigproductcollection")||i("vanhawkcollectionwidget"));return t&&o||n&&u}function el(e,t=!0,n=!0,a){if(a==="homesandgardens")return F0(e,t,n);let l=Zt(e),i=mf(e),r=l==="deals"||i.some(u=>u.includes("typedeal")),o=i.some(u=>u.includes("sigproductcollection"));return t&&r||n&&o}function j0(e,t,n=!1,a=!1,l=!0,i=!0){if(a&&Zt(e)==="review")return t!=="pcgamer"||s2(e);if(t==="homesandgardens")return Zt(e)==="buying guide"?n:F0(e,i,l);let r=Wu(t,{includeBuyingGuideProducts:n,includeCollections:l,includeDeals:i});if(r.includeAllContent)return i&&l?!0:n||el(e,i,l);let o=Zt(e),u=[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]],c=f=>!f.requiredArticleType||o===f.requiredArticleType.toLowerCase(),s=f=>!f.requiredControlTags||f.requiredControlTags.every(d=>u.some(m=>typeof m=="string"&&Hr(m).includes(Hr(d))));return r.scopes.some(f=>!c(f)||!s(f)?!1:f.parameter==="articleType"?o===f.value.toLowerCase():f.parameter==="articleControlTag"?u.some(d=>typeof d=="string"&&Hr(d).includes(Hr(f.value))):!1)}function hf(e,t){let n=e.map(a=>({...a}));return t.filter(a=>(a.isBuyingGuideProduct||a.isReviewProduct)&&a.brand).forEach(a=>{let l=String(a.brand).trim();if(!l)return;let i=n.find(r=>r.formatted_value.toLowerCase()===l.toLowerCase());i?i.count++:n.push({formatted_value:l,count:1})}),n.sort((a,l)=>l.count-a.count)}function Iu(e,t){let n={};return e.forEach(a=>{if(!a.articlepage)return;let l=ci(a),i=si(l,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});(t.includeDeals===!1||t.includeCollections===!1)&&!i.some(r=>r.type==="buying-guide")&&!el(a,t.includeDeals,t.includeCollections,t.website)||i.forEach(r=>{if(fi(r,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:o,rawMsrp:u}=Ku(r);if(!Sa(o,t.priceRange)||!Ca(o,u,t.discountAmount))return;let c=r.data||{},s=c.brand||c.retailer;if(!s)return;let f=s.replace(/^\d+\.\s*/,"").trim(),d=f.toLowerCase(),m=Object.keys(n).find(v=>v.toLowerCase()===d);m?n[m]++:(f===f.toLowerCase()&&(f=f.replace(/\b\w/g,v=>v.toUpperCase())),n[f]=1)})}),Object.keys(n).map(a=>({formatted_value:a,count:n[a]})).sort((a,l)=>l.count-a.count)}function d2(e){return String(e||"").trim().toLowerCase()}function Ju(e){return(Array.isArray(e)?e:[e]).map(d2).filter(Boolean)}function pf(e){let t=Ju(e.articletype),n=[...Ju(e.articlecontroltag),...Ju(e.articletagtypetaghandle)];return t.includes("deals")||n.some(a=>a.replace(/[\s-]+/g,"_")==="type_deal")}function V0(e){let t=Array.isArray(e)?e[0]:e,n=new Date(String(t||"")).getTime();return Number.isFinite(n)?n:null}function f2(e){for(let t of[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]){let n=V0(t);if(n!==null)return n}return null}function g2(e){for(let t of[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]){let n=V0(t);if(n!==null)return n}return null}function Y0(e){return Ju(e.articletype).includes("review")}function yf(e,t=new Date,n=0){let a=pf(e)?1:Y0(e)?36:n;if(a<=0)return!0;let l=Y0(e)?g2(e):f2(e);if(l===null)return!0;let i=new Date(t);return i.setMonth(i.getMonth()-a),l>=i.getTime()}function tl(e,t,n=0){return e.filter(a=>yf(a,t,n))}var m2=15;function Q0(e){return Array.isArray(e.articlemedia)?e.articlemedia[0]:""}function zr(e){return Array.isArray(e.documenturl)?e.documenturl[0]:e.documenturl||""}function h2(e){return kt(String(e||"").replace(/^\d+\.\s*/,"").trim())}function tt(e){return Array.isArray(e)?e.map(tt).find(Boolean)||"":typeof e=="string"||typeof e=="number"?String(e).trim():""}function vf(e,t=!1){return(t?[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]:[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]).map(tt).find(Boolean)||""}function p2(e,t,n){let a=tt(e).match(/^\s*(\d+)\s*[.)]\s*/)?.[1];return a||[t.rank,t.position,t.number,t.productNumber,t.product_number].map(tt).map(i=>i.match(/^\s*(\d+)\s*$/)?.[1]||"").find(Boolean)||String(n+1)}function y2(e){let t=tt(e);try{t=new URL(t).pathname}catch{}return t=t.split(/[?#]/)[0].split("/").filter(Boolean).at(-1)||"",t.split(/[-_]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function v2(e){return tt(e.documenthandle)||tt(e.document_handle)||zr(e)||tt(e.documentname)||tt(e.documentnametext)}function b2(e,t){if(!t)return"";let n=t.length>m2?"Ranked":t;return`#${e} ${n}`}function A2(e){if(typeof e=="object"&&e)return String(e["data-model-name"]||"");try{return String(JSON.parse(String(e||""))["data-model-name"]||"")}catch{return""}}function w2(e){let t=e.brand||e.productBrand||e.manufacturer||e.maker||"";return typeof t=="string"?kt(t.replace(/^\d+\.\s*/,"").trim()):""}function S2(e){let t=e.price&&typeof e.price=="object"?e.price:{},n=Number(t.salePrice||t.price||e.salePrice||e.current_price||(typeof e.price=="number"?e.price:0)),a=Number(t.wasPrice||t.msrp||e.was_price||e.msrp||0),l=e.url||e.link?.url||e.link?.href||"";return{currency:t.currency||e.currency||"",rawMsrp:Number.isFinite(a)?a:0,rawPrice:Number.isFinite(n)?n:0,url:l}}function bf(e){let t=e?.review||{},n=t.rating??t.starRating??t.score??e?.rating??e?.starRating??e?.score,a=Number(n);if(!Number.isFinite(a)||a<=0)return null;let l=a>5?a/20:a;return Math.min(l,5)}function K0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,imageUrl:i}){let r=t.data||{},o=r.review||{},u=h2(r.title),c=p2(r.title,r,a),s=y2(v2(e)),f=zr(e),d=S2(r),m=!!d.url,v=m?d.url:o.url||f,A=i||Q0(e);return{id:`airedale-buying-guide-${n}-${a}`,url:v,image:A,fallbackImage:A,title:u,brand:w2(r),productName:u,merchant:"",rawPrice:d.rawPrice,rawMsrp:d.rawMsrp,price:d.rawPrice>0?String(d.rawPrice):"",msrp:d.rawMsrp>0?String(d.rawMsrp):"",currency:d.currency,isoCurrency:"",isCheckPrice:d.rawPrice<=0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf(r),description:"",text:"",subtitle:kt(r.subtitle||""),pros:Array.isArray(r.pros)?r.pros:[],cons:Array.isArray(r.cons)?r.cons:[],...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:!1,isBuyingGuideProduct:!0,buyingGuideBadge:b2(c,s),hawkModelName:A2(r.hawk),hasCommerceOffer:m,sourceArticleUrl:f}}function C2(e){return gi(e)||tt(e.documentnametext)||tt(e.documentname)}function $u(e){if(Array.isArray(e))return e.map($u).find(Boolean)||"";if(e&&typeof e=="object"){let n=e,a=tt(n["data-widget-type"]||n.dataWidgetType||n.widgetType).toLowerCase(),l=tt(n["data-model-name"]||n.dataModelName||n.modelName);return a==="review"&&l?l:Object.values(n).map($u).find(Boolean)||""}if(typeof e!="string")return"";let t=[e,e.replace(/\\"/g,'"').replace(/\\u0022/gi,'"')];for(let n of t){try{let l=$u(JSON.parse(n));if(l)return l}catch{}let a=n.match(/["']data-widget-type["']\s*:\s*["']review["'][\s\S]{0,1500}?["']data-model-name["']\s*:\s*["']([^"']+)["']/i);if(a?.[1])return a[1].trim()}return""}function gi(e){let t=tt(e.articlehawkmodels);if(t)return t;for(let n of[e.articlepage,e.articlebodypageblock,e.articlepageblock,e.fepjson,e.articlebodyclean]){let a=$u(n);if(a)return a}return""}function X0(e){return(Array.isArray(e)?e:[e]).map(t=>kt(tt(t))).filter(Boolean)}function Z0({article:e,articleIdentity:t,authorProfile:n}){let a=kt(gi(e)),l=kt(C2(e)),i=zr(e),r=Q0(e),o=kt(tt(e.productverdict));return{id:`airedale-review-${t}`,url:i,image:r,fallbackImage:r,title:l,brand:"",productName:l,merchant:"",rawPrice:0,rawMsrp:0,price:"",msrp:"",currency:"",isoCurrency:"",isCheckPrice:!0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf({rating:e.productrating}),description:o,text:o,...n,documentUrl:i,modifiedDate:vf(e,!0),isFeatured:!1,isReviewProduct:!0,hawkModelName:a||l,hasCommerceOffer:!1,sourceArticleUrl:i,pros:X0(e.productpros),cons:X0(e.productcons)}}function kt(e){return typeof e=="string"?ee(e):e}function W0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,currencyString:i,isoCurrency:r,presentation:o,pricing:u}){let c=t.data||{},{isFeatured:s,externalUrl:f,summaryTitle:d,description:m,imageUrl:v,merchantName:A}=o,{rawPrice:b,rawMsrp:h,savingLabel:g}=u;return{id:`airedale-${n}-${a}`,url:f,image:v,fallbackImage:v,title:kt(d),brand:kt(c.brand||""),productName:kt(c.productName||""),merchant:kt(A),rawPrice:b,rawMsrp:h,price:b>0?b.toString():"",msrp:h>0?h.toString():"",currency:i,isoCurrency:r,isCheckPrice:!b,savingLabel:g,savingType:h>b?"amount":"none",isPrime:!1,starRating:bf(c),description:kt(m),text:kt(c.text||""),...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:s,hasCommerceOffer:!!f}}function I0(e,t){let n=t.data||{},a=t.type==="featured-product",l=n.link||{},i=n.image||{};n.brand&&(n.brand=n.brand.replace(/^\d+\.\s*/,"").trim());let r=a?n.url:l.href||null,o=a?n.name||n.brand:n.productName||l.label||(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),u=a?n.strapline||"":n.text||"";if(!a&&!n.productName&&n.text){let f=n.text.split(/<br\s*\/?>/i);if(f.length>1)o=f[0].replace(/<[^>]+>/g,"").trim(),u=f.slice(1).join(" ").replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();else{let d=n.text.match(/<strong>(.*?)<\/strong>/);d&&(o=d[1].replace(/<[^>]+>/g,"").trim(),o.endsWith(":")&&(o=o.slice(0,-1)))}}let c=a?i.mos:i.src||null;c?.startsWith("//")&&(c=`https:${c}`),u=u.replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").replace(/View Deal$/i,"").trim();let s=n.retailer||"";if(!s&&r)try{s=new URL(r).hostname.replace("www.","").split(".")[0],s=s.charAt(0).toUpperCase()+s.slice(1)}catch{}return s||(s="Retailer"),{isFeatured:a,externalUrl:r,summaryTitle:o,description:u,imageUrl:c,merchantName:s}}function J0(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=0,r=0;a?(i=typeof n.salePrice=="number"&&n.salePrice>0?n.salePrice:typeof n.price=="number"?n.price:0,r=typeof n.salePrice=="number"&&typeof n.price=="number"&&n.price>n.salePrice?n.price:0):(i=l.amount?parseFloat(l.amount):0,r=l.amountWas?parseFloat(l.amountWas):0);let o=0,u="";return i>0&&r>i&&(o=parseFloat((r-i).toFixed(2)),u=`Save ${t}${o}`),{rawPrice:i,rawMsrp:r,savingLabel:u}}function R2(e,t){let n=e.indexOf(t);if(n<1)return"";let a=e[n-1]?.data||{},i=a.slides?.[0]?.image||a.image||a;return i?.src||i?.mos||""}function Ur(e,{activeRegionCode:t,targetIso:n,selectedBrands:a,priceRange:l,discountAmount:i,authorHandle:r,authorName:o,createFallbackIdentity:u=Math.random,includeBuyingGuideProducts:c=!1,includeCollections:s=!0,includeDeals:f=!0,includeReviewProducts:d=!1,website:m}){let v=[],A=new Set;return e.forEach(b=>{if(d&&Zt(b)==="review"){v.push(Z0({article:b,articleIdentity:b.id||u(),authorProfile:Qu(b,r,o)}));return}if(!b.articlepage)return;let h=ci(b),g=si(h,c,{includeCollections:s,includeDeals:f});(f===!1||s===!1)&&!g.some(p=>p.type==="buying-guide")&&!el(b,f,s,m)||g.forEach((p,y)=>{if(p.type==="buying-guide"){v.push(K0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),imageUrl:R2(h,p)}));return}let{isoCurr:C,currencyStr:R}=fi(p,t);if(C!==n)return;let T=p.data||{},M=I0(b,p),{externalUrl:w}=M,D=J0(p,R),{rawPrice:k,rawMsrp:se}=D;if(!(a&&a.length>0&&!di(T,a))&&Sa(k,l)&&Ca(k,se,i)){if(w){if(A.has(w))return;A.add(w)}v.push(W0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),currencyString:R,isoCurrency:C,presentation:M,pricing:D}))}})}),v}function mi(e,t){return Ur(e,{...t,selectedBrands:[],priceRange:"all",discountAmount:"0"})}function $0(e,t){return Ur(e,t)}function Gr(e){return(Array.isArray(e)?e:[e]).filter(n=>typeof n=="string").map(n=>n.trim())}function ec(e){return e?.trim().toLowerCase()==="freeform"}function Af(e){return!!e&&!/[^\p{L}\p{N}\s]/u.test(e)}function wf(e){let t=Gr(e.articletag),n=Gr(e.articletaghandle),a=Gr(e.articletagtype),l=new Map;t.forEach((o,u)=>{let c=n[u];!ec(a[u])||!c||!Af(o)||l.set(c.toLowerCase(),{handle:c,label:o,requestValue:o})});let i=Gr(e.articletagtypetag),r=Gr(e.articletagtypetaghandle);return i.forEach((o,u)=>{let[c,...s]=o.split("|"),[f,...d]=(r[u]||"").split("|"),m=s.join("|").trim(),v=d.join("|").trim();!ec(c)||!ec(f)||!v||!Af(m)||l.has(v.toLowerCase())||l.set(v.toLowerCase(),{handle:v,label:m,requestValue:m})}),r.forEach(o=>{let[u,...c]=o.split("|"),s=c.join("|").trim();!ec(u)||!s||!Af(s)||l.has(s.toLowerCase())||l.set(s.toLowerCase(),{handle:s,label:s})}),[...l.values()]}function ev(e,t){if(t)return e.find(n=>n.handle.toLowerCase()===t.toLowerCase())?.requestValue}function hi(e,t){let n=(Array.isArray(t)?t:[t]).filter(a=>typeof a=="string").map(a=>a.trim().toLowerCase()).filter(Boolean);return n.length===0?e:e.filter(a=>wf(a).some(l=>n.includes(l.handle.toLowerCase())))}function T2(e){let t=new Map;return Array.isArray(e.articlecategory)?(e.articlecategory.forEach(n=>{if(typeof n!="string")return;let a=n.trim();a===a.toLowerCase()&&(a=a.replace(/\b\w/g,l=>l.toUpperCase())),a&&!t.has(a.toLowerCase())&&t.set(a.toLowerCase(),{handle:a,label:a})}),[...t.values()]):[]}function tv(e,t,n){let a={},l={},i={};e.forEach(u=>{let c=[];if(t.includeReviewProducts&&Zt(u)==="review"&&c.push(u.id||u.documenturl||u.documenthandle||""),u.articlepage)try{let s=ci(u),f=si(s,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});if((t.includeDeals===!1||t.includeCollections===!1)&&!f.some(d=>d.type==="buying-guide")&&!el(u,t.includeDeals,t.includeCollections,t.website))return;f.forEach(d=>{if(d.type==="buying-guide"){c.push(d.id||JSON.stringify(d.data||{}));return}if(fi(d,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:m,rawMsrp:v}=Ku(d);if(!Sa(m,t.priceRange)||!Ca(m,v,t.discountAmount))return;let A=d.data||{};if(t.selectedBrands&&t.selectedBrands.length>0&&!di(A,t.selectedBrands))return;let h=d.type==="featured-product"?A.primaryLink:A.link,g=A.url||A.link&&A.link.url||h&&h.url;c.push(g||JSON.stringify(A))})}catch{}c.length!==0&&n(u).forEach(s=>{let f=s.handle.toLowerCase(),d=Object.keys(a).find(m=>m.toLowerCase()===f);d||(d=s.handle,a[d]=new Set,l[d]=s.label,i[d]=s.requestValue),c.forEach(m=>a[d].add(m))})});let r={};return Object.keys(a).forEach(u=>{r[u]=a[u].size}),{tags:Object.keys(r).map(u=>({handle:u,label:l[u]||u,requestValue:i[u]})).sort((u,c)=>r[c.handle]-r[u.handle]),tagCounts:r}}function tc(e,t){let{tags:n,tagCounts:a}=tv(e,t,T2);return{tags:n.map(l=>l.label),tagCounts:a}}function nc(e,t){let{tags:n,tagCounts:a}=tv(e,t,wf);return{tags:n,tagCounts:a}}function E2(e,t){return e.documentUrl||e.sourceArticleUrl||e.articleId||`deal-${t}`}function yn(e,t,n){if(t!=="mix"||n!=="date_desc")return e;let a=new Map;e.forEach((o,u)=>{let c=E2(o,u),s=a.get(c)||[];s.push(o),a.set(c,s)});let l=[],i=0,r=!0;for(;r;)r=!1,a.forEach(o=>{let u=o[i];u&&(l.push(u),r=!0)}),i+=1;return l}var nv="compact-v1",D2={brand:"",currency:"",hasCommerceOffer:!1,isoCurrency:"",isCheckPrice:!0,isFeatured:!1,isPrime:!1,merchant:"",merchantId:"",msrp:"",price:"",rawMsrp:0,rawPrice:0,savingLabel:"",savingType:"none"},x2={hasCommerceOffer:!0,hawkPricePending:!1,rawMsrp:0,rawPrice:0};function av(e){return e.map(t=>{if(!t.isReviewProduct)return t;let n=String(t.sourceArticleUrl||t.documentUrl||t.url||""),a=t.fallbackImage??t.image??"",l={...D2,...t,fallbackImage:a,image:t.image??a,sourceArticleUrl:n,documentUrl:t.documentUrl??n,url:t.url??n,title:t.title??t.productName??"",text:t.text??t.description??"",hawkPricePending:t.hawkPricePending??!!t.hawkModelName,pros:t.pros??[],cons:t.cons??[]};return t.hawkRegionalCommerce&&(l.hawkRegionalCommerce=Object.fromEntries(Object.entries(t.hawkRegionalCommerce).map(([i,r])=>{let o=r,u=o.productName??l.productName,c=o.rawPrice??0,s=o.rawMsrp??0;return[i,{...x2,...o,fallbackImage:o.fallbackImage??a,image:o.image??a,productName:u,title:o.title??u??l.title,price:o.price??(c?String(c):""),msrp:o.msrp??(s?String(s):"")}]}))),l})}function ac(e,t,n=100){let a=new Set(e.slice(0,t).map((i,r)=>i.id||`visible-${r}`)),l=e.slice(0,t).filter(i=>i.isReviewProduct).length;return e.filter((i,r)=>{let o=i.id||`visible-${r}`;return a.has(o)?!0:i.isReviewProduct?(l+=1,l<=n):!1})}function lv(e,t){let n=new Map(t.map((a,l)=>[a.id||`enriched-${l}`,a]));return e.map((a,l)=>n.get(a.id||`enriched-${l}`)||a)}var M2=new Set(["deal","featured-product","gallery","buying-guide","text","section"]);function lc(e){return!!e&&typeof e=="object"}function iv(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function rv(e){try{let t=iv(e);if(!Array.isArray(t)||!t[0])return;let n=t[0],a=typeof n=="string"?iv(n):Array.isArray(n)?n:lc(n)&&"type"in n?t:n;if(!Array.isArray(a))return;let l=a.filter(i=>lc(i)&&M2.has(i.type)).map(i=>i.type==="text"&&i.data?{type:"text",data:{paragraphs:Array.isArray(i.data.paragraphs)?i.data.paragraphs.slice(0,3):void 0,text:typeof i.data.text=="string"?i.data.text.slice(0,500):void 0}}:i.type==="section"&&i.data?{type:"section",data:{text:i.data.text,heading:i.data.heading,title:i.data.title}}:i);return l.length>0?[JSON.stringify(l)]:void 0}catch{return}}function ov(e){if(!Array.isArray(e))return[];let t=!1;return e.map(n=>{if(!lc(n))return n;let a=n.articlepage?rv(n.articlepage):void 0,l=!!(n.articleauthormedia||n.articleauthorrole),i=!!(!t&&(n.articleauthorbio||n.articleauthorlongbio||n.articleauthorsocialnetworks));return i&&(t=!0),{id:n.id,articlename:n.articlename,documentname:n.documentname,documentnametext:n.documentnametext,documenthandle:n.documenthandle,articlecategory:n.articlecategory,articletag:n.articletag,articletaghandle:n.articletaghandle,articletagtype:n.articletagtype,articletagtypetag:n.articletagtypetag,articletagtypetaghandle:n.articletagtypetaghandle,articlecontroltag:n.articlecontroltag,articletype:n.articletype,articleauthor:n.articleauthor,articleauthorhandle:n.articleauthorhandle,articleauthortext:n.articleauthortext,...l?{articleauthorrole:n.articleauthorrole,articleauthormedia:n.articleauthormedia}:{},articlestrapline:n.articlestrapline,articlesocialtitle:n.articlesocialtitle,documenturl:n.documenturl,articlemedia:n.articlemedia,articlehawkmodels:n.articlehawkmodels,productrating:n.productrating,productpros:n.productpros,productcons:n.productcons,productverdict:n.productverdict,contentmodifieddate:n.contentmodifieddate,modifieddate:n.modifieddate,createddate:n.createddate,datepublished:n.datepublished,publisheddate:n.publisheddate,...i?{articleauthorbio:n.articleauthorbio,articleauthorlongbio:n.articleauthorlongbio,articleauthorsocialnetworks:n.articleauthorsocialnetworks}:{},...a?{articlepage:a}:{}}})}function uv(e){return Array.isArray(e)?e.map(t=>{if(!lc(t))return t;let n=t.articlepage?rv(t.articlepage):void 0;return{id:t.id,articleid:t.articleid,articlename:t.articlename,documentname:t.documentname,documentnametext:t.documentnametext,documenthandle:t.documenthandle,articleauthor:t.articleauthor,articleauthorhandle:t.articleauthorhandle,articleauthortext:t.articleauthortext,articleauthorrole:t.articleauthorrole,articleauthormedia:t.articleauthormedia,articleauthorbio:t.articleauthorbio,articleauthorlongbio:t.articleauthorlongbio,articleauthorsocialnetworks:t.articleauthorsocialnetworks,articlecategory:t.articlecategory,articletag:t.articletag,articletaghandle:t.articletaghandle,articletagtype:t.articletagtype,articletagtypetag:t.articletagtypetag,articletagtypetaghandle:t.articletagtypetaghandle,articletype:t.articletype,articlestrapline:t.articlestrapline,articlesocialtitle:t.articlesocialtitle,documenturl:t.documenturl,articlemedia:t.articlemedia,articlehawkmodels:t.articlehawkmodels,productrating:t.productrating,productpros:t.productpros,productcons:t.productcons,productverdict:t.productverdict,url:t.url,contentmodifieddate:t.contentmodifieddate,modifieddate:t.modifieddate,createddate:t.createddate,datepublished:t.datepublished,publisheddate:t.publisheddate,content:t.content,dek:t.dek,image_thumbnail:t.image_thumbnail,intro:t.intro,paragraphs:t.paragraphs,strapline:t.strapline,subtitle:t.subtitle,title:t.title,...n?{articlepage:n}:{}}}):[]}function pi(e){if(!e?.modifiedDate)return 0;let t=Array.isArray(e.modifiedDate)?e.modifiedDate[0]:e.modifiedDate,n=new Date(t).getTime();return Number.isNaN(n)?0:n}function nl(e){return e?.hasCommerceOffer===!0?!0:e?.hasCommerceOffer===!1?!1:!!(!e?.isBuyingGuideProduct&&!e?.isReviewProduct&&e?.url)}function ln(e,t,n=!0){let a=!0;t==="date_desc"?e.sort((l,i)=>pi(i)-pi(l)):t==="price_asc"?e.sort((l,i)=>l.rawPrice-i.rawPrice):t==="price_desc"?e.sort((l,i)=>i.rawPrice-l.rawPrice):t==="discount_desc"?e.sort((l,i)=>{let r=l.rawMsrp>l.rawPrice?l.rawMsrp-l.rawPrice:0;return(i.rawMsrp>i.rawPrice?i.rawMsrp-i.rawPrice:0)-r}):t==="rating_desc"?e.sort((l,i)=>{let r=Number(l.starRating)||0;return(Number(i.starRating)||0)-r||pi(i)-pi(l)}):t==="scored_first"?e.sort((l,i)=>{let r=Number(l.starRating)>0?1:0;return(Number(i.starRating)>0?1:0)-r||pi(i)-pi(l)}):a=!1,a&&n&&e.sort((l,i)=>Number(nl(i))-Number(nl(l)))}function cv(e,t,n){let a=e;if(!a&&t){let l=n.find(i=>i.toLowerCase()===t?.toLowerCase());l&&(a=l)}return a}function Pr(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(a=>a.articlecategory&&Array.isArray(a.articlecategory)&&a.articlecategory.some(l=>{if(!l||typeof l!="string")return!1;let i=l.toLowerCase(),r=i.split(":::");return i===n||r[0]===n||i.includes(n)}))}function sv(e){let t=wt(e.region);return{activeRegionCode:t,targetIso:an(t)}}function al(e,t,{discountAmount:n,priceRange:a}={}){let l=!!(a&&a!=="all"),i=!!(n&&n!=="0"&&n!=="all");return!t?.length&&!l&&!i?e:e.filter(r=>!r.isBuyingGuideProduct&&!r.isReviewProduct?!0:t?.length&&!di({brand:r.brand},t)||l&&(!Number(r.rawPrice)||!Sa(Number(r.rawPrice),a))?!1:Ca(Number(r.rawPrice)||0,Number(r.rawMsrp)||0,n))}function _2(e,t){let n=e.articleauthorhandle||[],a=e.articleauthor||[],l=e.articleauthortext||[],i=new Set([t.handle.toLowerCase(),t.fullName.toLowerCase(),t.name.toLowerCase()]);return[...n,...a,...l].some(r=>i.has(String(r||"").toLowerCase()))}function Sf(e,t,n){let a=Object.fromEntries(e.map(l=>[l.handle,0]));return t.forEach(l=>{let i=mi([l],n).length;i!==0&&e.forEach(r=>{_2(l,r)&&(a[r.handle]+=i)})}),a}function Cf(e,t){let n=Xu(e,t.authorHandle,t.authorName),a=t.selectedArticleId?n.filter(A=>A.id===t.selectedArticleId):n,{activeRegionCode:l,targetIso:i}=sv(t),{tags:r,tagCounts:o}=tc(a,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),u=cv(t.activeDealTag,t.query,r),c=Pr(a,u),{tags:s,tagCounts:f}=nc(c,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),d=t.activeFreeformTags?.length?t.activeFreeformTags:t.activeFreeformTag?[t.activeFreeformTag]:[],m=d.flatMap(A=>{let b=s.find(h=>h.handle.toLowerCase()===A.toLowerCase());return b?[b.handle]:[]}),v=t.preserveFreeformTagSelection?d:m;return{activeDealTag:u,activeFreeformTag:v[0]||null,activeFreeformTags:v,activeRegionCode:l,authorArticles:n,freeformTagCounts:f,freeformTags:s,tagCounts:o,tags:r,targetArticles:hi(c,v),targetIso:i}}function ic(e,t,n,a){let l=Iu(e,{activeRegionCode:n,targetIso:a,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),i=Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(i,t.sort,t.prioritiseCommercialProducts);let r=yn(al(i,t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange}),t.productSelection,t.sort).map(o=>(o.isBuyingGuideProduct||o.isReviewProduct)&&o.hawkModelName?{...o,hawkPricePending:!0}:o);return{brands:l,displayedDeals:r,extractedDeals:i}}function dv(e,t){let{activeRegionCode:n,targetIso:a}=sv(t),l=Lr(e,t.website||"tomsguide"),i=e.filter(o=>mi([o],{activeRegionCode:n,targetIso:a,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}).length>0),r=al(Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange});return{authorCount:kr(l,i).length,deals:r}}function fv({allArticles:e,authorArticles:t,inventoryArticles:n,bakeReviewInventory:a,brands:l,couponMap:i,currentDealTag:r,currentFreeformTags:o,displayedDeals:u,options:c,resultCount:s,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}){let h=Lr(e,c.website||"tomsguide"),g=Sf(h,n,{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),selectedBrands:c.selectedBrands,priceRange:c.priceRange,discountAmount:c.discountAmount,includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}),p=kr(h,e.filter(C=>mi([C],{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}).length>0)),y=Number(s)||12;return{activeDealTag:r,activeFreeformTag:o[0]||null,activeFreeformTags:o,allDeals:a?ac(u,y):u,authorArticles:ov(t),authors:Yu(p,g),brands:l,couponMap:i,deals:u.slice(0,y),reviewInventoryBaked:a,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}}function B2(e){return e&&e.widget&&e.widget.data&&Array.isArray(e.widget.data.offers)?e.widget.data.offers:e&&e.data&&Array.isArray(e.data.offers)?e.data.offers:Array.isArray(e)?e:e&&Array.isArray(e.offers)?e.offers:e&&e.offers&&Array.isArray(e.offers.offer)?e.offers.offer:e&&Array.isArray(e.data)?e.data:[]}function gv(e,t,n){let a={...n},l=new Set;return B2(e).forEach(r=>{let o="";r.merchant_name?o=r.merchant_name:r.merchant&&r.merchant[0]&&r.merchant[0].name?o=r.merchant[0].name:r.merchant&&r.merchant.name?o=r.merchant.name:r.retailer&&(o=r.retailer),o&&l.add(o.toLowerCase())}),t.forEach(r=>{a[r]=l.has(r.toLowerCase())?"has":"none"}),a}function mv(e){let t=[];return e?.widget?.data?.offers?t=e.widget.data.offers:e?.data?.offers?t=e.data.offers:Array.isArray(e)?t=e:e?.offers?.offer?t=Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers&&(t=Array.isArray(e.offers)?e.offers:[e.offers]),t}async function hv({couponMap:e,couponUrl:t,fetcher:n=fetch,merchants:a}){if(!t)return e;try{let l=await n(t.toString());return gv(await l.json(),a,e)}catch{let l={...e};return a.forEach(i=>{l[i]="none"}),l}}function pv({enrichingBuyingGuides:e,error:t,loading:n,loadingMore:a,refreshingFeed:l}){return t?"error":a?"loading_more":n?"loading_inventory":l?"refreshing_inventory":e?"enriching_visible_cards":"ready"}function yv(e,t){let n=Xu(tl(e),t.authorHandle,t.authorName),a=wt(t.region),l=an(a),{tags:i,tagCounts:r}=tc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),o=Iu(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),{tags:u,tagCounts:c}=nc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),s=$0(n,{activeRegionCode:a,targetIso:l,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(s,t.sort,t.prioritiseCommercialProducts);let f=yn(s,t.productSelection,t.sort);return{authorArticles:n,brands:o,deals:f,tagCounts:r,tags:i,freeformTagCounts:c,freeformTags:u}}var N2="fc-author-commerce-widget",vn="airedale-feeds";var rc=null;function vv(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Rf(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function Tf(){return rc||(typeof window>"u"||typeof window.indexedDB>"u"?Promise.resolve(null):(rc=new Promise(e=>{let t=window.indexedDB.open(N2,14);t.onupgradeneeded=()=>{let n=t.result;n.objectStoreNames.contains(vn)||n.createObjectStore(vn,{keyPath:"key"})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),rc))}function bv({authorHandle:e,authorName:t,includeBuyingGuideProducts:n,includeCollections:a,includeDeals:l,includeReviewProducts:i,articleCategory:r,articleTag:o,pageStarts:u,reviewPageStarts:c,loadAllReviewPages:s,website:f}){return["v14",f||"tomsguide",e||"",t||"",n?"buying-guides":"",a===!1?"no-collections":"collections",l===!1?"no-deals":"deals",i?"reviews":"",r||"",o||"",u?.join(",")||"",c?.join(",")||"",s===!1?"review-pages-partial":""].map(d=>encodeURIComponent(d)).join("|")}async function O2(e){let t=await Tf();if(!t)return;let n=t.transaction(vn,"readwrite"),a=Rf(n);n.objectStore(vn).delete(e),await a}async function Av(e,t=Date.now()){try{let n=await Tf();if(!n)return null;let a=n.transaction(vn,"readonly"),l=await vv(a.objectStore(vn).get(e));if(!l||l.schemaVersion!==14||!Array.isArray(l.articles)||l.articles.length===0)return null;let i=Math.max(0,t-l.cachedAt);return i>864e5?(O2(e),null):{articles:l.articles,cachedAt:l.cachedAt,isFresh:i<=6e5}}catch{return null}}async function k2(e){let t=e.transaction(vn,"readwrite"),n=Rf(t),a=t.objectStore(vn);(await vv(a.getAll())).sort((i,r)=>r.cachedAt-i.cachedAt).slice(10).forEach(i=>a.delete(i.key)),await n}async function wv(e,t,n=Date.now()){if(t.length!==0)try{let a=await Tf();if(!a)return;let l=a.transaction(vn,"readwrite"),i=Rf(l);l.objectStore(vn).put({articles:t,cachedAt:n,key:e,schemaVersion:14}),await i,await k2(a)}catch{}}var Ef=[];var Mf=[],Df=0;function Sv(){for(;Df<4&&Mf.length>0;){let e=Mf.shift();if(!e)return;Df+=1,e.run().then(e.resolve,e.reject).finally(()=>{Df-=1,Sv()})}}function L2(e){return new Promise((t,n)=>{Mf.push({reject:n,resolve:t,run:e}),Sv()})}function xf(e){Ef.push(e),Ef.length>100&&Ef.shift()}async function oc(e,t,n=4){let a=new Array(e.length),l=0,i=Math.min(Math.max(1,n),e.length);return await Promise.all(Array.from({length:i},async()=>{for(;l<e.length;){let r=l;l+=1,a[r]=await t(e[r],r)}})),a}async function yi(e,t){return L2(async()=>{let n=t.fetcher||fetch,a=Date.now(),l=new AbortController,i=!1,r=()=>l.abort();if(t.signal?.aborted)return xf({durationMs:0,outcome:"aborted",source:t.source,startedAt:a}),{data:null,response:null};t.signal?.addEventListener("abort",r,{once:!0});let o=setTimeout(()=>{i=!0,l.abort()},8e3);try{let u=await n(e,{signal:l.signal}),c=u.ok?await u.json():null;return xf({durationMs:Date.now()-a,outcome:u.ok?"succeeded":"failed",source:t.source,startedAt:a}),{data:c,response:u}}catch{return xf({durationMs:Date.now()-a,outcome:i?"timed_out":t.signal?.aborted?"aborted":"failed",source:t.source,startedAt:a}),{data:null,response:null}}finally{clearTimeout(o),t.signal?.removeEventListener("abort",r)}})}var Bf="https://airedale.futurecdn.net/feeds/feed_1786707986217.json",H2="https://airedale.futurecdn.net/feeds/feed_1786702796175.json",z2="https://airedale.futurecdn.net/feeds/feed_1787582137748.json",U2=2,_f=new Map,Cv=new Map;function Rv(e){let t=new URL(e),n=String(t.searchParams.get("articleType")||"").trim().toLowerCase(),a=String(t.searchParams.get("articleControlTag")||"").replace(/[\s-]+/g,"_").toLowerCase();return n!=="deals"&&a!=="type_deal"?null:(t.searchParams.delete("start"),t.toString())}function G2(e){return!e.response?.ok||e.articles.length<50?!1:!e.articles.some(t=>pf(t)&&!yf(t))}function P2(e){return!e.parameter||!e.value?"":`&${e.parameter}=${encodeURIComponent(e.value)}`}function q2(e,t="",n=!1,a,l,{includeCollections:i=!0,includeDeals:r=!0}={},o){let u=Wu(e,{includeBuyingGuideProducts:n,includeCollections:i,includeDeals:r}),c=a?`&articleCategory=${encodeURIComponent(a)}`:"",s=o?`&articleTag=${encodeURIComponent(o)}`:"";return u.scopes.flatMap(f=>(l||u.pageStarts).map(d=>`${Bf}?site=${e}&limit=${50}&start=${d}${P2(f)}${t}${c}${s}`))}function Tv(e,t="",n,a=0,l){let i=e==="pcgamer"?"&articleControlTag=channel_gaming_hardware":"",r=n?`&articleCategory=${encodeURIComponent(n)}`:"",o=l?`&articleTag=${encodeURIComponent(l)}`:"";return`${H2}?site=${encodeURIComponent(e)}&articleType=review&limit=${50}&start=${a}${i}${t}${r}${o}`}function F2(e,t){return t!=="pcgamer"?e:e.map(n=>{let a=Array.isArray(n.articlecontroltag)?n.articlecontroltag:[];return a.some(l=>String(l).replace(/[^a-z0-9]/gi,"").toLowerCase()==="channelgaminghardware")?n:{...n,articlecontroltag:[...a,"channel_gaming_hardware"]}})}function j2(e,t){return`${z2}?site=${encodeURIComponent(e)}&documentHandle=${encodeURIComponent(t)}&limit=1`}async function Y2(e,t){let n=`${e}|${t}`,a=Cv.get(n);if(a)return a;let l=yi(j2(e,t),{source:"review-model-resolver"}).then(({data:i})=>i?gf(i)[0]:null).then(i=>i?gi(i):"").catch(()=>"");return Cv.set(n,l),l}async function Nf(e,t,n,a="date_desc"){let l=o=>{let u=[o.datepublished,o.publisheddate,o.createddate,o.contentmodifieddate,o.modifieddate].find(s=>s!=null&&String(s).trim()),c=new Date(Array.isArray(u)?u[0]:u).getTime();return Number.isFinite(c)?c:0},i=o=>{let u=Array.isArray(o.productrating)?o.productrating[0]:o.productrating;return Number(u)||0},r=e.filter(o=>Zt(o)==="review"&&!gi(o)&&typeof o.documenthandle=="string"&&o.documenthandle.trim()).sort((o,u)=>{let c=i(o),s=i(u);return a==="rating_desc"?s-c||l(u)-l(o):a==="scored_first"&&+(s>0)-+(c>0)||l(u)-l(o)}).slice(0,n);return await Promise.all(r.map(async o=>{let u=await Y2(t,o.documenthandle);u&&(o.articlehawkmodels=[u])})),e}function xv(e,t){let n=()=>{wv(e,uv(t))};if(typeof window<"u"&&typeof window.requestIdleCallback=="function"){window.requestIdleCallback(n,{timeout:2e3});return}setTimeout(n,0)}function V2(e,t){return e&&e!=="all-authors"?`&articleAuthorHandle=${encodeURIComponent(e)}`:t&&t!=="All authors"&&t!=="all-authors"?`&articleAuthor=${encodeURIComponent(t)}`:""}function X2({articleCategory:e,articleTag:t,authorParameter:n}){return!!(n&&!e&&!t)}async function Mv({authorHandle:e,authorName:t,fallbackAuthorName:n,includeBuyingGuideProducts:a,includeCollections:l,includeDeals:i,includeReviewProducts:r,onProgress:o,articleCategory:u,articleTag:c,pageStarts:s,reviewPageStarts:f,loadAllReviewPages:d,signal:m,throwOnFailure:v,website:A}){let b=A||"tomsguide",h=V2(e,t),g=[],p=!1,y=!0,C=w=>j0(w,b,a,r,l,i),R=()=>q0(g).map(w=>{let D=gi(w);return D&&!String(w.articlehawkmodels||"").trim()?{...w,articlehawkmodels:[D]}:w}).filter(C),T=()=>{let w=R();w.length>0&&o?.(w)};try{let w=q2(b,h,a,u,s,{includeCollections:l,includeDeals:i},c),D=[];r&&(f||[0]).forEach(X=>{let de=Tv(b,h,u,X,c);D.push(de),w.push(de)});let k=async(X,de=D.includes(X)?"review-feed":"author-feed")=>{let $e=await yi(X,{signal:m,source:de});for(let jr=0;jr<U2&&!$e.response?.ok&&!m?.aborted;jr+=1)$e=await yi(X,{signal:m,source:de});let{data:Z,response:x}=$e,P=Z?gf(Z):[],Q=b==="pcgamer"&&de.startsWith("review-feed")?F2(P,b):P,Vn={articles:Q,data:Z,isPcGamerHardwareReviewFeed:b==="pcgamer"&&de.startsWith("review-feed"),response:x,reviewTotalCount:D.includes(X)&&Number(x?.headers.get("x-total-count"))||null};return Q.length>0&&g.push(...Q),Vn},se=w.filter(X=>Number(new URL(X).searchParams.get("start")||0)===0),I=w.filter(X=>!se.includes(X)),j=await oc(se,X=>k(X));T();let He=new Map(se.flatMap((X,de)=>{let $e=Rv(X);return $e?[[$e,j[de]]]:[]})),ze=new Map,St=[];I.forEach(X=>{let de=Rv(X);if(!de){St.push(X);return}ze.set(de,[...ze.get(de)||[],X])});let[Ie,rn]=await Promise.all([oc(St,X=>k(X)),Promise.all([...ze.entries()].map(async([X,de])=>{let $e=[],Z=He.get(X);for(let x of de){if(!Z||!G2(Z))break;let P=await k(x);$e.push(P),Z=P}return $e}))]),Be=[...Ie,...rn.flat()],Je=[...j,...Be];p=Je.length>0&&Je.every(X=>!X.response?.ok);let nt=Je.find(X=>X.reviewTotalCount!==null)?.reviewTotalCount;if(d!==!1&&f&&nt&&nt>f.length*50){let X=new Set(f),de=[];for(let Z=0;Z<nt;Z+=50)X.has(Z)||de.push(Z);let $e=await oc(de,async Z=>await k(Tv(b,h,u,Z,c),"review-feed-page"));Je.push(...$e)}y=Je.every(X=>X.response?.ok)}catch(w){y=!1}if(v&&p)throw new Error("The author feed could not be loaded");let M=R();if(M.length===0&&X2({authorParameter:h,articleCategory:u,articleTag:c}))try{let w=await yi(`${Bf}?site=${b}&limit=150${h}`,{signal:m,source:"author-feed-fallback"});if(!w.response?.ok&&n&&(w=await yi(`${Bf}?site=${b}&limit=150&articleAuthor=${encodeURIComponent(n)}`,{signal:m,source:"author-feed-fallback"})),w.data){let D=w.data,k=Array.isArray(D)?D:D.data||[];k.length>0&&(M=k.slice(0,150))}}catch(w){}return{articles:M.filter(C),complete:!m?.aborted&&y}}function Ev(e,t){let n=_f.get(e);if(n)return n;let a=Mv(t).then(l=>(l.complete&&l.articles.length>0&&xv(e,l.articles),l)).finally(()=>{_f.delete(e)});return _f.set(e,a),a}async function Dv(e,t){let n=await Mv(t);return n.complete&&n.articles.length>0&&xv(e,n.articles),n}async function _v({onBackgroundRefresh:e,onProgress:t,...n}){let a=bv(n),l=await Av(a);return l?(t?.(l.articles),l.isFresh||(n.signal?Dv(a,n):Ev(a,n)).then(({articles:o,complete:u})=>{u&&o.length>0&&e?.(o)}),l.articles):(await(n.signal?Dv(a,{...n,onProgress:t}):Ev(a,{...n,onProgress:t}))).articles}function Of(e,t){let n=e.shipping?.prime===!0,a=e.merchant?.name||e.merchant_name||e.retailer||"Retailer";typeof e.merchant=="string"&&(a=e.merchant);let l=null,i=0,r=String(e.model_id||e.id||"");if(r&&t)if(t[r]&&t[r].score!=null)l=parseFloat(t[r].score);else{let o=Object.values(t).find(u=>String(u.model_id)===r||String(u.id)===r);o&&o.score!=null&&(l=parseFloat(o.score))}return l!=null&&(i=Math.round((l>10?l/20:l/2)*2)/2),{isPrime:n,merchant:a,starRating:i>0?i:null}}function kf(e){let t=String(e.price||e.current_price||"0"),n=String(e.was_price||e.msrp||e.original_price||"0"),a=parseFloat(t.replace(/[^0-9.]/g,""))||0,l=parseFloat(n.replace(/[^0-9.]/g,""))||0,i=a===0||t==="0.00"||t==="0",r=e.currency&&typeof e.currency=="string"?e.currency:e.currency_symbol&&typeof e.currency_symbol=="string"?e.currency_symbol:"$",o=ee(e.percentage_saving_label||"");!o&&l>a&&a>0&&(o=Math.round((l-a)/l*100)+"% OFF");let u=r;return u.includes("&")&&(u.includes("36")?u="$":u.includes("163")||u.includes("pound")?u="\xA3":(u.includes("8364")||u.includes("euro"))&&(u="\u20AC")),{rawPrice:a,rawMsrp:l,currency:u,isCheckPrice:i,savingLabel:o}}function Bv({query:e,region:t,retailer:n,selectedBrands:a,offerType:l,priceRange:i,discountAmount:r,resultCount:o}){let u=new URL("https://search-api.fie.future.net.uk/widget.php");if(u.searchParams.append("model_name",e),t&&t!=="auto"&&u.searchParams.append("area",t),n&&u.searchParams.append("filter_merchant_name",n),a&&a.length>0&&u.searchParams.append("filter_label[text_brand]",a.join(",")),l&&u.searchParams.append("offer",l),i&&i!=="all"){if(i==="under50")u.searchParams.append("filter_max_price","50");else if(i==="over50")u.searchParams.append("filter_min_price","50");else if(i==="over30")u.searchParams.append("filter_min_price","30");else if(i==="over500")u.searchParams.append("filter_min_price","500");else if(i.includes("_")){let[c,s]=i.split("_");c&&u.searchParams.append("filter_min_price",c),s&&u.searchParams.append("filter_max_price",s)}}if(r&&r!=="0"){let c=(100-parseInt(r))/100;u.searchParams.append("min_discount_ratio",c.toString())}return u.searchParams.append("filter_product_types","deals"),u.searchParams.append("rows",String(o||"12")),u}function Nv(e){return e?.widget?.data?.offers?e.widget.data.offers:e?.data?.offers?e.data.offers:Array.isArray(e)?e:e?.offers?.offer?Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers?Array.isArray(e.offers)?e.offers:[e.offers]:[]}function Ov(e){let t=[];return e.forEach(n=>{let a=[];Array.isArray(n.offers)?a=n.offers:Array.isArray(n.offer)?a=n.offer:n.offers&&typeof n.offers=="object"?a=[n.offers]:n.offer&&typeof n.offer=="object"&&(a=[n.offer]),a.length>0?a.forEach(l=>{t.push({...n,...l})}):t.push(n)}),t}function kv(e){return e?.widget?.data?.model_info?e.widget.data.model_info:e?.data?.model_info?e.data.model_info:{}}var Lf=new Map,Q2=3e3,K2=["GB","US"],Lv=6,Z2=["brand","currency","fallbackImage","hasCommerceOffer","hawkPricePending","hawkListings","image","isCheckPrice","merchant","merchantId","modelId","msrp","price","productKey","productName","rawMsrp","rawPrice","savingLabel","title","url"];function Hf(e){return String(e||"").trim().toLowerCase()}function Gv(e){return e==="UK"?"GB":e}function Pv(e,t){let n=String(t||"").trim().toUpperCase(),l={AU:["A$","AUD"],CA:["CA$","CAD"],DE:["\u20AC","EUR"],ES:["\u20AC","EUR"],FR:["\u20AC","EUR"],GB:["\xA3","GBP","GB\xA3"],IT:["\u20AC","EUR"],NL:["\u20AC","EUR"],US:["$","USD","US$"]}[e];return!l||l.includes(n)}function Hv(e,t){return String(e.id||`hawk-deal-${t}`)}function W2(e){return e.map(t=>({...t,hasCommerceOffer:!1,hawkPricePending:!!t.hawkModelName,hawkListings:[],image:t.fallbackImage||t.image||"",isCheckPrice:!0,merchant:"",merchantId:"",msrp:"",price:"",productKey:"",rawMsrp:0,rawPrice:0,savingLabel:"",url:t.sourceArticleUrl||t.documentUrl||t.url}))}function I2(e){return Z2.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}function qv(e){return!!((e.isBuyingGuideProduct||e.isReviewProduct)&&e.hawkModelName)}function J2(e){return e.model_image_url||e.model_image||e.product_image||e.image_url||e.image||""}function Fv(e){return e.link||e.url||e.offer_link||""}function $2(e,t){let n=String(t.model_id||t.id||"");return n&&e[n]?e[n]:Object.values(e).find(a=>String(a?.model_id||a?.id||"")===n)||{}}function eS(e,t,n){let a=e.map(i=>{let r=kf(i),o=Of(i,t),u=Fv(i),c=ee(String(o.merchant||"")).trim();return!u||!c||r.rawPrice<=0||!Pv(n,r.currency)?null:{merchant:c,merchantId:typeof i.merchant=="object"?String(i.merchant?.id||""):"",modelId:String(i.model_id||""),offer:i,productKey:String(i.product_key||""),rawPrice:r.rawPrice,url:u}}).filter(i=>i!==null).sort((i,r)=>i.rawPrice-r.rawPrice||i.merchant.localeCompare(r.merchant)),l=new Set;return a.filter(i=>{let r=i.merchant.toLocaleLowerCase();return l.has(r)?!1:(l.add(r),!0)}).slice(0,4)}async function zv(e,t,n){let a=`${t}|${Hf(e)}`;return Lf.has(a)||Lf.set(a,(async()=>{let l;try{let i=new AbortController;l=setTimeout(()=>i.abort(),Q2);let r=await n(Bv({query:e,region:t,resultCount:12}).toString(),{signal:i.signal});if(!r.ok)return null;let o=await r.json(),u=Ov(Nv(o)),c=Hf(e),s=u.filter(A=>Hf(A.model_name||A.model)===c),f=s.length?s:u,d=f[0]||null;if(!d)return null;let m=kv(o),v=$2(m,d);return{brand:String(v?.brand||d.brand||"").trim(),modelInfo:m,offer:d,offers:f}}catch{return null}finally{l&&clearTimeout(l)}})()),Lf.get(a)}function Uv(e,t,n){return e.map(a=>{let l=String(a.hawkModelName);if(!qv(a)||!t.has(l))return a;let i=t.get(l);if(!i)return{...a,hawkPricePending:!1};let{offer:r}=i.lookup,o=kf(r),u=Of(r,i.lookup.modelInfo),c=J2(r),s=Fv(r),f=ee(String(r.model_name||r.model||a.hawkModelName||a.productName||a.title||"").trim()),d=!!(i.region===n&&s&&Pv(n,o.currency)),m=i.region===n?eS(i.lookup.offers,i.lookup.modelInfo,n).map(({offer:v,...A})=>A):[];return d?{...a,brand:i.lookup.brand||r.brand||a.brand,currency:o.currency||a.currency,fallbackImage:c?a.image:a.fallbackImage,hasCommerceOffer:!0,hawkPricePending:!1,hawkListings:m,image:c||a.image,isCheckPrice:o.isCheckPrice,merchant:u.merchant||a.merchant,merchantId:typeof r.merchant=="object"&&r.merchant?.id||"",modelId:r.model_id||"",msrp:o.rawMsrp>0?String(o.rawMsrp):"",price:o.rawPrice>0?String(o.rawPrice):"",productKey:r.product_key||"",productName:f||a.productName,rawMsrp:o.rawMsrp,rawPrice:o.rawPrice,savingLabel:o.savingLabel,title:f||a.title,url:s||a.url}:{...a,brand:i.lookup.brand||a.brand,fallbackImage:c?a.image:a.fallbackImage,hawkPricePending:!1,image:c||a.image,productName:f||a.productName,title:f||a.title}})}async function vi(e,t,n=fetch,a,l=[],i){let r=Gv(t),o=new Map,u=e.filter(qv).map(f=>String(f.hawkModelName)),c=new Set(u),s=Array.from(new Set([...l.filter(f=>c.has(f)),...u])).slice(0,a);for(let f=0;f<s.length;f+=Lv)await Promise.all(s.slice(f,f+Lv).map(async d=>{let m=await zv(d,r,n),v=m||r==="GB"?null:await zv(d,"GB",n);o.set(d,m?{lookup:m,region:r}:v?{lookup:v,region:"GB"}:null),i?.(Uv(e,o,r))}));return Uv(e,o,r)}async function jv(e,t=fetch){let n=W2(e),a=await Promise.all(K2.map(async i=>[i,await vi(n,i,t)])),l=new Map;return a.forEach(([i,r])=>{r.forEach((o,u)=>{if(!o.hasCommerceOffer)return;let c=Hv(o,u),s=l.get(c)||{};s[i]=I2(o),l.set(c,s)})}),e.map((i,r)=>{let o=l.get(Hv(i,r));return o?{...i,hawkRegionalCommerce:o}:i})}function zf(e,t){let n=Gv(t);return e.map(a=>{let l=a.hawkRegionalCommerce?.[n];return l?{...a,...l,hawkPricePending:!1}:a})}function Yv(e,t){let n=Array.from(new Set(e.map(i=>i.merchant).filter(Boolean))),a={};if(n.forEach(i=>{a[i]="loading"}),n.length===0)return{merchants:n,couponMap:a,couponUrl:null};let l=new URL("https://search-api.fie.future.net.uk/widget.php");return l.searchParams.append("model_name","Everything"),l.searchParams.append("filter_merchant_name",n.join(",")),l.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),l.searchParams.append("sort","voucher"),l.searchParams.append("rows","120"),l.searchParams.append("origin","widgets-clientside"),l.searchParams.append("combine_product_types","1"),l.searchParams.append("language","en-GB"),l.searchParams.append("all_filters","false"),l.searchParams.append("exclude_unlabelled","false"),l.searchParams.append("include_specs","false"),t&&t!=="auto"&&l.searchParams.append("area",t),{merchants:n,couponMap:a,couponUrl:l}}function Vv(e,t){let n=new URL("https://search-api.fie.future.net.uk/widget.php");return n.searchParams.append("model_name","Everything"),n.searchParams.append("language","en-GB"),t&&t!=="auto"&&n.searchParams.append("area",t),n.searchParams.append("combine_product_types","1"),n.searchParams.append("filter_merchant_name",e),n.searchParams.append("all_filters","false"),n.searchParams.append("exclude_unlabelled","false"),n.searchParams.append("include_specs","false"),n.searchParams.append("sort","voucher"),n.searchParams.append("distinct_merchants","natural"),n.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),n.searchParams.append("rows","50"),n.searchParams.append("origin","widgets-clientside"),n}function Uf(e,t,n=!0){if(!e?.length)return e||[];if(t==="date_desc"&&!n)return e;let a=[...e];return ln(a,t,n),a}function uc(e,t,n,a=!0){if(n!=="date_desc"||!e?.length)return t;let l=(c,s)=>String(c.id||s),i=new Map(t.map((c,s)=>[l(c,s),c])),r=new Set,o=e.flatMap((c,s)=>{let f=l(c,s);r.add(f);let d=i.get(f);return d?[d]:[]}),u=t.filter((c,s)=>!r.has(l(c,s)));return a?[...o.filter(nl),...u.filter(nl),...o.filter(c=>!nl(c)),...u.filter(c=>!nl(c))]:[...o,...u]}function Xv({activeDealTag:e,activeFreeformTag:t,clickedAuthorOverride:n,compactEmbed:a,compactInventoryExplored:l,compactLoadRequested:i,initialActiveDealTag:r,initialActiveFreeformTag:o,reviewInventoryBaked:u}){return!!(a&&u&&!n&&!i&&!l&&(!e||e===r)&&(!t||t===o))}var Qv=[0,50,100,150,200,250,300,350,400,450],Gf=4;function Kv(e){return(Array.isArray(e)?e:[e]).reduce((n,a)=>{if(typeof a!="string"||!a.trim())return n;let l=a.trim();return n.some(i=>i.toLowerCase()===l.toLowerCase())?n:[...n,l]},[])}function nS(e,t){return e.length===t.length&&e.every((n,a)=>n===t[a])}function Pf(e){return e.map(t=>t.trim().toLowerCase()).sort().join("|")}function qf(e){let t=e.initialData,n=Fu(e),a=!!(e.preloadReviewInventory&&!n),l=!!(e.preloadReviewInventory&&e.includeReviewProducts&&!e.compactEmbed),i=n?Number(e.resultCount)||12:100,r=n?!1:e.prioritiseCommercialProducts,o=wt(e.region),u=zf(t?.allDeals||t?.deals||[],o).filter(_=>P0(_,o)),c=wa(n?"date_desc":e.sort,!Or(e)),s=!!(e.priceRange&&e.priceRange!=="all")||!!(e.discountAmount&&e.discountAmount!=="0"&&e.discountAmount!=="all"),f=tl(t?.authorArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),d=tl(t?.authorInteractionArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),[m,v]=(0,N.useState)(()=>Uf(u,c,r)),[A,b]=(0,N.useState)(t?.totalDealCount??t?.allDeals?.length??t?.deals?.length??0),[h,g]=(0,N.useState)(t?.totalAuthorCount??t?.authors?.length??0),[p,y]=(0,N.useState)(!t),[C,R]=(0,N.useState)(!1),[T,M]=(0,N.useState)(!1),[w,D]=(0,N.useState)(!1),[k,se]=(0,N.useState)(t?.couponMap||{}),[I,j]=(0,N.useState)(f),[He,ze]=(0,N.useState)(f),[St,Ie]=(0,N.useState)(t?.tags||[]),[rn,Be]=(0,N.useState)(t?.tagCounts||{}),[Je,nt]=(0,N.useState)(t?.freeformTags||[]),[X,de]=(0,N.useState)(t?.freeformTagCounts||{}),[$e,Z]=(0,N.useState)(t?.brands||[]),[x,P]=(0,N.useState)(()=>{let _=t?.activeDealTag||e.query;return _&&_.toLowerCase()!=="everything"?_:null}),[Q,Vn]=(0,N.useState)(()=>Kv(t?.activeFreeformTags||t?.activeFreeformTag)),[jr,bi]=(0,N.useState)(f),[sc,ll]=(0,N.useState)(null),[at,Yr]=(0,N.useState)(!1),[il,Vr]=(0,N.useState)(""),[rl,Xr]=(0,N.useState)(""),[f1,g1]=(0,N.useState)(0),[Wt,dc]=(0,N.useState)(e.resultCount?parseInt(e.resultCount):12),[Xf,fc]=(0,N.useState)(!1),[m1,Qr]=(0,N.useState)(null),[gc,h1]=(0,N.useState)(!1),[mc,p1]=(0,N.useState)([0]),Kr=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`:""),hc=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}|age-${e.editorialMaxAgeMonths||"none"}`:""),y1=(0,N.useRef)(e.website||"tomsguide"),pc=(0,N.useRef)(e.website||"tomsguide"),Qf=(0,N.useRef)(u.length>0),Kf=(0,N.useRef)(null),ol=(0,N.useRef)(new Map),v1=(0,N.useRef)({activeDealTag:String(x||"").trim().toLowerCase(),freeformTags:Pf(Kv(t?.activeFreeformTags||t?.activeFreeformTag)),discountAmount:e.discountAmount,priceRange:e.priceRange}),Xn=(0,N.useRef)(!1),De=(0,N.useRef)(!1),Ai=(0,N.useRef)(!1),Zf=(_,oe,ne=at?il:e.authorHandle,we=at?rl:e.authorName)=>[e.website||"tomsguide",ne||"",we||"",wt(e.region),String(_||"").trim().toLowerCase(),Pf(oe),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),Wf=(_,oe)=>{let ne=v1.current;return!!(e.compactEmbed&&t?.brands?.length&&String(_||"").trim().toLowerCase()===ne.activeDealTag&&Pf(oe)===ne.freeformTags&&e.priceRange===ne.priceRange&&e.discountAmount===ne.discountAmount)},Zr=(_,oe)=>{let ne=ol.current.get(Zf(_,oe));if(ne){Z(ne);return}if(Wf(_,oe)){Z(t?.brands||[]);return}},ul=()=>Xn.current||n?void 0:e.productSelection;(0,N.useEffect)(()=>{ll(null)},[e.authorName,e.authorHandle]),(0,N.useLayoutEffect)(()=>{let _=e.website||"tomsguide";pc.current!==_&&(pc.current=_,v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),ol.current.clear(),se({}),Yr(!1),Vr(""),Xr(""),ll(null),P(null),Vn([]),g(0),b(0),M(!1),fc(!1),Qr(null),Ai.current=!1,R(!0),y(!0))},[e.website]),(0,N.useEffect)(()=>{e.compactEmbed||typeof document>"u"||setTimeout(()=>{document.dispatchEvent(new CustomEvent("processArticle"))},100)},[m,Wt,e.query,x,Q]),(0,N.useEffect)(()=>{e.resultCount&&(dc(parseInt(e.resultCount,10)||12),Qr(null))},[e.resultCount]),(0,N.useEffect)(()=>{Qr(null)},[x,Q,e.authorHandle,e.authorName,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands,e.sort]),(0,N.useEffect)(()=>{if(!t||!e.includeBuyingGuideProducts&&!e.includeReviewProducts||e.compactEmbed&&(De.current||e.refreshDealsOnViewport))return;let _=wt(e.region),oe=zf(t.allDeals||t.deals||[],_);if(_==="unavailable"){let It=oe.map(on=>(on.isBuyingGuideProduct||on.isReviewProduct)&&on.hawkModelName?{...on,hawkPricePending:!1}:on);ln(It,c,r),v(yn(It,ul(),c));return}let ne=al(oe,e.selectedBrands),we=Number(e.resultCount)||12,Ta=typeof navigator>"u"?void 0:navigator.connection,Ea=!Ta?.saveData&&!Ta?.effectiveType?.includes("2g")&&(!e.compactEmbed||!!e.warmInventory),Si=s?ne:t.reviewInventoryBaked?ne.slice(0,Wt+(Ea?we:0)):oe;if(!Si.some(It=>(It.isBuyingGuideProduct||It.isReviewProduct)&&It.hawkModelName))return;let sl=!0;return M(!0),vi(Si,_).then(It=>{if(!sl)return;let on=t.reviewInventoryBaked?lv(oe,It):It,Ir=al(on,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(lt=>(lt.isBuyingGuideProduct||lt.isReviewProduct)&&lt.hawkModelName?{...lt,hawkPricePending:!1}:lt);ln(Ir,c,r),v(yn(Ir,ul(),c)),Z(lt=>t?.brands?.length?lt:hf(lt,It))}).finally(()=>{sl&&M(!1)}),()=>{sl=!1}},[t,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,e.selectedBrands,e.discountAmount,e.priceRange,c,e.productSelection,Wt,e.resultCount,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,x,Q]),(0,N.useEffect)(()=>{let _=!0,oe=new AbortController,ne=Ai.current,we=!e.refreshDealsOnViewport&&Xv({activeDealTag:x,activeFreeformTag:Q[0]||null,clickedAuthorOverride:at,compactEmbed:e.compactEmbed,compactInventoryExplored:De.current,compactLoadRequested:gc,initialActiveDealTag:t?.activeDealTag,initialActiveFreeformTag:t?.activeFreeformTag,reviewInventoryBaked:t?.reviewInventoryBaked}),Ta=u.length>0,Ea=!!(n&&e.compactEmbed&&!De.current),Si=!!(Ea&&e.warmInventory&&I.length===0&&m.length>0),sl=!!(we||e.compactEmbed&&Ta&&I.length===0&&!at&&!gc&&!De.current&&!e.refreshDealsOnViewport&&(!n||!e.warmInventory));return!sl&&!ne&&!Si&&(R(!0),e.compactEmbed&&De.current&&v([])),(async()=>{D(!1),M(!1);let on=m.length>0||St.length>0||Je.length>0||$e.length>0,Ir=sl;try{if(!e.authorName&&!e.authorHandle){v([]),j([]),bi([]),Ie([]),nt([]),Z([]),ll(null),P(null),Vn([]),y(!0);return}let lt=at?il:e.authorHandle,Jr=at?rl:e.authorName,$r=`${e.website||"tomsguide"}|${lt||""}|${Jr||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`,yc=`${$r}|${e.compactEmbed&&x||""}|${e.compactEmbed?Q.join(","):""}|${e.compactEmbed&&De.current?"expanded":e.refreshDealsOnViewport?"viewport-refresh":"initial"}|lightweight-pages-${Ea?mc.join(","):"all"}|age-${e.editorialMaxAgeMonths||"none"}`,Jt=I,$f=St,U1=ev(Je,Q.length===1?Q[0]:null),eg=()=>({activeDealTag:x,activeFreeformTag:Q[0]||null,activeFreeformTags:Q,preserveFreeformTagSelection:!!(e.compactEmbed&&Q.length),authorHandle:lt,authorName:Jr,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,priceRange:e.priceRange,prioritiseCommercialProducts:r,productSelection:ul(),query:e.query,region:e.region,selectedArticleId:sc,selectedBrands:e.selectedBrands,sort:c,website:e.website}),tg=hc.current!==yc||Jt.length===0,Da=[],vc=!1,ng=(me,zt=!1)=>{if(!_||zt&&vc)return;let bn=al(me,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange});ln(bn,c,r);let Di=yn(bn,ul(),c);v(uc(Da,Di,c,r))};if(Ir){y(!1),R(!1);return}if(tg){let me=Kr.current.split("|")[0],zt=e.website||"tomsguide",bn=!!(Kr.current&&me!==zt);!ne&&!Si&&R(!!e.compactEmbed||!on),bn&&(Jt=[],$f=[],v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),se({}),Yr(!1),Vr(""),Xr(""),y(!0));let Di=Qf.current&&Kr.current===$r&&Jt.length===0&&!De.current;Qf.current=!1,!Di&&!on&&y(!0);let lo=Ba=>{if(!_||Ba.length===0)return;let fe=eg(),it=Cf(Ba,fe),{displayedDeals:io}=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);io.length!==0&&(Da=io,v(Da),y(!1),e.includeReviewProducts&&Nf(it.targetArticles,e.website||"tomsguide",Math.min(Wt,Gf),c).then(()=>{if(!_||vc)return;let An=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);Da=An.displayedDeals,v(Da);let xi=An.displayedDeals.filter(dt=>dt.isReviewProduct&&dt.hawkModelName).slice(0,Gf).map(dt=>String(dt.hawkModelName));vi(An.extractedDeals,it.activeRegionCode,void 0,Gf,xi,dt=>ng(dt,!0))}))};if(Jt=await _v({authorHandle:lt,authorName:Jr,fallbackAuthorName:e.authorName,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,articleCategory:e.compactEmbed&&x||void 0,articleTag:e.compactEmbed?U1:void 0,pageStarts:e.compactEmbed&&!e.warmInventory&&!De.current?[0]:void 0,reviewPageStarts:e.includeReviewProducts?Ea?mc:!e.compactEmbed||De.current?Qv:void 0:void 0,loadAllReviewPages:!Ea,throwOnFailure:!!(e.compactEmbed&&De.current),onBackgroundRefresh:Ba=>{if(!_||hc.current!==yc)return;let fe=tl(Ba,void 0,Number(e.editorialMaxAgeMonths)||0);j(fe),at||ze(fe),g1(it=>it+1)},onProgress:lo,signal:oe.signal,website:e.website}),!_)return;if(Jt=tl(Jt,void 0,Number(e.editorialMaxAgeMonths)||0),Kr.current=$r,hc.current=yc,Di&&Jt.length===0){y(!1);return}_&&(j(Jt),at||ze(Jt),R(!1))}let eo=eg(),G1=Cf(Jt,eo),{activeDealTag:xa,activeRegionCode:Ci,authorArticles:ag,activeFreeformTags:Ma,freeformTagCounts:lg,freeformTags:to,tagCounts:ig,tags:Ri,targetArticles:_a,targetIso:P1}=G1,Ti=e.compactEmbed&&x&&!xa?x:xa,Ei=e.compactEmbed&&Q.length>0&&Ma.length===0?Q:Ma,q1=Ri.length>0?Ri:Ti?[Ti]:Ri,F1=to.length>0?to:Ei.length>0?t?.freeformTags?.filter(me=>Ei.includes(me.handle))||[]:to,j1={...ig,...Ti&&!xa?{[Ti]:0}:{}},Y1={...lg,...Object.fromEntries(Ma.length===0?Ei.map(me=>[me,0]):[])},no=Zf(xa,Ma,lt,Jr),rg=[$r,Ci,xa||"",Ma.join(","),e.selectedBrands.join(","),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),dl=null,fl=null;if(!at){let me=Kf.current;if(me?.key===rg&&me.articleCount===_a.length)dl=me.deals.length,fl=me.authorCount;else{let zt=dv(_a,eo);dl=zt.deals.length,fl=zt.authorCount,Kf.current={articleCount:_a.length,authorCount:fl,deals:zt.deals,key:rg}}}$f=Ri;let Ht;_&&(Ie(q1),Be(j1),nt(F1),de(Y1)),e.includeReviewProducts&&await Nf(_a,e.website||"tomsguide",l?Math.min(_a.length,i):Wt,c);let{brands:bc,displayedDeals:Ac,extractedDeals:ao}=ic(_a,eo,Ci,P1),{merchants:V1,couponMap:wc,couponUrl:X1}=Yv(Ac,e.region);_&&se(wc);let Q1=me=>{!_||!Ht||(Ht={...Ht,couponMap:me},window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht))};if(hv({couponMap:wc,couponUrl:X1,merchants:V1}).then(me=>{_&&(se(me),Q1(me))}),_){tg&&P(Ti),nS(Q,Ei)||Vn(Ei),bi(ag);let me=uc(Da,Ac,c,r);if(vc=!0,v(me),dl!==null){let zt=t?.totalDealCount||0,bn=Ea&&zt>dl;b(bn?zt:dl),g(bn?Math.max(t?.totalAuthorCount||0,fl||0):fl||0)}!ol.current.has(no)&&Wf(xa,Ma)&&ol.current.set(no,t?.brands||[]),Z(ol.current.get(no)||bc),y(!1),Ht=fv({allArticles:Jt,authorArticles:ag,bakeReviewInventory:a&&!e.compactEmbed,brands:bc,couponMap:wc,currentDealTag:xa,currentFreeformTags:Ma,displayedDeals:me,inventoryArticles:_a,options:eo,resultCount:e.resultCount,tagCounts:ig,tags:Ri,freeformTagCounts:lg,freeformTags:to,totalAuthorCount:fl??h,totalDealCount:dl??A}),window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht)}if((e.includeBuyingGuideProducts||e.includeReviewProducts)&&Ci!=="unavailable"){let me=Wt,zt=l?ao.filter(fe=>fe.isReviewProduct&&fe.hawkModelName).slice(0,i).map(fe=>String(fe.hawkModelName)):[],bn=Ac.filter(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName).map(fe=>String(fe.hawkModelName));ao.some(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName)&&M(!0);let lo=vi(ao,Ci,void 0,s?void 0:e.includeReviewProducts?l?i:me:void 0,[...zt,...bn],ng).then(async fe=>{if(!_)return;let it=al(fe,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(dt=>(dt.isBuyingGuideProduct||dt.isReviewProduct)&&dt.hawkModelName?{...dt,hawkPricePending:!1}:dt);ln(it,c,r);let io=yn(it,ul(),c),An=uc(Da,io,c,r),xi=hf(bc,fe);if(ol.current.set(no,xi),v(An),Z(xi),s&&b(it.length),Ht){let dt=a&&!e.compactEmbed,og=l,ug=dt?ac(An,Number(e.resultCount)||12):og?An.slice(0,i):An,K1=og?await jv(ug):ug;if(!_)return;let Sc={...Ht,allDeals:K1,deals:An.slice(0,me),brands:xi,totalDealCount:s?it.length:Ht.totalDealCount};Ht=Sc,window.__AUTHOR_PRELOAD_DATA__=Sc,e.onDataLoaded&&e.onDataLoaded(Sc)}}).finally(()=>{_&&M(!1)}),Ba=ao.slice(me,me+(Number(e.resultCount)||12));e.includeReviewProducts&&e.warmInventory&&!s&&!ne&&Ba.some(fe=>fe.hawkModelName)&&lo.then(()=>{_&&vi(Ba,Ci)}),ne&&await lo}}catch(lt){_&&D(!0)}finally{_&&(y(!1),R(!1),fc(!1),Ai.current=!1)}})(),()=>{_=!1,oe.abort()}},[e.query,e.region,e.selectedBrands,e.website,e.resultCount,Wt,c,e.priceRange,e.discountAmount,x,Q,e.authorName,e.authorHandle,e.website,e.authorBioLength,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,s,a,l,i,r,n,mc,e.productSelection,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,e.editorialMaxAgeMonths,sc,at,il,rl,f1,gc]);let Wr=e.website||"tomsguide",st=pc.current!==Wr,Ra=(0,N.useMemo)(()=>st?[]:y1.current===Wr&&t?.authors?t.authors:Lr(He.length>0?He:I,Wr),[I,Wr,He,t?.authors,st]),b1=at?il:e.authorHandle,A1=at?rl:e.authorName,w1=Ra.find(_=>_.handle===b1||_.fullName===A1),cl=He.length>0?He:I,If=(0,N.useMemo)(()=>{if(cl.length===0)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q),we=Sf(Ra,ne,{activeRegionCode:_,targetIso:oe,selectedBrands:e.selectedBrands,priceRange:e.priceRange,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website});return Yu(Ra,we)},[x,Q,Ra,cl,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands]),S1=(0,N.useMemo)(()=>{if(st)return[];if(cl.length===0&&t?.authors?.length||e.compactEmbed&&!x&&Q.length===0&&t?.authors?.length)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q).filter(we=>mi([we],{activeRegionCode:_,targetIso:oe,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website}).length>0);return kr(If,ne)},[x,Q,cl,st,at,t?.authors?.length,e.compactEmbed,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,If,e.website]),Jf=(_,oe)=>{let ne=He.length>0?He:I.length>0?I:d;if(ne.length===0)return;let we=yv(ne,{authorHandle:_,authorName:oe,discountAmount:e.discountAmount,priceRange:e.priceRange,region:e.region,selectedBrands:e.selectedBrands,sort:c,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,prioritiseCommercialProducts:r,website:e.website,productSelection:void 0});ll(null),P(null),Vn([]),bi(we.authorArticles),Ie(we.tags),Be(we.tagCounts),nt(we.freeformTags),de(we.freeformTagCounts),Z(we.brands),v(we.deals),y(!1)},C1=()=>{!e.compactEmbed||!t||(v(yn(Uf(t.deals||t.allDeals||[],c,r),ul(),c)),Ie(t.tags||[]),Be(t.tagCounts||{}),nt(t.freeformTags||[]),de(t.freeformTagCounts||{}),Z(t.brands||[]),se(t.couponMap||{}),g(t.totalAuthorCount??t.authors?.length??0),b(t.totalDealCount??t.deals?.length??t.allDeals?.length??0))},R1=_=>{Xn.current=!0,De.current=!0,R(!0),at&&(il===_.handle||rl===_.fullName)?(e.compactEmbed&&t?C1():Jf(e.authorHandle,e.authorName),Yr(!1),Vr(""),Xr("")):(Jf(_.handle,_.fullName),Yr(!0),Vr(_.handle),Xr(_.fullName)),e.onQueryChange?.("")},T1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=x===_?null:_;Zr(oe,Q),P(oe),e.onQueryChange?.("")},E1=()=>{Xn.current=!0,De.current=!0,R(!0)},D1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(null,Q),P(null),e.onQueryChange?.("")},x1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=Q.some(ne=>ne.toLowerCase()===_.toLowerCase())?Q.filter(ne=>ne.toLowerCase()!==_.toLowerCase()):[...Q,_];Zr(x,oe),Vn(oe)},M1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(x,[]),Vn([])},_1=_=>{Xn.current=!0,De.current=!0,R(!0),ll(_)},B1=()=>{if(Ai.current)return;Ai.current=!0,fc(!0);let _=Wt+(e.resultCount?parseInt(e.resultCount,10):12);!!(n&&e.compactEmbed&&!De.current)&&I.length>0&&m.length<_&&p1(we=>{let Ta=Qv[we.length];return Ta===void 0?we:[...we,Ta]}),dc(we=>(Qr(we),we+(e.resultCount?parseInt(e.resultCount,10):12)));let ne=!!(t?.reviewInventoryBaked&&m.length>Wt);e.compactEmbed&&I.length===0&&!ne&&(R(!0),h1(!0))},wi=e.compactEmbed&&!e.refreshDealsOnViewport,N1=wi&&t?.tags?.length?t.tags:St,O1=wi&&t?.tags?.length?t.tagCounts||{}:rn,k1=wi&&!De.current&&t?.brands?.length?t.brands:$e,L1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTags:Je,H1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTagCounts||{}:X,z1=pv({enrichingBuyingGuides:T,error:w,loading:p,loadingMore:Xf,refreshingFeed:C});return{activeDealTag:x,activeFreeformTags:Q,airedaleBrands:st?[]:k1,airedaleTagCounts:st?{}:O1,airedaleTags:st?[]:N1,airedaleFreeformTagCounts:st?{}:H1,airedaleFreeformTags:st?[]:L1,allAuthorsList:S1,authorArticlesList:st?[]:jr,clickedAuthorOverride:at,couponMap:k,deals:st?[]:m,displayCount:Wt,error:w,enrichingBuyingGuides:T,effectiveAuthorProfile:st?void 0:w1,loading:p,loadingMore:Xf,loadMoreStartCount:m1,markProductSelectionInteracted:E1,hasMore:m.length>Wt||!!e.compactEmbed&&A>m.length,loadMore:B1,refreshingFeed:C,overriddenAuthorHandle:il,overriddenAuthorName:rl,selectedArticleId:sc,setActiveDealTag:P,clearDealTag:D1,clearFreeformTags:M1,selectArticle:_1,setDisplayCount:dc,setSelectedArticleId:ll,status:z1,toggleAuthorOverride:R1,toggleDealTag:T1,toggleFreeformTag:x1,totalAuthorCount:st?0:h,totalDealCount:st?0:A}}var aS=B(ft(),1);var Fr=B(ft(),1);function Zv(e){let[t,n]=(0,Fr.useState)(null),[a,l]=(0,Fr.useState)([]),[i,r]=(0,Fr.useState)(!1),[o,u]=(0,Fr.useState)(!1);return{close:()=>n(null),error:o,loading:i,merchant:t,open:async f=>{n(f),r(!0),u(!1),l([]);try{let d=Vv(f,e),m=await fetch(d.toString());if(!m.ok)throw new Error("API Error");l(mv(await m.json()))}catch(d){u(!0)}finally{r(!1)}},vouchers:a}}var je=B(O(),1);function lS(e){return new Set(e.map(t=>Array.isArray(t.authorName)?t.authorName[0]:t.authorName).map(t=>String(t||"").trim().toLowerCase()).filter(Boolean)).size}var iS=new Map,rS=()=>{};function Iv({data:e,editorBar:t,editorMode:n=!1,props:a,selectedDeals:l=iS,setSelectedDeals:i=rS}){let r=Zv(a.region),[o,u]=(0,Wv.useState)(new Set),c=p0[a.website||""]||"#1F69FF",s=a.backgroundColor?a.backgroundColor==="white"?"#ffffff":a.backgroundColor==="transparent"?"transparent":a.backgroundColor==="light_blue"?"#E7F0FF":void 0:void 0,f=Vu(a.authorHandle,a.authorName),d=Or(a),m=Fu(a),v=wa(m?"date_desc":a.sort,!d),A=!!(a.showReviewSort&&a.includeReviewProducts),b=a.showPriceDiscountFilters!==!1||A,h=!a.authorFullBleed,g=!e.clickedAuthorOverride,p=e.totalDealCount||e.deals.length,y=e.totalAuthorCount||lS(e.deals),C=e.status==="loading_inventory"||e.status==="refreshing_inventory"||e.status==="enriching_visible_cards",R=e.status==="loading_inventory"||(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards")&&e.deals.length===0,M=!!(a.showReviewSort&&a.includeReviewProducts&&(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards"))?"Loading and sorting available review products":e.status==="enriching_visible_cards"?"Adding live product images and prices":e.status==="refreshing_inventory"?"Updating products":`Loading ${a.website||"site"} authors and products`,w=j=>{e.markProductSelectionInteracted(),a.onBrandToggle?.(j)},D=j=>{e.markProductSelectionInteracted(),a.onBrandSelect?.(j)},k=j=>{e.markProductSelectionInteracted(),a.onPriceRangeChange?.(j)},se=j=>{e.markProductSelectionInteracted(),a.onDiscountAmountChange?.(j)},I=j=>{e.markProductSelectionInteracted(),a.onSortChange?.(j)};return(0,je.jsx)("div",{className:"tg-df-widget-host",style:{"--tg-df-blue":c.toUpperCase()==="#FFFFFF"?"#000000":c},"data-vizualizer-embed":"true","data-tg-df-full-bleed":a.authorFullBleed?"true":"false","data-tg-df-mobile-dropdowns":a.mobileDropdowns?"true":"false","data-tg-df-sticky-mobile-filters":a.stickyMobileFilters===!1?"false":"true",children:(0,je.jsxs)("div",{className:"tg-df-container article-body",style:a.backgroundColor?{backgroundColor:s}:void 0,children:[(a.showAuthorIdentity!==!1||a.showAuthorBio!==!1)&&(0,je.jsx)("div",{className:"tg-df-author-embed",style:{width:"100%",fontFamily:"inherit"},children:(0,je.jsx)("div",{className:"tg-df-author-section",style:{display:"block",opacity:1,overflow:"visible",background:"transparent",border:"none"},children:(0,je.jsx)(U0,{authorArticlesList:e.authorArticlesList,authorBioLength:a.authorBioLength,customBio:g?a.customBio:void 0,customHeaderKicker:a.customHeaderKicker,customHeaderTitle:a.customHeaderTitle,effectiveAuthorHandle:e.clickedAuthorOverride?e.overriddenAuthorHandle:a.authorHandle,effectiveAuthorName:e.clickedAuthorOverride?e.overriddenAuthorName:a.authorName,isReviewWidget:d,onBioChange:g?a.onBioChange:void 0,onHeaderKickerChange:a.onHeaderKickerChange,onHeaderTitleChange:a.onHeaderTitleChange,selectedProfile:e.effectiveAuthorProfile,showAuthorBio:a.showAuthorBio,showAuthorIdentity:a.showAuthorIdentity,showSocialButtons:a.showSocialButtons,stabilizeBio:f,authorCount:y,totalDealCount:p,website:a.website})})}),t,a.showCollectionsDropdown&&(0,je.jsx)(r0,{articles:e.authorArticlesList,authorHandle:a.authorHandle,authorName:a.authorName||a.author,onChange:e.selectArticle,selectedArticleId:e.selectedArticleId,shortenedHeadlines:a.shortenedHeadlines}),C&&(0,je.jsxs)("div",{role:"status","aria-live":"polite","aria-label":M,style:{alignItems:"center",display:"flex",justifyContent:"center",marginBottom:"16px",minHeight:"72px"},children:[(0,je.jsx)("span",{className:"tg-df-coupon-spinner","aria-hidden":"true",style:{borderWidth:"3px",height:"24px",width:"24px"}}),(0,je.jsxs)("span",{style:{color:"#4B5563",fontSize:"14px",marginLeft:"10px"},children:[M,"\u2026"]})]}),(0,je.jsx)(_0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,allAuthorsList:e.allAuthorsList,brands:a.brands,clickedAuthorOverride:e.clickedAuthorOverride,loading:e.loading,refreshing:e.refreshingFeed,onAuthorClick:e.toggleAuthorOverride,onBrandToggle:w,onFreeformTagClick:e.toggleFreeformTag,onTagClick:e.toggleDealTag,overriddenAuthorHandle:e.overriddenAuthorHandle,overriddenAuthorName:e.overriddenAuthorName,selectedBrands:a.selectedBrands,showAuthorRail:f&&a.showAuthorRail!==!1,showAuthorCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,website:a.website}),(0,je.jsx)(k0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,brands:a.brands,discountAmount:a.discountAmount,enabled:a.mobileDropdowns||h,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,onPriceRangeChange:k,onReviewSortChange:I,onTagClear:e.clearDealTag,onTagClick:e.toggleDealTag,priceRange:a.priceRange,reviewSort:v,selectedBrands:a.selectedBrands||[],showCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),b&&(0,je.jsx)(L0,{airedaleBrands:e.airedaleBrands,airedaleTags:e.airedaleTags,discountAmount:a.discountAmount,hidden:!!e.selectedArticleId,onDiscountAmountChange:se,onPriceRangeChange:k,onReviewSortChange:I,priceRange:a.priceRange,reviewSort:v,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),(0,je.jsx)(i0,{articles:e.authorArticlesList,selectedArticleId:e.selectedArticleId}),(a.showCategoryRail!==!1||a.showFreeformTagRail!==!1||a.showBrandRail!==!1)&&(0,je.jsx)(a0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleTags:e.airedaleTags,freeformTags:e.airedaleFreeformTags,discountAmount:a.discountAmount,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onPriceRangeChange:k,onTagClear:e.clearDealTag,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,priceRange:a.priceRange,selectedBrands:a.selectedBrands||[]}),(0,je.jsx)(w0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,couponMap:e.couponMap,deals:e.deals,displayCount:e.displayCount,editorMode:n,error:e.error,expandedDealIds:o,hasMore:e.hasMore,hideHawkPrices:a.hideHawkPrices,loading:R,loadingMore:e.loadingMore,loadMoreStartCount:e.loadMoreStartCount,onDescriptionToggle:j=>u(He=>{let ze=new Set(He);return ze.has(j)?ze.delete(j):ze.add(j),ze}),onLoadMore:e.loadMore,onOpenVouchers:r.open,query:a.query,recentDealsOnly:!!(a.includeDeals&&!a.includeCollections&&!a.includeBuyingGuideProducts&&!a.includeReviewProducts),selectedBrands:a.selectedBrands,selectedDeals:l,setSelectedDeals:i,website:a.website}),(0,je.jsx)(G0,{error:r.error,loading:r.loading,merchant:r.merchant,onClose:r.close,vouchers:r.vouchers})]})})}var $v=B(O(),1),Jv=e=>{let t={...e,editorMode:!1},n=qf(t);return(0,$v.jsx)(Iv,{data:n,props:t})};var U={authorBioLength:"short",authorFullBleed:!0,authorHandle:"all-authors",authorName:"All authors",backgroundColor:"transparent",customBio:"",customHeaderKicker:void 0,customHeaderTitle:void 0,discountAmount:"0",editorMode:!1,editorialMaxAgeMonths:"12",includeBuyingGuideProducts:!0,includeCollections:!0,includeDeals:!0,includeReviewProducts:!1,mobileDropdowns:!0,stickyMobileFilters:!0,offerType:"",preloadReviewInventory:!1,lightweightReviewDelivery:!1,hideHawkPrices:!1,prioritiseCommercialProducts:!0,priceRange:"all",productSelection:"latest",query:"Everything",region:"auto",resultCount:"12",retailer:"",selectedBrands:[],showAuthorBio:!0,showAuthorCounters:!0,showAuthorIdentity:!0,showAuthorRail:!0,showBrandRail:!0,showCategoryRail:!0,showCollectionsDropdown:!1,showPriceDiscountFilters:!0,showReviewSort:!1,showSocialButtons:!0,showCountdown:!1,showHeaderDetails:!0,showFreeformTagRail:!0,sort:"date_desc",viewMode:"author",website:"whowhatwear",widgetSubtitle:"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.",widgetTitle:"Top Deals Handpicked by Our Editors"};function We(e,t){return typeof e=="string"?e:t}function Ae(e,t){return typeof e=="boolean"?e:t}function e1(e){let t=e||{},n=t.authorBioLength==="long"?"long":"short",a=t.productSelection==="mix"?"mix":"latest";return{...U,...t,authorBioLength:n,authorFullBleed:Ae(t.authorFullBleed,U.authorFullBleed),authorHandle:We(t.authorHandle,U.authorHandle),authorName:We(t.authorName,U.authorName),backgroundColor:We(t.backgroundColor,U.backgroundColor),customBio:We(t.customBio,U.customBio),customHeaderKicker:typeof t.customHeaderKicker=="string"?t.customHeaderKicker:void 0,customHeaderTitle:typeof t.customHeaderTitle=="string"?t.customHeaderTitle:void 0,discountAmount:We(t.discountAmount,U.discountAmount),editorMode:Ae(t.editorMode,U.editorMode),editorialMaxAgeMonths:We(t.editorialMaxAgeMonths,U.editorialMaxAgeMonths),includeBuyingGuideProducts:Ae(t.includeBuyingGuideProducts,U.includeBuyingGuideProducts),includeCollections:Ae(t.includeCollections,U.includeCollections),includeDeals:Ae(t.includeDeals,U.includeDeals),includeReviewProducts:Ae(t.includeReviewProducts,U.includeReviewProducts),mobileDropdowns:Ae(t.mobileDropdowns,U.mobileDropdowns),stickyMobileFilters:Ae(t.stickyMobileFilters,U.stickyMobileFilters),offerType:We(t.offerType,U.offerType),preloadReviewInventory:Ae(t.preloadReviewInventory,U.preloadReviewInventory),lightweightReviewDelivery:Ae(t.lightweightReviewDelivery,U.lightweightReviewDelivery),hideHawkPrices:Ae(t.hideHawkPrices,U.hideHawkPrices),prioritiseCommercialProducts:Ae(t.prioritiseCommercialProducts,U.prioritiseCommercialProducts),priceRange:We(t.priceRange,U.priceRange),productSelection:a,query:We(t.query,U.query),region:We(t.region,U.region),resultCount:We(t.resultCount,U.resultCount),retailer:We(t.retailer,U.retailer),selectedBrands:Array.isArray(t.selectedBrands)?t.selectedBrands.filter(l=>typeof l=="string"):[],showAuthorBio:Ae(t.showAuthorBio,U.showAuthorBio),showAuthorCounters:Ae(t.showAuthorCounters,U.showAuthorCounters),showAuthorIdentity:Ae(t.showAuthorIdentity,U.showAuthorIdentity),showAuthorRail:Ae(t.showAuthorRail,U.showAuthorRail),showBrandRail:Ae(t.showBrandRail,U.showBrandRail),showCategoryRail:Ae(t.showCategoryRail,U.showCategoryRail),showCollectionsDropdown:Ae(t.showCollectionsDropdown,U.showCollectionsDropdown),showPriceDiscountFilters:Ae(t.showPriceDiscountFilters,U.showPriceDiscountFilters),showReviewSort:Ae(t.showReviewSort,U.showReviewSort),showSocialButtons:Ae(t.showSocialButtons,U.showSocialButtons),showCountdown:Ae(t.showCountdown,U.showCountdown),showHeaderDetails:Ae(t.showHeaderDetails,U.showHeaderDetails),showFreeformTagRail:Ae(t.showFreeformTagRail,U.showFreeformTagRail),sort:We(t.sort,U.sort),viewMode:We(t.viewMode,U.viewMode),website:We(t.website,U.website),widgetSubtitle:We(t.widgetSubtitle,U.widgetSubtitle),widgetTitle:We(t.widgetTitle,U.widgetTitle)}}function t1(e,t={}){return{...e,brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}}function n1(e,t){try{window.hawk?.analytics?.freyr?.push({name:e,data:t}),window.dispatchEvent(new CustomEvent("hawk-analytics-update")),window.freyr?.cmd.push(()=>{window.freyr?.pushAndUpdate?.(e,t)})}catch{}}function a1(){window.dataLayer=window.dataLayer||[],window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.hawk=window.hawk||{},window.hawk.analytics=window.hawk.analytics||{},window.hawk.analytics.freyr=window.hawk.analytics.freyr||[],window.freyr=window.freyr||{cmd:[]},window.freyr.cmd=window.freyr.cmd||[];let e="https://freyr.futurecdn.net/freyr.js",t=window.location.hostname;if(!(window.navigator.webdriver||window.navigator.userAgent.includes("Headless"))&&!!t&&t!=="localhost"&&t!=="127.0.0.1"&&!t.includes("run.app")&&!document.querySelector(`script[src="${e}"]`)){let l=document.createElement("script");l.src=e,l.async=!0,document.head.appendChild(l)}}function oS(e){let t=Number.parseFloat(e.rawPrice||e.price)||null,n=Number.parseFloat(e.rawMsrp||e.msrp)||null;return{product:{primary:{id:e.externalProductId||e.id||e.matchId||null,name:e.productName||e.title||"",type:"deal",price:t,previousPrice:n,currency:e.isoCurrencyCode||e.currency||"USD",preorder:!1,labels:e.modelBrand||e.brand?[{type:"brand",value:e.modelBrand||e.brand}]:[],link:e.url||null,originalLink:e.originalLink||e.url||null,revenueId:e.revenueId||null,startTime:null,endTime:null,voucherCode:null,voucherAudience:null,voucherPercentageSaving:n&&t&&n>t?Math.round((1-t/n)*100):null,voucherMoneySaving:null,voucherType:null,offerExclusive:!1,offerScope:null,globalId:e.productKey||null,inStock:e.inStock!==!1,contractProvider:null,contractMinutes:null,contractTexts:null,contractData:null,contractLength:null,contractMonthlyPrice:null,contractCurrency:e.isoCurrencyCode||e.currency||"USD"}},merchant:{id:e.merchantId||null,name:e.merchant||"Retailer",url:e.merchantUrl||null,network:e.merchantNetwork||null},model:{id:e.modelId||null,brand:e.modelBrand||e.brand||null,name:e.productName||e.title||"",parent:e.modelParent||null}}}var uS=new Set(["subid1","ascsubtag","clickref","u1"]);function cS(e){return e.match(/(?:^|[-_])(\d{10,})(?=$|[-_])/)?.[1]||null}function sS(e){let t=new Set,n=a=>{if(!a||t.has(a))return null;t.add(a);let l;try{l=new URL(a)}catch{return null}for(let[i,r]of l.searchParams)if(uS.has(i.toLowerCase())){let o=cS(r);if(o)return o}for(let i of l.searchParams.values())if(/^https?:\/\//i.test(i)){let r=n(i);if(r)return r}return null};return n(e)}function l1({areaClicked:e,clickType:t,deals:n,index:a,queryName:l}){let i={event:"hawkEvent",category:"Affiliates",affiliate:{action:{type:t,id:"author-widget",event:t==="appeared"?"viewed":"Click from",timestamp:Date.now()},component:{flag:"Editor",product:"deals",category:"Signal Deal Finder Author widget",type:t==="appeared"?"review":"signal product",label:l||n[0]?.productName||n[0]?.title||"",index:a??-1,linkCount:n.length,blockLayout:"",areaClicked:e}},products:n.slice(0,20).map(oS),reviews:[],_clear:!0,"gtm.uniqueEventId":Date.now()%1e4};n1("hawkEvent",i)}function i1(e,t){e.length&&l1({areaClicked:"",clickType:"appeared",deals:e,index:null,queryName:t})}function r1(e,t){if(e?.deals?.length)return e.deals;let n=Number(t)||12;return e?.allDeals?.slice(0,n)||[]}function o1(e){e.addEventListener("click",t=>{let n=t.target;if(!(n instanceof Element))return;let a=n.closest("a[data-fcaw-affiliate-link][href], a.hawk-affiliate-link-deal-widget[href], a.hawk-affiliate-link-container[href], a.hawk-affiliate-link-deal-button[href]"),l=n.closest(".tg-df-card"),i=!!(!a?.dataset.fcawRevenueId&&(a?.hasAttribute("data-hl-processed")||a?.hasAttribute("data-fcaw-hawklinks-requested")));a&&l&&!i&&l1({areaClicked:"Signal Product Card",clickType:"retailer",deals:[{brand:l.dataset.brand,currency:l.dataset.currency,id:l.dataset.dealId,merchant:a.dataset.merchant||l.dataset.merchant,merchantId:a.dataset.merchantId||l.dataset.merchantId,modelId:a.dataset.modelId||l.dataset.modelId,productKey:a.dataset.productKey||l.dataset.productKey,rawMsrp:l.dataset.previousPrice,rawPrice:l.dataset.price,originalLink:a.dataset.fcawOriginalLink||a.href,revenueId:a.dataset.fcawRevenueId||sS(a.href),title:l.dataset.productName,url:a.href}],index:Array.from(e.querySelectorAll(".tg-df-card")).indexOf(l)});let r=n.closest('button, select, [role="button"]');r&&n1("elementInteraction",{element:{action:"click",id:r.id||void 0,class:r.className||void 0,name:r.getAttribute("name")||r.getAttribute("aria-label")||void 0,text:r.textContent?.trim()||void 0,label:r.getAttribute("aria-label")||void 0}})})}var Vf=B(O(),1),dS='fc-author-commerce-widget[data-fcaw-version="1"]',fS="(max-width: 599px)",gS=600,mS='[class*="membership-expandable-banner"]',hS=/^jump\s+to\b/i,jf="data-fcaw-jump-navigation-suppressed",pS=50,yS=1e4,vS=["[data-sticky-header]","[data-header-sticky]",'[role="banner"]',".navigation__container",".site-header",".main-header",".header__container",'[class*="membership-expandable-banner"] [class*="skinny-banner"]','[class*="membership-expandable-banner"] [id="skinnyBanner"]',"nav","header"].join(","),bS=`  :host {    display: block !important;    width: 100% !important;    min-width: 0 !important;    max-width: none !important;    isolation: isolate !important;    contain: style !important;  }  :host([data-fcaw-full-bleed="true"]) {    width: min(      1200px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1200px !important;    margin-left: var(      --fcaw-full-bleed-offset,      calc(50% - min(600px, 50vw))    ) !important;    margin-right: 0 !important;    position: relative !important;  }  :host([data-fcaw-full-bleed="true"]) #tg-df-spreadsheet-filters {    width: min(      1500px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1500px !important;    margin-left: calc(      (        100% -        min(1500px, var(--fcaw-viewport-width, 100vw))      ) / 2    ) !important;    margin-right: 0 !important;  }  :host, :host *, :host *::before, :host *::after {    box-sizing: border-box;  }`,Ff=new WeakMap;function AS(){if(document.querySelector("style[data-fcaw-jump-navigation-protection]"))return;let e=document.createElement("style");e.setAttribute("data-fcaw-jump-navigation-protection",""),e.textContent=`    [${jf}="true"] {      opacity: 0 !important;      pointer-events: none !important;      visibility: hidden !important;    }  `,document.head.appendChild(e)}function wS(){let e=Array.from(document.querySelectorAll("span, p, div, strong, b")).filter(n=>n.childElementCount===0&&hS.test(n.textContent?.trim()||"")),t=new Set;for(let n of e)for(let a=n.parentElement;a&&a!==document.body;a=a.parentElement)if(getComputedStyle(a).position==="sticky"){t.add(a);break}return[...t]}function SS(e,t,n){let a=Ff.get(e)||new Set;n?a.add(t):a.delete(t),a.size>0?(Ff.set(e,a),e.setAttribute(jf,"true")):(Ff.delete(e),e.removeAttribute(jf))}function CS(e){if(e.dataset.fcawFullBleed!=="true"||typeof IntersectionObserver>"u")return;let t=wS().filter(a=>!a.contains(e));if(t.length===0)return;AS(),new IntersectionObserver(([a])=>{t.forEach(l=>SS(l,e,a.isIntersecting))},{threshold:0}).observe(e)}function RS({host:e,initialData:t,initialProps:n}){let[a]=(0,Lt.useState)(d1),l=DS(t,a),[i,r]=(0,Lt.useState)(n.query),[o,u]=(0,Lt.useState)(n.selectedBrands),[c,s]=(0,Lt.useState)(n.priceRange),[f,d]=(0,Lt.useState)(n.discountAmount),[m,v]=(0,Lt.useState)(n.sort),[A,b]=(0,Lt.useState)(!1),h=!!(A&&n.compactEmbed&&n.includeDeals!==!1),g=(0,Lt.useRef)(!1);return(0,Lt.useEffect)(()=>{let p=()=>{g.current||(g.current=!0,i1(r1(l,n.resultCount),n.query))};if(typeof IntersectionObserver>"u"){p();return}let y=new IntersectionObserver(([C])=>{C?.isIntersecting&&(p(),y.disconnect())},{threshold:.1});return y.observe(e),()=>y.disconnect()},[e,l,n.query]),(0,Lt.useEffect)(()=>{if(typeof IntersectionObserver>"u"){b(!0);return}let p=new IntersectionObserver(([y])=>{y?.isIntersecting&&(b(!0),p.disconnect())},{rootMargin:"800px 0px"});return p.observe(e),()=>p.disconnect()},[e]),(0,Vf.jsx)(Jv,{...n,region:a||"unavailable",initialData:l,warmInventory:A,refreshDealsOnViewport:h,query:i,selectedBrands:o,priceRange:c,discountAmount:f,sort:m,editorMode:!1,onQueryChange:r,onBrandSelect:u,onBrandToggle:p=>u(y=>y.includes(p)?y.filter(C=>C!==p):[...y,p]),onPriceRangeChange:s,onDiscountAmountChange:d,onSortChange:v})}function TS(e){try{let t=document.cookie.match(new RegExp(`(?:^|;\\s*)${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}catch{return}}function cc(e){let n=String(e||"").trim().toUpperCase().replace("_","-").split("-").at(-1);return n==="UK"?"GB":["US","GB","AU","CA","DE","FR","IT","ES","NL"].includes(n||"")?n:void 0}function d1(){let e=new URLSearchParams(window.location.search).get("area");return cc(e)||cc(TS("FTR_Country_Code"))||cc(document.documentElement.getAttribute("data-locale"))||cc(window.navigator.language)}function u1(e,t){let n=e.querySelector(t);if(n?.textContent)try{return JSON.parse(n.textContent)}catch(a){console.warn("Author widget configuration could not be parsed.",a);return}}function ES(e){return e?.reviewInventoryFormat!==nv||!e.allDeals?e:{...e,allDeals:av(e.allDeals)}}function DS(e,t){let n=t?e?.regionalDealManifests?.[t]:void 0;if(!n)return e;let a=e?.regionalDealRailData?.[t];return{...e,allDeals:void 0,deals:n,...a}}function c1(e){e.querySelectorAll("a[href]").forEach(t=>{(t.hasAttribute("data-fcaw-affiliate-link")||t.classList.contains("hawk-affiliate-link-deal-widget")||t.classList.contains("hawk-affiliate-link-container")||t.classList.contains("hawk-affiliate-link-deal-button"))&&(t.rel="sponsored nofollow noopener")})}function xS(e){let t=e.closest(".tg-df-card"),n=t?.dataset.fcawRevenueId||e.dataset.fcawRevenueId;if(n)return n;let a=[window.location.href,t?.dataset.productName||"",t?.dataset.merchant||"",t?.dataset.modelId||"",new Date().toDateString(),"tomsguide"].join("|"),l=0;for(let r=0;r<a.length;r+=1)l=(l<<5)-l+a.charCodeAt(r),l|=0;let i=String(Math.abs(l));for(;i.length<19;)l=(l<<5)-l+i.length,l|=0,i+=String(Math.abs(l));return i=i.slice(0,19),t&&(t.dataset.fcawRevenueId=i),i}function MS(e){let t=e.dataset.fcawOriginalLink||e.href;if(!t.includes("hawk-custom-tracking"))return!1;let n=d1();if(!n)return!1;let a=xS(e);return e.dataset.fcawOriginalLink=t,e.dataset.fcawRevenueId=a,e.href=t.replaceAll("hawk-custom-tracking",`tomsguide-${n.toLowerCase()}-${a}`),e.setAttribute("data-fcaw-hawklinks-requested","true"),!0}function _S(){return!!window.hawklinks?.version}function BS(e){let t=!1,n,a,l=()=>Array.from(e.querySelectorAll(".article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-widget[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-container[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-button[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested])")),i=()=>{t=!1;let u=l();if(u.length===0)return;let c=u.filter(s=>!MS(s));if(c.length!==0){if(!_S()){let s=Date.now();a??=s,!n&&s-a<yS&&(n=window.setTimeout(()=>{n=void 0,r()},pS));return}a=void 0,c.forEach(s=>s.setAttribute("data-fcaw-hawklinks-requested","true")),document.dispatchEvent(new CustomEvent("processArticle",{detail:{element:e}}))}},r=()=>{t||(t=!0,window.setTimeout(i,0))},o=new MutationObserver(r);return o.observe(e,{attributes:!0,attributeFilter:["href"],childList:!0,subtree:!0}),r(),()=>{o.disconnect(),n&&window.clearTimeout(n)}}function NS(e){if(e.dataset.fcawFullBleed!=="true")return;let t=()=>{let n=document.documentElement.clientWidth||window.innerWidth,a=Math.min(1200,n),l=Math.max(0,(n-a)/2),i=e.parentElement?.getBoundingClientRect().left||0;e.style.setProperty("--fcaw-full-bleed-offset",`${l-i}px`),e.style.setProperty("--fcaw-viewport-width",`${n}px`)};t(),window.addEventListener("resize",t,{passive:!0}),typeof ResizeObserver<"u"&&e.parentElement&&new ResizeObserver(t).observe(e.parentElement)}function OS(e){let t=window.matchMedia(fS),n=!1,a=new Set,l=new Map,i,r=()=>t.matches||e.getBoundingClientRect().width<gS,o=()=>{n||(n=!0,window.requestAnimationFrame(s))},u=()=>{if(typeof MutationObserver>"u")return;let f=new Set(Array.from(document.querySelectorAll(mS)));l.forEach((d,m)=>{f.has(m)&&m.isConnected||(d.disconnect(),l.delete(m))}),f.forEach(d=>{if(l.has(d))return;let m=new MutationObserver(o);m.observe(d,{attributes:!0,attributeFilter:["class","style"],childList:!0,subtree:!0}),l.set(d,m)})},c=f=>{let d=new Set(f);a.forEach(m=>{d.has(m)||(i?.unobserve(m),m.removeEventListener("transitionend",o),a.delete(m))}),f.forEach(m=>{a.has(m)||(i?.observe(m),m.addEventListener("transitionend",o),a.add(m))})},s=()=>{if(n=!1,u(),!r()){c([]),e.style.removeProperty("--fcaw-mobile-sticky-offset");return}let f=Number.parseFloat(getComputedStyle(e).getPropertyValue("--fcaw-publisher-sticky-offset"));if(Number.isFinite(f)&&f>=0){c([]),e.style.setProperty("--fcaw-mobile-sticky-offset",`${f}px`);return}let d=Array.from(document.querySelectorAll(vS)).filter(v=>{if(v.contains(e))return!1;let A=getComputedStyle(v).position;return A==="fixed"||A==="sticky"});c(d);let m=d.reduce((v,A)=>{let b=A.getBoundingClientRect();return b.top>2||b.bottom<=0||b.height<=0||b.height>window.innerHeight*.5?v:Math.max(v,b.bottom)},0);e.style.setProperty("--fcaw-mobile-sticky-offset",`${Math.ceil(m)}px`)};return typeof ResizeObserver<"u"&&(i=new ResizeObserver(o),i.observe(e)),s(),window.addEventListener("scroll",o,{capture:!0,passive:!0}),window.addEventListener("resize",o,{passive:!0}),t.addEventListener?.("change",o),()=>{window.removeEventListener("scroll",o,!0),window.removeEventListener("resize",o),t.removeEventListener?.("change",o),i?.disconnect(),a.forEach(f=>f.removeEventListener("transitionend",o)),a.clear(),l.forEach(f=>f.disconnect()),l.clear()}}function kS(e){if(e.dataset.fcawEnhanced==="true")return;let t=u1(e,"script[data-fcaw-config]");if(!t)return;let n={...t1(e1(t),{brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}),compactEmbed:t.compactEmbed,editorMode:!1,warmInventory:t.warmInventory},a=u1(e,"script[data-fcaw-preload]"),l=ES(a),i=e.querySelector("[data-fcaw-fallback]");if(!i)return;NS(e),CS(e),n.stickyMobileFilters!==!1&&OS(e),c1(i);let r=e.shadowRoot||e.attachShadow({mode:"open"}),o=e.querySelector(":scope > style[data-fcaw-host-protection]");if(o&&r.appendChild(o),!r.querySelector("style[data-fcaw-shadow-protection]")){let c=document.createElement("style");c.setAttribute("data-fcaw-shadow-protection",""),c.textContent=bS,r.appendChild(c)}i.querySelectorAll(":scope > style").forEach(c=>{r.appendChild(c)});let u=document.createElement("div");for(u.setAttribute("data-fcaw-mount","");i.firstChild;)u.appendChild(i.firstChild);i.remove(),r.appendChild(u),e.dataset.fcawEnhanced="true",a1(),e.dataset.fcawAnalyticsReady="true",o1(r),BS(r),(0,s1.createRoot)(u).render((0,Vf.jsx)(RS,{host:e,initialData:l,initialProps:n})),window.setTimeout(()=>c1(r),0)}function Yf(){document.querySelectorAll(dS).forEach(kS)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yf,{once:!0}):Yf();new MutationObserver(Yf).observe(document.documentElement,{childList:!0,subtree:!0});})();/*! Bundled license information:react/cjs/react.production.js:  (**   * @license React   * react.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)scheduler/cjs/scheduler.production.js:  (**   * @license React   * scheduler.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom.production.js:  (**   * @license React   * react-dom.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom-client.production.js:  (**   * @license React   * react-dom-client.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react/cjs/react-jsx-runtime.production.js:  (**   * @license React   * react-jsx-runtime.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)*/</script></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-prime-day-gaming-mouse-deals-in-the-uk"><span>Prime Day gaming mouse deals in the UK</span></h2><h2 id="where-are-the-best-prime-day-gaming-keyboard-mouse-and-controller-deals-in-the-uk">Where are the best Prime Day gaming keyboard, mouse, and controller deals in the UK?</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.co.uk/s?k=gaming+mice&crid=LB80KGTDLNUC&sprefix=gaming+mice%2Caps%2C142&ref=nb_sb_noss_1" target="_blank">Big discounts on top-brand gaming mice</a></li><li><strong>Overclockers:</strong> <a href="https://www.overclockers.co.uk/peripherals/mice/gaming-mice" target="_blank">Over 100 gaming mice to choose from</a></li><li><strong>Scan:</strong> <a href="https://www.scan.co.uk/search?q=gaming+mice" target="_blank">Gaming mice from just £18</a></li><li><strong>Box: </strong><a href="https://box.co.uk/gaming-mice" target="_blank">Gaming mice from Asus, Logitech, and Razer</a></li><li><strong>Currys:</strong> <a href="https://www.currys.co.uk/search?q=gaming%20mice" target="_blank">Mice from as little as £15</a></li><li><strong>Argos: </strong><a href="https://www.argos.co.uk/search/gaming-mice/?clickOrigin=searchbar:search:term:gaming+mice" target="_blank">Good prices on budget to high-end mice</a></li></ul><div class="product"><a data-dimension112="8f407f3c-bb39-11f1-8991-4f2d86e6f914" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="£20.90" href="https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1401px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qgFqUinn2HCKHEThJ47QpC" name="1636734797.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1401" height="1401" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/" target="_blank" rel="nofollow" data-dimension112="8f407f3c-bb39-11f1-8991-4f2d86e6f914" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="£20.90">G203 | Wired: was £30.99 now £20.90</a></strong><br>Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.</p><p><strong>Key specs: Wired | 8,000 DPI | Right-handed</strong><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/" target="_blank" rel="nofollow" data-dimension112="8f407f3c-bb39-11f1-8991-4f2d86e6f914" data-action="Deal Block" data-label="G203 | Wired" data-dimension48="G203 | Wired" data-dimension25="£20.90">View Deal</a></p></div><div class="product"><a data-dimension112="8f408004-bb39-11f1-8fae-d191715af846" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="£35.80" href="https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="SaXBHtPWoMGvzcyvsLNQQX" name="1698934268.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/" target="_blank" rel="nofollow" data-dimension112="8f408004-bb39-11f1-8fae-d191715af846" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="£35.80">G502 Hero | Wired: £35.80</a></strong><br>This is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package.</p><p><strong>Key specs: Wired | 25,600 DPI | Right-handed</strong><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/" target="_blank" rel="nofollow" data-dimension112="8f408004-bb39-11f1-8fae-d191715af846" data-action="Deal Block" data-label="G502 Hero | Wired" data-dimension48="G502 Hero | Wired" data-dimension25="£35.80">View Deal</a></p></div><div class="product"><a data-dimension112="8f408068-bb39-11f1-a3a5-2fe33575d15c" data-action="Deal Block" data-label="Aerox 3 | Wireless" data-dimension48="Aerox 3 | Wireless" data-dimension25="£69.97" href="https://www.amazon.co.uk/SteelSeries-Aerox-Wireless-TrueMove-Optical/dp/B0GNMGXRF8/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1433px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="43md8LJJA69Nb4NXj4Aq6f" name="1790601815.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/43md8LJJA69Nb4NXj4Aq6f-1920-80.jpg" mos="" align="middle" fullscreen="" width="1433" height="1433" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/SteelSeries-Aerox-Wireless-TrueMove-Optical/dp/B0GNMGXRF8/?th=1" target="_blank" rel="nofollow" data-dimension112="8f408068-bb39-11f1-a3a5-2fe33575d15c" data-action="Deal Block" data-label="Aerox 3 | Wireless" data-dimension48="Aerox 3 | Wireless" data-dimension25="£69.97">Aerox 3 | Wireless: was £99.99 now £69.97</a></strong><br>The SteelSeries Aerox 3 might be lightweight with its honeycombed design, but it's certainly not light on features. With a 200-hour battery life, dual connectivity, and AquaBarrier protection to ensure water, dust and dirt resistance, this is a mouse designed to take some abuse and keep on trucking.</p><p><strong>Key specs: Wireless | 18,000 DPI | Right-handed</strong><a class="view-deal button" href="https://www.amazon.co.uk/SteelSeries-Aerox-Wireless-TrueMove-Optical/dp/B0GNMGXRF8/?th=1" target="_blank" rel="nofollow" data-dimension112="8f408068-bb39-11f1-a3a5-2fe33575d15c" data-action="Deal Block" data-label="Aerox 3 | Wireless" data-dimension48="Aerox 3 | Wireless" data-dimension25="£69.97">View Deal</a></p></div><div class="product"><a data-dimension112="f90d145a-c0ae-11f1-a1ce-d7b42889a7cd" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="£79.99" href="https://www.amazon.co.uk/Corsair-SABRE-Ultralight-Wireless-Gaming/dp/B0FPDBK2M6" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4AaJcaYRutRHqs8C5qjfye" name="Sabre V2 Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4AaJcaYRutRHqs8C5qjfye-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Corsair-SABRE-Ultralight-Wireless-Gaming/dp/B0FPDBK2M6" target="_blank" rel="nofollow" data-dimension112="f90d145a-c0ae-11f1-a1ce-d7b42889a7cd" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="£79.99">Sabre V2 Pro: was £89.99 now £79.99</a></strong><br>Getting a <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/" target="_blank">92% from our Jacob Fox</a> last year, this ultra-light gaming mouse is a bit of a beast. It's light, sturdy and comes with a great sensor too. </p><p><strong>Key specs: 33K sensor | Wireless | 36 g weight | 8,000 Hz</strong><a class="view-deal button" href="https://www.amazon.co.uk/Corsair-SABRE-Ultralight-Wireless-Gaming/dp/B0FPDBK2M6" target="_blank" rel="nofollow" data-dimension112="f90d145a-c0ae-11f1-a1ce-d7b42889a7cd" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="£79.99">View Deal</a></p></div><div class="product"><a data-dimension112="8f4080cc-bb39-11f1-aa32-7f104278d10e" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="£98.40" href="https://www.amazon.co.uk/Logitech-Lightspeed-Left-Handed-Customisable-Switchable-Black/dp/B0DBZGCQHX/ref=sr_1_5" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1206px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="8LsAaks2QtDi5D9rVtv4Yc" name="1781520515.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/8LsAaks2QtDi5D9rVtv4Yc-1920-80.jpg" mos="" align="middle" fullscreen="" width="1206" height="1206" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-Lightspeed-Left-Handed-Customisable-Switchable-Black/dp/B0DBZGCQHX/ref=sr_1_5" target="_blank" rel="nofollow" data-dimension112="8f4080cc-bb39-11f1-aa32-7f104278d10e" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="£98.40">G Pro 2 Lightspeed | Wireless: was £119.99 now £98.40</a></strong><br>A great 44K DPI sensor with an ambidextrous shape, the G Pro was our first love before the Superlight showed up. It's still a wicked shape and plenty capable for gaming. This one may drop further as while it is a good price today, it has been a touch cheaper in recent months.</p><p><strong>Key specs: Ambidextrous | 44K DPI | Wireless</strong><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-Lightspeed-Left-Handed-Customisable-Switchable-Black/dp/B0DBZGCQHX/ref=sr_1_5" target="_blank" rel="nofollow" data-dimension112="8f4080cc-bb39-11f1-aa32-7f104278d10e" data-action="Deal Block" data-label="G Pro 2 Lightspeed | Wireless" data-dimension48="G Pro 2 Lightspeed | Wireless" data-dimension25="£98.40">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ As the cost of everything skyrockets, I'm relieved to see gaming monitors go dirt cheap this Prime Day ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I won't bore you with another rant about the exorbitant cost of PC gaming in 2026. Buying RAM and storage is for the rich, browsing gaming laptops is wince-inducing, and don't get me started on pre-builds. I've been covering big sales events for PC Gamer for nearly a decade now and buying gear from any of these categories has never been more expensive. There's such a dearth of good deals, that these categories don't even exist on <a href="https://www.pcgamer.com/hardware/live/news/prime-day-pc-gaming-deals-july-2026/">our Prime Day live blog</a>.</p><p>Oops: that's a rant.</p><p>One thing this Prime Day has been good for is gaming monitors, especially if your budget is under AU$300, and especially if you're after a 1440p display.</p><p>The highlight is probably the Alienware AW2725DM 27-incher, at least in terms of the amount you're saving. The QHD display has a Fast IPS panel, a 180Hz refresh rate (more than adequate for mere mortals) and the usual adaptive sync compatibilities. It's usually AU$449.90, but Amazon <a href="https://www.amazon.com.au/Alienware-AW2725DM-Monitor-2560x1440-DisplayHDR/dp/B0F2KBZ7WQ/" target="_blank" rel="sponsored">is flogging it for AU$284.05</a>. That's a good price for an Alienware display with these specs.</p><div class="product"><a data-dimension112="000a1512-7a7f-11f1-ab83-a570b7402019" data-action="Deal Block" data-label="AW2725DM 27 inch Gaming Monitor" data-dimension48="AW2725DM 27 inch Gaming Monitor" data-dimension25="$284.05" href="https://www.amazon.com.au/Alienware-AW2725DM-Monitor-2560x1440-DisplayHDR/dp/B0F2KBZ7WQ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="PQCfuCtmtjEBjSHMxK59HJ" name="Alienware27" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PQCfuCtmtjEBjSHMxK59HJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com.au/Alienware-AW2725DM-Monitor-2560x1440-DisplayHDR/dp/B0F2KBZ7WQ" target="_blank" rel="nofollow" data-dimension112="000a1512-7a7f-11f1-ab83-a570b7402019" data-action="Deal Block" data-label="AW2725DM 27 inch Gaming Monitor" data-dimension48="AW2725DM 27 inch Gaming Monitor" data-dimension25="$284.05">AW2725DM 27 inch Gaming Monitor: was $449 now $284.05</a></strong><br>If you're after a sub-AU$300 gaming monitor without skimping (too much) on resolution and frame rate, this is definitely a tempting prospect. It's a 2560x1440 affair with a 180Hz refresh rate, an IPS display, VESA DisplayHDR 400 and 1ms response time.<a class="view-deal button" href="https://www.amazon.com.au/Alienware-AW2725DM-Monitor-2560x1440-DisplayHDR/dp/B0F2KBZ7WQ" target="_blank" rel="nofollow" data-dimension112="000a1512-7a7f-11f1-ab83-a570b7402019" data-action="Deal Block" data-label="AW2725DM 27 inch Gaming Monitor" data-dimension48="AW2725DM 27 inch Gaming Monitor" data-dimension25="$284.05">View Deal</a></p></div><p>If that's still a touch pricey, you can pay around AU$70 less for the KTC H27T22C-3, which has comparable specs. Again, it's QHD, but the refresh rate gets pushed upwards to 210Hz.</p><p>I know what you're thinking: KT-huh? They're a Chinese monitor company who you may not have heard of, but this particular model is something PC Gamer can vouch for: it wins best budget 1440p display in our list of the <a href="https://www.pcgamer.com/au/best-gaming-monitor/">best gaming monitors</a>. You can read more in <a href="https://www.pcgamer.com/hardware/gaming-monitors/ktc-h27t22c-3-gaming-monitor-review/">our full review</a>, but the short of it? "This isn't a perfect display, but it is pretty nice by any reasonable metric. And in the context of the price, it's pretty darn brilliant."</p><p>Anyway, the already budget AU$289.99 price <a href="https://www.amazon.com.au/dp/B0D9HJ2FC5" target="_blank" rel="sponsored">has been cut to AU$216.50</a> for Amazon Prime Day. </p><div class="product"><a data-dimension112="000a1648-7a7f-11f1-8720-95a3ad49a149" data-action="Deal Block" data-label="H27T22C-3" data-dimension48="H27T22C-3" data-dimension25="$216.50" href="https://www.amazon.com.au/dp/B0D9HJ2FC5" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1300px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="c2EuyQupAeJ8DqcDXDru54" name="ktc_H27T22C-3_gaming_monitor" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/c2EuyQupAeJ8DqcDXDru54-1920-80.jpg" mos="" align="middle" fullscreen="" width="1300" height="1300" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com.au/dp/B0D9HJ2FC5" target="_blank" rel="nofollow" data-dimension112="000a1648-7a7f-11f1-8720-95a3ad49a149" data-action="Deal Block" data-label="H27T22C-3" data-dimension48="H27T22C-3" data-dimension25="$216.50">H27T22C-3: was $289.99 now $216.50</a></strong><br>Our favourite budget 1440p monitor gets a neat 25% carved off the RRP. This IPS display boasts a brisk 200Hz refresh rate and 1ms response time, Freesync and G-sync compatible, and won't cost an arm and a leg.<a class="view-deal button" href="https://www.amazon.com.au/dp/B0D9HJ2FC5" target="_blank" rel="nofollow" data-dimension112="000a1648-7a7f-11f1-8720-95a3ad49a149" data-action="Deal Block" data-label="H27T22C-3" data-dimension48="H27T22C-3" data-dimension25="$216.50">View Deal</a></p></div><p>If you have less than AU$200 to spare, amazingly, there's an option just for you. The Lenovo LOQ 27Q-10 is, as the name kinda implies, another 27-incher with a QHD resolution. Like the Alienware above it has a 180Hz refresh rate on a Fast IPS panel.</p><p>This screen, usually bearing an RRP of AU$299, is currently <a href="https://www.amazon.com.au/Lenovo-27Q-10-Monitor-Antiglare-FreeSync/dp/B0H3ZR645K" target="_blank" rel="sponsored">AU$170 for Amazon Prime Day</a>.</p><div class="product"><a data-dimension112="000a16de-7a7f-11f1-9292-279c8d577c31" data-action="Deal Block" data-label="LOQ 27Q-10" data-dimension48="LOQ 27Q-10" data-dimension25="$170.05" href="https://www.amazon.com.au/Lenovo-27Q-10-Monitor-Antiglare-FreeSync/dp/B0H3ZR645K" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:78.47%;"><img id="78De3F6qz3HfZiUyWkfFh4" name="lenovoloq" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/78De3F6qz3HfZiUyWkfFh4-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1177" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com.au/Lenovo-27Q-10-Monitor-Antiglare-FreeSync/dp/B0H3ZR645K" target="_blank" rel="nofollow" data-dimension112="000a16de-7a7f-11f1-9292-279c8d577c31" data-action="Deal Block" data-label="LOQ 27Q-10" data-dimension48="LOQ 27Q-10" data-dimension25="$170.05">LOQ 27Q-10: was $299 now $170.05</a></strong><br>If you want to spend no more than AU$200 on a gaming monitor, it's hard to imagine something trumping this deal. It's a 27 inch QHD affair with a 180Hz refresh rate, HDR10, and AMD FreeSync and VESA Adaptive Sync. <a class="view-deal button" href="https://www.amazon.com.au/Lenovo-27Q-10-Monitor-Antiglare-FreeSync/dp/B0H3ZR645K" target="_blank" rel="nofollow" data-dimension112="000a16de-7a7f-11f1-9292-279c8d577c31" data-action="Deal Block" data-label="LOQ 27Q-10" data-dimension48="LOQ 27Q-10" data-dimension25="$170.05">View Deal</a></p></div><p>If you're looking for more expensive discounted monitors or, indeed, anything else going cheap during Amazon Prime Day, check out <a href="https://www.pcgamer.com/hardware/live/news/prime-day-pc-gaming-deals-july-2026/">our rolling live blog</a>.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-monitors/as-the-cost-of-everything-skyrockets-im-relieved-to-see-gaming-monitors-go-dirt-cheap-this-prime-day/</link>
                                                                            <description>
                            <![CDATA[ Seriously: if you want one, bite. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Hg2FdMy4Hc35aPV6vmzWKi</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/h77dFobNpcEJEdGiDcUFnX-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 08 Jul 2026 04:03:08 +0000</pubDate>                                                                                                                                <updated>Wed, 08 Jul 2026 04:08:31 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Monitors]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                <author><![CDATA[ shaun.prescott@futurenet.com (Shaun Prescott) ]]></author>                    <dc:creator><![CDATA[ Shaun Prescott ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC-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/h77dFobNpcEJEdGiDcUFnX-1920-80.jpg">
                                                            <media:credit><![CDATA[Alienware]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An Alienware AW2525HM gaming monitor on a custom PC Gamer Prime Day background.]]></media:description>                                                            <media:text><![CDATA[An Alienware AW2525HM gaming monitor on a custom PC Gamer Prime Day background.]]></media:text>
                                <media:title type="plain"><![CDATA[An Alienware AW2525HM gaming monitor on a custom PC Gamer Prime Day background.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/h77dFobNpcEJEdGiDcUFnX-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I won't bore you with another rant about the exorbitant cost of PC gaming in 2026. Buying RAM and storage is for the rich, browsing gaming laptops is wince-inducing, and don't get me started on pre-builds. I've been covering big sales events for PC Gamer for nearly a decade now and buying gear from any of these categories has never been more expensive. There's such a dearth of good deals, that these categories don't even exist on <a href="https://www.pcgamer.com/hardware/live/news/prime-day-pc-gaming-deals-july-2026/">our Prime Day live blog</a>.</p><p>Oops: that's a rant.</p><p>One thing this Prime Day has been good for is gaming monitors, especially if your budget is under AU$300, and especially if you're after a 1440p display.</p><p>The highlight is probably the Alienware AW2725DM 27-incher, at least in terms of the amount you're saving. The QHD display has a Fast IPS panel, a 180Hz refresh rate (more than adequate for mere mortals) and the usual adaptive sync compatibilities. It's usually AU$449.90, but Amazon <a href="https://www.amazon.com.au/Alienware-AW2725DM-Monitor-2560x1440-DisplayHDR/dp/B0F2KBZ7WQ/" target="_blank" rel="sponsored">is flogging it for AU$284.05</a>. That's a good price for an Alienware display with these specs.</p><div class="product"><a data-dimension112="000a1512-7a7f-11f1-ab83-a570b7402019" data-action="Deal Block" data-label="AW2725DM 27 inch Gaming Monitor" data-dimension48="AW2725DM 27 inch Gaming Monitor" data-dimension25="$284.05" href="https://www.amazon.com.au/Alienware-AW2725DM-Monitor-2560x1440-DisplayHDR/dp/B0F2KBZ7WQ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="PQCfuCtmtjEBjSHMxK59HJ" name="Alienware27" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PQCfuCtmtjEBjSHMxK59HJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com.au/Alienware-AW2725DM-Monitor-2560x1440-DisplayHDR/dp/B0F2KBZ7WQ" target="_blank" rel="nofollow" data-dimension112="000a1512-7a7f-11f1-ab83-a570b7402019" data-action="Deal Block" data-label="AW2725DM 27 inch Gaming Monitor" data-dimension48="AW2725DM 27 inch Gaming Monitor" data-dimension25="$284.05">AW2725DM 27 inch Gaming Monitor: was $449 now $284.05</a></strong><br>If you're after a sub-AU$300 gaming monitor without skimping (too much) on resolution and frame rate, this is definitely a tempting prospect. It's a 2560x1440 affair with a 180Hz refresh rate, an IPS display, VESA DisplayHDR 400 and 1ms response time.<a class="view-deal button" href="https://www.amazon.com.au/Alienware-AW2725DM-Monitor-2560x1440-DisplayHDR/dp/B0F2KBZ7WQ" target="_blank" rel="nofollow" data-dimension112="000a1512-7a7f-11f1-ab83-a570b7402019" data-action="Deal Block" data-label="AW2725DM 27 inch Gaming Monitor" data-dimension48="AW2725DM 27 inch Gaming Monitor" data-dimension25="$284.05">View Deal</a></p></div><p>If that's still a touch pricey, you can pay around AU$70 less for the KTC H27T22C-3, which has comparable specs. Again, it's QHD, but the refresh rate gets pushed upwards to 210Hz.</p><p>I know what you're thinking: KT-huh? They're a Chinese monitor company who you may not have heard of, but this particular model is something PC Gamer can vouch for: it wins best budget 1440p display in our list of the <a href="https://www.pcgamer.com/au/best-gaming-monitor/">best gaming monitors</a>. You can read more in <a href="https://www.pcgamer.com/hardware/gaming-monitors/ktc-h27t22c-3-gaming-monitor-review/">our full review</a>, but the short of it? "This isn't a perfect display, but it is pretty nice by any reasonable metric. And in the context of the price, it's pretty darn brilliant."</p><p>Anyway, the already budget AU$289.99 price <a href="https://www.amazon.com.au/dp/B0D9HJ2FC5" target="_blank" rel="sponsored">has been cut to AU$216.50</a> for Amazon Prime Day. </p><div class="product"><a data-dimension112="000a1648-7a7f-11f1-8720-95a3ad49a149" data-action="Deal Block" data-label="H27T22C-3" data-dimension48="H27T22C-3" data-dimension25="$216.50" href="https://www.amazon.com.au/dp/B0D9HJ2FC5" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1300px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="c2EuyQupAeJ8DqcDXDru54" name="ktc_H27T22C-3_gaming_monitor" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/c2EuyQupAeJ8DqcDXDru54-1920-80.jpg" mos="" align="middle" fullscreen="" width="1300" height="1300" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com.au/dp/B0D9HJ2FC5" target="_blank" rel="nofollow" data-dimension112="000a1648-7a7f-11f1-8720-95a3ad49a149" data-action="Deal Block" data-label="H27T22C-3" data-dimension48="H27T22C-3" data-dimension25="$216.50">H27T22C-3: was $289.99 now $216.50</a></strong><br>Our favourite budget 1440p monitor gets a neat 25% carved off the RRP. This IPS display boasts a brisk 200Hz refresh rate and 1ms response time, Freesync and G-sync compatible, and won't cost an arm and a leg.<a class="view-deal button" href="https://www.amazon.com.au/dp/B0D9HJ2FC5" target="_blank" rel="nofollow" data-dimension112="000a1648-7a7f-11f1-8720-95a3ad49a149" data-action="Deal Block" data-label="H27T22C-3" data-dimension48="H27T22C-3" data-dimension25="$216.50">View Deal</a></p></div><p>If you have less than AU$200 to spare, amazingly, there's an option just for you. The Lenovo LOQ 27Q-10 is, as the name kinda implies, another 27-incher with a QHD resolution. Like the Alienware above it has a 180Hz refresh rate on a Fast IPS panel.</p><p>This screen, usually bearing an RRP of AU$299, is currently <a href="https://www.amazon.com.au/Lenovo-27Q-10-Monitor-Antiglare-FreeSync/dp/B0H3ZR645K" target="_blank" rel="sponsored">AU$170 for Amazon Prime Day</a>.</p><div class="product"><a data-dimension112="000a16de-7a7f-11f1-9292-279c8d577c31" data-action="Deal Block" data-label="LOQ 27Q-10" data-dimension48="LOQ 27Q-10" data-dimension25="$170.05" href="https://www.amazon.com.au/Lenovo-27Q-10-Monitor-Antiglare-FreeSync/dp/B0H3ZR645K" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:78.47%;"><img id="78De3F6qz3HfZiUyWkfFh4" name="lenovoloq" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/78De3F6qz3HfZiUyWkfFh4-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1177" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com.au/Lenovo-27Q-10-Monitor-Antiglare-FreeSync/dp/B0H3ZR645K" target="_blank" rel="nofollow" data-dimension112="000a16de-7a7f-11f1-9292-279c8d577c31" data-action="Deal Block" data-label="LOQ 27Q-10" data-dimension48="LOQ 27Q-10" data-dimension25="$170.05">LOQ 27Q-10: was $299 now $170.05</a></strong><br>If you want to spend no more than AU$200 on a gaming monitor, it's hard to imagine something trumping this deal. It's a 27 inch QHD affair with a 180Hz refresh rate, HDR10, and AMD FreeSync and VESA Adaptive Sync. <a class="view-deal button" href="https://www.amazon.com.au/Lenovo-27Q-10-Monitor-Antiglare-FreeSync/dp/B0H3ZR645K" target="_blank" rel="nofollow" data-dimension112="000a16de-7a7f-11f1-9292-279c8d577c31" data-action="Deal Block" data-label="LOQ 27Q-10" data-dimension48="LOQ 27Q-10" data-dimension25="$170.05">View Deal</a></p></div><p>If you're looking for more expensive discounted monitors or, indeed, anything else going cheap during Amazon Prime Day, check out <a href="https://www.pcgamer.com/hardware/live/news/prime-day-pc-gaming-deals-july-2026/">our rolling live blog</a>.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I picked out 31 must-play games going for $5 or less in the Steam Summer Sale ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Steam is an elephant, and we are all trying to describe it blindfolded. To bring order to this economic chaos, I have curated a list of must-play games—indies, cult hits, no brainer classics, all ones I like personally—that are $5 or cheaper in the 2026 Summer Sale. </p><p>Five bucks is my threshold for "not a big deal," and unless the economy is even worse than I thought, it's likely yours too. If you got everything on this list together, it would be about $100 total, which is none too shabby for 31 games.</p><h3 class="article-body__section" id="section-rpg"><span>RPG</span></h3><h2 id="divinity-original-sin"><a href="https://store.steampowered.com/app/373420/Divinity_Original_Sin__Enhanced_Edition/" target="_blank">Divinity: Original Sin</a></h2><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="ovMFyjhkTNYqNG6DVNv6bP" name="DivinityBairdotr.jpg" alt="Original sin combat screenshot" src="https://cdn.mos.cms.futurecdn.net/ovMFyjhkTNYqNG6DVNv6bP-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div></figure><ul><li>Sale Price: $3.99</li><li>Developer: Larian</li><li>Released: 2014</li><li>PCG Review: <a href="https://www.pcgamer.com/divinity-original-sin-review/" target="_blank">87%</a></li></ul><p>The start of modern Larian. I'm more bullish about its comedic tone and lighter story than a lot of other RPG fans, but no one can deny that it's still got genre-leading turn-based combat, even as the studio has only improved on its own work.</p><h2 id="divinity-2"><a href="https://store.steampowered.com/app/219780/Divinity_II_Developers_Cut/" target="_blank">Divinity 2</a></h2><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="diPWAmrHqqyGeRxPrEgv8K" name="Divinity II 2.jpg" alt="Divinity 2" src="https://cdn.mos.cms.futurecdn.net/diPWAmrHqqyGeRxPrEgv8K-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: Larian Studios)</span></figcaption></figure><ul><li>Sale Price: $2.99</li><li>Developer: Larian</li><li>Released: 2009</li><li>PCG Review: I know we did I just can't find it</li></ul><p>No, not Divinity: Original Sin 2. Despite some of the worst self-inflicted SEO out there, Divinity 2 is well-worth revisiting to this day. It's a relic of a different time, when Larian was following BioWare's lead rather than setting its own pace, resulting in something that  visually calls to mind Dragon Age: Origins, but plays more like, I dunno, Jade Empire? That attempt at console-ization does make it a bit more approachable than Larian's other pre-Original Sin work these days.</p><h2 id="divine-divinity"><a href="https://store.steampowered.com/app/214170/Divine_Divinity/" target="_blank">Divine Divinity</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:640px;"><p class="vanilla-image-block" style="padding-top:75.00%;"><img id="gKHFtycxK6KyH24mNkHNTd" name="(3) Divine Divinity Opening Cinematic 00-00-41.png" alt="DD man artfully dodging an orc to give him what for" src="https://cdn.mos.cms.futurecdn.net/gKHFtycxK6KyH24mNkHNTd-1920-80.png" mos="" align="middle" fullscreen="" width="640" height="480" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Larian)</span></figcaption></figure><ul><li>Sale Price: $0.89</li><li>Developer: Larian</li><li>Released: 2002</li><li>PCG Review: 84%</li></ul><p>Notable as perhaps the purest expression of Larian's vision for RPGs before the first Original Sin, Divine Divinity arrived at the tail end of the CRPG's late '90s golden age. Even at this early stage, you can still enjoy the studio's unique sensibility, and it's an important text for anyone with an interest in the history of RPGs.</p><h2 id="pathfinder-kingmaker"><a href="https://store.steampowered.com/app/640820/Pathfinder_Kingmaker__Enhanced_Plus_Edition/" target="_blank">Pathfinder: Kingmaker</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1375px;"><p class="vanilla-image-block" style="padding-top:61.38%;"><img id="vjK2siNQdbPsqFknNQnTc5" name="PathfinderValerie.jpg" alt="An armored companion from Pathfinder: Kingmaker" src="https://cdn.mos.cms.futurecdn.net/vjK2siNQdbPsqFknNQnTc5-1920-80.jpg" mos="" align="middle" fullscreen="" width="1375" height="844" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Owlcat)</span></figcaption></figure><ul><li>Sale Price: $3.59</li><li>Developer: Owlcat</li><li>Released: 2018</li><li>PCG Review: <a href="https://www.pcgamer.com/pathfinder-kingmaker-review/" target="_blank">69%</a></li></ul><p>A deranged, cruel, and irresistible RPG. Wrath of the Righteous and Rogue Trader are perhaps better introductions to Owlcat's work, but Kingmaker still got its hooks into me. I'm not a huge fan of this one's DLC, and honestly recommend skipping it unless you <em>really</em> gotta optimize your builds, so there's no sleight of hand to that $3.59 number.</p><h2 id="pathfinder-wrath-of-the-righteous"><a href="https://store.steampowered.com/app/1184370/Pathfinder_Wrath_of_the_Righteous__Enhanced_Edition/" target="_blank">Pathfinder: Wrath of the Righteous</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2248px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="ZCVcm4yJWpPS9BNUAMxFbh" name="orcsassin.jpg" alt="Orc Assassin in leather armor looking around corner holding dagger" src="https://cdn.mos.cms.futurecdn.net/ZCVcm4yJWpPS9BNUAMxFbh-1920-80.jpg" mos="" align="middle" fullscreen="" width="2248" height="1264" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Owlcat)</span></figcaption></figure><ul><li>Sale Price: $4.99</li><li>Developer: Owlcat</li><li>Released: 2021</li><li>PCG Review: <a href="https://www.pcgamer.com/pathfinder-wrath-of-the-righteous-review/" target="_blank">76%</a></li></ul><p>One of my favorite games of the 2020s, a vexing RPG with one of the <a href="https://www.pcgamer.com/games/rpg/pathfinder-wrath-of-the-righteous-232-subclasses-make-it-the-ultimate-rpg-for-buildcrafting-freaks-especially-the-overpowered-ranger-who-gets-to-ride-a-griffon-from-level-1/" target="_blank">deepest class systems</a> I've ever seen, as well as some truly aggravating encounters. Still somehow a gentler and easier to grasp entry point than Kingmaker, by my reckoning. Unlike Kingmaker, I highly recommend the DLCs, even if it brings us over $5. Please don't tell anyone.</p><h2 id="dragon-age-origins"><a href="https://store.steampowered.com/app/47810/Dragon_Age_Origins__Ultimate_Edition/" target="_blank">Dragon Age: Origins</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="h8PEXHJMVJX32DJezeQULF" name="uh oh.jpg" alt="Two loincloth-clad Dragon Age characters staring at camera" src="https://cdn.mos.cms.futurecdn.net/h8PEXHJMVJX32DJezeQULF-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: BioWare)</span></figcaption></figure><ul><li>Sale Price: $2.99</li><li>Developer: BioWare</li><li>Released: 2009</li><li>PCG Review: 94%</li></ul><p>Don't cry because it's over, smile because it happened at all.</p><h2 id="dragon-age-2"><a href="https://store.steampowered.com/app/1238040/Dragon_Age_II_Ultimate_Edition/" target="_blank">Dragon Age 2</a></h2><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="w5GSZVsoQAdxvKR6dh8haP" name="da25bd8f181a7b3347d3440f02df6561.jpg" alt="Qunari" src="https://cdn.mos.cms.futurecdn.net/w5GSZVsoQAdxvKR6dh8haP-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: EA)</span></figcaption></figure><ul><li>Sale Price: $2.99</li><li>Developer: BioWare</li><li>Released: 2011</li><li>PCG Review: 94% (and proud of it, baby)</li></ul><p>Copy and paste environments, annoying enemies, a truncated development, and the best script BioWare's ever done. The studio was always better at characters than plot, so trading the hero's journey for something that felt more like three seasons of a TV show was a masterstroke. We may never see its like again.</p><h2 id="dragon-age-inquisition"><a href="https://store.steampowered.com/app/1222690/Dragon_Age_Inquisition/" target="_blank">Dragon Age Inquisition</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CpuY6nVetUDjqYzvL3fhTj" name="dragon age.jpg" alt="Cassandra from Dragon Age Inquisition" src="https://cdn.mos.cms.futurecdn.net/CpuY6nVetUDjqYzvL3fhTj-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Electronic Arts)</span></figcaption></figure><ul><li>Sale Price: $3.99</li><li>Developer: BioWare</li><li>Released: 2014</li><li>PCG Review: <a href="https://www.pcgamer.com/dragon-age-inquisition-review/" target="_blank">87%</a></li></ul><p>Does anyone else remember the multiplayer for this game? Did I hallucinate that? It was actually pretty brilliant: Repeatable co-op wave survival stuff that felt a lot like Left 4 Dead. It was smothered in its crib by the most deranged monetization I have ever seen anywhere, ever. Paying for gear and classes in a full-price retail game, the hubris is staggering. </p><h2 id="arcanum-of-steamworks-and-magick-obscura"><a href="https://store.steampowered.com/app/500810/Arcanum_Of_Steamworks_and_Magick_Obscura/" target="_blank">Arcanum: Of Steamworks and Magick Obscura</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:878px;"><p class="vanilla-image-block" style="padding-top:56.04%;"><img id="UogMtyky4RTkcRXcxaQv4j" name="56b4020b8ca9677d589cdbd729e5f277.png" alt="Best RPGs - Arcanum" src="https://cdn.mos.cms.futurecdn.net/UogMtyky4RTkcRXcxaQv4j-1920-80.png" mos="" align="middle" fullscreen="" width="878" height="492" attribution="" endorsement="" class="inline"></p></div></div></figure><ul><li>Sale Price: $3.89</li><li>Developer: Troika</li><li>Released: 2001</li><li>PCG Review: 90%</li></ul><p>A crusty game par excellence, a "realheads know" RPG that has never gotten the love it truly deserves. At its most basic level: 2D Fallout with worse combat but even deeper elements of simulation and reactivity, all set in a Forgotten Realms fantasy world going through its industrial revolution. Don't forget <a href="https://terra-arcanum.com/drog/uap.html" target="_blank">Drog Black Tooth's Unofficial Patch</a>.</p><h2 id="mass-effect-legendary-edition"><a href="https://store.steampowered.com/app/1328670/Mass_Effect_Legendary_Edition/" target="_blank">Mass Effect Legendary Edition</a></h2><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="2vosCrtmSKYbUJUok6jBsQ" name="mass effect" alt="A close-up of Shephard from Mass Effect awkwardly smiling." src="https://cdn.mos.cms.futurecdn.net/2vosCrtmSKYbUJUok6jBsQ-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: BioWare)</span></figcaption></figure><ul><li>Sale Price: $4.79</li><li>Developer: BioWare</li><li>Released: 2007 (original) 2021 (remaster)</li><li>PCG Review: Various</li></ul><p>Firmly in the "no duh" bucket of games to get, but no matter how many times I see it on sale, the Mass Effect trilogy for five bucks feels special to me. If you are unfamiliar with Mass Effect: Think Bush-era Star Trek, but Kirk is a spec ops commando operator who doesn't play by the rules. Turn off the part of your brain that makes it difficult to talk to strangers about politics and just enjoy yourself.</p><h2 id="disco-elysium"><a href="https://store.steampowered.com/app/632470/Disco_Elysium__The_Final_Cut/" target="_blank">Disco Elysium</a></h2><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="htMnxRNrJVTpSFSbvWWYV6" name="DEwallpaper.jpg" alt="The protagonists of Disco Elysium" src="https://cdn.mos.cms.futurecdn.net/htMnxRNrJVTpSFSbvWWYV6-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: Studio ZA/UM)</span></figcaption></figure><ul><li>Sale Price: $3.99</li><li>Developer: ZA/UM</li><li>Released: 2019</li><li>PCG Review: <a href="https://www.pcgamer.com/disco-elysium-review/" target="_blank">92%</a></li></ul><p>Still one of the GOATs, and no amount of post-launch creative turmoil can change that. It has been the #1 or #2 game on our <a href="https://www.pcgamer.com/games/the-top-100-pc-games-2025/" target="_blank">Top 100 list</a> every year since it came out, and I think that says a lot.</p><h2 id="star-wars-knights-of-the-old-republic-2-the-sith-lords"><a href="https://store.steampowered.com/app/208580/STAR_WARS_Knights_of_the_Old_Republic_II__The_Sith_Lords/" target="_blank">Star Wars: Knights of the Old Republic 2 - The Sith Lords</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:57.34%;"><img id="NrmGA9N7B3eECHv6GpuiuH" name="kotor2-2.jpg" alt="KOTOR 2 sith" src="https://cdn.mos.cms.futurecdn.net/NrmGA9N7B3eECHv6GpuiuH-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="734" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Lucasfilm Games)</span></figcaption></figure><ul><li>Sale Price: $3.49</li><li>Developer: Obsidian</li><li>Released: 2005</li><li>PCG Review: <a href="https://archive.gamehistory.org/item/0b35ee1a-ce5b-4f37-beb9-b4ed2632e6cf/pdf?token=67a07ad2-434c-4520-a6a1-ecbf761c3713&length=86876999">87%</a></li></ul><p>Still the best Star Wars story ever told as far as I'm concerned, and if you don't trust me, why not <a href="https://www.pcgamer.com/games/rpg/knight-of-the-old-republic-2-was-great-because-it-peeled-back-star-wars-black-and-white-morality/" target="_blank">hear out former PC Gamer editor Richard Cobbett instead</a>? Be sure to grab the Sith Lords Restored Content Mod from the Steam Workshop. I'm currently replaying KotOR 2 myself on Steam Deck—I recommend grabbing Gravy's public controller profile to help with some camera wonkiness. I can also vouch for user <a href="https://www.reddit.com/r/kotor/comments/1lfnyvy/comment/n09ui2z/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button" target="_blank">revonvenom's cutscene crash fix outlined on Reddit</a>.</p><h3 class="article-body__section" id="section-first-person-shooter-and-more"><span>First Person Shooter (and more!)</span></h3><h2 id="max-payne"><a href="https://store.steampowered.com/app/12140/Max_Payne/" target="_blank">Max Payne</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:60.44%;"><img id="q69JoML5Hh2qatAZpjQVPk" name="header.jpg" alt="Max Payne" src="https://cdn.mos.cms.futurecdn.net/q69JoML5Hh2qatAZpjQVPk-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="967" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rockstar Games)</span></figcaption></figure><ul><li>Sale Price: $3.49</li><li>Developer: Remedy</li><li>Released: 2001</li><li>PCG Review: They gotta make these easier to look up, man. It was probably pretty high.</li></ul><p>An unassailable classic of a shooter. Max Paynes 2 and 3 improved the storytelling and shooting, but there is a one-of-a-kind atmosphere to be found in the first game's snowy bloodbath.</p><h2 id="max-payne-2-the-fall-of-max-payne"><a href="https://store.steampowered.com/app/12150/Max_Payne_2_The_Fall_of_Max_Payne/" target="_blank">Max Payne 2: The Fall of Max Payne</a></h2><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="w4JFvk3QsQyyZLeuf8nGSg" name="max payne 2.jpg" alt="Max Payne 2 cityscape" src="https://cdn.mos.cms.futurecdn.net/w4JFvk3QsQyyZLeuf8nGSg-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div></figure><ul><li>Sale Price: $2.49</li><li>Developer: Remedy</li><li>Released: 2003</li><li>PCG Review: Please email me if you know.</li></ul><p>Looking back, this feels like a turning point, when Remedy started getting <em>quirky</em>. One can observe the aspirations of a surreal shared world that we're now seeing come to fruition with the Control-Alan Wake continuum. The level set in the <a href="https://www.pcgamer.com/why-i-love-max-payne-2s-twisted-funhouse/" target="_blank">abandoned theme park</a> of a Twin Peaks/Twilight Zone pastiche is an all-timer, and feels like it rhymes with the killer amusement park level in Alan Wake 2.</p><h2 id="fear"><a href="https://store.steampowered.com/app/21090/FEAR/" target="_blank">FEAR</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dYpZcNNcm4PvbHacQ4a2bb" name="FEAR" alt="Horror FPS game FEAR running on PC showing soldiers fighting and explosions" src="https://cdn.mos.cms.futurecdn.net/dYpZcNNcm4PvbHacQ4a2bb-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Monolith Productions, Warner Bros. Interactive Entertainment)</span></figcaption></figure><ul><li>Sale Price: $1.99</li><li>Developer: Monolith</li><li>Released: 2005</li><li>PCG Review: It's out there, somewhere</li></ul><p>One of the original GOATs of bullet time, alongside Max Payne. It's funny: The thing I remember most from coverage at the time was how terrifying it was supposed to be. These days, fans seem to roll their eyes at Alma and stay for the tacticool shootouts. The sheer amounts of <em>lore</em> introduced by later games certainly didn't help.</p><h2 id="cruelty-squad"><a href="https://store.steampowered.com/app/1388770/Cruelty_Squad/" target="_blank">Cruelty Squad</a></h2><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="KdSKYAy5YUGRUTPPKcZCF3" name="20211221111604_1.jpg" alt="Cruelty Squad" src="https://cdn.mos.cms.futurecdn.net/KdSKYAy5YUGRUTPPKcZCF3-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: Consumer Softproducts)</span></figcaption></figure><ul><li>Sale Price: $1.99</li><li>Developer: Consumer Softproducts</li><li>Released: 2021</li><li>PCG Review: <a href="https://www.pcgamer.com/cruelty-squad-review/" target="_blank">93%</a></li></ul><p>A game that still feels like the future of FPSes, five years on. It's abrasive, complex, and singular, despite tons of indie shooters cribbing off its notes in the intervening years. Thief or Hitman-style "real place" level design, but with zippy, movement-heavy shooting and some of the best level secrets and hidden stuff of any game.</p><h2 id="deus-ex-invisible-war"><a href="https://store.steampowered.com/app/6920/Deus_Ex_Invisible_War/" target="_blank">Deus Ex: Invisible War</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2561px;"><p class="vanilla-image-block" style="padding-top:62.51%;"><img id="YaP8k9eR9jSomnAWSqRVjh" name="IW06" alt="Deus Ex: Invisible War" src="https://cdn.mos.cms.futurecdn.net/YaP8k9eR9jSomnAWSqRVjh-1920-80.png" mos="" align="middle" fullscreen="" width="2561" height="1601" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Ion Storm)</span></figcaption></figure><ul><li>Sale Price: $1.74</li><li>Developer: Ion Storm</li><li>Released: 2004</li><li>PCG Review: 92%</li></ul><p>A game doomed by circumstance: Virtually everything that made Invisible War feel inferior to Deus Ex was a result of console compromise design on behalf of the then-cutting edge Xbox. It's still an entertaining immersive sim nonetheless, as well as a work of sci fi storytelling that feels fresh and prescient to this day. All the love to the Eidos Montreal games, but Deus Ex and Invisible War are simply smarter works of science fiction.</p><h2 id="dark-messiah-of-might-and-magic"><a href="https://store.steampowered.com/app/2100/Dark_Messiah_of_Might__Magic/" target="_blank">Dark Messiah of Might and Magic</a></h2><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="YgRyyyM7kHpuqVTrwGQHWj" name="Dark Messiah 2.jpg" alt="Dark Messiah dueling an orc" src="https://cdn.mos.cms.futurecdn.net/YgRyyyM7kHpuqVTrwGQHWj-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div></figure><ul><li>Sale Price: $2.49</li><li>Developer: Arkane</li><li>Released: 2006</li><li>PCG Review: 88%</li></ul><p>Still the best kick in gaming, an all-time piece of melee combat design at the heart of one of the most slapstick games ever made. Dark Messiah's booby trap and bottomless pit-laden arenas still make it one of the GOATs of physics as gameplay. Even Arkane itself has never managed to fully recapture this aspect of Dark Messiah in its excellent later work.</p><h2 id="chop-goblins"><a href="https://store.steampowered.com/app/1935660/Chop_Goblins/" target="_blank">Chop Goblins</a></h2><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="NdHqoG5ZJVgqXdrXP28KXA" name="ss_53836cb315b48a71ca64d673a45309d93db5b54a.1920x1080.jpg" alt="Pointing a machine gun at a gaggle of goblins in an ornate parlor" src="https://cdn.mos.cms.futurecdn.net/NdHqoG5ZJVgqXdrXP28KXA-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: David Szymanski)</span></figcaption></figure><ul><li>Sale Price: $1.99</li><li>Developer: David Szymanski</li><li>Released: 2022</li><li>PCG Review: N/A</li></ul><p>A snack of an FPS that still managed to steal my heart. It's the only boomer shooter David Szymanski has made since the much-beloved Dusk, and it has a similarly impish, pitch-black sense of humor. Chop Goblins' levels are few, but substantial, with tons of secrets and side paths. This is a great game to get with a friend too, thanks to its time trial-centric replayability and global leaderboard.</p><h2 id="call-of-cthulhu-dark-corners-of-the-earth"><a href="https://store.steampowered.com/app/22340/Call_of_Cthulhu_Dark_Corners_of_the_Earth/" target="_blank">Call of Cthulhu: Dark Corners of the Earth</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1024px;"><p class="vanilla-image-block" style="padding-top:75.00%;"><img id="edvxaX7JmNM43fFyLytm78" name="0000009025.jpg" alt="Call of Cthulhu gameplay pointing gun at innsmouther" src="https://cdn.mos.cms.futurecdn.net/edvxaX7JmNM43fFyLytm78-1920-80.jpg" mos="" align="middle" fullscreen="" width="1024" height="768" attribution="" endorsement="" class="inline"></p></div></div></figure><ul><li>Sale Price: $1.64</li><li>Developer: Headfirst Productions</li><li>Released: 2006</li><li>PCG Review: I know we did.</li></ul><p>One of the jankiest commercial products ever made with Valve's Source Engine, a game I and many others can't help but love despite its many, many flaws. The more horror and adventure-focused early areas alone are worth at least two bucks, before it all devolves into mediocre shooting.</p><h2 id="arx-fatalis"><a href="https://store.steampowered.com/app/1700/Arx_Fatalis/" target="_blank">Arx Fatalis</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1277px;"><p class="vanilla-image-block" style="padding-top:54.42%;"><img id="bz7bf9pkhtwVPeFvYud7NH" name="PCG348.mon_dna.g1.jpg" alt="An undead enemy" src="https://cdn.mos.cms.futurecdn.net/bz7bf9pkhtwVPeFvYud7NH-1920-80.jpg" mos="" align="middle" fullscreen="" width="1277" height="695" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Arkane Studios)</span></figcaption></figure><ul><li>Sale Price: $1.64</li><li>Developer: Arkane</li><li>Released: 2002</li><li>PCG Review: 85%</li></ul><p>Where it all began for Arkane. Arx Fatalis is a prickly, complicated game that rewards patience. The one of a kind atmosphere and attention to detail in its underground society make it an all-time videogame locale for me, with the trappings of "normal" medieval fantasy life desperately masking the harsh reality of an existence deep below the surface. This is all that remains of a world whose sun went dark just outside living memory.</p><h2 id="star-wars-dark-forces-3-jedi-knight-2-jedi-outcast"><a href="https://store.steampowered.com/app/6030/STAR_WARS_Jedi_Knight_II__Jedi_Outcast/" target="_blank">Star Wars: Dark Forces 3 - Jedi Knight 2—Jedi Outcast</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iEctAk67HGtSAKnUtiVtYF" name="Star Wars Jedi Knight II: Jedi Outcast" alt="Star Wars Jedi Knight II: Jedi Outcast" src="https://cdn.mos.cms.futurecdn.net/iEctAk67HGtSAKnUtiVtYF-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li>Sale Price: $3.49</li><li>Developer: Raven Software</li><li>Released: 2002</li><li>PCG Review: 91%</li></ul><p>The fourth game in the Dark Forces series of FPSes and the second game in the Jedi Knight series of hybrid FPS/lightsaber combat games. Jedi Knight proved a strong foundation, but Raven produced a style of FPS-inflected lightsaber combat that's never been replicated, and only recently, arguably been matched by Fallen Order and Jedi Survivor.</p><h2 id="star-wars-dark-forces-4-jedi-knight-3-jedi-outcast-2-jedi-academy"><a href="https://store.steampowered.com/app/6020/STAR_WARS_Jedi_Knight__Jedi_Academy/" target="_blank">Star Wars: Dark Forces 4 - Jedi Knight 3—Jedi Outcast 2; Jedi Academy</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1030px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="MPpy7vWGfkEwxW4ScNRjT8" name="jedi academy.jpg" alt="A rodian striking an opponent with a green lightsaber" src="https://cdn.mos.cms.futurecdn.net/MPpy7vWGfkEwxW4ScNRjT8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1030" height="580" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: LucasArts)</span></figcaption></figure><ul><li>Sale Price: $3.49</li><li>Developer: Raven Software</li><li>Released: 2003</li><li>PCG Review: 70%</li></ul><p>Jedi Outcast's even better sequel. About the only thing that took a dip was the storytelling, and even then, Outcast was hardly Shakespeare. Otherwise? You get your lightsaber from the get-go, and while Outcast's levels could be hit-or miss visually and from a design perspective, every stage of Academy is a heater with some Star Wars juice. My favorites are probably the early train mission, Darth Vader's castle, and the late game Jedi tomb complex.</p><h3 class="article-body__section" id="section-uncategorized-esoterica"><span>Uncategorized esoterica</span></h3><h2 id="blasphemous"><a href="https://store.steampowered.com/app/774361/Blasphemous/" target="_blank">Blasphemous</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1847px;"><p class="vanilla-image-block" style="padding-top:56.36%;"><img id="2oCu6L7AfAzvNGS7hp8pXo" name="blasphem.jpg" alt="Blasphemous guy taking helmet off blood dripping down" src="https://cdn.mos.cms.futurecdn.net/2oCu6L7AfAzvNGS7hp8pXo-1920-80.jpg" mos="" align="middle" fullscreen="" width="1847" height="1041" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: The Game Kitchen)</span></figcaption></figure><ul><li>Sale Price: $2.49</li><li>Developer: The Game Kitchen</li><li>Released: 2019</li><li>PCG Review: <a href="https://www.pcgamer.com/blasphemous-review/" target="_blank">70%</a></li></ul><p>Bloodborne, but it's a 2D platformer trading Cthulhu for Catholicism. The Game Bakers took inspiration from early modern Spain to produce something truly captivating and unique in Blasphemous' visuals and story.</p><h2 id="card-shark"><a href="https://store.steampowered.com/app/1371720/Card_Shark/" target="_blank">Card Shark</a></h2><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="4Lf2EifxA3HxDUq8MQQ8tm" name="card shark deal.jpg" alt="Card Shaek" src="https://cdn.mos.cms.futurecdn.net/4Lf2EifxA3HxDUq8MQQ8tm-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: Devolver Digital)</span></figcaption></figure><ul><li>Sale Price: $3.99</li><li>Developer: Nerial</li><li>Released: 2022</li><li>PCG Review: <a href="https://www.pcgamer.com/card-shark-review/" target="_blank">86%</a></li></ul><p>The original "deckbuilder" was actually getting caught cheating at lansquenet during the ancien régime then killed in a duel. Aside from a wonderful setting that's underrepresented in games, Card Shark boasts a swashbuckling story and unique core mechanic: Actually cheating at cards with complicated controller combos.</p><h2 id="norco"><a href="https://store.steampowered.com/app/1221250/NORCO/" target="_blank">Norco</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1293px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="oDKiCQLD68ryLGyMbj5yXJ" name="norcoeyes.jpg" alt="Norco" src="https://cdn.mos.cms.futurecdn.net/oDKiCQLD68ryLGyMbj5yXJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1293" height="727" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Geography of Robots)</span></figcaption></figure><ul><li>Sale Price: $4.94</li><li>Developer: Geography of Robots</li><li>Released: 2022</li><li>PCG Review: <a href="https://www.pcgamer.com/norco-review/" target="_blank">94%</a></li></ul><p>An utterly haunting point and click adventure set in a cyberpunk Louisiana even closer to climate oblivion than the one in real life. Beautifully written, memorable, and boasting some of the most gorgeous images anyone's ever made in pixel art.</p><h2 id="iron-lung"><a href="https://store.steampowered.com/app/1846170/Iron_Lung/" target="_blank">Iron Lung</a></h2><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:54.06%;"><img id="DXSG53G46Pv35KJtu69cr" name="movie2" alt="Markiplier in a sub" src="https://cdn.mos.cms.futurecdn.net/DXSG53G46Pv35KJtu69cr-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1038" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Markiplier Studios)</span></figcaption></figure><ul><li>Sale Price: $3.99</li><li>Developer: David Szymanski</li><li>Released: 2022</li><li>PCG Review: N/A</li></ul><p>The movie the game.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ORV41O"></div>                            </div>                            <script src="https://kwizly.com/embed/ORV41O.js" async></script><h2 id="hypnospace-outlaw"><a href="https://store.steampowered.com/app/844590/Hypnospace_Outlaw/" target="_blank">Hypnospace Outlaw</a></h2><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="7rVNomSsL8gQ2CJyhrbAiS" name="Desktop Screenshot 2019.03.10 - 16.14.01.07.png" alt="A desktop" src="https://cdn.mos.cms.futurecdn.net/7rVNomSsL8gQ2CJyhrbAiS-1920-80.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tendershoot)</span></figcaption></figure><ul><li>Sale Price: $4.99</li><li>Developer: Tendershoot, Michael Lasch, ThatWhichIs Media</li><li>Released: 2019</li><li>PCG Review: <a href="https://www.pcgamer.com/hypnospace-outlaw-review/" target="_blank">81%</a></li></ul><p>Explore the internet I wish we had, a surreal, psychedelic expanse of GeoCities-esque webpages where something strange is afoot. Hypnospace remains one of the best "desktop simulation" games, even as others have attempted their own spin on the concept. </p><h2 id="halls-of-torment"><a href="https://store.steampowered.com/app/2218750/Halls_of_Torment/" target="_blank">Halls of Torment</a></h2><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="BuTYEb6xk8BNvLwcYXq3U3" name="HoT2 12.47.04" alt="The Exterminator fires his flamethrowers at many enemies in the ice level." src="https://cdn.mos.cms.futurecdn.net/BuTYEb6xk8BNvLwcYXq3U3-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: Chasing Carrots)</span></figcaption></figure><ul><li>Sale Price: $4.99</li><li>Developer: Chasing Carrots</li><li>Released: 2024</li><li>PCG Review: <a href="https://www.pcgamer.com/games/action/halls-of-torment-review/" target="_blank">90%</a></li></ul><p>Still my favorite Vampire Survivors-style game, which dresses the familiar format in the clothes of classic Diablo. I hit a wall of all the objectives and questlines I felt like completing a long time ago, but I still keep this one on my Steam Deck to noodle around in whenever I get that itch.</p><h2 id="flyknight"><a href="https://store.steampowered.com/app/3108510/FlyKnight/" target="_blank">FlyKnight</a></h2><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="ZRrFwTJN2HXa5g5rX6Zcwg" name="flyknight" alt="first person view holding sword against human shaped bug dual wielding knives." src="https://cdn.mos.cms.futurecdn.net/ZRrFwTJN2HXa5g5rX6Zcwg-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: Wabbaboy)</span></figcaption></figure><ul><li>Sale Price: $4.79</li><li>Developer: Wabbaboy</li><li>Released: 2025</li><li>PCG Review: N/A</li></ul><p>Tons of indie devs are turning their hands to homages of FromSoftware's foundational King's Field series, but I've always loved how focused FlyKnight is. I beat it in about six hours, but it still sticks with me. Already a steal at six bucks, a 20% discount has made it relevant to this list of recommendations on an arguable technicality.</p><h2 id="divinity-dragon-commander"><a href="https://store.steampowered.com/app/243950/Divinity_Dragon_Commander/" target="_blank">Divinity: Dragon Commander</a></h2><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="Aw5SAXKVbBA4pJDWnu6TQk" name="dragoncomander1" alt="Divinity: Dragon Commander" src="https://cdn.mos.cms.futurecdn.net/Aw5SAXKVbBA4pJDWnu6TQk-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: Larian)</span></figcaption></figure><ul><li>Sale Price: $3.99</li><li>Developer: Larian</li><li>Released: 2013</li><li>PCG Review: <a href="https://www.pcgamer.com/dragon-commander-review/" target="_blank">85%</a></li></ul><p>I'm not much of an RTS guy, but this one lets you hop on the back of a dragon and intervene in the fights, which I've always thought was sick. I wish more strategy games would let me do this, just go Dynasty Warriors mode on a line of Napoleonic Musketeers in Total War or something.</p><div class="product"><a data-dimension112="619a93aa-7b2f-11f1-94dd-1d5c4c0259e2" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="619a93aa-7b2f-11f1-94dd-1d5c4c0259e2" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/games/fps/i-picked-out-31-must-play-games-going-for-usd5-or-less-in-the-steam-summer-sale/</link>
                                                                            <description>
                            <![CDATA[ 'Bout a hundo if you want them all. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ER53u4kiw324ZiFatbVCgb</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/R9GbehcWG6p9SkNUvj3Z8P-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Fri, 26 Jun 2026 20:53:45 +0000</pubDate>                                                                                                                                <updated>Thu, 09 Jul 2026 00:44:45 +0000</updated>
                                                                                                                                            <category><![CDATA[FPS]]></category>
                                                    <category><![CDATA[Games]]></category>
                                                                                                <author><![CDATA[ ted.litchfield@futurenet.com (Ted Litchfield) ]]></author>                    <dc:creator><![CDATA[ Ted Litchfield ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8DyQVBz7FCynDY9QiJyH9D-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/R9GbehcWG6p9SkNUvj3Z8P-1920-80.png">
                                                            <media:credit><![CDATA[Valve, YouTuber Mora Madness]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[TF2 Heavy giving the Bret Rambo thumbs up]]></media:description>                                                            <media:text><![CDATA[TF2 Heavy giving the Bret Rambo thumbs up]]></media:text>
                                <media:title type="plain"><![CDATA[TF2 Heavy giving the Bret Rambo thumbs up]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/R9GbehcWG6p9SkNUvj3Z8P-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Steam is an elephant, and we are all trying to describe it blindfolded. To bring order to this economic chaos, I have curated a list of must-play games—indies, cult hits, no brainer classics, all ones I like personally—that are $5 or cheaper in the 2026 Summer Sale. </p><p>Five bucks is my threshold for "not a big deal," and unless the economy is even worse than I thought, it's likely yours too. If you got everything on this list together, it would be about $100 total, which is none too shabby for 31 games.</p><h3 class="article-body__section" id="section-rpg"><span>RPG</span></h3><h2 id="divinity-original-sin"><a href="https://store.steampowered.com/app/373420/Divinity_Original_Sin__Enhanced_Edition/" target="_blank">Divinity: Original Sin</a></h2><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="ovMFyjhkTNYqNG6DVNv6bP" name="DivinityBairdotr.jpg" alt="Original sin combat screenshot" src="https://cdn.mos.cms.futurecdn.net/ovMFyjhkTNYqNG6DVNv6bP-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div></figure><ul><li>Sale Price: $3.99</li><li>Developer: Larian</li><li>Released: 2014</li><li>PCG Review: <a href="https://www.pcgamer.com/divinity-original-sin-review/" target="_blank">87%</a></li></ul><p>The start of modern Larian. I'm more bullish about its comedic tone and lighter story than a lot of other RPG fans, but no one can deny that it's still got genre-leading turn-based combat, even as the studio has only improved on its own work.</p><h2 id="divinity-2"><a href="https://store.steampowered.com/app/219780/Divinity_II_Developers_Cut/" target="_blank">Divinity 2</a></h2><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="diPWAmrHqqyGeRxPrEgv8K" name="Divinity II 2.jpg" alt="Divinity 2" src="https://cdn.mos.cms.futurecdn.net/diPWAmrHqqyGeRxPrEgv8K-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: Larian Studios)</span></figcaption></figure><ul><li>Sale Price: $2.99</li><li>Developer: Larian</li><li>Released: 2009</li><li>PCG Review: I know we did I just can't find it</li></ul><p>No, not Divinity: Original Sin 2. Despite some of the worst self-inflicted SEO out there, Divinity 2 is well-worth revisiting to this day. It's a relic of a different time, when Larian was following BioWare's lead rather than setting its own pace, resulting in something that  visually calls to mind Dragon Age: Origins, but plays more like, I dunno, Jade Empire? That attempt at console-ization does make it a bit more approachable than Larian's other pre-Original Sin work these days.</p><h2 id="divine-divinity"><a href="https://store.steampowered.com/app/214170/Divine_Divinity/" target="_blank">Divine Divinity</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:640px;"><p class="vanilla-image-block" style="padding-top:75.00%;"><img id="gKHFtycxK6KyH24mNkHNTd" name="(3) Divine Divinity Opening Cinematic 00-00-41.png" alt="DD man artfully dodging an orc to give him what for" src="https://cdn.mos.cms.futurecdn.net/gKHFtycxK6KyH24mNkHNTd-1920-80.png" mos="" align="middle" fullscreen="" width="640" height="480" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Larian)</span></figcaption></figure><ul><li>Sale Price: $0.89</li><li>Developer: Larian</li><li>Released: 2002</li><li>PCG Review: 84%</li></ul><p>Notable as perhaps the purest expression of Larian's vision for RPGs before the first Original Sin, Divine Divinity arrived at the tail end of the CRPG's late '90s golden age. Even at this early stage, you can still enjoy the studio's unique sensibility, and it's an important text for anyone with an interest in the history of RPGs.</p><h2 id="pathfinder-kingmaker"><a href="https://store.steampowered.com/app/640820/Pathfinder_Kingmaker__Enhanced_Plus_Edition/" target="_blank">Pathfinder: Kingmaker</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1375px;"><p class="vanilla-image-block" style="padding-top:61.38%;"><img id="vjK2siNQdbPsqFknNQnTc5" name="PathfinderValerie.jpg" alt="An armored companion from Pathfinder: Kingmaker" src="https://cdn.mos.cms.futurecdn.net/vjK2siNQdbPsqFknNQnTc5-1920-80.jpg" mos="" align="middle" fullscreen="" width="1375" height="844" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Owlcat)</span></figcaption></figure><ul><li>Sale Price: $3.59</li><li>Developer: Owlcat</li><li>Released: 2018</li><li>PCG Review: <a href="https://www.pcgamer.com/pathfinder-kingmaker-review/" target="_blank">69%</a></li></ul><p>A deranged, cruel, and irresistible RPG. Wrath of the Righteous and Rogue Trader are perhaps better introductions to Owlcat's work, but Kingmaker still got its hooks into me. I'm not a huge fan of this one's DLC, and honestly recommend skipping it unless you <em>really</em> gotta optimize your builds, so there's no sleight of hand to that $3.59 number.</p><h2 id="pathfinder-wrath-of-the-righteous"><a href="https://store.steampowered.com/app/1184370/Pathfinder_Wrath_of_the_Righteous__Enhanced_Edition/" target="_blank">Pathfinder: Wrath of the Righteous</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2248px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="ZCVcm4yJWpPS9BNUAMxFbh" name="orcsassin.jpg" alt="Orc Assassin in leather armor looking around corner holding dagger" src="https://cdn.mos.cms.futurecdn.net/ZCVcm4yJWpPS9BNUAMxFbh-1920-80.jpg" mos="" align="middle" fullscreen="" width="2248" height="1264" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Owlcat)</span></figcaption></figure><ul><li>Sale Price: $4.99</li><li>Developer: Owlcat</li><li>Released: 2021</li><li>PCG Review: <a href="https://www.pcgamer.com/pathfinder-wrath-of-the-righteous-review/" target="_blank">76%</a></li></ul><p>One of my favorite games of the 2020s, a vexing RPG with one of the <a href="https://www.pcgamer.com/games/rpg/pathfinder-wrath-of-the-righteous-232-subclasses-make-it-the-ultimate-rpg-for-buildcrafting-freaks-especially-the-overpowered-ranger-who-gets-to-ride-a-griffon-from-level-1/" target="_blank">deepest class systems</a> I've ever seen, as well as some truly aggravating encounters. Still somehow a gentler and easier to grasp entry point than Kingmaker, by my reckoning. Unlike Kingmaker, I highly recommend the DLCs, even if it brings us over $5. Please don't tell anyone.</p><h2 id="dragon-age-origins"><a href="https://store.steampowered.com/app/47810/Dragon_Age_Origins__Ultimate_Edition/" target="_blank">Dragon Age: Origins</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="h8PEXHJMVJX32DJezeQULF" name="uh oh.jpg" alt="Two loincloth-clad Dragon Age characters staring at camera" src="https://cdn.mos.cms.futurecdn.net/h8PEXHJMVJX32DJezeQULF-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: BioWare)</span></figcaption></figure><ul><li>Sale Price: $2.99</li><li>Developer: BioWare</li><li>Released: 2009</li><li>PCG Review: 94%</li></ul><p>Don't cry because it's over, smile because it happened at all.</p><h2 id="dragon-age-2"><a href="https://store.steampowered.com/app/1238040/Dragon_Age_II_Ultimate_Edition/" target="_blank">Dragon Age 2</a></h2><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="w5GSZVsoQAdxvKR6dh8haP" name="da25bd8f181a7b3347d3440f02df6561.jpg" alt="Qunari" src="https://cdn.mos.cms.futurecdn.net/w5GSZVsoQAdxvKR6dh8haP-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: EA)</span></figcaption></figure><ul><li>Sale Price: $2.99</li><li>Developer: BioWare</li><li>Released: 2011</li><li>PCG Review: 94% (and proud of it, baby)</li></ul><p>Copy and paste environments, annoying enemies, a truncated development, and the best script BioWare's ever done. The studio was always better at characters than plot, so trading the hero's journey for something that felt more like three seasons of a TV show was a masterstroke. We may never see its like again.</p><h2 id="dragon-age-inquisition"><a href="https://store.steampowered.com/app/1222690/Dragon_Age_Inquisition/" target="_blank">Dragon Age Inquisition</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CpuY6nVetUDjqYzvL3fhTj" name="dragon age.jpg" alt="Cassandra from Dragon Age Inquisition" src="https://cdn.mos.cms.futurecdn.net/CpuY6nVetUDjqYzvL3fhTj-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Electronic Arts)</span></figcaption></figure><ul><li>Sale Price: $3.99</li><li>Developer: BioWare</li><li>Released: 2014</li><li>PCG Review: <a href="https://www.pcgamer.com/dragon-age-inquisition-review/" target="_blank">87%</a></li></ul><p>Does anyone else remember the multiplayer for this game? Did I hallucinate that? It was actually pretty brilliant: Repeatable co-op wave survival stuff that felt a lot like Left 4 Dead. It was smothered in its crib by the most deranged monetization I have ever seen anywhere, ever. Paying for gear and classes in a full-price retail game, the hubris is staggering. </p><h2 id="arcanum-of-steamworks-and-magick-obscura"><a href="https://store.steampowered.com/app/500810/Arcanum_Of_Steamworks_and_Magick_Obscura/" target="_blank">Arcanum: Of Steamworks and Magick Obscura</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:878px;"><p class="vanilla-image-block" style="padding-top:56.04%;"><img id="UogMtyky4RTkcRXcxaQv4j" name="56b4020b8ca9677d589cdbd729e5f277.png" alt="Best RPGs - Arcanum" src="https://cdn.mos.cms.futurecdn.net/UogMtyky4RTkcRXcxaQv4j-1920-80.png" mos="" align="middle" fullscreen="" width="878" height="492" attribution="" endorsement="" class="inline"></p></div></div></figure><ul><li>Sale Price: $3.89</li><li>Developer: Troika</li><li>Released: 2001</li><li>PCG Review: 90%</li></ul><p>A crusty game par excellence, a "realheads know" RPG that has never gotten the love it truly deserves. At its most basic level: 2D Fallout with worse combat but even deeper elements of simulation and reactivity, all set in a Forgotten Realms fantasy world going through its industrial revolution. Don't forget <a href="https://terra-arcanum.com/drog/uap.html" target="_blank">Drog Black Tooth's Unofficial Patch</a>.</p><h2 id="mass-effect-legendary-edition"><a href="https://store.steampowered.com/app/1328670/Mass_Effect_Legendary_Edition/" target="_blank">Mass Effect Legendary Edition</a></h2><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="2vosCrtmSKYbUJUok6jBsQ" name="mass effect" alt="A close-up of Shephard from Mass Effect awkwardly smiling." src="https://cdn.mos.cms.futurecdn.net/2vosCrtmSKYbUJUok6jBsQ-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: BioWare)</span></figcaption></figure><ul><li>Sale Price: $4.79</li><li>Developer: BioWare</li><li>Released: 2007 (original) 2021 (remaster)</li><li>PCG Review: Various</li></ul><p>Firmly in the "no duh" bucket of games to get, but no matter how many times I see it on sale, the Mass Effect trilogy for five bucks feels special to me. If you are unfamiliar with Mass Effect: Think Bush-era Star Trek, but Kirk is a spec ops commando operator who doesn't play by the rules. Turn off the part of your brain that makes it difficult to talk to strangers about politics and just enjoy yourself.</p><h2 id="disco-elysium"><a href="https://store.steampowered.com/app/632470/Disco_Elysium__The_Final_Cut/" target="_blank">Disco Elysium</a></h2><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="htMnxRNrJVTpSFSbvWWYV6" name="DEwallpaper.jpg" alt="The protagonists of Disco Elysium" src="https://cdn.mos.cms.futurecdn.net/htMnxRNrJVTpSFSbvWWYV6-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: Studio ZA/UM)</span></figcaption></figure><ul><li>Sale Price: $3.99</li><li>Developer: ZA/UM</li><li>Released: 2019</li><li>PCG Review: <a href="https://www.pcgamer.com/disco-elysium-review/" target="_blank">92%</a></li></ul><p>Still one of the GOATs, and no amount of post-launch creative turmoil can change that. It has been the #1 or #2 game on our <a href="https://www.pcgamer.com/games/the-top-100-pc-games-2025/" target="_blank">Top 100 list</a> every year since it came out, and I think that says a lot.</p><h2 id="star-wars-knights-of-the-old-republic-2-the-sith-lords"><a href="https://store.steampowered.com/app/208580/STAR_WARS_Knights_of_the_Old_Republic_II__The_Sith_Lords/" target="_blank">Star Wars: Knights of the Old Republic 2 - The Sith Lords</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:57.34%;"><img id="NrmGA9N7B3eECHv6GpuiuH" name="kotor2-2.jpg" alt="KOTOR 2 sith" src="https://cdn.mos.cms.futurecdn.net/NrmGA9N7B3eECHv6GpuiuH-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="734" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Lucasfilm Games)</span></figcaption></figure><ul><li>Sale Price: $3.49</li><li>Developer: Obsidian</li><li>Released: 2005</li><li>PCG Review: <a href="https://archive.gamehistory.org/item/0b35ee1a-ce5b-4f37-beb9-b4ed2632e6cf/pdf?token=67a07ad2-434c-4520-a6a1-ecbf761c3713&length=86876999">87%</a></li></ul><p>Still the best Star Wars story ever told as far as I'm concerned, and if you don't trust me, why not <a href="https://www.pcgamer.com/games/rpg/knight-of-the-old-republic-2-was-great-because-it-peeled-back-star-wars-black-and-white-morality/" target="_blank">hear out former PC Gamer editor Richard Cobbett instead</a>? Be sure to grab the Sith Lords Restored Content Mod from the Steam Workshop. I'm currently replaying KotOR 2 myself on Steam Deck—I recommend grabbing Gravy's public controller profile to help with some camera wonkiness. I can also vouch for user <a href="https://www.reddit.com/r/kotor/comments/1lfnyvy/comment/n09ui2z/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button" target="_blank">revonvenom's cutscene crash fix outlined on Reddit</a>.</p><h3 class="article-body__section" id="section-first-person-shooter-and-more"><span>First Person Shooter (and more!)</span></h3><h2 id="max-payne"><a href="https://store.steampowered.com/app/12140/Max_Payne/" target="_blank">Max Payne</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:60.44%;"><img id="q69JoML5Hh2qatAZpjQVPk" name="header.jpg" alt="Max Payne" src="https://cdn.mos.cms.futurecdn.net/q69JoML5Hh2qatAZpjQVPk-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="967" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rockstar Games)</span></figcaption></figure><ul><li>Sale Price: $3.49</li><li>Developer: Remedy</li><li>Released: 2001</li><li>PCG Review: They gotta make these easier to look up, man. It was probably pretty high.</li></ul><p>An unassailable classic of a shooter. Max Paynes 2 and 3 improved the storytelling and shooting, but there is a one-of-a-kind atmosphere to be found in the first game's snowy bloodbath.</p><h2 id="max-payne-2-the-fall-of-max-payne"><a href="https://store.steampowered.com/app/12150/Max_Payne_2_The_Fall_of_Max_Payne/" target="_blank">Max Payne 2: The Fall of Max Payne</a></h2><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="w4JFvk3QsQyyZLeuf8nGSg" name="max payne 2.jpg" alt="Max Payne 2 cityscape" src="https://cdn.mos.cms.futurecdn.net/w4JFvk3QsQyyZLeuf8nGSg-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div></figure><ul><li>Sale Price: $2.49</li><li>Developer: Remedy</li><li>Released: 2003</li><li>PCG Review: Please email me if you know.</li></ul><p>Looking back, this feels like a turning point, when Remedy started getting <em>quirky</em>. One can observe the aspirations of a surreal shared world that we're now seeing come to fruition with the Control-Alan Wake continuum. The level set in the <a href="https://www.pcgamer.com/why-i-love-max-payne-2s-twisted-funhouse/" target="_blank">abandoned theme park</a> of a Twin Peaks/Twilight Zone pastiche is an all-timer, and feels like it rhymes with the killer amusement park level in Alan Wake 2.</p><h2 id="fear"><a href="https://store.steampowered.com/app/21090/FEAR/" target="_blank">FEAR</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dYpZcNNcm4PvbHacQ4a2bb" name="FEAR" alt="Horror FPS game FEAR running on PC showing soldiers fighting and explosions" src="https://cdn.mos.cms.futurecdn.net/dYpZcNNcm4PvbHacQ4a2bb-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Monolith Productions, Warner Bros. Interactive Entertainment)</span></figcaption></figure><ul><li>Sale Price: $1.99</li><li>Developer: Monolith</li><li>Released: 2005</li><li>PCG Review: It's out there, somewhere</li></ul><p>One of the original GOATs of bullet time, alongside Max Payne. It's funny: The thing I remember most from coverage at the time was how terrifying it was supposed to be. These days, fans seem to roll their eyes at Alma and stay for the tacticool shootouts. The sheer amounts of <em>lore</em> introduced by later games certainly didn't help.</p><h2 id="cruelty-squad"><a href="https://store.steampowered.com/app/1388770/Cruelty_Squad/" target="_blank">Cruelty Squad</a></h2><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="KdSKYAy5YUGRUTPPKcZCF3" name="20211221111604_1.jpg" alt="Cruelty Squad" src="https://cdn.mos.cms.futurecdn.net/KdSKYAy5YUGRUTPPKcZCF3-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: Consumer Softproducts)</span></figcaption></figure><ul><li>Sale Price: $1.99</li><li>Developer: Consumer Softproducts</li><li>Released: 2021</li><li>PCG Review: <a href="https://www.pcgamer.com/cruelty-squad-review/" target="_blank">93%</a></li></ul><p>A game that still feels like the future of FPSes, five years on. It's abrasive, complex, and singular, despite tons of indie shooters cribbing off its notes in the intervening years. Thief or Hitman-style "real place" level design, but with zippy, movement-heavy shooting and some of the best level secrets and hidden stuff of any game.</p><h2 id="deus-ex-invisible-war"><a href="https://store.steampowered.com/app/6920/Deus_Ex_Invisible_War/" target="_blank">Deus Ex: Invisible War</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2561px;"><p class="vanilla-image-block" style="padding-top:62.51%;"><img id="YaP8k9eR9jSomnAWSqRVjh" name="IW06" alt="Deus Ex: Invisible War" src="https://cdn.mos.cms.futurecdn.net/YaP8k9eR9jSomnAWSqRVjh-1920-80.png" mos="" align="middle" fullscreen="" width="2561" height="1601" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Ion Storm)</span></figcaption></figure><ul><li>Sale Price: $1.74</li><li>Developer: Ion Storm</li><li>Released: 2004</li><li>PCG Review: 92%</li></ul><p>A game doomed by circumstance: Virtually everything that made Invisible War feel inferior to Deus Ex was a result of console compromise design on behalf of the then-cutting edge Xbox. It's still an entertaining immersive sim nonetheless, as well as a work of sci fi storytelling that feels fresh and prescient to this day. All the love to the Eidos Montreal games, but Deus Ex and Invisible War are simply smarter works of science fiction.</p><h2 id="dark-messiah-of-might-and-magic"><a href="https://store.steampowered.com/app/2100/Dark_Messiah_of_Might__Magic/" target="_blank">Dark Messiah of Might and Magic</a></h2><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="YgRyyyM7kHpuqVTrwGQHWj" name="Dark Messiah 2.jpg" alt="Dark Messiah dueling an orc" src="https://cdn.mos.cms.futurecdn.net/YgRyyyM7kHpuqVTrwGQHWj-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div></figure><ul><li>Sale Price: $2.49</li><li>Developer: Arkane</li><li>Released: 2006</li><li>PCG Review: 88%</li></ul><p>Still the best kick in gaming, an all-time piece of melee combat design at the heart of one of the most slapstick games ever made. Dark Messiah's booby trap and bottomless pit-laden arenas still make it one of the GOATs of physics as gameplay. Even Arkane itself has never managed to fully recapture this aspect of Dark Messiah in its excellent later work.</p><h2 id="chop-goblins"><a href="https://store.steampowered.com/app/1935660/Chop_Goblins/" target="_blank">Chop Goblins</a></h2><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="NdHqoG5ZJVgqXdrXP28KXA" name="ss_53836cb315b48a71ca64d673a45309d93db5b54a.1920x1080.jpg" alt="Pointing a machine gun at a gaggle of goblins in an ornate parlor" src="https://cdn.mos.cms.futurecdn.net/NdHqoG5ZJVgqXdrXP28KXA-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: David Szymanski)</span></figcaption></figure><ul><li>Sale Price: $1.99</li><li>Developer: David Szymanski</li><li>Released: 2022</li><li>PCG Review: N/A</li></ul><p>A snack of an FPS that still managed to steal my heart. It's the only boomer shooter David Szymanski has made since the much-beloved Dusk, and it has a similarly impish, pitch-black sense of humor. Chop Goblins' levels are few, but substantial, with tons of secrets and side paths. This is a great game to get with a friend too, thanks to its time trial-centric replayability and global leaderboard.</p><h2 id="call-of-cthulhu-dark-corners-of-the-earth"><a href="https://store.steampowered.com/app/22340/Call_of_Cthulhu_Dark_Corners_of_the_Earth/" target="_blank">Call of Cthulhu: Dark Corners of the Earth</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1024px;"><p class="vanilla-image-block" style="padding-top:75.00%;"><img id="edvxaX7JmNM43fFyLytm78" name="0000009025.jpg" alt="Call of Cthulhu gameplay pointing gun at innsmouther" src="https://cdn.mos.cms.futurecdn.net/edvxaX7JmNM43fFyLytm78-1920-80.jpg" mos="" align="middle" fullscreen="" width="1024" height="768" attribution="" endorsement="" class="inline"></p></div></div></figure><ul><li>Sale Price: $1.64</li><li>Developer: Headfirst Productions</li><li>Released: 2006</li><li>PCG Review: I know we did.</li></ul><p>One of the jankiest commercial products ever made with Valve's Source Engine, a game I and many others can't help but love despite its many, many flaws. The more horror and adventure-focused early areas alone are worth at least two bucks, before it all devolves into mediocre shooting.</p><h2 id="arx-fatalis"><a href="https://store.steampowered.com/app/1700/Arx_Fatalis/" target="_blank">Arx Fatalis</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1277px;"><p class="vanilla-image-block" style="padding-top:54.42%;"><img id="bz7bf9pkhtwVPeFvYud7NH" name="PCG348.mon_dna.g1.jpg" alt="An undead enemy" src="https://cdn.mos.cms.futurecdn.net/bz7bf9pkhtwVPeFvYud7NH-1920-80.jpg" mos="" align="middle" fullscreen="" width="1277" height="695" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Arkane Studios)</span></figcaption></figure><ul><li>Sale Price: $1.64</li><li>Developer: Arkane</li><li>Released: 2002</li><li>PCG Review: 85%</li></ul><p>Where it all began for Arkane. Arx Fatalis is a prickly, complicated game that rewards patience. The one of a kind atmosphere and attention to detail in its underground society make it an all-time videogame locale for me, with the trappings of "normal" medieval fantasy life desperately masking the harsh reality of an existence deep below the surface. This is all that remains of a world whose sun went dark just outside living memory.</p><h2 id="star-wars-dark-forces-3-jedi-knight-2-jedi-outcast"><a href="https://store.steampowered.com/app/6030/STAR_WARS_Jedi_Knight_II__Jedi_Outcast/" target="_blank">Star Wars: Dark Forces 3 - Jedi Knight 2—Jedi Outcast</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iEctAk67HGtSAKnUtiVtYF" name="Star Wars Jedi Knight II: Jedi Outcast" alt="Star Wars Jedi Knight II: Jedi Outcast" src="https://cdn.mos.cms.futurecdn.net/iEctAk67HGtSAKnUtiVtYF-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li>Sale Price: $3.49</li><li>Developer: Raven Software</li><li>Released: 2002</li><li>PCG Review: 91%</li></ul><p>The fourth game in the Dark Forces series of FPSes and the second game in the Jedi Knight series of hybrid FPS/lightsaber combat games. Jedi Knight proved a strong foundation, but Raven produced a style of FPS-inflected lightsaber combat that's never been replicated, and only recently, arguably been matched by Fallen Order and Jedi Survivor.</p><h2 id="star-wars-dark-forces-4-jedi-knight-3-jedi-outcast-2-jedi-academy"><a href="https://store.steampowered.com/app/6020/STAR_WARS_Jedi_Knight__Jedi_Academy/" target="_blank">Star Wars: Dark Forces 4 - Jedi Knight 3—Jedi Outcast 2; Jedi Academy</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1030px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="MPpy7vWGfkEwxW4ScNRjT8" name="jedi academy.jpg" alt="A rodian striking an opponent with a green lightsaber" src="https://cdn.mos.cms.futurecdn.net/MPpy7vWGfkEwxW4ScNRjT8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1030" height="580" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: LucasArts)</span></figcaption></figure><ul><li>Sale Price: $3.49</li><li>Developer: Raven Software</li><li>Released: 2003</li><li>PCG Review: 70%</li></ul><p>Jedi Outcast's even better sequel. About the only thing that took a dip was the storytelling, and even then, Outcast was hardly Shakespeare. Otherwise? You get your lightsaber from the get-go, and while Outcast's levels could be hit-or miss visually and from a design perspective, every stage of Academy is a heater with some Star Wars juice. My favorites are probably the early train mission, Darth Vader's castle, and the late game Jedi tomb complex.</p><h3 class="article-body__section" id="section-uncategorized-esoterica"><span>Uncategorized esoterica</span></h3><h2 id="blasphemous"><a href="https://store.steampowered.com/app/774361/Blasphemous/" target="_blank">Blasphemous</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1847px;"><p class="vanilla-image-block" style="padding-top:56.36%;"><img id="2oCu6L7AfAzvNGS7hp8pXo" name="blasphem.jpg" alt="Blasphemous guy taking helmet off blood dripping down" src="https://cdn.mos.cms.futurecdn.net/2oCu6L7AfAzvNGS7hp8pXo-1920-80.jpg" mos="" align="middle" fullscreen="" width="1847" height="1041" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: The Game Kitchen)</span></figcaption></figure><ul><li>Sale Price: $2.49</li><li>Developer: The Game Kitchen</li><li>Released: 2019</li><li>PCG Review: <a href="https://www.pcgamer.com/blasphemous-review/" target="_blank">70%</a></li></ul><p>Bloodborne, but it's a 2D platformer trading Cthulhu for Catholicism. The Game Bakers took inspiration from early modern Spain to produce something truly captivating and unique in Blasphemous' visuals and story.</p><h2 id="card-shark"><a href="https://store.steampowered.com/app/1371720/Card_Shark/" target="_blank">Card Shark</a></h2><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="4Lf2EifxA3HxDUq8MQQ8tm" name="card shark deal.jpg" alt="Card Shaek" src="https://cdn.mos.cms.futurecdn.net/4Lf2EifxA3HxDUq8MQQ8tm-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: Devolver Digital)</span></figcaption></figure><ul><li>Sale Price: $3.99</li><li>Developer: Nerial</li><li>Released: 2022</li><li>PCG Review: <a href="https://www.pcgamer.com/card-shark-review/" target="_blank">86%</a></li></ul><p>The original "deckbuilder" was actually getting caught cheating at lansquenet during the ancien régime then killed in a duel. Aside from a wonderful setting that's underrepresented in games, Card Shark boasts a swashbuckling story and unique core mechanic: Actually cheating at cards with complicated controller combos.</p><h2 id="norco"><a href="https://store.steampowered.com/app/1221250/NORCO/" target="_blank">Norco</a></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1293px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="oDKiCQLD68ryLGyMbj5yXJ" name="norcoeyes.jpg" alt="Norco" src="https://cdn.mos.cms.futurecdn.net/oDKiCQLD68ryLGyMbj5yXJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1293" height="727" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Geography of Robots)</span></figcaption></figure><ul><li>Sale Price: $4.94</li><li>Developer: Geography of Robots</li><li>Released: 2022</li><li>PCG Review: <a href="https://www.pcgamer.com/norco-review/" target="_blank">94%</a></li></ul><p>An utterly haunting point and click adventure set in a cyberpunk Louisiana even closer to climate oblivion than the one in real life. Beautifully written, memorable, and boasting some of the most gorgeous images anyone's ever made in pixel art.</p><h2 id="iron-lung"><a href="https://store.steampowered.com/app/1846170/Iron_Lung/" target="_blank">Iron Lung</a></h2><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:54.06%;"><img id="DXSG53G46Pv35KJtu69cr" name="movie2" alt="Markiplier in a sub" src="https://cdn.mos.cms.futurecdn.net/DXSG53G46Pv35KJtu69cr-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1038" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Markiplier Studios)</span></figcaption></figure><ul><li>Sale Price: $3.99</li><li>Developer: David Szymanski</li><li>Released: 2022</li><li>PCG Review: N/A</li></ul><p>The movie the game.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ORV41O"></div>                            </div>                            <script src="https://kwizly.com/embed/ORV41O.js" async></script><h2 id="hypnospace-outlaw"><a href="https://store.steampowered.com/app/844590/Hypnospace_Outlaw/" target="_blank">Hypnospace Outlaw</a></h2><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="7rVNomSsL8gQ2CJyhrbAiS" name="Desktop Screenshot 2019.03.10 - 16.14.01.07.png" alt="A desktop" src="https://cdn.mos.cms.futurecdn.net/7rVNomSsL8gQ2CJyhrbAiS-1920-80.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tendershoot)</span></figcaption></figure><ul><li>Sale Price: $4.99</li><li>Developer: Tendershoot, Michael Lasch, ThatWhichIs Media</li><li>Released: 2019</li><li>PCG Review: <a href="https://www.pcgamer.com/hypnospace-outlaw-review/" target="_blank">81%</a></li></ul><p>Explore the internet I wish we had, a surreal, psychedelic expanse of GeoCities-esque webpages where something strange is afoot. Hypnospace remains one of the best "desktop simulation" games, even as others have attempted their own spin on the concept. </p><h2 id="halls-of-torment"><a href="https://store.steampowered.com/app/2218750/Halls_of_Torment/" target="_blank">Halls of Torment</a></h2><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="BuTYEb6xk8BNvLwcYXq3U3" name="HoT2 12.47.04" alt="The Exterminator fires his flamethrowers at many enemies in the ice level." src="https://cdn.mos.cms.futurecdn.net/BuTYEb6xk8BNvLwcYXq3U3-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: Chasing Carrots)</span></figcaption></figure><ul><li>Sale Price: $4.99</li><li>Developer: Chasing Carrots</li><li>Released: 2024</li><li>PCG Review: <a href="https://www.pcgamer.com/games/action/halls-of-torment-review/" target="_blank">90%</a></li></ul><p>Still my favorite Vampire Survivors-style game, which dresses the familiar format in the clothes of classic Diablo. I hit a wall of all the objectives and questlines I felt like completing a long time ago, but I still keep this one on my Steam Deck to noodle around in whenever I get that itch.</p><h2 id="flyknight"><a href="https://store.steampowered.com/app/3108510/FlyKnight/" target="_blank">FlyKnight</a></h2><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="ZRrFwTJN2HXa5g5rX6Zcwg" name="flyknight" alt="first person view holding sword against human shaped bug dual wielding knives." src="https://cdn.mos.cms.futurecdn.net/ZRrFwTJN2HXa5g5rX6Zcwg-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: Wabbaboy)</span></figcaption></figure><ul><li>Sale Price: $4.79</li><li>Developer: Wabbaboy</li><li>Released: 2025</li><li>PCG Review: N/A</li></ul><p>Tons of indie devs are turning their hands to homages of FromSoftware's foundational King's Field series, but I've always loved how focused FlyKnight is. I beat it in about six hours, but it still sticks with me. Already a steal at six bucks, a 20% discount has made it relevant to this list of recommendations on an arguable technicality.</p><h2 id="divinity-dragon-commander"><a href="https://store.steampowered.com/app/243950/Divinity_Dragon_Commander/" target="_blank">Divinity: Dragon Commander</a></h2><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="Aw5SAXKVbBA4pJDWnu6TQk" name="dragoncomander1" alt="Divinity: Dragon Commander" src="https://cdn.mos.cms.futurecdn.net/Aw5SAXKVbBA4pJDWnu6TQk-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: Larian)</span></figcaption></figure><ul><li>Sale Price: $3.99</li><li>Developer: Larian</li><li>Released: 2013</li><li>PCG Review: <a href="https://www.pcgamer.com/dragon-commander-review/" target="_blank">85%</a></li></ul><p>I'm not much of an RTS guy, but this one lets you hop on the back of a dragon and intervene in the fights, which I've always thought was sick. I wish more strategy games would let me do this, just go Dynasty Warriors mode on a line of Napoleonic Musketeers in Total War or something.</p><div class="product"><a data-dimension112="619a93aa-7b2f-11f1-94dd-1d5c4c0259e2" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:661px;"><p class="vanilla-image-block" style="padding-top:98.94%;"><img id="6offQUY4CXebir2TC27dMd" name="kingdom come 2 square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6offQUY4CXebir2TC27dMd-1920-80.jpg" mos="" align="middle" fullscreen="" width="661" height="654" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.pcgamer.com/games/new-pc-games-2026/" target="_blank" data-dimension112="619a93aa-7b2f-11f1-94dd-1d5c4c0259e2" data-action="Deal Block" data-label="2026 games" data-dimension48="2026 games" data-dimension25=""><strong>2026 games</strong></a>: All the upcoming games<br><a href="https://www.pcgamer.com/the-best-pc-games/" target="_blank"><strong>Best PC games</strong></a>: Our all-time favorites<br><a href="https://www.pcgamer.com/the-50-best-free-pc-games/" target="_blank"><strong>Free PC games</strong></a>: Freebie fest<br><a href="https://www.pcgamer.com/best-fps-games/" target="_blank"><strong>Best FPS games</strong></a>: Finest gunplay<br><a href="https://www.pcgamer.com/best-rpgs-of-all-time/" target="_blank"><strong>Best RPGs</strong></a>: Grand adventures<br><a href="https://www.pcgamer.com/the-best-co-op-games/" target="_blank"><strong>Best co-op games</strong></a>: Better together</p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Forget about overpriced PC upgrades: this $649 OLED ultrawide isn't just the cheapest it's ever been, it's also way better value than any DRAM or SSD upgrade ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ROG Strix XG34WCDG" data-dimension48="ROG Strix XG34WCDG" data-dimension25="$649" href="https://www.amazon.com/ASUS-Ultrawide-QD-OLED-Monitor-XG34WCDG/dp/B0F73CKR9D/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1470px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="dwqnufXeMDuC9T3jRqN9PT" name="asus_rog_swift_oled_XG34WCDG_gaming_monitor" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/dwqnufXeMDuC9T3jRqN9PT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1470" height="1470" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The ROG Strix XG34WCDG might not be at the cutting edge of OLED gaming monitors, but by sacrificing a bit of speed, you're getting a whole lot more for your money.</p><p><strong>Key specs: 34-inch | 3440 x 1440 | 175 Hz | 0.03 ms | QD-OLED | 1800R curve</strong><a class="view-deal button" href="https://www.amazon.com/ASUS-Ultrawide-QD-OLED-Monitor-XG34WCDG/dp/B0F73CKR9D/" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ROG Strix XG34WCDG" data-dimension48="ROG Strix XG34WCDG" data-dimension25="$649">View Deal</a></p></div><p>Even if you can afford to upgrade your PC gaming setup to sport the most powerful or latest hardware, that doesn't mean you should. That's because many components and peripherals are vastly overpriced in the current climate (looking at you, DRAM and SSDs), but there's one sector that's bucking that trend: OLED monitors.</p><p>And for <a href="https://www.amazon.com/ASUS-Ultrawide-QD-OLED-Monitor-XG34WCDG/dp/B0F73CKR9D/" target="_blank">$649 at Amazon</a>, you can bag yourself a really epic and super-immersive ultrawide OLED display, safe in the knowledge that you're absolutely not paying over the odds.</p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're curating all the best Prime Day PC gaming deals here</strong></a></li></ul><p>The Asus ROG Strix XG34WCDG is essentially a lower-priced version of the <a href="https://www.pcgamer.com/asus-rog-swift-oled-pg34wcgm-monitor-review/" target="_blank">ROG Switch PG34WCDM</a> monitor we reviewed back in January 2024. It uses a different panel (Samsung QD-OLED vs LG WOLED) that isn't quite as highly specified, with the XG34WCDG sporting a maximum refresh rate of 175 Hz and a peak HDR brightness of 1,000 nits (240 Hz and 1,300 nits for the PG34).</p><p>The relatively high resolution of 3440 x 1440 is a boon for pixel density, but it will mean you'll need a beefy GPU for gaming at native settings, though with upscaling being as good as it is these days, you're not going to need anything too extreme.</p><p>What you lose in terms of outright performance, you gain significantly in bang-for-buck, as well as general comfort. The ROG Swift display has a very tight 800R curvature, whereas the ROG Strix is much easier to live with at 1800R (the bigger the number, the more gentle the curve).</p><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="AUYueUPkMvoZp3zYpCDvCT" name="asus_rog_swift_oled_XG34WCDG_gaming_monitor_2" alt="A bird's eye view of the Asus ROG Strix XG34WCDG gaming monitor, showing the curvature of the display panel" src="https://cdn.mos.cms.futurecdn.net/AUYueUPkMvoZp3zYpCDvCT-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: Asus)</span></figcaption></figure><p>Since it's a newer model, the XG34 also boasts Asus' OLED Care Pro tech, including a configurable proximity sensor which the monitor uses to determine if anyone is sitting in front of it. When there's nobody there, it switches everything to black to keep OLED burn-in at bay.</p><p>For truly immersive gaming, there's little that beats a hulking ultrawide, and while they're not necessarily perfect for general work scenarios, having all that real estate does make it easier to manage lots of Windows.</p><p>At $649, this Asus ROG Strix XG34WCDG is the cheapest it's ever been on Amazon and a full $350 under its launch MSRP. The RAMpocalypse might be doing its best to ruin the cost of upgrading your PC, but you can still treat yourself for less with this monitor.</p><h2 id="check-out-all-of-amazon-s-gaming-monitor-deals-here">👉<a href="https://www.amazon.com/s?k=gaming+monitor" target="_blank">Check out all of Amazon's gaming monitor deals here</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-monitors/forget-about-overpriced-pc-upgrades-this-usd649-oled-ultrawide-isnt-just-the-cheapest-its-ever-been-its-also-way-better-value-than-any-dram-or-ssd-upgrade/</link>
                                                                            <description>
                            <![CDATA[ I'd buy this over any silly-priced DDR5 kit or wallet-crushing SSD. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Ki9hHG6UXibnWUktBrgsQD</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ndiryNjCYMUxaC8mDrCZz8-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 22 Jun 2026 16:49:40 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Monitors]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nick Evanson ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HH5qHxdCSKxFpY2HXp2Q5K-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick, gaming, and computers all first met in the early 1980s. After leaving university, he became a physics and IT teacher and started writing about tech in the late 1990s. That resulted in him working with MadOnion to write the help files for 3DMark and PCMark. After a short stint working at Beyond3D.com, Nick joined Futuremark (MadOnion rebranded) full-time, as editor-in-chief for its PC gaming section, YouGamers. After the site shutdown, he became an engineering and computing lecturer for many years, but missed the writing bug. Cue four years at TechSpot.com covering everything and anything to do with tech and PCs. He freely admits to being far too obsessed with GPUs and open-world grindy RPGs, but who isn&#039;t these days?&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/ndiryNjCYMUxaC8mDrCZz8-1920-80.jpg">
                                                            <media:credit><![CDATA[Asus]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An image of an Asus OLED gaming monitor against a colorful blue background, with the phrase Prime Day and a PC Gamer logo on the sides]]></media:description>                                                            <media:text><![CDATA[An image of an Asus OLED gaming monitor against a colorful blue background, with the phrase Prime Day and a PC Gamer logo on the sides]]></media:text>
                                <media:title type="plain"><![CDATA[An image of an Asus OLED gaming monitor against a colorful blue background, with the phrase Prime Day and a PC Gamer logo on the sides]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ndiryNjCYMUxaC8mDrCZz8-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ROG Strix XG34WCDG" data-dimension48="ROG Strix XG34WCDG" data-dimension25="$649" href="https://www.amazon.com/ASUS-Ultrawide-QD-OLED-Monitor-XG34WCDG/dp/B0F73CKR9D/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1470px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="dwqnufXeMDuC9T3jRqN9PT" name="asus_rog_swift_oled_XG34WCDG_gaming_monitor" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/dwqnufXeMDuC9T3jRqN9PT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1470" height="1470" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The ROG Strix XG34WCDG might not be at the cutting edge of OLED gaming monitors, but by sacrificing a bit of speed, you're getting a whole lot more for your money.</p><p><strong>Key specs: 34-inch | 3440 x 1440 | 175 Hz | 0.03 ms | QD-OLED | 1800R curve</strong><a class="view-deal button" href="https://www.amazon.com/ASUS-Ultrawide-QD-OLED-Monitor-XG34WCDG/dp/B0F73CKR9D/" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ROG Strix XG34WCDG" data-dimension48="ROG Strix XG34WCDG" data-dimension25="$649">View Deal</a></p></div><p>Even if you can afford to upgrade your PC gaming setup to sport the most powerful or latest hardware, that doesn't mean you should. That's because many components and peripherals are vastly overpriced in the current climate (looking at you, DRAM and SSDs), but there's one sector that's bucking that trend: OLED monitors.</p><p>And for <a href="https://www.amazon.com/ASUS-Ultrawide-QD-OLED-Monitor-XG34WCDG/dp/B0F73CKR9D/" target="_blank">$649 at Amazon</a>, you can bag yourself a really epic and super-immersive ultrawide OLED display, safe in the knowledge that you're absolutely not paying over the odds.</p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're curating all the best Prime Day PC gaming deals here</strong></a></li></ul><p>The Asus ROG Strix XG34WCDG is essentially a lower-priced version of the <a href="https://www.pcgamer.com/asus-rog-swift-oled-pg34wcgm-monitor-review/" target="_blank">ROG Switch PG34WCDM</a> monitor we reviewed back in January 2024. It uses a different panel (Samsung QD-OLED vs LG WOLED) that isn't quite as highly specified, with the XG34WCDG sporting a maximum refresh rate of 175 Hz and a peak HDR brightness of 1,000 nits (240 Hz and 1,300 nits for the PG34).</p><p>The relatively high resolution of 3440 x 1440 is a boon for pixel density, but it will mean you'll need a beefy GPU for gaming at native settings, though with upscaling being as good as it is these days, you're not going to need anything too extreme.</p><p>What you lose in terms of outright performance, you gain significantly in bang-for-buck, as well as general comfort. The ROG Swift display has a very tight 800R curvature, whereas the ROG Strix is much easier to live with at 1800R (the bigger the number, the more gentle the curve).</p><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="AUYueUPkMvoZp3zYpCDvCT" name="asus_rog_swift_oled_XG34WCDG_gaming_monitor_2" alt="A bird's eye view of the Asus ROG Strix XG34WCDG gaming monitor, showing the curvature of the display panel" src="https://cdn.mos.cms.futurecdn.net/AUYueUPkMvoZp3zYpCDvCT-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: Asus)</span></figcaption></figure><p>Since it's a newer model, the XG34 also boasts Asus' OLED Care Pro tech, including a configurable proximity sensor which the monitor uses to determine if anyone is sitting in front of it. When there's nobody there, it switches everything to black to keep OLED burn-in at bay.</p><p>For truly immersive gaming, there's little that beats a hulking ultrawide, and while they're not necessarily perfect for general work scenarios, having all that real estate does make it easier to manage lots of Windows.</p><p>At $649, this Asus ROG Strix XG34WCDG is the cheapest it's ever been on Amazon and a full $350 under its launch MSRP. The RAMpocalypse might be doing its best to ruin the cost of upgrading your PC, but you can still treat yourself for less with this monitor.</p><h2 id="check-out-all-of-amazon-s-gaming-monitor-deals-here">👉<a href="https://www.amazon.com/s?k=gaming+monitor" target="_blank">Check out all of Amazon's gaming monitor deals here</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ These 'lovely earbuds for almost anything' are down to their lowest price ever on Amazon ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="4275d7d8-ebef-4e48-87e4-55d16744c25f" data-action="Deal Block" data-label="Ear (a) | Bluetooth" data-dimension48="Ear (a) | Bluetooth" data-dimension25="$53.20" href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="WzQ6nSnooi3CTT2RrbRovU" name="1781865757.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/WzQ6nSnooi3CTT2RrbRovU-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1509" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank" rel="nofollow" data-dimension112="4275d7d8-ebef-4e48-87e4-55d16744c25f" data-action="Deal Block" data-label="Ear (a) | Bluetooth" data-dimension48="Ear (a) | Bluetooth" data-dimension25="$53.20">Ear (a) | Bluetooth: was $79 now $53.20</a></strong><br>These earbuds might not be ideal just for gaming, but for listening to music and more casual gaming they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. The buds are available in black, yellow, and white, but white costs a little more.</p><p><strong>Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</strong><a class="view-deal button" href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank" rel="nofollow" data-dimension112="4275d7d8-ebef-4e48-87e4-55d16744c25f" data-action="Deal Block" data-label="Ear (a) | Bluetooth" data-dimension48="Ear (a) | Bluetooth" data-dimension25="$53.20">View Deal</a></p></div><p>We're always on the lookout for the best earbuds for gaming, and while the Nothing Ear (a) fell short of that title, our Jacob (different Jacob) came away impressed with other aspects of these buds from his time with them.</p><p>The Nothing Ear (a) are down to just <a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank">$53 over at Amazon</a> right now, from a price of $79. We actually reviewed them at $99, which means they're a lot cheaper than we judged them at back then.</p><p>Our Jacob Fox <a href="https://www.pcgamer.com/hardware/earbuds-headphones/nothing-ear-a-review/" target="_blank">took a look at these earbuds in the summer of 2025</a>, noting that the audio is very impressive for this price point ($99 at the time). He gave them a nod for their impressive soundstage:</p><p>"With the Bass Enhance setting enabled and set to level three (out of five) the bass is plenty punchy, and the audio in general feels more open than it does from some competitor earbuds such as the (admittedly cheaper) Air Pro 4," Jacob said.</p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're keeping track of all the early Amazon Prime Day PC gaming deals here</strong></a></li></ul><p>Though we want to give you the full picture so you can choose your next earbuds with all the information. Jacob did have some complaints. Namely, the latency is too high for gaming over Bluetooth. The buds do feature a low-lag mode, though it's still noticeable laggy compared to others we've tested, like the <a href="https://www.pcgamer.com/hardware/earbuds-headphones/earfun-air-pro-4-earbuds-review/" target="_blank">EarFun Air Pro 4.</a></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3898px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="DqArNfLUYNmRZn8uRpTwCR" name="nothing-ear-a.JPEG" alt="Nothing Ear (a) earbuds on a desk" src="https://cdn.mos.cms.futurecdn.net/DqArNfLUYNmRZn8uRpTwCR-1920-80.jpg" mos="" align="middle" fullscreen="" width="3898" height="2193" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>He also noted they fall out of his little ears more often than others, though he does note that he has especially little ears (he does, I've seen them). For sure, most user reviews are pretty positive about the fit. </p><p>Lastly, the mic isn't great. Though to put this to the test, Jacob (other Jacob) called me with them in just now and, yeah, they're not top-notch but they're not awful either. That maybe changes in a very busy place with more noise around but they're passable, in my opinion.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HXhpYwz8nrtDeFF66ajVCR" name="nothing-ear-a-case-open.JPEG" alt="Nothing Ear (a) earbuds in their charging case with the lid open" src="https://cdn.mos.cms.futurecdn.net/HXhpYwz8nrtDeFF66ajVCR-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>That seems like a laundry list of faults, but I asked Jacob whether he'd buy these buds at this new low price and he said, "for the price, I think I'd get them". The fact these are now going for cheaper than we've ever seen them on Amazon does a lot of good. </p><p>Similarly, Jacob still rounds off his review saying they are "fantastic earbuds", namely for their sound profile, cool style, excellent software, and good noise cancellation. Those things all matter a whole lot, and at just over $50, the faults are easier to look over for the right person. </p><h2 id="view-all-of-amazon-s-earbud-deals">👉<a href="https://www.amazon.com/Earbud-In-Ear-Headphones/b/ref=dp_bc_4?ie=UTF8&node=12097478011" target="_blank">View all of Amazon's earbud deals</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/earbuds-headphones/these-lovely-earbuds-for-almost-anything-are-down-to-their-lowest-price-ever-on-amazon/</link>
                                                                            <description>
                            <![CDATA[ Just don't expect the lowest latency for gaming. For listening to music or watching movies, however, they're great. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">44gtwbzv926jwM2yEuY44L</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/rYTXX3h4ENCDuVNktCWAbZ-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 19 Jun 2026 11:19:49 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Earbuds & Headphones]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Gaming Audio]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Ridley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/2YNigoLXbckPdRPDe3stwA-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob earned his first byline writing for his own tech blog, before graduating to breaking things professionally at PCGamesN, where he was one half of a popular weekly YouTube show. Joining PC Gamer in 2020, Jacob is now managing editor of the hardware team, and you&#039;ll usually find him testing the latest components or building a gaming PC. He says he&#039;s determined to build a fort as big as a house out of case boxes. Jacob enjoys heading out of the office to report from floors, benches, and, if he&#039;s lucky, plush press rooms at the biggest tech shows, such as Computex and CES.&lt;br&gt;&lt;/p&gt;&lt;p&gt;When he&#039;s not writing about components, you&#039;ll find Jacob trying to get away from the modern world as fast as possible by bike and pitching up camp in murky woods.&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/rYTXX3h4ENCDuVNktCWAbZ-1920-80.jpg">
                                                            <media:credit><![CDATA[Nothing, Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Nothing buds on a pink background with the PC Gamer logo and word &#039;deals&#039;.]]></media:description>                                                            <media:text><![CDATA[Nothing buds on a pink background with the PC Gamer logo and word &#039;deals&#039;.]]></media:text>
                                <media:title type="plain"><![CDATA[Nothing buds on a pink background with the PC Gamer logo and word &#039;deals&#039;.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/rYTXX3h4ENCDuVNktCWAbZ-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="4275d7d8-ebef-4e48-87e4-55d16744c25f" data-action="Deal Block" data-label="Ear (a) | Bluetooth" data-dimension48="Ear (a) | Bluetooth" data-dimension25="$53.20" href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="WzQ6nSnooi3CTT2RrbRovU" name="1781865757.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/WzQ6nSnooi3CTT2RrbRovU-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1509" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank" rel="nofollow" data-dimension112="4275d7d8-ebef-4e48-87e4-55d16744c25f" data-action="Deal Block" data-label="Ear (a) | Bluetooth" data-dimension48="Ear (a) | Bluetooth" data-dimension25="$53.20">Ear (a) | Bluetooth: was $79 now $53.20</a></strong><br>These earbuds might not be ideal just for gaming, but for listening to music and more casual gaming they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. The buds are available in black, yellow, and white, but white costs a little more.</p><p><strong>Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</strong><a class="view-deal button" href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank" rel="nofollow" data-dimension112="4275d7d8-ebef-4e48-87e4-55d16744c25f" data-action="Deal Block" data-label="Ear (a) | Bluetooth" data-dimension48="Ear (a) | Bluetooth" data-dimension25="$53.20">View Deal</a></p></div><p>We're always on the lookout for the best earbuds for gaming, and while the Nothing Ear (a) fell short of that title, our Jacob (different Jacob) came away impressed with other aspects of these buds from his time with them.</p><p>The Nothing Ear (a) are down to just <a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank">$53 over at Amazon</a> right now, from a price of $79. We actually reviewed them at $99, which means they're a lot cheaper than we judged them at back then.</p><p>Our Jacob Fox <a href="https://www.pcgamer.com/hardware/earbuds-headphones/nothing-ear-a-review/" target="_blank">took a look at these earbuds in the summer of 2025</a>, noting that the audio is very impressive for this price point ($99 at the time). He gave them a nod for their impressive soundstage:</p><p>"With the Bass Enhance setting enabled and set to level three (out of five) the bass is plenty punchy, and the audio in general feels more open than it does from some competitor earbuds such as the (admittedly cheaper) Air Pro 4," Jacob said.</p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're keeping track of all the early Amazon Prime Day PC gaming deals here</strong></a></li></ul><p>Though we want to give you the full picture so you can choose your next earbuds with all the information. Jacob did have some complaints. Namely, the latency is too high for gaming over Bluetooth. The buds do feature a low-lag mode, though it's still noticeable laggy compared to others we've tested, like the <a href="https://www.pcgamer.com/hardware/earbuds-headphones/earfun-air-pro-4-earbuds-review/" target="_blank">EarFun Air Pro 4.</a></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3898px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="DqArNfLUYNmRZn8uRpTwCR" name="nothing-ear-a.JPEG" alt="Nothing Ear (a) earbuds on a desk" src="https://cdn.mos.cms.futurecdn.net/DqArNfLUYNmRZn8uRpTwCR-1920-80.jpg" mos="" align="middle" fullscreen="" width="3898" height="2193" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>He also noted they fall out of his little ears more often than others, though he does note that he has especially little ears (he does, I've seen them). For sure, most user reviews are pretty positive about the fit. </p><p>Lastly, the mic isn't great. Though to put this to the test, Jacob (other Jacob) called me with them in just now and, yeah, they're not top-notch but they're not awful either. That maybe changes in a very busy place with more noise around but they're passable, in my opinion.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HXhpYwz8nrtDeFF66ajVCR" name="nothing-ear-a-case-open.JPEG" alt="Nothing Ear (a) earbuds in their charging case with the lid open" src="https://cdn.mos.cms.futurecdn.net/HXhpYwz8nrtDeFF66ajVCR-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>That seems like a laundry list of faults, but I asked Jacob whether he'd buy these buds at this new low price and he said, "for the price, I think I'd get them". The fact these are now going for cheaper than we've ever seen them on Amazon does a lot of good. </p><p>Similarly, Jacob still rounds off his review saying they are "fantastic earbuds", namely for their sound profile, cool style, excellent software, and good noise cancellation. Those things all matter a whole lot, and at just over $50, the faults are easier to look over for the right person. </p><h2 id="view-all-of-amazon-s-earbud-deals">👉<a href="https://www.amazon.com/Earbud-In-Ear-Headphones/b/ref=dp_bc_4?ie=UTF8&node=12097478011" target="_blank">View all of Amazon's earbud deals</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've just finished reviewing this great office chair and—oh, hey look, there's $50 knocked off the price right now ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ErgoChair Ultra 2" data-dimension48="ErgoChair Ultra 2" data-dimension25="$449" href="https://www.autonomous.ai/office-chairs/autonomous-chair-ultra-v2?product_url_sequence_code=7360_0" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1080px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="6LXNHyjqybxScsnT78D2p3" name="autonomous_ergochair_ultra_2_deal_block_image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6LXNHyjqybxScsnT78D2p3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1080" height="1080" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>If you want a classy office chair that adjusts to your body shape without resorting to endless dials and levers, the ErgoChair Ultra 2 is a solid choice.</p><p><strong>Key specs: Self-adjusting mesh back | 320 lbs max weight | 36.5 lbs chair weight | 25° recline | Lifetime warranty</strong><a class="view-deal button" href="https://www.autonomous.ai/office-chairs/autonomous-chair-ultra-v2?product_url_sequence_code=7360_0" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ErgoChair Ultra 2" data-dimension48="ErgoChair Ultra 2" data-dimension25="$449">View Deal</a></p></div><p>Earlier this week, I posted my review of this <a href="https://www.pcgamer.com/hardware/gaming-chairs/autonomous-ergochair-ultra-2-review/" target="_blank">Autonomous ErgoChair Ultra 2</a>, and to cut to the chase, it achieved a score of 82%, thanks to its flexible and comfortable back support, adjustable seat depth, and low weight.</p><p>And right now, Autonomous has knocked <a href="https://www.autonomous.ai/office-chairs/autonomous-chair-ultra-v2?product_url_sequence_code=7360_0" target="_blank">$50 off the $499 asking price</a>. Putting that discount with the free shipping and lifetime warranty, and you've got an office chair that's well worth considering.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>While it's not perfect (I mean, the score isn't 100%, is it?), there isn't anything bad about this chair: It's simply a case of whether it suits your needs and preferences over the many other choices that are on the market at a similar price.</p><p>Due to my scrawny build, I've never really got on with mesh chairs, but this one has been super comfortable. That's mostly down to the funky back, which effectively moulds to your body, supporting you without using big dials and levers you have to twist about.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/acipszQd4pgQatY4kYxUZh-1920-80.jpg" alt="A photo of an Autonomous ErgoChair Ultra 2" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6PzjjhuBxv2ykRG2HgZdkh-1920-80.jpg" alt="A photo of an Autonomous ErgoChair Ultra 2, showing a view of the rear spine and polymer mesh used in the back" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mytUAhp6KGsQT6hTWFsfkh-1920-80.jpg" alt="A photo of an Autonomous ErgoChair Ultra 2, showing a close-up view of the polymer mesh used in the back" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4xuo8EvCaGbypVRGshYYkh-1920-80.jpg" alt="A photo of an Autonomous ErgoChair Ultra 2, showing a close-up view of the polymer springs used in the seat base" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bQQU4Lc49j5veTJFrNnqkh-1920-80.jpg" alt="A photo of an Autonomous ErgoChair Ultra 2, showing a close-up view of an armrest and the latch used to adjust its height" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Personally, I'd prefer the seat to have a bit more foam to it, and I'd also prefer the armrests to lock more firmly in place. They're easy to adjust for position and rotation, but a bit too easy for my taste.</p><p>What tips this deal, though, isn't just the quality of the chair, but the fact that you've got a reasonable saving with the $50 discount, along with free shipping and a lifetime warranty. Many chairs will only give you three years, so that's a clear win for Autonomous.</p><p>If you like your chairs to be light in weight, easy to move about, and cool to sit in during the summer heat, the ErgoChair Ultra 2 should be on your list of perches to ponder and peruse.</p><h2 id="check-out-all-of-autonomous-office-chairs-here">👉<a href="https://www.autonomous.ai/office-chairs" target="_blank">Check out all of Autonomous' office chairs here</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-chairs/ive-just-finished-reviewing-this-great-office-chair-and-oh-hey-look-theres-usd50-knocked-off-the-price-right-now/</link>
                                                                            <description>
                            <![CDATA[ Free shipping, too. Bargain. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">TKLyUKzaS6wmfeffX6r8pZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/fBVadxSXBgqwkrDnZJZCzY-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 18 Jun 2026 15:49:19 +0000</pubDate>                                                                                                                                <updated>Thu, 18 Jun 2026 15:51:59 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Chairs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nick Evanson ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HH5qHxdCSKxFpY2HXp2Q5K-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick, gaming, and computers all first met in the early 1980s. After leaving university, he became a physics and IT teacher and started writing about tech in the late 1990s. That resulted in him working with MadOnion to write the help files for 3DMark and PCMark. After a short stint working at Beyond3D.com, Nick joined Futuremark (MadOnion rebranded) full-time, as editor-in-chief for its PC gaming section, YouGamers. After the site shutdown, he became an engineering and computing lecturer for many years, but missed the writing bug. Cue four years at TechSpot.com covering everything and anything to do with tech and PCs. He freely admits to being far too obsessed with GPUs and open-world grindy RPGs, but who isn&#039;t these days?&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/fBVadxSXBgqwkrDnZJZCzY-1920-80.jpg">
                                                            <media:credit><![CDATA[Autonomous]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An image showing a pair of Autonomous ErgoChair Ultra 2 office chairs, against a colorful background, with the phrase &quot;Deals&quot; above a PC Gamer logo on the right]]></media:description>                                                            <media:text><![CDATA[An image showing a pair of Autonomous ErgoChair Ultra 2 office chairs, against a colorful background, with the phrase &quot;Deals&quot; above a PC Gamer logo on the right]]></media:text>
                                <media:title type="plain"><![CDATA[An image showing a pair of Autonomous ErgoChair Ultra 2 office chairs, against a colorful background, with the phrase &quot;Deals&quot; above a PC Gamer logo on the right]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/fBVadxSXBgqwkrDnZJZCzY-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ErgoChair Ultra 2" data-dimension48="ErgoChair Ultra 2" data-dimension25="$449" href="https://www.autonomous.ai/office-chairs/autonomous-chair-ultra-v2?product_url_sequence_code=7360_0" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1080px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="6LXNHyjqybxScsnT78D2p3" name="autonomous_ergochair_ultra_2_deal_block_image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6LXNHyjqybxScsnT78D2p3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1080" height="1080" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>If you want a classy office chair that adjusts to your body shape without resorting to endless dials and levers, the ErgoChair Ultra 2 is a solid choice.</p><p><strong>Key specs: Self-adjusting mesh back | 320 lbs max weight | 36.5 lbs chair weight | 25° recline | Lifetime warranty</strong><a class="view-deal button" href="https://www.autonomous.ai/office-chairs/autonomous-chair-ultra-v2?product_url_sequence_code=7360_0" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ErgoChair Ultra 2" data-dimension48="ErgoChair Ultra 2" data-dimension25="$449">View Deal</a></p></div><p>Earlier this week, I posted my review of this <a href="https://www.pcgamer.com/hardware/gaming-chairs/autonomous-ergochair-ultra-2-review/" target="_blank">Autonomous ErgoChair Ultra 2</a>, and to cut to the chase, it achieved a score of 82%, thanks to its flexible and comfortable back support, adjustable seat depth, and low weight.</p><p>And right now, Autonomous has knocked <a href="https://www.autonomous.ai/office-chairs/autonomous-chair-ultra-v2?product_url_sequence_code=7360_0" target="_blank">$50 off the $499 asking price</a>. Putting that discount with the free shipping and lifetime warranty, and you've got an office chair that's well worth considering.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>While it's not perfect (I mean, the score isn't 100%, is it?), there isn't anything bad about this chair: It's simply a case of whether it suits your needs and preferences over the many other choices that are on the market at a similar price.</p><p>Due to my scrawny build, I've never really got on with mesh chairs, but this one has been super comfortable. That's mostly down to the funky back, which effectively moulds to your body, supporting you without using big dials and levers you have to twist about.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/acipszQd4pgQatY4kYxUZh-1920-80.jpg" alt="A photo of an Autonomous ErgoChair Ultra 2" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6PzjjhuBxv2ykRG2HgZdkh-1920-80.jpg" alt="A photo of an Autonomous ErgoChair Ultra 2, showing a view of the rear spine and polymer mesh used in the back" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mytUAhp6KGsQT6hTWFsfkh-1920-80.jpg" alt="A photo of an Autonomous ErgoChair Ultra 2, showing a close-up view of the polymer mesh used in the back" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4xuo8EvCaGbypVRGshYYkh-1920-80.jpg" alt="A photo of an Autonomous ErgoChair Ultra 2, showing a close-up view of the polymer springs used in the seat base" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bQQU4Lc49j5veTJFrNnqkh-1920-80.jpg" alt="A photo of an Autonomous ErgoChair Ultra 2, showing a close-up view of an armrest and the latch used to adjust its height" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Personally, I'd prefer the seat to have a bit more foam to it, and I'd also prefer the armrests to lock more firmly in place. They're easy to adjust for position and rotation, but a bit too easy for my taste.</p><p>What tips this deal, though, isn't just the quality of the chair, but the fact that you've got a reasonable saving with the $50 discount, along with free shipping and a lifetime warranty. Many chairs will only give you three years, so that's a clear win for Autonomous.</p><p>If you like your chairs to be light in weight, easy to move about, and cool to sit in during the summer heat, the ErgoChair Ultra 2 should be on your list of perches to ponder and peruse.</p><h2 id="check-out-all-of-autonomous-office-chairs-here">👉<a href="https://www.autonomous.ai/office-chairs" target="_blank">Check out all of Autonomous' office chairs here</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ For just $40, this Glorious budget gaming headset deal is the best I can find on Amazon ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="ac5bedc8-a280-4259-acdf-04ce9c2ff990" data-action="Deal Block" data-label="GHS Eternal" data-dimension48="GHS Eternal" data-dimension25="$39.99" href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="AJ9J3xmw76BBiXYbhAtpX9" name="Gaming headset deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow" data-dimension112="ac5bedc8-a280-4259-acdf-04ce9c2ff990" data-action="Deal Block" data-label="GHS Eternal" data-dimension48="GHS Eternal" data-dimension25="$39.99">GHS Eternal: was $59.99 now $39.99</a></strong><br>With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. </p><p><strong>Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</strong><a class="view-deal button" href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow" data-dimension112="ac5bedc8-a280-4259-acdf-04ce9c2ff990" data-action="Deal Block" data-label="GHS Eternal" data-dimension48="GHS Eternal" data-dimension25="$39.99">View Deal</a></p></div><p>There is an abundance of good gaming headsets at any one time, and that was our main critique of the <a href="https://www.pcgamer.com/hardware/gaming-headsets/glorious-ghs-eternal-review/" target="_blank">Glorious GHS Eternal</a> in our review earlier this year. It's a good headset, but not special, and that makes it hard to stand out. However, with a tidy discount, it does become a little special, and it's worth a serious look now. </p><p>Over at Amazon, <a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank">you can pick one up for yourself for just $40</a>, which is a $20 saving. The only downside is that the black model is the only one available in the sale. The white model still fetches $60, and both RGB models are $80. </p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're keeping track of all the early Amazon Prime Day PC gaming deals here</strong></a></li></ul><p>This wired headset offers pretty broad compatibility, with it working on PC, Xbox, Nintendo Switch, and PlayStation. Naturally, that's via the 3.5 mm jack, but that's still a lot of platforms for not much money. It's also got some solid construction, being sturdy and with a decent bit of bend to it too. </p><p>On the visual front, it's fairly understated, with the most vibrant part of the whole package being the orange 3.5 mm jack. The microphone is also detachable, which means it could feasibly serve as an out-and-about headset, as well as one for your games. </p><p>Our Jess says, "Beyond appearance and construction, this is a comfortable headset that sits securely and ticks the boxes for music-listening, video calls, and gaming." </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HbySM3myBsKN8ebDgRk7Ha-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/q9AeaeXvRHGMHEnVbZU4Fa-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/thwsPQPkTdPFHJrrRBNA7B-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WMBqKo2BsbBqzncA9M2n2B-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4VDgxvh6fWTgKQaosphg3B-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The 40 mm drivers are more or less just okay, providing solid but not standout sound. There's almost no sound isolation, though, so you could annoy your housemates if you like your games too loud. </p><p>As well as this, the microphone quality is mediocre. But alas, you need to make some compromises when you are buying a budget headset, and the Glorious makes them in decent spaces, especially when you consider that price. The Corsair HS55 is perhaps a better budget pick when both are full price, but it's currently $20 more, so my money would be going to Glorious instead. </p><h2 id="check-out-the-rest-of-amazon-s-gaming-headset-deals-2">👉 <a href="https://www.amazon.com/s?k=gaming+headset&i=electronics&crid=1F4EWAFE3FPCK&sprefix=gaming+headse%2Celectronics%2C195&ref=nb_sb_noss_2" target="_blank">Check out the rest of Amazon's gaming headset deals</a> 👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-headsets/for-just-usd40-this-glorious-budget-gaming-headset-deal-is-the-best-i-can-find-on-amazon/</link>
                                                                            <description>
                            <![CDATA[ Though you can only get the black model at that price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cUuUynwChRg3KLtpA4cQ7i</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/te63atdEW4fdsxAGNbssZc-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 18 Jun 2026 12:25:58 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Headsets]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Gaming Audio]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&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/te63atdEW4fdsxAGNbssZc-1920-80.jpg">
                                                            <media:credit><![CDATA[Glorious]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Glorious gaming headet on a pink deals background]]></media:description>                                                            <media:text><![CDATA[Glorious gaming headet on a pink deals background]]></media:text>
                                <media:title type="plain"><![CDATA[Glorious gaming headet on a pink deals background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/te63atdEW4fdsxAGNbssZc-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="ac5bedc8-a280-4259-acdf-04ce9c2ff990" data-action="Deal Block" data-label="GHS Eternal" data-dimension48="GHS Eternal" data-dimension25="$39.99" href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="AJ9J3xmw76BBiXYbhAtpX9" name="Gaming headset deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow" data-dimension112="ac5bedc8-a280-4259-acdf-04ce9c2ff990" data-action="Deal Block" data-label="GHS Eternal" data-dimension48="GHS Eternal" data-dimension25="$39.99">GHS Eternal: was $59.99 now $39.99</a></strong><br>With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. </p><p><strong>Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</strong><a class="view-deal button" href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow" data-dimension112="ac5bedc8-a280-4259-acdf-04ce9c2ff990" data-action="Deal Block" data-label="GHS Eternal" data-dimension48="GHS Eternal" data-dimension25="$39.99">View Deal</a></p></div><p>There is an abundance of good gaming headsets at any one time, and that was our main critique of the <a href="https://www.pcgamer.com/hardware/gaming-headsets/glorious-ghs-eternal-review/" target="_blank">Glorious GHS Eternal</a> in our review earlier this year. It's a good headset, but not special, and that makes it hard to stand out. However, with a tidy discount, it does become a little special, and it's worth a serious look now. </p><p>Over at Amazon, <a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank">you can pick one up for yourself for just $40</a>, which is a $20 saving. The only downside is that the black model is the only one available in the sale. The white model still fetches $60, and both RGB models are $80. </p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're keeping track of all the early Amazon Prime Day PC gaming deals here</strong></a></li></ul><p>This wired headset offers pretty broad compatibility, with it working on PC, Xbox, Nintendo Switch, and PlayStation. Naturally, that's via the 3.5 mm jack, but that's still a lot of platforms for not much money. It's also got some solid construction, being sturdy and with a decent bit of bend to it too. </p><p>On the visual front, it's fairly understated, with the most vibrant part of the whole package being the orange 3.5 mm jack. The microphone is also detachable, which means it could feasibly serve as an out-and-about headset, as well as one for your games. </p><p>Our Jess says, "Beyond appearance and construction, this is a comfortable headset that sits securely and ticks the boxes for music-listening, video calls, and gaming." </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HbySM3myBsKN8ebDgRk7Ha-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/q9AeaeXvRHGMHEnVbZU4Fa-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/thwsPQPkTdPFHJrrRBNA7B-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WMBqKo2BsbBqzncA9M2n2B-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4VDgxvh6fWTgKQaosphg3B-1920-80.jpg" alt="The Glorious GHS Eternal and GHS Eternal RGB wired gaming headsets in white and black, seen from various angles." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The 40 mm drivers are more or less just okay, providing solid but not standout sound. There's almost no sound isolation, though, so you could annoy your housemates if you like your games too loud. </p><p>As well as this, the microphone quality is mediocre. But alas, you need to make some compromises when you are buying a budget headset, and the Glorious makes them in decent spaces, especially when you consider that price. The Corsair HS55 is perhaps a better budget pick when both are full price, but it's currently $20 more, so my money would be going to Glorious instead. </p><h2 id="check-out-the-rest-of-amazon-s-gaming-headset-deals-2">👉 <a href="https://www.amazon.com/s?k=gaming+headset&i=electronics&crid=1F4EWAFE3FPCK&sprefix=gaming+headse%2Celectronics%2C195&ref=nb_sb_noss_2" target="_blank">Check out the rest of Amazon's gaming headset deals</a> 👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This 4 TB NVMe SSD is the only one I've seen below $400 and going big is the best way to survive the memory chip crisis ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="T-Force G50" data-dimension48="T-Force G50" data-dimension25="$399.99" href="https://www.newegg.com/team-group-4tb-t-force-g50-nvme-1-4/p/N82E16820985283" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1300px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Smif8sETAcxdTTzvywD4fE" name="team_group_t-force_g50_ssd" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Smif8sETAcxdTTzvywD4fE-1920-80.jpg" mos="" align="middle" fullscreen="" width="1300" height="1300" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/team-group-4tb-t-force-g50-nvme-1-4/p/N82E16820985283" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="T-Force G50" data-dimension48="T-Force G50" data-dimension25="$399.99">T-Force G50: was $519.99 now $399.99</a></strong><br>It'll be a long time before SSDs drop back to early 2025 prices, so buying the largest amount of storage you can afford will help to keep your gaming PC going through the memory crisis. <strong>Use promo code SDSSF787 to get the full discount.</strong></p><p><strong>Key specs: 4 TB | M.2 2280 | Up to 5,000 MB/s read | Up to 4,500 MB/s write | DRAM-less</strong><a class="view-deal button" href="https://www.newegg.com/team-group-4tb-t-force-g50-nvme-1-4/p/N82E16820985283" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="T-Force G50" data-dimension48="T-Force G50" data-dimension25="$399.99">View Deal</a></p></div><p>With SSD prices now rapidly ballooning, due to the dearth of supply caused by AI data centers swallowing up all of the memory chips, buying a new storage drive at the moment might seem like a silly idea. But with no end in sight to the RAMpocalypse, if you do have to get one, I strongly suggest that you go as big as you can afford.</p><p>And at a cent shy of <a href="https://www.newegg.com/team-group-4tb-t-force-g50-nvme-1-4/p/N82E16820985283" target="_blank">$400 at Newegg</a>, this Team Group T-Force G50 is an ideal purchase.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Bigger SSDs last longer than smaller ones, hence why this particular model has a write endurance of 2,600 TBW. You'd have to completely fill the whole drive, every single day for nearly two years, to hit that limit, and even then, it will still carry on working after that.</p><p>So why is this drive so cheap compared to every other 4 TB SSD out there? There are two reasons: It's from Team Group, and it's not blisteringly fast, despite using a PCIe 4.0 interface. </p><p>In the case of the former, that company is one of the largest SSD makers around, so it has a reasonable supply of flash chips compared to others, hence why some models it makes are more affordable than the competition.</p><p>As for the speed, well, that's a non-issue, to be honest. You really won't notice those sequential read/write rates, either in gaming or just general use. It's only if you try to fling around enormous 4K videos that things will be a touch on the slow side. In every other scenario, this will be absolutely fine.</p><h2 id="check-out-all-of-newegg-s-gaming-ssd-deals-here">👉<a href="https://www.newegg.com/Internal-SSDs/SubCategory/ID-636" target="_blank">Check out all of Newegg's gaming SSD deals here</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/ssds/this-4-tb-nvme-ssd-is-the-only-one-ive-seen-below-usd400-and-going-big-is-the-best-way-to-survive-the-memory-chip-crisis/</link>
                                                                            <description>
                            <![CDATA[ It's only a cent under but it's still cheaper than every other 4 TB drive out there. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">uu2PktZL8V9jiACgsA7ZL</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/AjnjBbDFyEdahLKTcfBE5j-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 18 Jun 2026 11:12:35 +0000</pubDate>                                                                                                                                <updated>Thu, 18 Jun 2026 11:15:15 +0000</updated>
                                                                                                                                            <category><![CDATA[SSDs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Storage]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nick Evanson ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HH5qHxdCSKxFpY2HXp2Q5K-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick, gaming, and computers all first met in the early 1980s. After leaving university, he became a physics and IT teacher and started writing about tech in the late 1990s. That resulted in him working with MadOnion to write the help files for 3DMark and PCMark. After a short stint working at Beyond3D.com, Nick joined Futuremark (MadOnion rebranded) full-time, as editor-in-chief for its PC gaming section, YouGamers. After the site shutdown, he became an engineering and computing lecturer for many years, but missed the writing bug. Cue four years at TechSpot.com covering everything and anything to do with tech and PCs. He freely admits to being far too obsessed with GPUs and open-world grindy RPGs, but who isn&#039;t these days?&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/AjnjBbDFyEdahLKTcfBE5j-1920-80.jpg">
                                                            <media:credit><![CDATA[Team Group]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An image of a Team Group T-Force G50 SSD against a colorful background with the phrase &quot;Deals&quot; on the right, above a PC Gamer logo]]></media:description>                                                            <media:text><![CDATA[An image of a Team Group T-Force G50 SSD against a colorful background with the phrase &quot;Deals&quot; on the right, above a PC Gamer logo]]></media:text>
                                <media:title type="plain"><![CDATA[An image of a Team Group T-Force G50 SSD against a colorful background with the phrase &quot;Deals&quot; on the right, above a PC Gamer logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/AjnjBbDFyEdahLKTcfBE5j-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="T-Force G50" data-dimension48="T-Force G50" data-dimension25="$399.99" href="https://www.newegg.com/team-group-4tb-t-force-g50-nvme-1-4/p/N82E16820985283" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1300px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Smif8sETAcxdTTzvywD4fE" name="team_group_t-force_g50_ssd" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Smif8sETAcxdTTzvywD4fE-1920-80.jpg" mos="" align="middle" fullscreen="" width="1300" height="1300" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/team-group-4tb-t-force-g50-nvme-1-4/p/N82E16820985283" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="T-Force G50" data-dimension48="T-Force G50" data-dimension25="$399.99">T-Force G50: was $519.99 now $399.99</a></strong><br>It'll be a long time before SSDs drop back to early 2025 prices, so buying the largest amount of storage you can afford will help to keep your gaming PC going through the memory crisis. <strong>Use promo code SDSSF787 to get the full discount.</strong></p><p><strong>Key specs: 4 TB | M.2 2280 | Up to 5,000 MB/s read | Up to 4,500 MB/s write | DRAM-less</strong><a class="view-deal button" href="https://www.newegg.com/team-group-4tb-t-force-g50-nvme-1-4/p/N82E16820985283" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="T-Force G50" data-dimension48="T-Force G50" data-dimension25="$399.99">View Deal</a></p></div><p>With SSD prices now rapidly ballooning, due to the dearth of supply caused by AI data centers swallowing up all of the memory chips, buying a new storage drive at the moment might seem like a silly idea. But with no end in sight to the RAMpocalypse, if you do have to get one, I strongly suggest that you go as big as you can afford.</p><p>And at a cent shy of <a href="https://www.newegg.com/team-group-4tb-t-force-g50-nvme-1-4/p/N82E16820985283" target="_blank">$400 at Newegg</a>, this Team Group T-Force G50 is an ideal purchase.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Bigger SSDs last longer than smaller ones, hence why this particular model has a write endurance of 2,600 TBW. You'd have to completely fill the whole drive, every single day for nearly two years, to hit that limit, and even then, it will still carry on working after that.</p><p>So why is this drive so cheap compared to every other 4 TB SSD out there? There are two reasons: It's from Team Group, and it's not blisteringly fast, despite using a PCIe 4.0 interface. </p><p>In the case of the former, that company is one of the largest SSD makers around, so it has a reasonable supply of flash chips compared to others, hence why some models it makes are more affordable than the competition.</p><p>As for the speed, well, that's a non-issue, to be honest. You really won't notice those sequential read/write rates, either in gaming or just general use. It's only if you try to fling around enormous 4K videos that things will be a touch on the slow side. In every other scenario, this will be absolutely fine.</p><h2 id="check-out-all-of-newegg-s-gaming-ssd-deals-here">👉<a href="https://www.newegg.com/Internal-SSDs/SubCategory/ID-636" target="_blank">Check out all of Newegg's gaming SSD deals here</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I was genuinely surprised by the discounted price of Logitech's Genshin Impact-themed TKL gaming keyboard, thanks to a 56% price cut at Amazon ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="ecfe686f-0a9c-4eb4-8cf8-8f3acb3eca0c" data-action="Deal Block" data-label="G515 Wireless TKL" data-dimension48="G515 Wireless TKL" data-dimension25="$69.99" href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1504px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="mSngcsZXFHBy4ZVCVYNZF5" name="1781521507.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mSngcsZXFHBy4ZVCVYNZF5-1920-80.jpg" mos="" align="middle" fullscreen="" width="1504" height="1494" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19" target="_blank" rel="nofollow" data-dimension112="ecfe686f-0a9c-4eb4-8cf8-8f3acb3eca0c" data-action="Deal Block" data-label="G515 Wireless TKL" data-dimension48="G515 Wireless TKL" data-dimension25="$69.99">G515 Wireless TKL: was $159.99 now $69.99</a></strong><br>This compact keyboard is especially affordable in this light purple colorway. We reviewed the <a href="https://www.pcgamer.com/hardware/gaming-keyboards/logitech-g515-rapid-tkl-review/" target="_blank">wired Rapid version with magnetic switches a while back</a> and thought it just okay for the money, but this is the wireless version with standard keys for much, much less cash.</p><p><strong>Key specs: Wireless | Low-profile | PBT keycaps</strong><a class="view-deal button" href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19" target="_blank" rel="nofollow" data-dimension112="ecfe686f-0a9c-4eb4-8cf8-8f3acb3eca0c" data-action="Deal Block" data-label="G515 Wireless TKL" data-dimension48="G515 Wireless TKL" data-dimension25="$69.99">View Deal</a></p></div><p>With Prime Day just around the corner, we have started to see some deals pop up, but I was surprised to see Logitech offering some of the steepest and most surprising discounts so far. </p><p>If you want a pretty, Genshin-themed gaming keybaord that's wireless and TKL, the <a href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19?th=1" target="_blank">Logitech G515 is down to just $70</a>. That's a whopping 56% discount on its full price, and the lowest price I've ever seen this keyboard go for. </p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're keeping track of all the early Amazon Prime Day PC gaming deals here</strong></a></li></ul><p>The main difference between the G515 and the <a href="https://www.pcgamer.com/hardware/gaming-keyboards/logitech-g515-rapid-tkl-review/">G515 Rapid TKL</a> that we reviewed late last year is that this one is missing rapid trigger switches. Instead, the keyb is fitted with brown tactile switches, but it's still got lovely RGB, a sweet white aesthetic, and Double-Shot PBT keycaps.</p><p>This one is Genshin Impact themed (or more specifically, it's styled after Kamisato Ayaka), but thankfully, it's not gauche at all. It has some lovely accents and the odd sprinkling of decals. Overall, it's quite subtle and pretty even to the eye of this casual Genshin player.  </p><p>Being low profile and TKL, it's short and easy to pop on a desk. Its build quality is still strong, though, and it's not super light either. Wireless connectivity is perhaps less useful than in a mouse or headset, but it's still nice to have the option, and you're getting around 36 hours of charge out of it, too. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JGVPvoFweBQJofc7xonzo" name="genshinayaka.jpg" alt="Ayaka in Genshin Impact" src="https://cdn.mos.cms.futurecdn.net/JGVPvoFweBQJofc7xonzo-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: miHoYo)</span></figcaption></figure><p>Thanks to its lightspeed connectivity mode and 1,000 Hz polling rate, it's a pretty fast set of keys too. You are missing some modern features like Rapid trigger and 8,000 Hz polling (who really needs that anyway?), but for its price, this is a killer deal. The <a href="https://www.amazon.com/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F284TGHY" target="_blank">Gamakay x NaughShark NS68</a> does offer both 8,000 Hz and rapid trigger for cheaper, but the Logitech still beats it on build quality and looks. </p><p>If you're in need of a sturdy low-profile gaming keyboard and want something to pair with your all-white rig, this Logitech keyboard surprised me with how good value it is right now, and I can't see it going lower this side of Black Friday. </p><h2 id="check-out-the-rest-of-amazon-s-gaming-keyboard-deals">👉 <a href="https://www.amazon.com/s?k=gaming+keyboard&i=electronics&crid=YIJCOP1QTZ2U&sprefix=gaming+keyboar%2Celectronics%2C183&ref=nb_sb_noss_2" target="_blank">Check out the rest of Amazon's gaming keyboard deals</a> 👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-keyboards/i-was-genuinely-surprised-by-the-discounted-price-of-logitechs-genshin-impact-themed-tkl-gaming-keyboard-thanks-to-a-56-percent-price-cut-at-amazon/</link>
                                                                            <description>
                            <![CDATA[ Either that or about 5,000 Primogems. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cjSeNLQRojBrjwy7VdbE3m</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/yiQx8CEmwUs3ky3GeXwTcS-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 17 Jun 2026 13:00:58 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Keyboards]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&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/yiQx8CEmwUs3ky3GeXwTcS-1920-80.jpg">
                                                            <media:credit><![CDATA[Logitech]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Logitech G515 TKL on a pink deals background]]></media:description>                                                            <media:text><![CDATA[Logitech G515 TKL on a pink deals background]]></media:text>
                                <media:title type="plain"><![CDATA[Logitech G515 TKL on a pink deals background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/yiQx8CEmwUs3ky3GeXwTcS-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="ecfe686f-0a9c-4eb4-8cf8-8f3acb3eca0c" data-action="Deal Block" data-label="G515 Wireless TKL" data-dimension48="G515 Wireless TKL" data-dimension25="$69.99" href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1504px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="mSngcsZXFHBy4ZVCVYNZF5" name="1781521507.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mSngcsZXFHBy4ZVCVYNZF5-1920-80.jpg" mos="" align="middle" fullscreen="" width="1504" height="1494" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19" target="_blank" rel="nofollow" data-dimension112="ecfe686f-0a9c-4eb4-8cf8-8f3acb3eca0c" data-action="Deal Block" data-label="G515 Wireless TKL" data-dimension48="G515 Wireless TKL" data-dimension25="$69.99">G515 Wireless TKL: was $159.99 now $69.99</a></strong><br>This compact keyboard is especially affordable in this light purple colorway. We reviewed the <a href="https://www.pcgamer.com/hardware/gaming-keyboards/logitech-g515-rapid-tkl-review/" target="_blank">wired Rapid version with magnetic switches a while back</a> and thought it just okay for the money, but this is the wireless version with standard keys for much, much less cash.</p><p><strong>Key specs: Wireless | Low-profile | PBT keycaps</strong><a class="view-deal button" href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19" target="_blank" rel="nofollow" data-dimension112="ecfe686f-0a9c-4eb4-8cf8-8f3acb3eca0c" data-action="Deal Block" data-label="G515 Wireless TKL" data-dimension48="G515 Wireless TKL" data-dimension25="$69.99">View Deal</a></p></div><p>With Prime Day just around the corner, we have started to see some deals pop up, but I was surprised to see Logitech offering some of the steepest and most surprising discounts so far. </p><p>If you want a pretty, Genshin-themed gaming keybaord that's wireless and TKL, the <a href="https://www.amazon.com/Logitech-LIGHTSYNC-Tenkeyless-Double-Shot-Mechanical/dp/B0FLF81R4J/ref=sr_1_19?th=1" target="_blank">Logitech G515 is down to just $70</a>. That's a whopping 56% discount on its full price, and the lowest price I've ever seen this keyboard go for. </p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're keeping track of all the early Amazon Prime Day PC gaming deals here</strong></a></li></ul><p>The main difference between the G515 and the <a href="https://www.pcgamer.com/hardware/gaming-keyboards/logitech-g515-rapid-tkl-review/">G515 Rapid TKL</a> that we reviewed late last year is that this one is missing rapid trigger switches. Instead, the keyb is fitted with brown tactile switches, but it's still got lovely RGB, a sweet white aesthetic, and Double-Shot PBT keycaps.</p><p>This one is Genshin Impact themed (or more specifically, it's styled after Kamisato Ayaka), but thankfully, it's not gauche at all. It has some lovely accents and the odd sprinkling of decals. Overall, it's quite subtle and pretty even to the eye of this casual Genshin player.  </p><p>Being low profile and TKL, it's short and easy to pop on a desk. Its build quality is still strong, though, and it's not super light either. Wireless connectivity is perhaps less useful than in a mouse or headset, but it's still nice to have the option, and you're getting around 36 hours of charge out of it, too. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JGVPvoFweBQJofc7xonzo" name="genshinayaka.jpg" alt="Ayaka in Genshin Impact" src="https://cdn.mos.cms.futurecdn.net/JGVPvoFweBQJofc7xonzo-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: miHoYo)</span></figcaption></figure><p>Thanks to its lightspeed connectivity mode and 1,000 Hz polling rate, it's a pretty fast set of keys too. You are missing some modern features like Rapid trigger and 8,000 Hz polling (who really needs that anyway?), but for its price, this is a killer deal. The <a href="https://www.amazon.com/GK-GAMAKAY-NaughShark-NS68-Mechanical/dp/B0F284TGHY" target="_blank">Gamakay x NaughShark NS68</a> does offer both 8,000 Hz and rapid trigger for cheaper, but the Logitech still beats it on build quality and looks. </p><p>If you're in need of a sturdy low-profile gaming keyboard and want something to pair with your all-white rig, this Logitech keyboard surprised me with how good value it is right now, and I can't see it going lower this side of Black Friday. </p><h2 id="check-out-the-rest-of-amazon-s-gaming-keyboard-deals">👉 <a href="https://www.amazon.com/s?k=gaming+keyboard&i=electronics&crid=YIJCOP1QTZ2U&sprefix=gaming+keyboar%2Celectronics%2C183&ref=nb_sb_noss_2" target="_blank">Check out the rest of Amazon's gaming keyboard deals</a> 👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ At $200 on sale, this Acer ultrawide gaming monitor is the cheapest I'd actually recommend buying ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="15b10aa8-18a7-4cdb-a967-7ee5aff95feb" data-action="Deal Block" data-label="Nitro ED340CUR J0biip" data-dimension48="Nitro ED340CUR J0biip" data-dimension25="$199.99" href="https://www.newegg.com/acer-ed340cur-j0biip-34-uwqhd-120hz-nitro-va-black/p/N82E16824011537" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="5GXEBceeFgyGWyALpaVsBS" name="Nitro ED340CUR J0biip" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/5GXEBceeFgyGWyALpaVsBS-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/acer-ed340cur-j0biip-34-uwqhd-120hz-nitro-va-black/p/N82E16824011537" target="_blank" rel="nofollow" data-dimension112="15b10aa8-18a7-4cdb-a967-7ee5aff95feb" data-action="Deal Block" data-label="Nitro ED340CUR J0biip" data-dimension48="Nitro ED340CUR J0biip" data-dimension25="$199.99">Nitro ED340CUR J0biip: was $249.99 now $199.99</a></strong><br>This Acer Nitro is a super solid deal, as it's the cheapest ultrawide monitor we'd recommend right now. It's just VA, which means it's not as vibrant as an IPS, and the 120 Hz refresh is just okay, but it's still a great panel for the price. </p><p><strong>Key specs: 34-inch | 120 Hz | VA | 1 ms</strong><a class="view-deal button" href="https://www.newegg.com/acer-ed340cur-j0biip-34-uwqhd-120hz-nitro-va-black/p/N82E16824011537" target="_blank" rel="nofollow" data-dimension112="15b10aa8-18a7-4cdb-a967-7ee5aff95feb" data-action="Deal Block" data-label="Nitro ED340CUR J0biip" data-dimension48="Nitro ED340CUR J0biip" data-dimension25="$199.99">View Deal</a></p></div><p>Those who have ultrawide gaming monitors really stand by them, and it's easy to see why. You are getting more on-screen at any time, offering not only a tactical advantage in some games but also more immersive sights in others. And, they're only getting cheaper, too. </p><p>If you are looking to make the upgrade for yourself, you can pick up the Acer Nitro ED340CUR J9biip (silly name, I know) for <a href="https://www.newegg.com/acer-ed340cur-j0biip-34-uwqhd-120hz-nitro-va-black/p/N82E16824011537" target="_blank">$200 at Newegg</a>, which is a healthy $50 discount. </p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're keeping track of all the early Amazon Prime Day PC gaming deals here</strong></a></li></ul><p>From the top, you are getting that ultrawide panel, and it comes in at 1440p with a 120 Hz refresh rate and 1 ms response time. The refresh rate is on the lower end of gaming monitors, but not awful at the same time. </p><p>As well as this, it's a VA panel, which means you aren't getting the vibrancy of IPS or the true blacks of OLED. But, at that price point, something has gotta give, and VA is not a bad compromise for an otherwise impressive monitor. </p><p>That 3440 x 1440 resolution screen, paired with its 1500R curve, should offer truly superb immersion. Thanks to the way it quite literally wraps around you, you'll find it easy to immerse yourself in Cyberpunk 2077's Night City. And in RTS games, you can cram more of the game into the screen than you would on a traditional monitor. </p><p>One downside of ultrawide monitors is that support isn't fully there for some games. Even the likes of Elden Ring lack official ultrawide support, shoving a pair of black bars on either side of the screen and displaying it in traditional 16:9. But programs like <a href="https://www.flawlesswidescreen.org/" target="_blank">Flawless Widescreen</a> have come a long way in implementing ultrawide support in games that don't have it natively. </p><p>Though you make compromises to get the format, ultrawide monitors do what they do well, and are well-liked for it. I keep track of the <a href="https://www.pcgamer.com/cheap-gaming-monitor-deals" target="_blank">best cheap gaming monitor deals</a> every week, and other choices regularly sit between $50 to $150 more than this one. </p><h2 id="check-out-the-rest-of-amazon-s-gaming-monitor-deals">👉 <a href="https://www.newegg.com/p/pl?d=gaming+monitor" target="_blank">Check out the rest of Amazon's gaming monitor deals</a> 👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-monitors/at-usd200-on-sale-this-acer-ultrawide-gaming-monitor-is-the-cheapest-id-actually-recommend-buying/</link>
                                                                            <description>
                            <![CDATA[ It's VA, but still well worth considering. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Lf4PAWQT7NaEEDeqYpYrj7</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/KW8WsLXdPGiGcpyDY3Fq9j-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 17 Jun 2026 11:42:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Monitors]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&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/KW8WsLXdPGiGcpyDY3Fq9j-1920-80.jpg">
                                                            <media:credit><![CDATA[Acer]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Acer Nitro ultrawide gaming monitor on a pink deals background]]></media:description>                                                            <media:text><![CDATA[Acer Nitro ultrawide gaming monitor on a pink deals background]]></media:text>
                                <media:title type="plain"><![CDATA[Acer Nitro ultrawide gaming monitor on a pink deals background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/KW8WsLXdPGiGcpyDY3Fq9j-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="15b10aa8-18a7-4cdb-a967-7ee5aff95feb" data-action="Deal Block" data-label="Nitro ED340CUR J0biip" data-dimension48="Nitro ED340CUR J0biip" data-dimension25="$199.99" href="https://www.newegg.com/acer-ed340cur-j0biip-34-uwqhd-120hz-nitro-va-black/p/N82E16824011537" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="5GXEBceeFgyGWyALpaVsBS" name="Nitro ED340CUR J0biip" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/5GXEBceeFgyGWyALpaVsBS-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/acer-ed340cur-j0biip-34-uwqhd-120hz-nitro-va-black/p/N82E16824011537" target="_blank" rel="nofollow" data-dimension112="15b10aa8-18a7-4cdb-a967-7ee5aff95feb" data-action="Deal Block" data-label="Nitro ED340CUR J0biip" data-dimension48="Nitro ED340CUR J0biip" data-dimension25="$199.99">Nitro ED340CUR J0biip: was $249.99 now $199.99</a></strong><br>This Acer Nitro is a super solid deal, as it's the cheapest ultrawide monitor we'd recommend right now. It's just VA, which means it's not as vibrant as an IPS, and the 120 Hz refresh is just okay, but it's still a great panel for the price. </p><p><strong>Key specs: 34-inch | 120 Hz | VA | 1 ms</strong><a class="view-deal button" href="https://www.newegg.com/acer-ed340cur-j0biip-34-uwqhd-120hz-nitro-va-black/p/N82E16824011537" target="_blank" rel="nofollow" data-dimension112="15b10aa8-18a7-4cdb-a967-7ee5aff95feb" data-action="Deal Block" data-label="Nitro ED340CUR J0biip" data-dimension48="Nitro ED340CUR J0biip" data-dimension25="$199.99">View Deal</a></p></div><p>Those who have ultrawide gaming monitors really stand by them, and it's easy to see why. You are getting more on-screen at any time, offering not only a tactical advantage in some games but also more immersive sights in others. And, they're only getting cheaper, too. </p><p>If you are looking to make the upgrade for yourself, you can pick up the Acer Nitro ED340CUR J9biip (silly name, I know) for <a href="https://www.newegg.com/acer-ed340cur-j0biip-34-uwqhd-120hz-nitro-va-black/p/N82E16824011537" target="_blank">$200 at Newegg</a>, which is a healthy $50 discount. </p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're keeping track of all the early Amazon Prime Day PC gaming deals here</strong></a></li></ul><p>From the top, you are getting that ultrawide panel, and it comes in at 1440p with a 120 Hz refresh rate and 1 ms response time. The refresh rate is on the lower end of gaming monitors, but not awful at the same time. </p><p>As well as this, it's a VA panel, which means you aren't getting the vibrancy of IPS or the true blacks of OLED. But, at that price point, something has gotta give, and VA is not a bad compromise for an otherwise impressive monitor. </p><p>That 3440 x 1440 resolution screen, paired with its 1500R curve, should offer truly superb immersion. Thanks to the way it quite literally wraps around you, you'll find it easy to immerse yourself in Cyberpunk 2077's Night City. And in RTS games, you can cram more of the game into the screen than you would on a traditional monitor. </p><p>One downside of ultrawide monitors is that support isn't fully there for some games. Even the likes of Elden Ring lack official ultrawide support, shoving a pair of black bars on either side of the screen and displaying it in traditional 16:9. But programs like <a href="https://www.flawlesswidescreen.org/" target="_blank">Flawless Widescreen</a> have come a long way in implementing ultrawide support in games that don't have it natively. </p><p>Though you make compromises to get the format, ultrawide monitors do what they do well, and are well-liked for it. I keep track of the <a href="https://www.pcgamer.com/cheap-gaming-monitor-deals" target="_blank">best cheap gaming monitor deals</a> every week, and other choices regularly sit between $50 to $150 more than this one. </p><h2 id="check-out-the-rest-of-amazon-s-gaming-monitor-deals">👉 <a href="https://www.newegg.com/p/pl?d=gaming+monitor" target="_blank">Check out the rest of Amazon's gaming monitor deals</a> 👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ We gave this 1440p gaming monitor a 90% two months ago and it's already received a huge $120 price cut ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="5499d14b-ca50-484a-ba9c-e8f989c8fe2a" data-action="Deal Block" data-label="MO27Q28GR" data-dimension48="MO27Q28GR" data-dimension25="$479.99" href="https://www.amazon.com/dp/B0GKF8K19Q" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xwjbKp2U7yBr3wM244c8jV" name="Gigabyte MO27Q28GR deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xwjbKp2U7yBr3wM244c8jV-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0GKF8K19Q" target="_blank" rel="nofollow" data-dimension112="5499d14b-ca50-484a-ba9c-e8f989c8fe2a" data-action="Deal Block" data-label="MO27Q28GR" data-dimension48="MO27Q28GR" data-dimension25="$479.99">MO27Q28GR: was $599.99 now $479.99</a></strong><br>This standard sized OLED is great for gaming, boasting a 0.03 ms pixel response and a 280 Hz refresh rate. It's unfortunately less great for lots of reading of on-screen text, as the use of RGWB subpixels leads to some font fuzz, but it's bright, punchy, and the sweet spot for a 1440p OLED monitor. </p><p><strong>Key Specs: 27-inch |2,560 x 1,440 | 280 Hz | 0.03 ms | Glossy WOLED</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0GKF8K19Q" target="_blank" rel="nofollow" data-dimension112="5499d14b-ca50-484a-ba9c-e8f989c8fe2a" data-action="Deal Block" data-label="MO27Q28GR" data-dimension48="MO27Q28GR" data-dimension25="$479.99">View Deal</a></p></div><p>Gaming monitors are in such a good spot right now. Despite many other PC gaming components getting driven up in price by the memory crisis, we are steadily getting cheaper and cheaper monitors with richer, more detailed and punchier panels. </p><p>If you're in the market for an upgrade, <a href="https://www.pcgamer.com/hardware/gaming-monitors/gigabyte-mo27q28gr-review/" target="_blank">we gave the Gigabyte M027Q28GR a 90% just a few months ago</a>, and it's already down to <a href="https://www.amazon.com/GIGABYTE-MO27Q28GR-2560x1440-280Hz-Compatible-Adjustable/dp/B0GKF8K19Q" target="_blank">$480 at Amazon</a>. That's a discount of $120, and a mighty fine price for a mighty fine monitor.</p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're keeping track of all the early Amazon Prime Day PC gaming deals here</strong></a></li></ul><p>To start from the top, this Gigabyte panel uses LG's upgraded WOLED technology, which means it's brighter and punchier than its predecessors, and it's hurtling fast at 280 Hz. That means it's perfect for gaming, and it even has a speedy 0.03 ms response time. </p><p>1440p is a good sweet spot for most rigs, looking nicer than 1080p but without needing a top-end rig for consistent 4K play. Our Jeremy said in his review, "Right out of the box it's immediately obvious that this new panel is an improvement on previous generations of LG OLED."</p><p>Unfortunately, despite being new, it does lack LG's RGB-stripe subpixel structure, which means it's still vulnerable to font fringing. Effectively, in a non-gaming application, you may notice edges on text. How much this will affect/distract you is naturally pretty personal, but for gaming, this shouldn't have an effect. </p><p>And, in gaming, it's a bit of a beast. It's super snappy and quick, with specs not far off being esports-ready, and the 27-inch screen looks great in action. You will get brighter panels, as this only offers a full brightness of 335 nits, but that's still an upgrade on some OLED panels, and noticeable in play. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/XHCP8xt4Lr2B4En8NEmknb-1920-80.jpg" alt="Gigabyte MO27Q28GR" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2EjQAQVX2qGSiXYAGxGdfn-1920-80.jpg" alt="Gigabyte MO27Q28GR" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aYwJDc9KHsWRRu3U6cLFHJ-1920-80.jpg" alt="Gigabyte MO27Q28GR" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tcBwEqgSvphzqa6qQLrHkM-1920-80.jpg" alt="Gigabyte MO27Q28GR" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The look of the rest of the monitor is pretty neat, too. It's got a classy-looking chassis and pairs it with a metal base and stand. You're also getting HDMI, DisplayPort and USB Type-C connectivity, with a built-in USB Type-C interface offering 18 watts of power. That's not massive, but it should be enough to keep your phone or a light laptop topped up with battery. </p><p>At full price, this OLED monitor got a huge score from us, and the $120 discount is the best we've seen yet. We have seen it previously for about $20 more, but it seems unlikely it will come down by much more this side of Black Friday. It rounds this out with a three-year warranty, which is just the cherry on top. </p><h2 id="check-out-the-rest-of-amazon-s-gaming-monitor-deals-2">👉 <a href="https://www.amazon.com/s?k=gaming+monitor&crid=2FY4852D53J7&sprefix=gaming+monito%2Caps%2C187&ref=nb_sb_noss_2" target="_blank">Check out the rest of Amazon's gaming monitor deals</a> 👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-monitors/we-gave-this-1440p-gaming-monitor-a-90-percent-two-months-ago-and-its-already-received-a-huge-usd120-price-cut/</link>
                                                                            <description>
                            <![CDATA[ And it's not even Prime Day yet. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">GNwSKVf3Y9StD8afE8GxuR</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/kxU5VqxpvU6UVgRuZjksCT-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 16 Jun 2026 14:50:35 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Monitors]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&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/kxU5VqxpvU6UVgRuZjksCT-1920-80.jpg">
                                                            <media:credit><![CDATA[Gigabyte, Capcom]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Gigabyte MO27Q28GR 27-inch OLED gaming monitor floats in the funky PC G deal void.]]></media:description>                                                            <media:text><![CDATA[The Gigabyte MO27Q28GR 27-inch OLED gaming monitor floats in the funky PC G deal void.]]></media:text>
                                <media:title type="plain"><![CDATA[The Gigabyte MO27Q28GR 27-inch OLED gaming monitor floats in the funky PC G deal void.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/kxU5VqxpvU6UVgRuZjksCT-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="5499d14b-ca50-484a-ba9c-e8f989c8fe2a" data-action="Deal Block" data-label="MO27Q28GR" data-dimension48="MO27Q28GR" data-dimension25="$479.99" href="https://www.amazon.com/dp/B0GKF8K19Q" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xwjbKp2U7yBr3wM244c8jV" name="Gigabyte MO27Q28GR deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xwjbKp2U7yBr3wM244c8jV-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0GKF8K19Q" target="_blank" rel="nofollow" data-dimension112="5499d14b-ca50-484a-ba9c-e8f989c8fe2a" data-action="Deal Block" data-label="MO27Q28GR" data-dimension48="MO27Q28GR" data-dimension25="$479.99">MO27Q28GR: was $599.99 now $479.99</a></strong><br>This standard sized OLED is great for gaming, boasting a 0.03 ms pixel response and a 280 Hz refresh rate. It's unfortunately less great for lots of reading of on-screen text, as the use of RGWB subpixels leads to some font fuzz, but it's bright, punchy, and the sweet spot for a 1440p OLED monitor. </p><p><strong>Key Specs: 27-inch |2,560 x 1,440 | 280 Hz | 0.03 ms | Glossy WOLED</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0GKF8K19Q" target="_blank" rel="nofollow" data-dimension112="5499d14b-ca50-484a-ba9c-e8f989c8fe2a" data-action="Deal Block" data-label="MO27Q28GR" data-dimension48="MO27Q28GR" data-dimension25="$479.99">View Deal</a></p></div><p>Gaming monitors are in such a good spot right now. Despite many other PC gaming components getting driven up in price by the memory crisis, we are steadily getting cheaper and cheaper monitors with richer, more detailed and punchier panels. </p><p>If you're in the market for an upgrade, <a href="https://www.pcgamer.com/hardware/gaming-monitors/gigabyte-mo27q28gr-review/" target="_blank">we gave the Gigabyte M027Q28GR a 90% just a few months ago</a>, and it's already down to <a href="https://www.amazon.com/GIGABYTE-MO27Q28GR-2560x1440-280Hz-Compatible-Adjustable/dp/B0GKF8K19Q" target="_blank">$480 at Amazon</a>. That's a discount of $120, and a mighty fine price for a mighty fine monitor.</p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're keeping track of all the early Amazon Prime Day PC gaming deals here</strong></a></li></ul><p>To start from the top, this Gigabyte panel uses LG's upgraded WOLED technology, which means it's brighter and punchier than its predecessors, and it's hurtling fast at 280 Hz. That means it's perfect for gaming, and it even has a speedy 0.03 ms response time. </p><p>1440p is a good sweet spot for most rigs, looking nicer than 1080p but without needing a top-end rig for consistent 4K play. Our Jeremy said in his review, "Right out of the box it's immediately obvious that this new panel is an improvement on previous generations of LG OLED."</p><p>Unfortunately, despite being new, it does lack LG's RGB-stripe subpixel structure, which means it's still vulnerable to font fringing. Effectively, in a non-gaming application, you may notice edges on text. How much this will affect/distract you is naturally pretty personal, but for gaming, this shouldn't have an effect. </p><p>And, in gaming, it's a bit of a beast. It's super snappy and quick, with specs not far off being esports-ready, and the 27-inch screen looks great in action. You will get brighter panels, as this only offers a full brightness of 335 nits, but that's still an upgrade on some OLED panels, and noticeable in play. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/XHCP8xt4Lr2B4En8NEmknb-1920-80.jpg" alt="Gigabyte MO27Q28GR" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2EjQAQVX2qGSiXYAGxGdfn-1920-80.jpg" alt="Gigabyte MO27Q28GR" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aYwJDc9KHsWRRu3U6cLFHJ-1920-80.jpg" alt="Gigabyte MO27Q28GR" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tcBwEqgSvphzqa6qQLrHkM-1920-80.jpg" alt="Gigabyte MO27Q28GR" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The look of the rest of the monitor is pretty neat, too. It's got a classy-looking chassis and pairs it with a metal base and stand. You're also getting HDMI, DisplayPort and USB Type-C connectivity, with a built-in USB Type-C interface offering 18 watts of power. That's not massive, but it should be enough to keep your phone or a light laptop topped up with battery. </p><p>At full price, this OLED monitor got a huge score from us, and the $120 discount is the best we've seen yet. We have seen it previously for about $20 more, but it seems unlikely it will come down by much more this side of Black Friday. It rounds this out with a three-year warranty, which is just the cherry on top. </p><h2 id="check-out-the-rest-of-amazon-s-gaming-monitor-deals-2">👉 <a href="https://www.amazon.com/s?k=gaming+monitor&crid=2FY4852D53J7&sprefix=gaming+monito%2Caps%2C187&ref=nb_sb_noss_2" target="_blank">Check out the rest of Amazon's gaming monitor deals</a> 👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ For the first time in months, I've spotted an RTX 5070 Ti gaming PC for a genuinely reasonable price ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="14bd46e4-ceab-433a-98f7-266bf4969a36" data-action="Deal Block" data-label="Codex Z2 | RTX 5070 Ti" data-dimension48="Codex Z2 | RTX 5070 Ti" data-dimension25="$1749" href="https://www.walmart.com/ip/MSI-Codex-Z2-Gaming-Desktop-AMD-Ryzen-7-8700F-NVIDIA-RTX-5070TI-16GB-16GB-DDR5-1-TB-SSD-Win-11-Black/19880773367" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:629px;"><p class="vanilla-image-block" style="padding-top:100.16%;"><img id="PLUHMpL8ybxh7nQQ6HXLcV" name="Codex Z2 | RTX 5070 Ti" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PLUHMpL8ybxh7nQQ6HXLcV-1920-80.png" mos="" align="middle" fullscreen="" width="629" height="630" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/MSI-Codex-Z2-Gaming-Desktop-AMD-Ryzen-7-8700F-NVIDIA-RTX-5070TI-16GB-16GB-DDR5-1-TB-SSD-Win-11-Black/19880773367" target="_blank" rel="nofollow" data-dimension112="14bd46e4-ceab-433a-98f7-266bf4969a36" data-action="Deal Block" data-label="Codex Z2 | RTX 5070 Ti" data-dimension48="Codex Z2 | RTX 5070 Ti" data-dimension25="$1749">Codex Z2 | RTX 5070 Ti: was $2299.99 now $1749</a></strong><br>This PC comes with a whole bunch of caveats, but none of those overrides the fact that you're getting a build with an RTX 5070 Ti inside for under $1,800. That's a price we've not seen such a PC at for a very long time. You will probably want to upgrade the CPU when you can, though, and you'll want a USB hub handy given the lack of I/O.</p><p><strong>Key specs: Ryzen 7 8700F | RTX 5070 Ti | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.walmart.com/ip/MSI-Codex-Z2-Gaming-Desktop-AMD-Ryzen-7-8700F-NVIDIA-RTX-5070TI-16GB-16GB-DDR5-1-TB-SSD-Win-11-Black/19880773367" target="_blank" rel="nofollow" data-dimension112="14bd46e4-ceab-433a-98f7-266bf4969a36" data-action="Deal Block" data-label="Codex Z2 | RTX 5070 Ti" data-dimension48="Codex Z2 | RTX 5070 Ti" data-dimension25="$1749">View Deal</a></p></div><p>I've been checking all major retailers for gaming PC deals regularly for the past couple of years, and I'd honestly given up on the idea of seeing an RTX 5070 Ti gaming PC cheap enough to be worth the money—especially while RX 9070 XT gaming PCs seemed to be staying pretty cheap. But the tides have finally and surprisingly turned, thanks to this MSI Codex Z2 for <a href="https://www.walmart.com/ip/MSI-Codex-Z2-Gaming-Desktop-AMD-Ryzen-7-8700F-NVIDIA-RTX-5070TI-16GB-16GB-DDR5-1-TB-SSD-Win-11-Black/19880773367" target="_blank">$1,749 at Walmart</a>.</p><p>Sub-$1,800 for an RTX 5070 Ti gaming PC is exactly what I'm looking for here, just the same as with RX 9070 XT builds, and I've not seen one anywhere near this cheap for months. I'd assumed maybe it was a stocking issue for those GPUs specifically. Whatever the case, we're back, baby.</p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're keeping track of all the early Amazon Prime Day PC gaming deals here</strong></a></li></ul><p>Well, kind of. There are a couple of pretty big caveats to this build. But if you're looking to do some high-end gaming for as little money as possible, I still think this build will be worth it, regardless of its foibles.</p><p>That's because the <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidia-rtx-5070-ti-review-msi-ventus-3x/" target="_blank">RTX 5070 Ti</a> offers some mean performance for this price point. It's my personal fave of this GPU generation, provided you can pick it up at a reasonable price. It isn't too far short of the <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidia-rtx-5080-founders-edition-review/" target="_blank">RTX 5080</a> in performance, and it overclocks incredibly well. And compared to the <a href="https://www.pcgamer.com/hardware/graphics-cards/amd-radeon-rx-9700-xt-review-asus-prime-oc/" target="_blank">RX 9070 XT</a>, it's pretty on par, except you're also getting widespread support for the latest frame gen and upscaling tech.</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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper *, #fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper *:before, #fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper *:after, #fv-chart-1781526669124-whakcxwh2-slideshow *, #fv-chart-1781526669124-whakcxwh2-slideshow *:before, #fv-chart-1781526669124-whakcxwh2-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper, #fv-chart-1781526669124-whakcxwh2-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper {position: relative !important; overflow: visible !important;--riv-primary: #E33235;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-inner-wrapper {color: #1F2937 !important; background-color: #ededed !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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #E33235;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1781526669124-whakcxwh2-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-1781526669124-whakcxwh2-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-1781526669124-whakcxwh2-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1781526669124-whakcxwh2-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-1781526669124-whakcxwh2-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;}#fv-chart-1781526669124-whakcxwh2-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-1781526669124-whakcxwh2-slideshow .fv-slideshow-select:focus {outline: 2px solid #E33235 !important;border-color: #E33235 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-row, #fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-pie-container,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-stacked-product,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-bar-product,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-stacked-product,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-label,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-bar-container,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-bar-cluster,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-container,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-wrapper,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-label-space,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-chart-space,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-benchmark-title,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-dropdown-title,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-carousel-nav-btn,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-chart-title,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-chart-subhead,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-header,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-vs,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-container,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-btn,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-logo,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-icon,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-row,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stacked-product,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-label,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-container,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-cluster {width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-label-space {display: none !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-chart-title {padding: 0 8px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stl-shop-all-logo,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.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": "Gaming performance","description": "Subhead to describe the test and what's being measured and why","creator": {"@type": "Organization","name": "PC Gamer","logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-06-15T12:31:09.125Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["RTX 5070 Ti","RX 9070 XT","RTX 5080","RTX 5070","Black Myth Wukong (4K High)","Cyberpunk 2077 (4K RT Ultra)","F1 24 (4K Ultra High)","Homeworld 3 (4K Epic)","Metro Exodus Enhanced Edition (4K Ultra)","The Talos Principle 2 (4K Ultra)","Total War: Warhammer 3 (4K Ultra)","benchmark","comparison","performance","review","PC Gamer"],"measurementTechnique": "Performance Benchmarking","variableMeasured": [{"@type": "PropertyValue","name": "RTX 5070 – Black Myth Wukong (4K High)","value": 37,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Black Myth Wukong (4K High)","value": 47,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Black Myth Wukong (4K High)","value": 55,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Black Myth Wukong (4K High)","value": 45,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Cyberpunk 2077 (4K RT Ultra)","value": 21,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Cyberpunk 2077 (4K RT Ultra)","value": 30,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Cyberpunk 2077 (4K RT Ultra)","value": 36,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Cyberpunk 2077 (4K RT Ultra)","value": 25,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – F1 24 (4K Ultra High)","value": 39,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – F1 24 (4K Ultra High)","value": 54,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – F1 24 (4K Ultra High)","value": 65,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – F1 24 (4K Ultra High)","value": 54,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Homeworld 3 (4K Epic)","value": 79,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Homeworld 3 (4K Epic)","value": 89,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Homeworld 3 (4K Epic)","value": 98,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Homeworld 3 (4K Epic)","value": 77,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Metro Exodus Enhanced Edition (4K Ultra)","value": 57,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Metro Exodus Enhanced Edition (4K Ultra)","value": 76,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Metro Exodus Enhanced Edition (4K Ultra)","value": 90,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Metro Exodus Enhanced Edition (4K Ultra)","value": 73,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – The Talos Principle 2 (4K Ultra)","value": 35,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – The Talos Principle 2 (4K Ultra)","value": 46,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – The Talos Principle 2 (4K Ultra)","value": 53,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – The Talos Principle 2 (4K Ultra)","value": 44,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Total War: Warhammer 3 (4K Ultra)","value": 44,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Total War: Warhammer 3 (4K Ultra)","value": 56,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Total War: Warhammer 3 (4K Ultra)","value": 66,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Total War: Warhammer 3 (4K Ultra)","value": 60,"unitText": "Avg FPS"}]},{"@context": "https://schema.org","@type": "Dataset","name": "Gaming performance","description": "Subhead to describe the test and what's being measured and why","creator": {"@type": "Organization","name": "PC Gamer","logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-06-15T12:31:09.125Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["RTX 5070 Ti","RX 9070 XT","RTX 5080","RTX 5070","Black Myth Wukong (1440p High)","Cyberpunk 2077 (1440p RT Ultra)","F1 24 (1440p Ultra High)","Homeworld 3 (1440p Epic)","Metro Exodus Enhanced Edition (1440p Ultra)","The Talos Principle 2 (1440p Ultra)","Total War: Warhammer 3 (1440p Ultra)","benchmark","comparison","performance","review","PC Gamer"],"measurementTechnique": "Performance Benchmarking","variableMeasured": [{"@type": "PropertyValue","name": "RTX 5070 – Black Myth Wukong (1440p High)","value": 68,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Black Myth Wukong (1440p High)","value": 84,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Black Myth Wukong (1440p High)","value": 95,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Black Myth Wukong (1440p High)","value": 82,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Cyberpunk 2077 (1440p RT Ultra)","value": 45,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Cyberpunk 2077 (1440p RT Ultra)","value": 61,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Cyberpunk 2077 (1440p RT Ultra)","value": 71,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Cyberpunk 2077 (1440p RT Ultra)","value": 52,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – F1 24 (1440p Ultra High)","value": 78,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – F1 24 (1440p Ultra High)","value": 108,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – F1 24 (1440p Ultra High)","value": 124,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – F1 24 (1440p Ultra High)","value": 105,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Homeworld 3 (1440p Epic)","value": 112,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Homeworld 3 (1440p Epic)","value": 119,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Homeworld 3 (1440p Epic)","value": 126,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Homeworld 3 (1440p Epic)","value": 111,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Metro Exodus Enhanced Edition (1440p Ultra)","value": 100,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Metro Exodus Enhanced Edition (1440p Ultra)","value": 129,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Metro Exodus Enhanced Edition (1440p Ultra)","value": 151,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Metro Exodus Enhanced Edition (1440p Ultra)","value": 120,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – The Talos Principle 2 (1440p Ultra)","value": 64,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – The Talos Principle 2 (1440p Ultra)","value": 81,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – The Talos Principle 2 (1440p Ultra)","value": 95,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – The Talos Principle 2 (1440p Ultra)","value": 84,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Total War: Warhammer 3 (1440p Ultra)","value": 81,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Total War: Warhammer 3 (1440p Ultra)","value": 90,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Total War: Warhammer 3 (1440p Ultra)","value": 102,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Total War: Warhammer 3 (1440p Ultra)","value": 102,"unitText": "Avg FPS"}]}]</script><div id="fv-chart-1781526669124-whakcxwh2-slideshow" class="fv-slideshow-container" data-slide-count="2" data-iframe-height="true"><div class="fv-slideshow-nav-row"><button class="fv-nav-btn prev disabled" aria-label="Previous Slide"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg><span>Previous</span></button><div class="fv-slide-counter">1 / 2</div><button class="fv-nav-btn next" aria-label="Next Slide"><span>Next</span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg></button></div><div class="fv-slides-wrapper"><div class="fv-slide" id="fv-chart-1781526669124-whakcxwh2-slide-0-wrapper" data-index="0" style="display: block;"><div id="fv-chart-1781526669124-whakcxwh2-slide-0" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Gaming performance</h3><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Black Myth Wukong (4K High)</option><option value="1">Cyberpunk 2077 (4K RT Ultra)</option><option value="2">F1 24 (4K Ultra High)</option><option value="3">Homeworld 3 (4K Epic)</option><option value="4">Metro Exodus Enhanced Edition (4K Ultra)</option><option value="5">The Talos Principle 2 (4K Ultra)</option><option value="6">Total War: Warhammer 3 (4K Ultra)</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-Black Myth Wukong (4K High)" data-chart-type="Bar" data-title="Black Myth Wukong (4K High)" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.33333333333333%; background-color: #E33235;" data-target-width="78.33333333333333" 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">47</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">33</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" 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">45</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #FE9F58;" data-target-width="65" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">39</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 91.66666666666666%; background-color: #E33235;" data-target-width="91.66666666666666" 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">55</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.33333333333333%; background-color: #FE9F58;" data-target-width="78.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61.66666666666667%; background-color: #E33235;" data-target-width="61.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">37</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></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>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Black Myth Wukong (4K High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>47 Avg FPS, 33 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>45 Avg FPS, 39 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>55 Avg FPS, 47 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>37 Avg FPS, 30 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-Cyberpunk 2077 (4K RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (4K RT Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" 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">30</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">24</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.5%; background-color: #E33235;" data-target-width="62.5" 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">25</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #FE9F58;" data-target-width="52.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" 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">36</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.5%; background-color: #FE9F58;" data-target-width="67.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">27</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #E33235;" data-target-width="52.5" 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">21</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.5%; background-color: #FE9F58;" data-target-width="42.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">17</span></div></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>10</span><span>20</span><span>30</span><span>40</span></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (4K RT Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>30 Avg FPS, 24 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>25 Avg FPS, 21 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>36 Avg FPS, 27 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>21 Avg FPS, 17 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-F1 24 (4K Ultra High)" data-chart-type="Bar" data-title="F1 24 (4K Ultra High)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.5%; background-color: #E33235;" data-target-width="67.5" 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">54</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.24999999999999%; background-color: #FE9F58;" data-target-width="51.24999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.5%; background-color: #E33235;" data-target-width="67.5" 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">54</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48.75%; background-color: #FE9F58;" data-target-width="48.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">39</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.25%; background-color: #E33235;" data-target-width="81.25" 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">65</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.5%; background-color: #FE9F58;" data-target-width="62.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">50</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48.75%; background-color: #E33235;" data-target-width="48.75" 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">39</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.5%; background-color: #FE9F58;" data-target-width="37.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></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>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>F1 24 (4K Ultra High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>54 Avg FPS, 41 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>54 Avg FPS, 39 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>65 Avg FPS, 50 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>39 Avg FPS, 30 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-Homeworld 3 (4K Epic)" data-chart-type="Bar" data-title="Homeworld 3 (4K Epic)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 89%; background-color: #E33235;" data-target-width="89" 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">89</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53%; background-color: #FE9F58;" data-target-width="53" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">53</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77%; background-color: #E33235;" data-target-width="77" 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">77</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">60</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 98%; background-color: #E33235;" data-target-width="98" 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">98</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 59%; background-color: #FE9F58;" data-target-width="59" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79%; background-color: #E33235;" data-target-width="79" 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">79</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">55</span></div></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>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>Homeworld 3 (4K Epic) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>89 Avg FPS, 53 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>77 Avg FPS, 60 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>98 Avg FPS, 59 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>79 Avg FPS, 55 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-Metro Exodus Enhanced Edition (4K Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (4K Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76%; background-color: #E33235;" data-target-width="76" 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">76</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36%; background-color: #FE9F58;" data-target-width="36" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73%; background-color: #E33235;" data-target-width="73" 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">73</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">50</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" 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">90</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.99999999999999%; background-color: #E33235;" data-target-width="56.99999999999999" 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">57</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 44%; background-color: #FE9F58;" data-target-width="44" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div></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>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>Metro Exodus Enhanced Edition (4K Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>76 Avg FPS, 36 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>73 Avg FPS, 50 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>90 Avg FPS, 40 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>57 Avg FPS, 44 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-The Talos Principle 2 (4K Ultra)" data-chart-type="Bar" data-title="The Talos Principle 2 (4K Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76.66666666666667%; background-color: #E33235;" data-target-width="76.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">46</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 41.66666666666667%; background-color: #FE9F58;" data-target-width="41.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">25</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #E33235;" data-target-width="73.33333333333333" 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">44</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.333333333333336%; background-color: #FE9F58;" data-target-width="53.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">32</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88.33333333333333%; background-color: #E33235;" data-target-width="88.33333333333333" 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">53</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61.66666666666667%; background-color: #FE9F58;" data-target-width="61.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.333333333333336%; background-color: #E33235;" data-target-width="58.333333333333336" 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">35</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">24</span></div></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>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>The Talos Principle 2 (4K Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>46 Avg FPS, 25 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>44 Avg FPS, 32 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>53 Avg FPS, 37 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>35 Avg FPS, 24 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-Total War: Warhammer 3 (4K Ultra)" data-chart-type="Bar" data-title="Total War: Warhammer 3 (4K Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70%; background-color: #E33235;" data-target-width="70" 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">56</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.24999999999999%; background-color: #FE9F58;" data-target-width="51.24999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" 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">60</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.24999999999999%; background-color: #FE9F58;" data-target-width="51.24999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" 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">66</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">48</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #E33235;" data-target-width="55.00000000000001" 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">44</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.5%; background-color: #FE9F58;" data-target-width="37.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></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>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>Total War: Warhammer 3 (4K Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>56 Avg FPS, 41 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>60 Avg FPS, 41 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>66 Avg FPS, 48 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>44 Avg FPS, 30 1% Low FPS</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div></div><div class="fv-slide" id="fv-chart-1781526669124-whakcxwh2-slide-1-wrapper" data-index="1" style="display: none;"><div id="fv-chart-1781526669124-whakcxwh2-slide-1" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Gaming performance</h3><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Black Myth Wukong (1440p High)</option><option value="1">Cyberpunk 2077 (1440p RT Ultra)</option><option value="2">F1 24 (1440p Ultra High)</option><option value="3">Homeworld 3 (1440p Epic)</option><option value="4">Metro Exodus Enhanced Edition (1440p Ultra)</option><option value="5">The Talos Principle 2 (1440p Ultra)</option><option value="6">Total War: Warhammer 3 (1440p Ultra)</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-Black Myth Wukong (1440p High)" data-chart-type="Bar" data-title="Black Myth Wukong (1440p High)" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84%; background-color: #E33235;" data-target-width="84" 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">84</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74%; background-color: #FE9F58;" data-target-width="74" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">74</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82%; background-color: #E33235;" data-target-width="82" 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">82</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73%; background-color: #FE9F58;" data-target-width="73" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">73</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95%; background-color: #E33235;" data-target-width="95" 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">95</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 83%; background-color: #FE9F58;" data-target-width="83" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">83</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68%; background-color: #E33235;" data-target-width="68" 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">68</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">60</span></div></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>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>Black Myth Wukong (1440p High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>84 Avg FPS, 74 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>82 Avg FPS, 73 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>95 Avg FPS, 83 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>68 Avg FPS, 60 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-Cyberpunk 2077 (1440p RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1440p RT Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76.25%; background-color: #E33235;" data-target-width="76.25" 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">61</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">48</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #E33235;" data-target-width="65" 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">52</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.75%; background-color: #FE9F58;" data-target-width="53.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88.75%; background-color: #E33235;" data-target-width="88.75" 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">71</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.25%; background-color: #FE9F58;" data-target-width="71.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">57</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.25%; background-color: #E33235;" data-target-width="56.25" 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">45</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #FE9F58;" data-target-width="45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></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>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (1440p RT Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>61 Avg FPS, 48 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>52 Avg FPS, 43 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>71 Avg FPS, 57 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>45 Avg FPS, 36 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-F1 24 (1440p Ultra High)" data-chart-type="Bar" data-title="F1 24 (1440p Ultra High)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72%; background-color: #E33235;" data-target-width="72" 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">108</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.00000000000001%; background-color: #FE9F58;" data-target-width="56.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">84</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70%; background-color: #E33235;" data-target-width="70" 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">105</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 44%; background-color: #FE9F58;" data-target-width="44" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">66</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.66666666666667%; background-color: #E33235;" data-target-width="82.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">124</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 54.666666666666664%; background-color: #FE9F58;" data-target-width="54.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">82</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52%; background-color: #E33235;" data-target-width="52" 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">78</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">60</span></div></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></div><table class="sr-only"><caption>F1 24 (1440p Ultra High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>108 Avg FPS, 84 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>105 Avg FPS, 66 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>124 Avg FPS, 82 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>78 Avg FPS, 60 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-Homeworld 3 (1440p Epic)" data-chart-type="Bar" data-title="Homeworld 3 (1440p Epic)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79.33333333333333%; background-color: #E33235;" data-target-width="79.33333333333333" 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">119</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 39.33333333333333%; background-color: #FE9F58;" data-target-width="39.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74%; background-color: #E33235;" data-target-width="74" 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">111</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 41.333333333333336%; background-color: #FE9F58;" data-target-width="41.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84%; background-color: #E33235;" data-target-width="84" 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">126</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40.666666666666664%; background-color: #FE9F58;" data-target-width="40.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74.66666666666667%; background-color: #E33235;" data-target-width="74.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">112</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.66666666666667%; background-color: #FE9F58;" data-target-width="42.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">64</span></div></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></div><table class="sr-only"><caption>Homeworld 3 (1440p Epic) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>119 Avg FPS, 59 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>111 Avg FPS, 62 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>126 Avg FPS, 61 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>112 Avg FPS, 64 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-Metro Exodus Enhanced Edition (1440p Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 64.5%; background-color: #E33235;" data-target-width="64.5" 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">129</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 44.5%; background-color: #FE9F58;" data-target-width="44.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">89</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #E33235;" 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">120</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 27%; background-color: #FE9F58;" data-target-width="27" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">54</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.5%; background-color: #E33235;" data-target-width="75.5" 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">151</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #FE9F58;" data-target-width="48" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">96</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #E33235;" data-target-width="50" 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">100</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 34%; background-color: #FE9F58;" data-target-width="34" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">68</span></div></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>50</span><span>100</span><span>150</span><span>200</span></div></div></div><table class="sr-only"><caption>Metro Exodus Enhanced Edition (1440p Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>129 Avg FPS, 89 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>120 Avg FPS, 54 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>151 Avg FPS, 96 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>100 Avg FPS, 68 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-The Talos Principle 2 (1440p Ultra)" data-chart-type="Bar" data-title="The Talos Principle 2 (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81%; background-color: #E33235;" data-target-width="81" 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">81</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35%; background-color: #FE9F58;" data-target-width="35" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84%; background-color: #E33235;" data-target-width="84" 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">84</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 44%; background-color: #FE9F58;" data-target-width="44" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95%; background-color: #E33235;" data-target-width="95" 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">95</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 59%; background-color: #FE9F58;" data-target-width="59" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 64%; background-color: #E33235;" data-target-width="64" 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">64</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42%; background-color: #FE9F58;" data-target-width="42" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></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>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>The Talos Principle 2 (1440p Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>81 Avg FPS, 35 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>84 Avg FPS, 44 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>95 Avg FPS, 59 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>64 Avg FPS, 42 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-Total War: Warhammer 3 (1440p Ultra)" data-chart-type="Bar" data-title="Total War: Warhammer 3 (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #E33235;" 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">90</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 29.333333333333332%; background-color: #FE9F58;" data-target-width="29.333333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68%; background-color: #E33235;" data-target-width="68" 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">102</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 32.666666666666664%; background-color: #FE9F58;" data-target-width="32.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">49</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68%; background-color: #E33235;" data-target-width="68" 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">102</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35.333333333333336%; background-color: #FE9F58;" data-target-width="35.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">53</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 54%; background-color: #E33235;" data-target-width="54" 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">81</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35.333333333333336%; background-color: #FE9F58;" data-target-width="35.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">53</span></div></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></div><table class="sr-only"><caption>Total War: Warhammer 3 (1440p Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>90 Avg FPS, 44 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>102 Avg FPS, 49 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>102 Avg FPS, 53 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>81 Avg FPS, 53 1% Low FPS</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></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() {window.fvAnimateCharts = function(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);});}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);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;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 === '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');}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);}});});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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');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);});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 === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === '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 || '';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); });}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();}});});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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');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();}});}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();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';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 (true) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var currentSlideIndex = 0;var slides = slideshowContainer.querySelectorAll('.fv-slide');var counter = slideshowContainer.querySelector('.fv-slide-counter');var prevBtn = slideshowContainer.querySelector('.fv-nav-btn.prev');var nextBtn = slideshowContainer.querySelector('.fv-nav-btn.next');var dropdown = slideshowContainer.querySelector('.fv-slideshow-select');function updateControls(index) {if (counter) counter.textContent = (index + 1) + ' / ' + slides.length;if (dropdown) dropdown.value = index;if (prevBtn) {if (index === 0) prevBtn.classList.add('disabled');else prevBtn.classList.remove('disabled');}if (nextBtn) {if (index === slides.length - 1) nextBtn.classList.add('disabled');else nextBtn.classList.remove('disabled');}}function showSlide(index) {if (index < 0) return;if (index >= slides.length) return;currentSlideIndex = index;slides.forEach(function(slide, i) {slide.style.display = i === index ? 'block' : 'none';if (i === index) {var chartEl = slide.querySelector('.fv-chart-wrapper');if (chartEl && window.fvAnimateCharts) {window.fvAnimateCharts(chartEl);}}});updateControls(currentSlideIndex);}if (prevBtn) {prevBtn.addEventListener('click', function() { showSlide(currentSlideIndex - 1); });}if (nextBtn) {nextBtn.addEventListener('click', function() { showSlide(currentSlideIndex + 1); });}if (dropdown) {dropdown.addEventListener('change', function(e) { showSlide(parseInt(e.target.value)); });}updateControls(currentSlideIndex);if (slides.length > 0) {var firstChart = slides[0].querySelector('.fv-chart-wrapper');if (firstChart && window.fvAnimateCharts) {setTimeout(function() { window.fvAnimateCharts(firstChart); }, 100);}}}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1781526669124-whakcxwh2', true); });} else {initialize('fv-chart-1781526669124-whakcxwh2', true);}})();</script></div><p>In practice, all this makes for a GPU very capable of playing modern games on the highest settings at 1440p and even 4K in many cases. </p><p>We're talking a full gaming PC here, though, and moving beyond the GPU is where some of the caveats come into play. First, this build is a little light on RAM, and $1,750 is around the price point where you'd hope to start seeing 32 GB, even during a memory shortage. Nevertheless, if you keep background apps closed, this <a href="https://www.pcgamer.com/hardware/memory/my-testing-shows-that-16-gb-of-system-memory-is-still-absolutely-fine-for-todays-pc-games-but-there-are-some-caveats-to-it-all/" target="_blank">shouldn't bottleneck you for gaming too much</a> at all. At least not on its own.</p><p>And therein lies the second caveat: You're getting what is essentially a repurposed mobile chip with the <a href="https://www.amd.com/en/products/processors/desktops/ryzen/8000-series/amd-ryzen-7-8700f.html" target="_blank">Ryzen 7 8700F</a>. That means lower clocks and less L3 cache, which isn't great for gaming. CPU-intensive games will likely take a hit, as will gaming at lower resolutions. But for gaming at higher resolutions in GPU-limited scenarios, it won't be a massive deal.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3392px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oKDSEpHCnwHYX8ucczjie9" name="amd-ryzen-7-9800x3d-review-01" alt="AMD Ryzen 7 9800X3D processor" src="https://cdn.mos.cms.futurecdn.net/oKDSEpHCnwHYX8ucczjie9-1920-80.jpg" mos="" align="middle" fullscreen="" width="3392" height="1908" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">You can drop the best gaming CPU straight into this PC </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Thankfully, it's socket AM5, meaning you should be able to upgrade to something like the stellar <a href="https://www.pcgamer.com/hardware/processors/amd-ryzen-7-9800x3d-review/" target="_blank">Ryzen 7 9800X3D</a> down the line.</p><p>The final caveat is that this thing has a <a href="https://www.msi.com/Motherboard/PRO-B840-VC-WIFI" target="_blank">motherboard that's pretty light on I/O</a>. So if you plan on having more than the usual couple of peripherals connected, you might want to get a USB hub hooked up to one of the two 5 Gbps ports, leaving the other free for external drive transfers. And even then, bear in mind that 5 Gbps means USB 3.2 Gen 1x1, which is far from the latest.</p><p>With all those caveats in mind, I have to return to the fact that in sheer gaming performance, you're getting a fantastic deal here thanks to that GPU. If you don't mind opting for AMD, <a href="https://www.bestbuy.com/product/skytech-gaming-o11v-gaming-desktop-pc-amd-ryzen-7-7700-2023-32gb-memory-amd-radeon-rx-9070xt-1tb-nvme-storage-black/J3GW8HWVCS" target="_blank">an RX 9070 XT build like this one</a> might give you a little more bang for your buck, but if you want the slightly better GPU and much better upscaling and frame gen support, this MSI rig is a great shout.</p><h2 id="check-out-all-of-walmart-s-gaming-pc-deals">👉 <a href="https://www.walmart.com/search?q=gaming+pc&facet=all_deals%3Anon_event" target="_blank">Check out all of Walmart's gaming PC deals</a> 👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-pcs/for-the-first-time-in-months-ive-spotted-an-rtx-5070-ti-gaming-pc-for-a-genuinely-reasonable-price/</link>
                                                                            <description>
                            <![CDATA[ Will Prime Day save us from the awful 2026 hardware market? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">fu4xPpTqGeZZvHr982CE88</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ytfiKbNx869BLCSXoonjwG-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 15 Jun 2026 13:37:30 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming PCs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Fox ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob&#039;s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world&#039;s #1 PC Gaming site full-time. It&#039;s definitely not an ego thing, he assures us.&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/ytfiKbNx869BLCSXoonjwG-1920-80.jpg">
                                                            <media:credit><![CDATA[MSI]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An MSI Codex Z2 gaming PC on a custom PC Gamer Deals background.]]></media:description>                                                            <media:text><![CDATA[An MSI Codex Z2 gaming PC on a custom PC Gamer Deals background.]]></media:text>
                                <media:title type="plain"><![CDATA[An MSI Codex Z2 gaming PC on a custom PC Gamer Deals background.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ytfiKbNx869BLCSXoonjwG-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="14bd46e4-ceab-433a-98f7-266bf4969a36" data-action="Deal Block" data-label="Codex Z2 | RTX 5070 Ti" data-dimension48="Codex Z2 | RTX 5070 Ti" data-dimension25="$1749" href="https://www.walmart.com/ip/MSI-Codex-Z2-Gaming-Desktop-AMD-Ryzen-7-8700F-NVIDIA-RTX-5070TI-16GB-16GB-DDR5-1-TB-SSD-Win-11-Black/19880773367" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:629px;"><p class="vanilla-image-block" style="padding-top:100.16%;"><img id="PLUHMpL8ybxh7nQQ6HXLcV" name="Codex Z2 | RTX 5070 Ti" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PLUHMpL8ybxh7nQQ6HXLcV-1920-80.png" mos="" align="middle" fullscreen="" width="629" height="630" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/MSI-Codex-Z2-Gaming-Desktop-AMD-Ryzen-7-8700F-NVIDIA-RTX-5070TI-16GB-16GB-DDR5-1-TB-SSD-Win-11-Black/19880773367" target="_blank" rel="nofollow" data-dimension112="14bd46e4-ceab-433a-98f7-266bf4969a36" data-action="Deal Block" data-label="Codex Z2 | RTX 5070 Ti" data-dimension48="Codex Z2 | RTX 5070 Ti" data-dimension25="$1749">Codex Z2 | RTX 5070 Ti: was $2299.99 now $1749</a></strong><br>This PC comes with a whole bunch of caveats, but none of those overrides the fact that you're getting a build with an RTX 5070 Ti inside for under $1,800. That's a price we've not seen such a PC at for a very long time. You will probably want to upgrade the CPU when you can, though, and you'll want a USB hub handy given the lack of I/O.</p><p><strong>Key specs: Ryzen 7 8700F | RTX 5070 Ti | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.walmart.com/ip/MSI-Codex-Z2-Gaming-Desktop-AMD-Ryzen-7-8700F-NVIDIA-RTX-5070TI-16GB-16GB-DDR5-1-TB-SSD-Win-11-Black/19880773367" target="_blank" rel="nofollow" data-dimension112="14bd46e4-ceab-433a-98f7-266bf4969a36" data-action="Deal Block" data-label="Codex Z2 | RTX 5070 Ti" data-dimension48="Codex Z2 | RTX 5070 Ti" data-dimension25="$1749">View Deal</a></p></div><p>I've been checking all major retailers for gaming PC deals regularly for the past couple of years, and I'd honestly given up on the idea of seeing an RTX 5070 Ti gaming PC cheap enough to be worth the money—especially while RX 9070 XT gaming PCs seemed to be staying pretty cheap. But the tides have finally and surprisingly turned, thanks to this MSI Codex Z2 for <a href="https://www.walmart.com/ip/MSI-Codex-Z2-Gaming-Desktop-AMD-Ryzen-7-8700F-NVIDIA-RTX-5070TI-16GB-16GB-DDR5-1-TB-SSD-Win-11-Black/19880773367" target="_blank">$1,749 at Walmart</a>.</p><p>Sub-$1,800 for an RTX 5070 Ti gaming PC is exactly what I'm looking for here, just the same as with RX 9070 XT builds, and I've not seen one anywhere near this cheap for months. I'd assumed maybe it was a stocking issue for those GPUs specifically. Whatever the case, we're back, baby.</p><ul><li><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>We're keeping track of all the early Amazon Prime Day PC gaming deals here</strong></a></li></ul><p>Well, kind of. There are a couple of pretty big caveats to this build. But if you're looking to do some high-end gaming for as little money as possible, I still think this build will be worth it, regardless of its foibles.</p><p>That's because the <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidia-rtx-5070-ti-review-msi-ventus-3x/" target="_blank">RTX 5070 Ti</a> offers some mean performance for this price point. It's my personal fave of this GPU generation, provided you can pick it up at a reasonable price. It isn't too far short of the <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidia-rtx-5080-founders-edition-review/" target="_blank">RTX 5080</a> in performance, and it overclocks incredibly well. And compared to the <a href="https://www.pcgamer.com/hardware/graphics-cards/amd-radeon-rx-9700-xt-review-asus-prime-oc/" target="_blank">RX 9070 XT</a>, it's pretty on par, except you're also getting widespread support for the latest frame gen and upscaling tech.</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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper *, #fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper *:before, #fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper *:after, #fv-chart-1781526669124-whakcxwh2-slideshow *, #fv-chart-1781526669124-whakcxwh2-slideshow *:before, #fv-chart-1781526669124-whakcxwh2-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper, #fv-chart-1781526669124-whakcxwh2-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper {position: relative !important; overflow: visible !important;--riv-primary: #E33235;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-inner-wrapper {color: #1F2937 !important; background-color: #ededed !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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #E33235;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1781526669124-whakcxwh2-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-1781526669124-whakcxwh2-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-1781526669124-whakcxwh2-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1781526669124-whakcxwh2-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-1781526669124-whakcxwh2-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;}#fv-chart-1781526669124-whakcxwh2-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-1781526669124-whakcxwh2-slideshow .fv-slideshow-select:focus {outline: 2px solid #E33235 !important;border-color: #E33235 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-row, #fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-pie-container,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-stacked-product,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-bar-product,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-stacked-product,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-label,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-bar-container,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-bar-cluster,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-container,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-wrapper,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-label-space,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-chart-space,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-benchmark-title,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-dropdown-title,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-carousel-nav-btn,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-chart-title,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-chart-subhead,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-header,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-vs,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-container,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-btn,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-logo,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-icon,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-row,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stacked-product,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-label,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-container,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-bar-cluster {width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-label-space {display: none !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-chart-title {padding: 0 8px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .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-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stl-shop-all-logo,#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper .fv-y-axis-title { padding-left: 5% !important;  }#fv-chart-1781526669124-whakcxwh2-slideshow .fv-chart-wrapper.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": "Gaming performance","description": "Subhead to describe the test and what's being measured and why","creator": {"@type": "Organization","name": "PC Gamer","logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-06-15T12:31:09.125Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["RTX 5070 Ti","RX 9070 XT","RTX 5080","RTX 5070","Black Myth Wukong (4K High)","Cyberpunk 2077 (4K RT Ultra)","F1 24 (4K Ultra High)","Homeworld 3 (4K Epic)","Metro Exodus Enhanced Edition (4K Ultra)","The Talos Principle 2 (4K Ultra)","Total War: Warhammer 3 (4K Ultra)","benchmark","comparison","performance","review","PC Gamer"],"measurementTechnique": "Performance Benchmarking","variableMeasured": [{"@type": "PropertyValue","name": "RTX 5070 – Black Myth Wukong (4K High)","value": 37,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Black Myth Wukong (4K High)","value": 47,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Black Myth Wukong (4K High)","value": 55,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Black Myth Wukong (4K High)","value": 45,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Cyberpunk 2077 (4K RT Ultra)","value": 21,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Cyberpunk 2077 (4K RT Ultra)","value": 30,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Cyberpunk 2077 (4K RT Ultra)","value": 36,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Cyberpunk 2077 (4K RT Ultra)","value": 25,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – F1 24 (4K Ultra High)","value": 39,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – F1 24 (4K Ultra High)","value": 54,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – F1 24 (4K Ultra High)","value": 65,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – F1 24 (4K Ultra High)","value": 54,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Homeworld 3 (4K Epic)","value": 79,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Homeworld 3 (4K Epic)","value": 89,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Homeworld 3 (4K Epic)","value": 98,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Homeworld 3 (4K Epic)","value": 77,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Metro Exodus Enhanced Edition (4K Ultra)","value": 57,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Metro Exodus Enhanced Edition (4K Ultra)","value": 76,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Metro Exodus Enhanced Edition (4K Ultra)","value": 90,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Metro Exodus Enhanced Edition (4K Ultra)","value": 73,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – The Talos Principle 2 (4K Ultra)","value": 35,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – The Talos Principle 2 (4K Ultra)","value": 46,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – The Talos Principle 2 (4K Ultra)","value": 53,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – The Talos Principle 2 (4K Ultra)","value": 44,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Total War: Warhammer 3 (4K Ultra)","value": 44,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Total War: Warhammer 3 (4K Ultra)","value": 56,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Total War: Warhammer 3 (4K Ultra)","value": 66,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Total War: Warhammer 3 (4K Ultra)","value": 60,"unitText": "Avg FPS"}]},{"@context": "https://schema.org","@type": "Dataset","name": "Gaming performance","description": "Subhead to describe the test and what's being measured and why","creator": {"@type": "Organization","name": "PC Gamer","logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-06-15T12:31:09.125Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["RTX 5070 Ti","RX 9070 XT","RTX 5080","RTX 5070","Black Myth Wukong (1440p High)","Cyberpunk 2077 (1440p RT Ultra)","F1 24 (1440p Ultra High)","Homeworld 3 (1440p Epic)","Metro Exodus Enhanced Edition (1440p Ultra)","The Talos Principle 2 (1440p Ultra)","Total War: Warhammer 3 (1440p Ultra)","benchmark","comparison","performance","review","PC Gamer"],"measurementTechnique": "Performance Benchmarking","variableMeasured": [{"@type": "PropertyValue","name": "RTX 5070 – Black Myth Wukong (1440p High)","value": 68,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Black Myth Wukong (1440p High)","value": 84,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Black Myth Wukong (1440p High)","value": 95,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Black Myth Wukong (1440p High)","value": 82,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Cyberpunk 2077 (1440p RT Ultra)","value": 45,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Cyberpunk 2077 (1440p RT Ultra)","value": 61,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Cyberpunk 2077 (1440p RT Ultra)","value": 71,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Cyberpunk 2077 (1440p RT Ultra)","value": 52,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – F1 24 (1440p Ultra High)","value": 78,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – F1 24 (1440p Ultra High)","value": 108,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – F1 24 (1440p Ultra High)","value": 124,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – F1 24 (1440p Ultra High)","value": 105,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Homeworld 3 (1440p Epic)","value": 112,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Homeworld 3 (1440p Epic)","value": 119,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Homeworld 3 (1440p Epic)","value": 126,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Homeworld 3 (1440p Epic)","value": 111,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Metro Exodus Enhanced Edition (1440p Ultra)","value": 100,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Metro Exodus Enhanced Edition (1440p Ultra)","value": 129,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Metro Exodus Enhanced Edition (1440p Ultra)","value": 151,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Metro Exodus Enhanced Edition (1440p Ultra)","value": 120,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – The Talos Principle 2 (1440p Ultra)","value": 64,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – The Talos Principle 2 (1440p Ultra)","value": 81,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – The Talos Principle 2 (1440p Ultra)","value": 95,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – The Talos Principle 2 (1440p Ultra)","value": 84,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 – Total War: Warhammer 3 (1440p Ultra)","value": 81,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5070 Ti – Total War: Warhammer 3 (1440p Ultra)","value": 90,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RTX 5080 – Total War: Warhammer 3 (1440p Ultra)","value": 102,"unitText": "Avg FPS"},{"@type": "PropertyValue","name": "RX 9070 XT – Total War: Warhammer 3 (1440p Ultra)","value": 102,"unitText": "Avg FPS"}]}]</script><div id="fv-chart-1781526669124-whakcxwh2-slideshow" class="fv-slideshow-container" data-slide-count="2" data-iframe-height="true"><div class="fv-slideshow-nav-row"><button class="fv-nav-btn prev disabled" aria-label="Previous Slide"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg><span>Previous</span></button><div class="fv-slide-counter">1 / 2</div><button class="fv-nav-btn next" aria-label="Next Slide"><span>Next</span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg></button></div><div class="fv-slides-wrapper"><div class="fv-slide" id="fv-chart-1781526669124-whakcxwh2-slide-0-wrapper" data-index="0" style="display: block;"><div id="fv-chart-1781526669124-whakcxwh2-slide-0" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Gaming performance</h3><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Black Myth Wukong (4K High)</option><option value="1">Cyberpunk 2077 (4K RT Ultra)</option><option value="2">F1 24 (4K Ultra High)</option><option value="3">Homeworld 3 (4K Epic)</option><option value="4">Metro Exodus Enhanced Edition (4K Ultra)</option><option value="5">The Talos Principle 2 (4K Ultra)</option><option value="6">Total War: Warhammer 3 (4K Ultra)</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-Black Myth Wukong (4K High)" data-chart-type="Bar" data-title="Black Myth Wukong (4K High)" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.33333333333333%; background-color: #E33235;" data-target-width="78.33333333333333" 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">47</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">33</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" 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">45</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #FE9F58;" data-target-width="65" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">39</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 91.66666666666666%; background-color: #E33235;" data-target-width="91.66666666666666" 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">55</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.33333333333333%; background-color: #FE9F58;" data-target-width="78.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61.66666666666667%; background-color: #E33235;" data-target-width="61.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">37</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></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>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>Black Myth Wukong (4K High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>47 Avg FPS, 33 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>45 Avg FPS, 39 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>55 Avg FPS, 47 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>37 Avg FPS, 30 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-Cyberpunk 2077 (4K RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (4K RT Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" 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">30</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">24</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.5%; background-color: #E33235;" data-target-width="62.5" 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">25</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #FE9F58;" data-target-width="52.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" 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">36</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.5%; background-color: #FE9F58;" data-target-width="67.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">27</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.5%; background-color: #E33235;" data-target-width="52.5" 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">21</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.5%; background-color: #FE9F58;" data-target-width="42.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">17</span></div></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>10</span><span>20</span><span>30</span><span>40</span></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (4K RT Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>30 Avg FPS, 24 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>25 Avg FPS, 21 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>36 Avg FPS, 27 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>21 Avg FPS, 17 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-F1 24 (4K Ultra High)" data-chart-type="Bar" data-title="F1 24 (4K Ultra High)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.5%; background-color: #E33235;" data-target-width="67.5" 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">54</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.24999999999999%; background-color: #FE9F58;" data-target-width="51.24999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.5%; background-color: #E33235;" data-target-width="67.5" 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">54</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48.75%; background-color: #FE9F58;" data-target-width="48.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">39</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.25%; background-color: #E33235;" data-target-width="81.25" 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">65</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.5%; background-color: #FE9F58;" data-target-width="62.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">50</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48.75%; background-color: #E33235;" data-target-width="48.75" 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">39</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.5%; background-color: #FE9F58;" data-target-width="37.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></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>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>F1 24 (4K Ultra High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>54 Avg FPS, 41 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>54 Avg FPS, 39 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>65 Avg FPS, 50 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>39 Avg FPS, 30 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-Homeworld 3 (4K Epic)" data-chart-type="Bar" data-title="Homeworld 3 (4K Epic)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 89%; background-color: #E33235;" data-target-width="89" 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">89</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53%; background-color: #FE9F58;" data-target-width="53" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">53</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77%; background-color: #E33235;" data-target-width="77" 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">77</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">60</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 98%; background-color: #E33235;" data-target-width="98" 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">98</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 59%; background-color: #FE9F58;" data-target-width="59" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79%; background-color: #E33235;" data-target-width="79" 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">79</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #FE9F58;" data-target-width="55.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">55</span></div></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>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>Homeworld 3 (4K Epic) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>89 Avg FPS, 53 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>77 Avg FPS, 60 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>98 Avg FPS, 59 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>79 Avg FPS, 55 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-Metro Exodus Enhanced Edition (4K Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (4K Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76%; background-color: #E33235;" data-target-width="76" 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">76</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36%; background-color: #FE9F58;" data-target-width="36" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73%; background-color: #E33235;" data-target-width="73" 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">73</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">50</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" 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">90</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.99999999999999%; background-color: #E33235;" data-target-width="56.99999999999999" 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">57</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 44%; background-color: #FE9F58;" data-target-width="44" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div></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>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>Metro Exodus Enhanced Edition (4K Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>76 Avg FPS, 36 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>73 Avg FPS, 50 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>90 Avg FPS, 40 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>57 Avg FPS, 44 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-The Talos Principle 2 (4K Ultra)" data-chart-type="Bar" data-title="The Talos Principle 2 (4K Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76.66666666666667%; background-color: #E33235;" data-target-width="76.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">46</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 41.66666666666667%; background-color: #FE9F58;" data-target-width="41.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">25</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #E33235;" data-target-width="73.33333333333333" 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">44</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.333333333333336%; background-color: #FE9F58;" data-target-width="53.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">32</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88.33333333333333%; background-color: #E33235;" data-target-width="88.33333333333333" 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">53</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61.66666666666667%; background-color: #FE9F58;" data-target-width="61.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.333333333333336%; background-color: #E33235;" data-target-width="58.333333333333336" 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">35</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">24</span></div></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>15</span><span>30</span><span>45</span><span>60</span></div></div></div><table class="sr-only"><caption>The Talos Principle 2 (4K Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>46 Avg FPS, 25 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>44 Avg FPS, 32 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>53 Avg FPS, 37 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>35 Avg FPS, 24 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-0-bar-Total War: Warhammer 3 (4K Ultra)" data-chart-type="Bar" data-title="Total War: Warhammer 3 (4K Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70%; background-color: #E33235;" data-target-width="70" 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">56</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.24999999999999%; background-color: #FE9F58;" data-target-width="51.24999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" 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">60</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.24999999999999%; background-color: #FE9F58;" data-target-width="51.24999999999999" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" 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">66</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">48</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 55.00000000000001%; background-color: #E33235;" data-target-width="55.00000000000001" 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">44</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.5%; background-color: #FE9F58;" data-target-width="37.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div></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>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>Total War: Warhammer 3 (4K Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>56 Avg FPS, 41 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>60 Avg FPS, 41 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>66 Avg FPS, 48 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>44 Avg FPS, 30 1% Low FPS</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></div></div></div><div class="fv-slide" id="fv-chart-1781526669124-whakcxwh2-slide-1-wrapper" data-index="1" style="display: none;"><div id="fv-chart-1781526669124-whakcxwh2-slide-1" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Gaming performance</h3><div class="fv-dropdown-wrapper"><div class="fv-dropdown-title-container"><select class="fv-dropdown-title"><option value="0">Black Myth Wukong (1440p High)</option><option value="1">Cyberpunk 2077 (1440p RT Ultra)</option><option value="2">F1 24 (1440p Ultra High)</option><option value="3">Homeworld 3 (1440p Epic)</option><option value="4">Metro Exodus Enhanced Edition (1440p Ultra)</option><option value="5">The Talos Principle 2 (1440p Ultra)</option><option value="6">Total War: Warhammer 3 (1440p Ultra)</option></select><div class="fv-dropdown-chevron"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg></div></div></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-Black Myth Wukong (1440p High)" data-chart-type="Bar" data-title="Black Myth Wukong (1440p High)" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84%; background-color: #E33235;" data-target-width="84" 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">84</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74%; background-color: #FE9F58;" data-target-width="74" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">74</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82%; background-color: #E33235;" data-target-width="82" 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">82</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73%; background-color: #FE9F58;" data-target-width="73" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">73</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95%; background-color: #E33235;" data-target-width="95" 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">95</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 83%; background-color: #FE9F58;" data-target-width="83" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">83</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68%; background-color: #E33235;" data-target-width="68" 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">68</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">60</span></div></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>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>Black Myth Wukong (1440p High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>84 Avg FPS, 74 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>82 Avg FPS, 73 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>95 Avg FPS, 83 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>68 Avg FPS, 60 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-Cyberpunk 2077 (1440p RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1440p RT Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76.25%; background-color: #E33235;" data-target-width="76.25" 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">61</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">48</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #E33235;" data-target-width="65" 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">52</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.75%; background-color: #FE9F58;" data-target-width="53.75" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88.75%; background-color: #E33235;" data-target-width="88.75" 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">71</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.25%; background-color: #FE9F58;" data-target-width="71.25" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">57</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.25%; background-color: #E33235;" data-target-width="56.25" 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">45</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #FE9F58;" data-target-width="45" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">36</span></div></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>20</span><span>40</span><span>60</span><span>80</span></div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (1440p RT Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>61 Avg FPS, 48 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>52 Avg FPS, 43 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>71 Avg FPS, 57 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>45 Avg FPS, 36 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-F1 24 (1440p Ultra High)" data-chart-type="Bar" data-title="F1 24 (1440p Ultra High)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72%; background-color: #E33235;" data-target-width="72" 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">108</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.00000000000001%; background-color: #FE9F58;" data-target-width="56.00000000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">84</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 70%; background-color: #E33235;" data-target-width="70" 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">105</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 44%; background-color: #FE9F58;" data-target-width="44" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">66</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.66666666666667%; background-color: #E33235;" data-target-width="82.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">124</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 54.666666666666664%; background-color: #FE9F58;" data-target-width="54.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">82</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52%; background-color: #E33235;" data-target-width="52" 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">78</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40%; background-color: #FE9F58;" data-target-width="40" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">60</span></div></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></div><table class="sr-only"><caption>F1 24 (1440p Ultra High) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>108 Avg FPS, 84 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>105 Avg FPS, 66 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>124 Avg FPS, 82 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>78 Avg FPS, 60 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-Homeworld 3 (1440p Epic)" data-chart-type="Bar" data-title="Homeworld 3 (1440p Epic)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79.33333333333333%; background-color: #E33235;" data-target-width="79.33333333333333" 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">119</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 39.33333333333333%; background-color: #FE9F58;" data-target-width="39.33333333333333" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74%; background-color: #E33235;" data-target-width="74" 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">111</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 41.333333333333336%; background-color: #FE9F58;" data-target-width="41.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84%; background-color: #E33235;" data-target-width="84" 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">126</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40.666666666666664%; background-color: #FE9F58;" data-target-width="40.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74.66666666666667%; background-color: #E33235;" data-target-width="74.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">112</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.66666666666667%; background-color: #FE9F58;" data-target-width="42.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">64</span></div></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></div><table class="sr-only"><caption>Homeworld 3 (1440p Epic) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>119 Avg FPS, 59 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>111 Avg FPS, 62 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>126 Avg FPS, 61 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>112 Avg FPS, 64 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-Metro Exodus Enhanced Edition (1440p Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 64.5%; background-color: #E33235;" data-target-width="64.5" 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">129</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 44.5%; background-color: #FE9F58;" data-target-width="44.5" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">89</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #E33235;" 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">120</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 27%; background-color: #FE9F58;" data-target-width="27" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">54</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.5%; background-color: #E33235;" data-target-width="75.5" 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">151</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #FE9F58;" data-target-width="48" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">96</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #E33235;" data-target-width="50" 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">100</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 34%; background-color: #FE9F58;" data-target-width="34" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">68</span></div></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>50</span><span>100</span><span>150</span><span>200</span></div></div></div><table class="sr-only"><caption>Metro Exodus Enhanced Edition (1440p Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>129 Avg FPS, 89 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>120 Avg FPS, 54 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>151 Avg FPS, 96 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>100 Avg FPS, 68 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-The Talos Principle 2 (1440p Ultra)" data-chart-type="Bar" data-title="The Talos Principle 2 (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81%; background-color: #E33235;" data-target-width="81" 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">81</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35%; background-color: #FE9F58;" data-target-width="35" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84%; background-color: #E33235;" data-target-width="84" 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">84</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 44%; background-color: #FE9F58;" data-target-width="44" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95%; background-color: #E33235;" data-target-width="95" 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">95</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 59%; background-color: #FE9F58;" data-target-width="59" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 64%; background-color: #E33235;" data-target-width="64" 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">64</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42%; background-color: #FE9F58;" data-target-width="42" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div></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>25</span><span>50</span><span>75</span><span>100</span></div></div></div><table class="sr-only"><caption>The Talos Principle 2 (1440p Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>81 Avg FPS, 35 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>84 Avg FPS, 44 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>95 Avg FPS, 59 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>64 Avg FPS, 42 1% Low FPS</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1781526669124-whakcxwh2-slide-1-bar-Total War: Warhammer 3 (1440p Ultra)" data-chart-type="Bar" data-title="Total War: Warhammer 3 (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend"><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div><span>Avg FPS</span></div><div class="fv-multi-legend-item"><div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div><span>1% Low FPS</span></div></div><div class="fv-bar-row" title="RTX 5070 Ti"><div class="fv-bar-label fv-primary-product">RTX 5070 Ti</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #E33235;" 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">90</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 29.333333333333332%; background-color: #FE9F58;" data-target-width="29.333333333333332" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div></div></div></div></div><div class="fv-bar-row" title="RX 9070 XT"><div class="fv-bar-label ">RX 9070 XT</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68%; background-color: #E33235;" data-target-width="68" 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">102</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 32.666666666666664%; background-color: #FE9F58;" data-target-width="32.666666666666664" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">49</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5080"><div class="fv-bar-label ">RTX 5080</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68%; background-color: #E33235;" data-target-width="68" 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">102</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35.333333333333336%; background-color: #FE9F58;" data-target-width="35.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">53</span></div></div></div></div></div><div class="fv-bar-row" title="RTX 5070"><div class="fv-bar-label ">RTX 5070</div><div class="fv-bar-container fv-multi-bar-container"><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 54%; background-color: #E33235;" data-target-width="54" 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">81</span></div></div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35.333333333333336%; background-color: #FE9F58;" data-target-width="35.333333333333336" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">53</span></div></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></div><table class="sr-only"><caption>Total War: Warhammer 3 (1440p Ultra) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>RTX 5070 Ti</td><td>90 Avg FPS, 44 1% Low FPS</td></tr><tr><td>RX 9070 XT</td><td>102 Avg FPS, 49 1% Low FPS</td></tr><tr><td>RTX 5080</td><td>102 Avg FPS, 53 1% Low FPS</td></tr><tr><td>RTX 5070</td><td>81 Avg FPS, 53 1% Low FPS</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo"></div></div></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() {window.fvAnimateCharts = function(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);});}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);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;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 === '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');}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);}});});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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');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);});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 === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === '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 || '';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); });}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();}});});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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');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();}});}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();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';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 (true) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var currentSlideIndex = 0;var slides = slideshowContainer.querySelectorAll('.fv-slide');var counter = slideshowContainer.querySelector('.fv-slide-counter');var prevBtn = slideshowContainer.querySelector('.fv-nav-btn.prev');var nextBtn = slideshowContainer.querySelector('.fv-nav-btn.next');var dropdown = slideshowContainer.querySelector('.fv-slideshow-select');function updateControls(index) {if (counter) counter.textContent = (index + 1) + ' / ' + slides.length;if (dropdown) dropdown.value = index;if (prevBtn) {if (index === 0) prevBtn.classList.add('disabled');else prevBtn.classList.remove('disabled');}if (nextBtn) {if (index === slides.length - 1) nextBtn.classList.add('disabled');else nextBtn.classList.remove('disabled');}}function showSlide(index) {if (index < 0) return;if (index >= slides.length) return;currentSlideIndex = index;slides.forEach(function(slide, i) {slide.style.display = i === index ? 'block' : 'none';if (i === index) {var chartEl = slide.querySelector('.fv-chart-wrapper');if (chartEl && window.fvAnimateCharts) {window.fvAnimateCharts(chartEl);}}});updateControls(currentSlideIndex);}if (prevBtn) {prevBtn.addEventListener('click', function() { showSlide(currentSlideIndex - 1); });}if (nextBtn) {nextBtn.addEventListener('click', function() { showSlide(currentSlideIndex + 1); });}if (dropdown) {dropdown.addEventListener('change', function(e) { showSlide(parseInt(e.target.value)); });}updateControls(currentSlideIndex);if (slides.length > 0) {var firstChart = slides[0].querySelector('.fv-chart-wrapper');if (firstChart && window.fvAnimateCharts) {setTimeout(function() { window.fvAnimateCharts(firstChart); }, 100);}}}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1781526669124-whakcxwh2', true); });} else {initialize('fv-chart-1781526669124-whakcxwh2', true);}})();</script></div><p>In practice, all this makes for a GPU very capable of playing modern games on the highest settings at 1440p and even 4K in many cases. </p><p>We're talking a full gaming PC here, though, and moving beyond the GPU is where some of the caveats come into play. First, this build is a little light on RAM, and $1,750 is around the price point where you'd hope to start seeing 32 GB, even during a memory shortage. Nevertheless, if you keep background apps closed, this <a href="https://www.pcgamer.com/hardware/memory/my-testing-shows-that-16-gb-of-system-memory-is-still-absolutely-fine-for-todays-pc-games-but-there-are-some-caveats-to-it-all/" target="_blank">shouldn't bottleneck you for gaming too much</a> at all. At least not on its own.</p><p>And therein lies the second caveat: You're getting what is essentially a repurposed mobile chip with the <a href="https://www.amd.com/en/products/processors/desktops/ryzen/8000-series/amd-ryzen-7-8700f.html" target="_blank">Ryzen 7 8700F</a>. That means lower clocks and less L3 cache, which isn't great for gaming. CPU-intensive games will likely take a hit, as will gaming at lower resolutions. But for gaming at higher resolutions in GPU-limited scenarios, it won't be a massive deal.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3392px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oKDSEpHCnwHYX8ucczjie9" name="amd-ryzen-7-9800x3d-review-01" alt="AMD Ryzen 7 9800X3D processor" src="https://cdn.mos.cms.futurecdn.net/oKDSEpHCnwHYX8ucczjie9-1920-80.jpg" mos="" align="middle" fullscreen="" width="3392" height="1908" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">You can drop the best gaming CPU straight into this PC </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Thankfully, it's socket AM5, meaning you should be able to upgrade to something like the stellar <a href="https://www.pcgamer.com/hardware/processors/amd-ryzen-7-9800x3d-review/" target="_blank">Ryzen 7 9800X3D</a> down the line.</p><p>The final caveat is that this thing has a <a href="https://www.msi.com/Motherboard/PRO-B840-VC-WIFI" target="_blank">motherboard that's pretty light on I/O</a>. So if you plan on having more than the usual couple of peripherals connected, you might want to get a USB hub hooked up to one of the two 5 Gbps ports, leaving the other free for external drive transfers. And even then, bear in mind that 5 Gbps means USB 3.2 Gen 1x1, which is far from the latest.</p><p>With all those caveats in mind, I have to return to the fact that in sheer gaming performance, you're getting a fantastic deal here thanks to that GPU. If you don't mind opting for AMD, <a href="https://www.bestbuy.com/product/skytech-gaming-o11v-gaming-desktop-pc-amd-ryzen-7-7700-2023-32gb-memory-amd-radeon-rx-9070xt-1tb-nvme-storage-black/J3GW8HWVCS" target="_blank">an RX 9070 XT build like this one</a> might give you a little more bang for your buck, but if you want the slightly better GPU and much better upscaling and frame gen support, this MSI rig is a great shout.</p><h2 id="check-out-all-of-walmart-s-gaming-pc-deals">👉 <a href="https://www.walmart.com/search?q=gaming+pc&facet=all_deals%3Anon_event" target="_blank">Check out all of Walmart's gaming PC deals</a> 👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Thanks to a substantial 27% discount, this ROG Falchion gaming keyboard is a seriously tempting deal for anyone aiming for an all-white theme ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ROG Falchion Ace 75 HE" data-dimension48="ROG Falchion Ace 75 HE" data-dimension25="$159.99" href="https://www.amazon.com/ASUS-ROG-Keyboard-V2X-PBT/dp/B0GRM5GWD7/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1550px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="CFWkpEDspAiqGhiJ6QhZDV" name="asus_rog_falchion_ace_75_he_gaming_keyboard" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/CFWkpEDspAiqGhiJ6QhZDV-1920-80.jpg" mos="" align="middle" fullscreen="" width="1550" height="1550" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/ASUS-ROG-Keyboard-V2X-PBT/dp/B0GRM5GWD7/" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ROG Falchion Ace 75 HE" data-dimension48="ROG Falchion Ace 75 HE" data-dimension25="$159.99">ROG Falchion Ace 75 HE: was $219.99 now $159.99</a></strong><br>At its normal price, the Asus ROG Falchion Ace 75 is an excellent but overly expensive gaming keyboard. Slice 27% off the price tag, though, and you've now got something well worth considering.</p><p><strong>Key specs: ROG HFX V2 switches | PBT double-shot caps | RGB lighting | Media wheel | Wired USB Type-C</strong><a class="view-deal button" href="https://www.amazon.com/ASUS-ROG-Keyboard-V2X-PBT/dp/B0GRM5GWD7/" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ROG Falchion Ace 75 HE" data-dimension48="ROG Falchion Ace 75 HE" data-dimension25="$159.99">View Deal</a></p></div><p>Let's imagine that you've been working hard at creating an all-white theme for your gaming den, and there's just one item left to tick off the list: a super-nice white keyboard. There are lots to choose from, but many of the really great keyboards sport excessively high price tags.</p><p>A great example of that is the Asus ROG Falchion Ace 75 HE, which normally costs $220. It's an excellent keyboard, but that's way too much money in comparison to the competition. Well, not any more, because you can bag one for <a href="https://www.amazon.com/ASUS-ROG-Keyboard-V2X-PBT/dp/B0GRM5GWD7/" target="_blank">$160 at Amazon</a> right now.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>When <a href="https://www.pcgamer.com/hardware/gaming-keyboards/asus-rog-falchion-ace-75-he-review/" target="_blank">Reese checked out the black version of the Falchion Ace 75 HE</a>, he came away very impressed by its super-fast switches, additional controls, and overall build quality. However, he wasn't quite so happy with the price tag, and that's understandable because the $150+ keyboard market is extremely competitive, with <a href="https://www.pcgamer.com/best-gaming-keyboard/" target="_blank">lots of brilliant options to choose from</a>.</p><p>But with a 27% discount, the Falchion Ace 75 HE is far more appealing, and if you don't mind the fact that it's wired-only, you're getting a superb button-basher for the money. Asus' latest Hall effect ROG HFX V2 switches are ridiculously quick, thanks to their short travel, low actuation force, and highly adjustable actuation point.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/DemZCF4MLgKp84MvjEmSWS-1920-80.jpg" alt="The Asus ROG Falchion Ace 75 HE on a desk with the lighting enabled." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/N6nHAJXQLzEtAWcrzyVHVS-1920-80.jpg" alt="The Asus ROG Falchion Ace 75 HE on a desk with the lighting enabled." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ThSTbM3QY8xtn53xG5LAXS-1920-80.jpg" alt="The Asus ROG Falchion Ace 75 HE on a desk with the lighting enabled." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/T9KsVNqDvJMT8bf4DrTrLS-1920-80.jpg" alt="The Asus ROG Falchion Ace 75 HE on a desk with the lighting enabled." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Along with an 8 kHz polling rate (somewhat pointless, but still kinda neat to have) and rapid trigger functionality, this keyboard is ideal for twitchy, competitive shooters and esports in general.</p><p>That said, it's great for any kind of gaming, as well as general use, thanks to the handy media wheel/roller and touch bar on the back, which you can configure for all kinds of roles. This is all done via Gear Link, a web-based app that's light-years ahead of Armoury Crate.</p><p>Yes, $160 is a lot of money to throw down for a keyboard, but at least you're not paying over the odds with this deal. </p><h2 id="check-out-all-of-amazon-s-gaming-keyboard-deals-here">👉<a href="https://www.amazon.com/s?k=gaming+keyboard" target="_blank">Check out all of Amazon's gaming keyboard deals here</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-keyboards/thanks-to-a-substantial-27-percent-discount-this-rog-falchion-gaming-keyboard-is-a-seriously-tempting-deal-for-anyone-aiming-for-an-all-white-theme/</link>
                                                                            <description>
                            <![CDATA[ It's wired-only, but don't let that put you off. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">WtdX7EcZ7gP3MGQNeQtWGK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2cBbLSipHFpoD2P7uADYF3-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 11 Jun 2026 11:28:37 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Keyboards]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nick Evanson ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HH5qHxdCSKxFpY2HXp2Q5K-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick, gaming, and computers all first met in the early 1980s. After leaving university, he became a physics and IT teacher and started writing about tech in the late 1990s. That resulted in him working with MadOnion to write the help files for 3DMark and PCMark. After a short stint working at Beyond3D.com, Nick joined Futuremark (MadOnion rebranded) full-time, as editor-in-chief for its PC gaming section, YouGamers. After the site shutdown, he became an engineering and computing lecturer for many years, but missed the writing bug. Cue four years at TechSpot.com covering everything and anything to do with tech and PCs. He freely admits to being far too obsessed with GPUs and open-world grindy RPGs, but who isn&#039;t these days?&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/2cBbLSipHFpoD2P7uADYF3-1920-80.jpg">
                                                            <media:credit><![CDATA[Asus]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An image of an Asus ROG Falchion Ace 75 HE gaming keyboard, against a colorful background with a &#039;Deals&#039; phrase and a PC Gamer logo on the right]]></media:description>                                                            <media:text><![CDATA[An image of an Asus ROG Falchion Ace 75 HE gaming keyboard, against a colorful background with a &#039;Deals&#039; phrase and a PC Gamer logo on the right]]></media:text>
                                <media:title type="plain"><![CDATA[An image of an Asus ROG Falchion Ace 75 HE gaming keyboard, against a colorful background with a &#039;Deals&#039; phrase and a PC Gamer logo on the right]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2cBbLSipHFpoD2P7uADYF3-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ROG Falchion Ace 75 HE" data-dimension48="ROG Falchion Ace 75 HE" data-dimension25="$159.99" href="https://www.amazon.com/ASUS-ROG-Keyboard-V2X-PBT/dp/B0GRM5GWD7/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1550px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="CFWkpEDspAiqGhiJ6QhZDV" name="asus_rog_falchion_ace_75_he_gaming_keyboard" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/CFWkpEDspAiqGhiJ6QhZDV-1920-80.jpg" mos="" align="middle" fullscreen="" width="1550" height="1550" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/ASUS-ROG-Keyboard-V2X-PBT/dp/B0GRM5GWD7/" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ROG Falchion Ace 75 HE" data-dimension48="ROG Falchion Ace 75 HE" data-dimension25="$159.99">ROG Falchion Ace 75 HE: was $219.99 now $159.99</a></strong><br>At its normal price, the Asus ROG Falchion Ace 75 is an excellent but overly expensive gaming keyboard. Slice 27% off the price tag, though, and you've now got something well worth considering.</p><p><strong>Key specs: ROG HFX V2 switches | PBT double-shot caps | RGB lighting | Media wheel | Wired USB Type-C</strong><a class="view-deal button" href="https://www.amazon.com/ASUS-ROG-Keyboard-V2X-PBT/dp/B0GRM5GWD7/" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="ROG Falchion Ace 75 HE" data-dimension48="ROG Falchion Ace 75 HE" data-dimension25="$159.99">View Deal</a></p></div><p>Let's imagine that you've been working hard at creating an all-white theme for your gaming den, and there's just one item left to tick off the list: a super-nice white keyboard. There are lots to choose from, but many of the really great keyboards sport excessively high price tags.</p><p>A great example of that is the Asus ROG Falchion Ace 75 HE, which normally costs $220. It's an excellent keyboard, but that's way too much money in comparison to the competition. Well, not any more, because you can bag one for <a href="https://www.amazon.com/ASUS-ROG-Keyboard-V2X-PBT/dp/B0GRM5GWD7/" target="_blank">$160 at Amazon</a> right now.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>When <a href="https://www.pcgamer.com/hardware/gaming-keyboards/asus-rog-falchion-ace-75-he-review/" target="_blank">Reese checked out the black version of the Falchion Ace 75 HE</a>, he came away very impressed by its super-fast switches, additional controls, and overall build quality. However, he wasn't quite so happy with the price tag, and that's understandable because the $150+ keyboard market is extremely competitive, with <a href="https://www.pcgamer.com/best-gaming-keyboard/" target="_blank">lots of brilliant options to choose from</a>.</p><p>But with a 27% discount, the Falchion Ace 75 HE is far more appealing, and if you don't mind the fact that it's wired-only, you're getting a superb button-basher for the money. Asus' latest Hall effect ROG HFX V2 switches are ridiculously quick, thanks to their short travel, low actuation force, and highly adjustable actuation point.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/DemZCF4MLgKp84MvjEmSWS-1920-80.jpg" alt="The Asus ROG Falchion Ace 75 HE on a desk with the lighting enabled." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/N6nHAJXQLzEtAWcrzyVHVS-1920-80.jpg" alt="The Asus ROG Falchion Ace 75 HE on a desk with the lighting enabled." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ThSTbM3QY8xtn53xG5LAXS-1920-80.jpg" alt="The Asus ROG Falchion Ace 75 HE on a desk with the lighting enabled." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/T9KsVNqDvJMT8bf4DrTrLS-1920-80.jpg" alt="The Asus ROG Falchion Ace 75 HE on a desk with the lighting enabled." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Along with an 8 kHz polling rate (somewhat pointless, but still kinda neat to have) and rapid trigger functionality, this keyboard is ideal for twitchy, competitive shooters and esports in general.</p><p>That said, it's great for any kind of gaming, as well as general use, thanks to the handy media wheel/roller and touch bar on the back, which you can configure for all kinds of roles. This is all done via Gear Link, a web-based app that's light-years ahead of Armoury Crate.</p><p>Yes, $160 is a lot of money to throw down for a keyboard, but at least you're not paying over the odds with this deal. </p><h2 id="check-out-all-of-amazon-s-gaming-keyboard-deals-here">👉<a href="https://www.amazon.com/s?k=gaming+keyboard" target="_blank">Check out all of Amazon's gaming keyboard deals here</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This gorgeous budget mini-LED 1440p gaming monitor got a 90% score from us literally yesterday and it's already $50 off at Amazon ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="17a061f7-fd37-4b7b-b920-8e59e7151b80" data-action="Deal Block" data-label="M27T6S" data-dimension48="M27T6S" data-dimension25="$299.99" href="https://www.amazon.com/KTC-M27T6S-157-sRGB-Adaptive-Adjustment/dp/B0GX29CGZK/ref=sr_1_1_sspa?crid=3TLJCQAKA3QEV&dib=eyJ2IjoiMSJ9.HmZhfNAO6rabzXZjDMCwOwETkPqS4AiDyfl9mcXiYDrwJsGWj9UpVDLY4KkUBFl0ShQNvNxxVktPrVojgh6V-n5NG_9_QwGpIzo6QXWbFLFSH9yklZKVCSwZJMEIbInbSoohTkLG96CE5dIzuvCP3zyPJ-o86EEM1gYskdSEhJyKOE9ZMdOQZ0TDlw3pmD1y.0u6BtOCbo0FVRfv2hQwqCDEhhAumwShq-MyH6idubB8&dib_tag=se&keywords=KTC+M27T6S&qid=1781085290&s=electronics&sprefix=ktc+m27t6s%2Celectronics%2C283&sr=1-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="oSztCeCiXmFb8Rzqr3bQE5" name="M27T6S" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oSztCeCiXmFb8Rzqr3bQE5-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Our Jeremy adores the <a href="https://www.pcgamer.com/hardware/gaming-monitors/ktc-m27t6s-review/" target="_blank" data-dimension112="17a061f7-fd37-4b7b-b920-8e59e7151b80" data-action="Deal Block" data-label="M27T6S" data-dimension48="M27T6S" data-dimension25="$299.99">M27T6S</a> and its eye-popping mini-LED performance. It's not the cheapest 1440p gaming monitor out there, but it is budget-friendly for a mini-LED one. It looks truly phenomenal, is genuinely bright, and has solid specs all around. Make sure to use the Amazon coupon at checkout to get the discount. </p><p><strong>Key specs: 27-inch | 200 Hz | 1 ms | IPS | mini-LED</strong></p><p><strong>Price check: </strong><a href="https://us.ktcplay.com/products/27-inch-200hz-hdr1000-miniled-gaming-monitor?srsltid=AfmBOorcpdNwkoFDzXhnE6cSiV2KrB5KNILXKaj1tLvKUIHN5VIEX3Id" target="_blank"><strong>KTC $290 (exc. shipping)</strong></a><a class="view-deal button" href="https://www.amazon.com/KTC-M27T6S-157-sRGB-Adaptive-Adjustment/dp/B0GX29CGZK/ref=sr_1_1_sspa?crid=3TLJCQAKA3QEV&dib=eyJ2IjoiMSJ9.HmZhfNAO6rabzXZjDMCwOwETkPqS4AiDyfl9mcXiYDrwJsGWj9UpVDLY4KkUBFl0ShQNvNxxVktPrVojgh6V-n5NG_9_QwGpIzo6QXWbFLFSH9yklZKVCSwZJMEIbInbSoohTkLG96CE5dIzuvCP3zyPJ-o86EEM1gYskdSEhJyKOE9ZMdOQZ0TDlw3pmD1y.0u6BtOCbo0FVRfv2hQwqCDEhhAumwShq-MyH6idubB8&dib_tag=se&keywords=KTC+M27T6S&qid=1781085290&s=electronics&sprefix=ktc+m27t6s%2Celectronics%2C283&sr=1-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1" target="_blank" rel="nofollow" data-dimension112="17a061f7-fd37-4b7b-b920-8e59e7151b80" data-action="Deal Block" data-label="M27T6S" data-dimension48="M27T6S" data-dimension25="$299.99">View Deal</a></p></div><p>If you're looking for an upgrade from that old 1080p monitor, there are arguably too many good choices. If you've got the cash, OLED and 4K look great, but we've been mighty impressed by mini-LED and its uber-bright ways.</p><p>KTC's 1440p M27T6S got a <a href="https://www.pcgamer.com/hardware/gaming-monitors/ktc-m27t6s-review/" target="_blank">90% score in our review</a> literally yesterday, and it is not only a strong middle-ground for budget to mid-range rigs, but with a $50 coupon at Amazon, <a href="https://www.amazon.com/KTC-M27T6S-157-sRGB-Adaptive-Adjustment/dp/B0GX29CGZK/ref=sr_1_1_sspa?crid=3TLJCQAKA3QEV&dib=eyJ2IjoiMSJ9.HmZhfNAO6rabzXZjDMCwOwETkPqS4AiDyfl9mcXiYDrwJsGWj9UpVDLY4KkUBFl0ShQNvNxxVktPrVojgh6V-n5NG_9_QwGpIzo6QXWbFLFSH9yklZKVCSwZJMEIbInbSoohTkLG96CE5dIzuvCP3zyPJ-o86EEM1gYskdSEhJyKOE9ZMdOQZ0TDlw3pmD1y.0u6BtOCbo0FVRfv2hQwqCDEhhAumwShq-MyH6idubB8&dib_tag=se&keywords=KTC+M27T6S&qid=1781085290&s=electronics&sprefix=ktc+m27t6s%2Celectronics%2C283&sr=1-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1" target="_blank">it's a great price for $300</a>.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>So, what's this mini-LED thing all about, then? Effectively, instead of hiding a couple of LED strips behind the screen to provide light, it packs thousands of individual light-emitting diodes in there, making it not only super bright but also immune to burn-in and other long-term monitor complaints. </p><p>Our Jeremy started his review of the monitor sceptically, self-admittedly, but it managed to win him over in testing. That's because you get absolutely sizzling HDR performance, thanks to its 1,000 nits brightness and 1,152 dimming zones.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/FSx55d8oUJtpowLCvHf6ri-1920-80.jpg" alt="KTC M27T6S gaming monitor" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pAfEf9uBYVBxSBCTL8hKk7-1920-80.jpg" alt="KTC M27T6S" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/S5yRPMeFexTxeZNacsTHYD-1920-80.jpg" alt="KTC M27T6S" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Whether you are gaming in a dark room or positioned near a window, this KTC panel can handle any lighting you want to throw at it. And good brightness isn't just strong for fighting the rays of the sun, it's also notable for game performance. If you want your screen to really pop, accurately displaying environments and capturing darkness, it's a strong choice. </p><p>It also has solid stats otherwise, like a 200 Hz refresh rate, 1 ms response time, and DisplayHDR 1000 support.</p><p>Although it's down to $300, that is arguably 4K pricing territory, with the dual-mode 4K/1080p <a href="https://www.newegg.com/msi-mag-275upd-e14-27-144hz-uhd-288hz-fhd-ips-metallic-black/p/N82E16824475509" target="_blank">MSI MAG 275UPD just $250</a> at the time of writing; even the 1440p <a href="https://www.newegg.com/acer-x27u-z1bmiiprx-27-wqhd-280-hz-predator-qd-oled/p/N82E16824011526" target="_blank">OLED Acer Predator X27U Z1bmiiprx is only $80 more at $380</a>. Still, all of these are very viable choices for different kinds of gaming setups. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HX8gq4B6YqwegtRiGnv3SK-1920-80.jpg" alt="KTC M27T6S" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/VWPLXgUYuA4wy7LwkySMwA-1920-80.jpg" alt="KTC M27T6S gaming monitor" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ez68HqdNgVk5d3DqtYwPJQ-1920-80.jpg" alt="KTC M27T6S gaming monitor" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The OLED will offer superior vibrancy and true blacks, the 4K choice is capable of processing a higher resolution (should you have the hardware for it), and the mini-LED gives truly great HDR performance. The KTC is a little cheaper on KTC's own website, too, though Amazon's free shipping for Prime members and generous returns policy would make that my choice, personally. </p><p>Though the memory crisis is continuing to tear apart the pricing of many PC components, gaming monitors are only getting more reasonable, and this KTC pick is truly great value, even at full price. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-monitors/this-gorgeous-budget-mini-led-1440p-gaming-monitor-got-a-90-percent-score-from-us-literally-yesterday-and-its-already-usd50-off-at-amazon/</link>
                                                                            <description>
                            <![CDATA[ It's a beaut. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">tUmz9ij2jUkWtUog269cBR</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TfWXzQDMS98SzsvSGFRt8H-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Wed, 10 Jun 2026 12:46:22 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Monitors]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/TfWXzQDMS98SzsvSGFRt8H-1920-80.png">
                                                            <media:credit><![CDATA[KTC]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[KTC M27T6S gaming monitor on a pink deals background]]></media:description>                                                            <media:text><![CDATA[KTC M27T6S gaming monitor on a pink deals background]]></media:text>
                                <media:title type="plain"><![CDATA[KTC M27T6S gaming monitor on a pink deals background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TfWXzQDMS98SzsvSGFRt8H-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="17a061f7-fd37-4b7b-b920-8e59e7151b80" data-action="Deal Block" data-label="M27T6S" data-dimension48="M27T6S" data-dimension25="$299.99" href="https://www.amazon.com/KTC-M27T6S-157-sRGB-Adaptive-Adjustment/dp/B0GX29CGZK/ref=sr_1_1_sspa?crid=3TLJCQAKA3QEV&dib=eyJ2IjoiMSJ9.HmZhfNAO6rabzXZjDMCwOwETkPqS4AiDyfl9mcXiYDrwJsGWj9UpVDLY4KkUBFl0ShQNvNxxVktPrVojgh6V-n5NG_9_QwGpIzo6QXWbFLFSH9yklZKVCSwZJMEIbInbSoohTkLG96CE5dIzuvCP3zyPJ-o86EEM1gYskdSEhJyKOE9ZMdOQZ0TDlw3pmD1y.0u6BtOCbo0FVRfv2hQwqCDEhhAumwShq-MyH6idubB8&dib_tag=se&keywords=KTC+M27T6S&qid=1781085290&s=electronics&sprefix=ktc+m27t6s%2Celectronics%2C283&sr=1-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="oSztCeCiXmFb8Rzqr3bQE5" name="M27T6S" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oSztCeCiXmFb8Rzqr3bQE5-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Our Jeremy adores the <a href="https://www.pcgamer.com/hardware/gaming-monitors/ktc-m27t6s-review/" target="_blank" data-dimension112="17a061f7-fd37-4b7b-b920-8e59e7151b80" data-action="Deal Block" data-label="M27T6S" data-dimension48="M27T6S" data-dimension25="$299.99">M27T6S</a> and its eye-popping mini-LED performance. It's not the cheapest 1440p gaming monitor out there, but it is budget-friendly for a mini-LED one. It looks truly phenomenal, is genuinely bright, and has solid specs all around. Make sure to use the Amazon coupon at checkout to get the discount. </p><p><strong>Key specs: 27-inch | 200 Hz | 1 ms | IPS | mini-LED</strong></p><p><strong>Price check: </strong><a href="https://us.ktcplay.com/products/27-inch-200hz-hdr1000-miniled-gaming-monitor?srsltid=AfmBOorcpdNwkoFDzXhnE6cSiV2KrB5KNILXKaj1tLvKUIHN5VIEX3Id" target="_blank"><strong>KTC $290 (exc. shipping)</strong></a><a class="view-deal button" href="https://www.amazon.com/KTC-M27T6S-157-sRGB-Adaptive-Adjustment/dp/B0GX29CGZK/ref=sr_1_1_sspa?crid=3TLJCQAKA3QEV&dib=eyJ2IjoiMSJ9.HmZhfNAO6rabzXZjDMCwOwETkPqS4AiDyfl9mcXiYDrwJsGWj9UpVDLY4KkUBFl0ShQNvNxxVktPrVojgh6V-n5NG_9_QwGpIzo6QXWbFLFSH9yklZKVCSwZJMEIbInbSoohTkLG96CE5dIzuvCP3zyPJ-o86EEM1gYskdSEhJyKOE9ZMdOQZ0TDlw3pmD1y.0u6BtOCbo0FVRfv2hQwqCDEhhAumwShq-MyH6idubB8&dib_tag=se&keywords=KTC+M27T6S&qid=1781085290&s=electronics&sprefix=ktc+m27t6s%2Celectronics%2C283&sr=1-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1" target="_blank" rel="nofollow" data-dimension112="17a061f7-fd37-4b7b-b920-8e59e7151b80" data-action="Deal Block" data-label="M27T6S" data-dimension48="M27T6S" data-dimension25="$299.99">View Deal</a></p></div><p>If you're looking for an upgrade from that old 1080p monitor, there are arguably too many good choices. If you've got the cash, OLED and 4K look great, but we've been mighty impressed by mini-LED and its uber-bright ways.</p><p>KTC's 1440p M27T6S got a <a href="https://www.pcgamer.com/hardware/gaming-monitors/ktc-m27t6s-review/" target="_blank">90% score in our review</a> literally yesterday, and it is not only a strong middle-ground for budget to mid-range rigs, but with a $50 coupon at Amazon, <a href="https://www.amazon.com/KTC-M27T6S-157-sRGB-Adaptive-Adjustment/dp/B0GX29CGZK/ref=sr_1_1_sspa?crid=3TLJCQAKA3QEV&dib=eyJ2IjoiMSJ9.HmZhfNAO6rabzXZjDMCwOwETkPqS4AiDyfl9mcXiYDrwJsGWj9UpVDLY4KkUBFl0ShQNvNxxVktPrVojgh6V-n5NG_9_QwGpIzo6QXWbFLFSH9yklZKVCSwZJMEIbInbSoohTkLG96CE5dIzuvCP3zyPJ-o86EEM1gYskdSEhJyKOE9ZMdOQZ0TDlw3pmD1y.0u6BtOCbo0FVRfv2hQwqCDEhhAumwShq-MyH6idubB8&dib_tag=se&keywords=KTC+M27T6S&qid=1781085290&s=electronics&sprefix=ktc+m27t6s%2Celectronics%2C283&sr=1-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1" target="_blank">it's a great price for $300</a>.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>So, what's this mini-LED thing all about, then? Effectively, instead of hiding a couple of LED strips behind the screen to provide light, it packs thousands of individual light-emitting diodes in there, making it not only super bright but also immune to burn-in and other long-term monitor complaints. </p><p>Our Jeremy started his review of the monitor sceptically, self-admittedly, but it managed to win him over in testing. That's because you get absolutely sizzling HDR performance, thanks to its 1,000 nits brightness and 1,152 dimming zones.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/FSx55d8oUJtpowLCvHf6ri-1920-80.jpg" alt="KTC M27T6S gaming monitor" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pAfEf9uBYVBxSBCTL8hKk7-1920-80.jpg" alt="KTC M27T6S" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/S5yRPMeFexTxeZNacsTHYD-1920-80.jpg" alt="KTC M27T6S" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Whether you are gaming in a dark room or positioned near a window, this KTC panel can handle any lighting you want to throw at it. And good brightness isn't just strong for fighting the rays of the sun, it's also notable for game performance. If you want your screen to really pop, accurately displaying environments and capturing darkness, it's a strong choice. </p><p>It also has solid stats otherwise, like a 200 Hz refresh rate, 1 ms response time, and DisplayHDR 1000 support.</p><p>Although it's down to $300, that is arguably 4K pricing territory, with the dual-mode 4K/1080p <a href="https://www.newegg.com/msi-mag-275upd-e14-27-144hz-uhd-288hz-fhd-ips-metallic-black/p/N82E16824475509" target="_blank">MSI MAG 275UPD just $250</a> at the time of writing; even the 1440p <a href="https://www.newegg.com/acer-x27u-z1bmiiprx-27-wqhd-280-hz-predator-qd-oled/p/N82E16824011526" target="_blank">OLED Acer Predator X27U Z1bmiiprx is only $80 more at $380</a>. Still, all of these are very viable choices for different kinds of gaming setups. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HX8gq4B6YqwegtRiGnv3SK-1920-80.jpg" alt="KTC M27T6S" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/VWPLXgUYuA4wy7LwkySMwA-1920-80.jpg" alt="KTC M27T6S gaming monitor" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ez68HqdNgVk5d3DqtYwPJQ-1920-80.jpg" alt="KTC M27T6S gaming monitor" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The OLED will offer superior vibrancy and true blacks, the 4K choice is capable of processing a higher resolution (should you have the hardware for it), and the mini-LED gives truly great HDR performance. The KTC is a little cheaper on KTC's own website, too, though Amazon's free shipping for Prime members and generous returns policy would make that my choice, personally. </p><p>Though the memory crisis is continuing to tear apart the pricing of many PC components, gaming monitors are only getting more reasonable, and this KTC pick is truly great value, even at full price. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ October Prime Day controller deals ]]></title>
                                                                                                <dc:content><![CDATA[ <p>October's Prime Day, also known as Big Deal Days, has finally passed. The big event took place from October 6 until October 7 this year, but that doesn't mean there aren't any deals to take advantage of. </p><p>In fact, best buy, Walmart, and even Amazon still have a few reasonably priced stragglers to pick up if you need a new controller. </p><p>👉<a href="https://www.amazon.com/s?k=controllers&crid=39ANCIZGH03O&sprefix=controller%2Caps%2C179&ref=nb_sb_noss_1" target="_blank"><strong>ALL of Amazon's controller deals</strong></a>👈<br><strong>👉</strong><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>OUR favorite Prime Day PC gaming deals</strong></a><strong>👈</strong></p><p>When it comes to the key high-end technology of today, such as TMR sticks and Hall effect triggers, that isn't necessarily the preserve of the super-premium $200 controllers. Companies such as GameSir and Easy SMX have brought these features down into the mainstream and you can find some of the <a href="https://www.pcgamer.com/best-controller-for-pc-gaming/" target="_blank">best PC controllers</a> sporting them for bargain prices right now. </p><h2 id="where-to-find-the-best-prime-day-controller-deals">Where to find the best Prime Day controller deals</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.com/s?k=controllers&crid=39ANCIZGH03O&sprefix=controller%2Caps%2C179&ref=nb_sb_noss_1" target="_blank"><strong>All the pads you could ever want</strong></a></li><li><strong>Walmart:</strong> <a href="https://www.walmart.com/search?q=controllers" target="_blank">Solid controllers, series savings</a></li><li><strong>Best Buy:</strong> <a href="https://www.bestbuy.com/site/searchpage.jsp?id=pcat17071&st=controllers" target="_blank">Big name pads with big value discounts</a></li><li><strong>Newegg:</strong> <a href="https://www.newegg.com/p/pl?d=controllers" target="_blank">Big savings on big brand controllers</a></li></ul><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-t4n1495 *:not(svg):not(path) { box-sizing: border-box; }    #widget-t4n1495 h1, #widget-t4n1495 p, #widget-t4n1495 h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-t4n1495, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-t4n1495); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-t4n1495 tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-t4n1495 tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-t4n1495 td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-t4n1495: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-t4n1495: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-t4n1495 td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-t4n1495 td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-t4n1495 td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-t4n1495 td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-t4n1495 td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-t4n1495 td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-t4n1495: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-t4n1495: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-t4n1495"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 55 controller reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Controller";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%228NKgZmo3fxQQhxjqHrn2AB%22%2C%22title%22%3A%22Scuf%20Omega%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fscuf-omega-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-07T15%3A02%3A11Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FPfiU4gZmnbsVoGaYsi3iY8.jpg%22%2C%22strapline%22%3A%22Closer%20to%20an%20Alpha%20or%20Beta%20than%20an%20Omega.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22wireless%20controller%22%2C%22wired%20controller%22%2C%22game%20controller%22%2C%22PC%20controller%22%2C%22Scuf%22%2C%22Scuf%20Omega%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22Closer%20to%20an%20Alpha%20or%20Beta%20than%20an%20Omega.%22%7D%2C%7B%22id%22%3A%22UqYpGJHzTjVNBBmU2SrrJn%22%2C%22title%22%3A%22GameSir%20T7%20Pro%20Sugar%20Whirl%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fgamesir-t7-pro-sugar-whirl-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-14T13%3A13%3A19Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fmx7yo6es2nmRYz34Vbuagg.jpg%22%2C%22strapline%22%3A%22Not%20quite%20the%20sweetest%20of%20treats.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22Review%22%2C%22Hardware%22%2C%22GameSir%22%2C%22Xbox%20Wireless%20Controller%22%2C%22Pink%22%2C%22Blue%22%2C%22purple%22%2C%22wireless%20controller%22%2C%22charging%22%2C%22charging%20stand%22%2C%22dock%22%2C%22TMR%20sticks%22%2C%22Hall%20effect%22%5D%2C%22score%22%3A75%2C%22summary%22%3A%22Not%20quite%20the%20sweetest%20of%20treats.%22%7D%2C%7B%22id%22%3A%22LxaJz5yKcWogc5hm5z84mj%22%2C%22title%22%3A%22GameSir%20G7%20Pro%208K%20Aimlabs%20Edition%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fgamesir-g7-pro-8k-aimlabs-edition-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-05-01T11%3A37%3A15Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FuT6Y9ABVa5DY9xXcAJrEwf.jpg%22%2C%22strapline%22%3A%22Would%20you%20pay%20%2410%20more%20for%20higher%20polling%3F%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22PC%20controller%22%2C%22game%20controller%22%2C%22wireless%20controller%22%2C%22Hardware%22%2C%22GameSir%22%2C%22GameSir%20G7%20Pro%208K%22%2C%22TMR%22%2C%22TMR%20sticks%22%2C%22GameSir%20g7%20Pro%208K%20Aimlabs%20Edition%22%5D%2C%22score%22%3A84%2C%22summary%22%3A%22Would%20you%20pay%20%2410%20more%20for%20higher%20polling%3F%22%7D%2C%7B%22id%22%3A%22B4p3aPJNV2Ckc47kSywXKQ%22%2C%22title%22%3A%22Steam%20Controller%20(2026)%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fsteam-controller-2026-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-04-27T17%3A00%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FaUXA7Xr75b7Xuvt2S6eeKY.jpg%22%2C%22strapline%22%3A%22Second%20time's%20the%20charm.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Valve%22%2C%22Steam%20Controller%22%2C%22controller%22%2C%22game%20pad%22%2C%22Steam%22%5D%2C%22score%22%3A83%2C%22summary%22%3A%22Second%20time's%20the%20charm.%22%7D%2C%7B%22id%22%3A%22WRLnnowV6sabshmTC8HujQ%22%2C%22title%22%3A%22EasySMX%20D05%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Feasysmx-d05-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-31T15%3A00%3A43Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FPqjBcwBzNJUwKiWav7NBZF.jpg%22%2C%22strapline%22%3A%22You%20can%20get%20Hall%20effect%20controllers%20slightly%20cheaper%2C%20but%20you'd%20struggle%20to%20find%20as%20feature-rich%20a%20package%20without%20some%20heavy%2C%20heavy%20sales.%20%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22wired%20controller%22%2C%22wireless%20controller%22%2C%22budget%22%2C%22Hall%20effect%22%2C%22EasySMX%22%2C%22EasySMX%20D10%22%2C%22Hardware%22%5D%2C%22score%22%3A87%2C%22summary%22%3A%22You%20can%20get%20Hall%20effect%20controllers%20slightly%20cheaper%2C%20but%20you'd%20struggle%20to%20find%20as%20feature-rich%20a%20package%20without%20some%20heavy%2C%20heavy%20sales.%20%22%7D%2C%7B%22id%22%3A%22fM5EQd4AH6qDUADhLjdeqe%22%2C%22title%22%3A%22EasySMX%20D10%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Feasysmx-d10-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-27T15%3A14%3A14Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FUgLVpPDZm7T9ZV36sAHGz4.jpg%22%2C%22strapline%22%3A%22A%20feature-rich%20budget%20TMR%20controller%20that%20only%20sometimes%20feels%20like%20a%20compromise.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22game%20controller%22%2C%22budget%22%2C%22TMR%22%2C%22TMR%20sticks%22%2C%22Hall%20effect%22%2C%22Review%22%2C%22Hardware%22%5D%2C%22score%22%3A80%2C%22summary%22%3A%22A%20feature-rich%20budget%20TMR%20controller%20that%20only%20sometimes%20feels%20like%20a%20compromise.%22%7D%2C%7B%22id%22%3A%22euxMmPNTRBtjcL6Rz4W3kD%22%2C%22title%22%3A%22Hyperkin%20Competitor%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fhyperkin-competitor-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-24T11%3A59%3A23Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F3TEoYfnGkzXiCm8xisUHGZ.jpg%22%2C%22strapline%22%3A%22It%20competes%20with%20a%20home%20field%20advantage%20on%20bang%20for%20buck%2C%20but%20can%20fall%20short%20on%20away%20games.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22controller%22%2C%22game%20pad%22%2C%22Hyperkin%22%5D%2C%22score%22%3A72%2C%22summary%22%3A%22It%20competes%20with%20a%20home%20field%20advantage%20on%20bang%20for%20buck%2C%20but%20can%20fall%20short%20on%20away%20games.%22%7D%2C%7B%22id%22%3A%22fjGZ5xcK8LaBGjLhbCCzjU%22%2C%22title%22%3A%22Moza%20AB9%20FFB%20Base%20%2B%20MH16%20Flightstick%20%2B%20MTP%20Throttle%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fmoza-ab9-ffb-base-mh16-flightstick-mtp-throttle-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-02-18T14%3A48%3A01Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F7sPx82rcLMVn5XmFgPZj97.jpg%22%2C%22strapline%22%3A%22One%20for%20the%20serious%20flight%20simmers%2C%20but%20a%20very%20impressive%20experience.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Flight%20Sims%22%2C%22force%20feedback%22%2C%22MOZA%22%2C%22joystick%22%2C%22flight%20stick%22%2C%22throttle%20controller%22%2C%22Moza%20AB9%20FFB%20Base%22%2C%22Moza%20MH16%20Flightstick%22%2C%22MSFS%202024%22%5D%2C%22score%22%3A86%2C%22summary%22%3A%22One%20for%20the%20serious%20flight%20simmers%2C%20but%20a%20very%20impressive%20experience.%22%7D%2C%7B%22id%22%3A%22NobwmgxJUWpkrLFPmkrnxL%22%2C%22title%22%3A%22Victrix%20Pro%20BFG%20Reloaded%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fvictrix-pro-bfg-reloaded-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222025-11-05T10%3A33%3A51Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fw5YASeamdYp7YnYfoUvq.jpg%22%2C%22strapline%22%3A%22A%20boon%20for%20fight%20pad%20lovers%2C%20but%20not%20a%20controller%20for%20the%20mainstream.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22PDP%22%2C%22Turtle%20Beach%22%2C%22Hardware%22%2C%22controller%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20boon%20for%20fight%20pad%20lovers%2C%20but%20not%20a%20controller%20for%20the%20mainstream.%22%7D%2C%7B%22id%22%3A%22ifyAnNg9BLtnbkM7627JrR%22%2C%22title%22%3A%228BitDo%20Pro%203%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2F8bitdo-pro-3-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222025-10-24T16%3A21%3A45Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F2ViNbtNwhhNsspHfd3k2A5.jpg%22%2C%22strapline%22%3A%22My%20new%20everyday%20controller%2C%20despite%20its%20flaws.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22controller%22%2C%22wireless%20controller%22%2C%228bitdo%22%2C%228BitDo%20Pro%203%22%2C%22PC%20controller%22%5D%2C%22score%22%3A76%2C%22summary%22%3A%22My%20new%20everyday%20controller%2C%20despite%20its%20flaws.%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 55;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Controller Widget"></iframe></div><h2 class="article-body__section" id="section-prime-day-controller-deals"><span>Prime Day controller deals </span></h2><div class="product"><a data-dimension112="ed21522a-b8e6-11f1-aad1-9d421446b232" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="$19.89" href="https://www.walmart.com/ip/GameSir-Nova-Lite-USB-Gamepad-Wireless-Bluetooth-Joystick-for-Apple-Arcade-Games/5394301595" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:425px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qrNkN3FB5J5tnFHGYuiYtE" name="Nova Lite" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qrNkN3FB5J5tnFHGYuiYtE-1920-80.jpg" mos="" align="middle" fullscreen="" width="425" height="425" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>It's incredible to think you can spend so little and get a stick drift-resistant wireless controller that doesn't completely suck. Luckily for the GameSir Nova Lite, it does all of the above and manages to feel good and light in the hands, too. </p><p><strong>Key specs: Wireless (Bluetooth and 2.4 GHz) | Asymmetric | Hall effect</strong><a class="view-deal button" href="https://www.walmart.com/ip/GameSir-Nova-Lite-USB-Gamepad-Wireless-Bluetooth-Joystick-for-Apple-Arcade-Games/5394301595" target="_blank" rel="nofollow" data-dimension112="ed21522a-b8e6-11f1-aad1-9d421446b232" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="$19.89">View Deal</a></p></div><div class="product"><a data-dimension112="ed2152f2-b8e6-11f1-afae-61ffb3df8d38" data-action="Deal Block" data-label="Ultimate 2C" data-dimension48="Ultimate 2C" data-dimension25="$29.99" href="https://www.amazon.com/dp/B0D736BCNM/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="VzGnuWAwAyES8AAmGqAW9d" name="8BitDo Ultimate 2C Wireless Controller.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VzGnuWAwAyES8AAmGqAW9d-1920-80.jpg" mos="" align="middle" fullscreen="" width="200" height="200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0D736BCNM/?th=1" target="_blank" rel="nofollow" data-dimension112="ed2152f2-b8e6-11f1-afae-61ffb3df8d38" data-action="Deal Block" data-label="Ultimate 2C" data-dimension48="Ultimate 2C" data-dimension25="$29.99">Ultimate 2C: $29.99</a></strong><br>We've already raved about Hall effect joysticks and how they spell the end for the dreaded stick drift. In this wireless gaming controller, they're a welcome feature, but this handful of gaming hardware packs a few quirky surprises too. For instance, there are <em>extra </em>bumper buttons.</p><p><strong>Key specs: Hall effect sticks, triggers | 2.4G wireless | 19 h battery</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0D736BCNM/?th=1" target="_blank" rel="nofollow" data-dimension112="ed2152f2-b8e6-11f1-afae-61ffb3df8d38" data-action="Deal Block" data-label="Ultimate 2C" data-dimension48="Ultimate 2C" data-dimension25="$29.99">View Deal</a></p></div><div class="product"><a data-dimension112="30a0b714-c168-11f1-b9f2-fbacd14b8b5f" data-action="Deal Block" data-label="X05 Pro" data-dimension48="X05 Pro" data-dimension25="$43.69" href="https://www.amazon.com/EasySMX-X05Pro-Wireless-Gaming-Controller-Charging/dp/B0GVS7HTWZ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:425px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="3eZyZnfyR9iAHvwpLaYTFo" name="D05" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/3eZyZnfyR9iAHvwpLaYTFo-1920-80.jpg" mos="" align="middle" fullscreen="" width="425" height="425" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The X05 Pro doesn't look like a budget controller. It uses Hall effect for the thumbsticks, which makes it resistant to stick drift. Moreover, it's wireless and comes with a charging dock. It's an easy pick even at full price.</p><p><strong>Key specs: Wireless (2.4 + Bluetooth) | HE sticks </strong><a class="view-deal button" href="https://www.amazon.com/EasySMX-X05Pro-Wireless-Gaming-Controller-Charging/dp/B0GVS7HTWZ" target="_blank" rel="nofollow" data-dimension112="30a0b714-c168-11f1-b9f2-fbacd14b8b5f" data-action="Deal Block" data-label="X05 Pro" data-dimension48="X05 Pro" data-dimension25="$43.69">View Deal</a></p></div><div class="product"><a data-dimension112="ed215428-b8e6-11f1-941d-3f082096f317" data-action="Deal Block" data-label="Wireless controller" data-dimension48="Wireless controller" data-dimension25="$49.49" href="https://www.walmart.com/ip/Microsoft-Xbox-Wireless-Controller-Carbon-Black/15060559533?classType=VARIANT&athbdg=L1200&from=/search" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="YTRwUu9W6d8x3mJzaimi69" name="1781604007.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YTRwUu9W6d8x3mJzaimi69-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="2000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/Microsoft-Xbox-Wireless-Controller-Carbon-Black/15060559533?classType=VARIANT&athbdg=L1200&from=/search" target="_blank" rel="nofollow" data-dimension112="ed215428-b8e6-11f1-941d-3f082096f317" data-action="Deal Block" data-label="Wireless controller" data-dimension48="Wireless controller" data-dimension25="$49.49">Wireless controller: was $64 now $49.49</a></strong><br>It may be vulnerable to stick drift (and that's a big downside), but it's hard to deny the quality on show with Microsoft's Xbox controller. Textured grips, clicky buttons, a nice weight and feel: it's got everything you need, ergonomically speaking.</p><p><strong>Key specs: Wireless | Asymmetric sticks </strong></p><p><strong>Price watch: </strong><a href="https://www.bestbuy.com/product/microsoft-xbox-wireless-controller-for-xbox-series-x-xbox-series-s-xbox-one-pcs-and-cloud-enabled-devices-deep-pink/JJGXPXQ257" target="_blank">Best Buy $69.99</a><strong> </strong>| <a href="https://www.amazon.com/Xbox-Wireless-Gaming-Controller-Headsets-Console/dp/B0F1J12R6N/ref=sr_1_3" target="_blank">Amazon $54</a></p></div><div class="product"><a data-dimension112="ed215554-b8e6-11f1-be46-59b14b2c9a3c" data-action="Deal Block" data-label="Valor Pro (wired)" data-dimension48="Valor Pro (wired)" data-dimension25="$69.99" href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-black" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:602px;"><p class="vanilla-image-block" style="padding-top:99.83%;"><img id="drjqSuWFdQCkPHb5yYa4uK" name="Valor Pro (wired)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/drjqSuWFdQCkPHb5yYa4uK-1920-80.png" mos="" align="middle" fullscreen="" width="602" height="601" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-black" target="_blank" rel="nofollow" data-dimension112="ed215554-b8e6-11f1-be46-59b14b2c9a3c" data-action="Deal Block" data-label="Valor Pro (wired)" data-dimension48="Valor Pro (wired)" data-dimension25="$69.99">Valor Pro (wired): was $99.99 now $69.99</a></strong><br>This is the <a href="https://www.pcgamer.com/best-controller-for-pc-gaming/#section-the-best-wired-controller" target="_blank">best wired controller for PC gaming</a> because it's just so damn satisfying to use. Everything about it screams quality, from the clicky DPAD to thunky back paddles. And it's fairly modular and customizable, too.</p><p><strong>Key specs: Wired (USB-C) | Hall effect thumbsticks | 260 g</strong></p><p><strong>Price check: </strong><a href="https://www.amazon.com/gp/aw/d/B0DTB3F17W" target="_blank">Amazon $99.99</a><a class="view-deal button" href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-black" target="_blank" rel="nofollow" data-dimension112="ed215554-b8e6-11f1-be46-59b14b2c9a3c" data-action="Deal Block" data-label="Valor Pro (wired)" data-dimension48="Valor Pro (wired)" data-dimension25="$69.99">View Deal</a></p></div><div class="product"><a data-dimension112="ed21561c-b8e6-11f1-873d-1b17d12f5b27" data-action="Deal Block" data-label="Valor Pro (wireless)" data-dimension48="Valor Pro (wireless)" data-dimension25="$129.99" href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-wireless-smoke" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:909px;"><p class="vanilla-image-block" style="padding-top:98.90%;"><img id="aekqUpXBiYxL4jfFq7SoSm" name="1782128336.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/aekqUpXBiYxL4jfFq7SoSm-1920-80.jpg" mos="" align="middle" fullscreen="" width="909" height="899" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-wireless-smoke" target="_blank" rel="nofollow" data-dimension112="ed21561c-b8e6-11f1-873d-1b17d12f5b27" data-action="Deal Block" data-label="Valor Pro (wireless)" data-dimension48="Valor Pro (wireless)" data-dimension25="$129.99">Valor Pro (wireless): was $189.99 now $129.99</a></strong><br>We had a lot of good things to say about the <a href="https://www.pcgamer.com/hardware/game-pads/scuf-valor-pro-review/" target="_blank">Scuf Valor Pro in our review</a>. From its comfortable shape to its customizable design. That said, we didn't like the price much, though this deal sure helps.</p><p><strong>Key specs: 2.4 GHz wireless, Bluetooth, Wired | Hall effect thumbsticks | 260 g</strong></p><p><strong>Price check: </strong><a href="https://www.amazon.com/VALOR-Wireless-Performance-Controller-Gaming-Console/dp/B0FPXJYFRQ?th=1" target="_blank">Amazon $139.99</a> | <a href="https://www.bestbuy.com/product/scuf-valor-pro-wireless-performance-controller-for-xbox-series-xs-xbox-one-and-pc-black/J39T25KR67" target="_blank">Best Buy $139.99</a><a class="view-deal button" href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-wireless-smoke" target="_blank" rel="nofollow" data-dimension112="ed21561c-b8e6-11f1-873d-1b17d12f5b27" data-action="Deal Block" data-label="Valor Pro (wireless)" data-dimension48="Valor Pro (wireless)" data-dimension25="$129.99">View Deal</a></p></div><div class="product"><a data-dimension112="9ad2c23a-c163-11f1-9647-1f2dbcd820a7" data-action="Deal Block" data-label="Wolverine V3 Pro 8K" data-dimension48="Wolverine V3 Pro 8K" data-dimension25="$151.99" href="https://www.amazon.com/dp/B0FC9DTDJ3" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="oyWyECCjM2npsCm4FAktzU" name="PCGamer Deal Block (9)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oyWyECCjM2npsCm4FAktzU-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>With a great feel, superb specs, and a bunch of remappable buttons, the Wolverine V3 Pro 8K is not only viable as a competitive choice, but comfy enough for everyday use. </p><p><strong>Key specs: Up to 8,000 Hz | TMR thumbsticks | Hall effect triggers |</strong> <strong>included carry case | Wireless and wired | 20 hour battery life (with 1,000 Hz polling)</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FC9DTDJ3" target="_blank" rel="nofollow" data-dimension112="9ad2c23a-c163-11f1-9647-1f2dbcd820a7" data-action="Deal Block" data-label="Wolverine V3 Pro 8K" data-dimension48="Wolverine V3 Pro 8K" data-dimension25="$151.99">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><div class="vizualizer-embed"><fc-author-commerce-widget data-fcaw-version="1" data-fcaw-full-bleed="false">  <style data-fcaw-host-protection>fc-author-commerce-widget[data-fcaw-version="1"] {  display: block !important;  width: 100% !important;  min-width: 0 !important;  max-width: none !important;  isolation: isolate !important;  contain: style !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]{  width: min(    1200px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1200px !important;  margin-left: var(    --fcaw-full-bleed-offset,    calc(50% - min(600px, 50vw))  ) !important;  margin-right: 0 !important;  position: relative !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]  #tg-df-spreadsheet-filters {  width: min(    1500px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1500px !important;  margin-left: calc(    (      100% -      min(1500px, var(--fcaw-viewport-width, 100vw))    ) / 2  ) !important;  margin-right: 0 !important;}fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::before,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::after {  box-sizing: border-box;}</style>  <div data-fcaw-fallback class="fcaw-v1-fallback">    <style>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with 'tg-df-' to prevent CMS style leakage.    */    .tg-df-container { user-select: text; -webkit-user-select: text;      container-type: inline-size;      container-name: tg-df;                  --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]    {      width: min(        1200px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1200px !important;      margin-left: calc(        (          100% -          min(1200px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;      position: relative !important;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]      #tg-df-spreadsheet-filters {      width: min(        1500px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1500px !important;      margin-left: calc(        (          100% -          min(1500px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: var(--tg-df-blue);    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }        .tg-df-filters {      display: flex;      justify-content: center;      width: 100%;      gap: 12px;      margin: 0 auto;      max-width: 42rem;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;      max-width: 280px;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    .tg-df-scroll-btn {      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 4px;    }    .tg-df-scroll-btn.right {      right: 4px;    }    @container tg-df (max-width: 768px) {      .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;      margin: 0 auto;    }    .tg-df-filters {        justify-content: center;        width: 100%;        margin: 0 auto;        margin-bottom: -320px;        padding: 0 0 320px 0;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: calc(100% + 32px);      max-width: none;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;      margin: 0 -16px -16px -16px;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }    .tg-df-buying-guide-badge {      left: auto;      right: 12px;      max-width: calc(100% - 24px);      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges { position: absolute; bottom: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; z-index: 10; }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-card-listings {      margin: 0 0 12px;    }    .tg-df-card-listings-title {      display: block;      color: var(--tg-df-text-muted);      font-size: 11px;      font-weight: 700;      letter-spacing: 0.45px;      line-height: 1.2;      margin-bottom: 4px;      text-transform: uppercase;    }    .tg-df-card-listings-links {      border-top: 1px solid var(--tg-df-border);    }    .tg-df-container .tg-df-card-listing-link {      align-items: center;      border-bottom: 1px solid var(--tg-df-border);      box-sizing: border-box;      color: var(--tg-df-blue);      display: flex;      font-size: 13px;      font-weight: 700;      justify-content: space-between;      line-height: 1.2;      min-height: 34px;      padding: 5px 2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-listing-link::after {      content: '↗';      font-size: 14px;      font-weight: 600;      margin-left: 8px;    }    .tg-df-container .tg-df-card-listing-link:hover,    .tg-df-container .tg-df-card-listing-link:focus-visible {      background: #f8fafc;      color: var(--tg-df-blue);      outline: 2px solid var(--tg-df-blue);      outline-offset: -2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: calc(100% + 32px);      max-width: none;      box-sizing: border-box;      background-color: var(--tg-df-blue);      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;      margin: 0 -16px -16px -16px;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      filter: brightness(0.85);    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /* Optional mobile 2x2 filter grid */    .tg-df-mobile-2x2-container {      display: none;      width: 100%;      margin: 0 0 16px 0;      position: relative;      z-index: 30;    }    .tg-df-mobile-2x2-grid {      display: grid;      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);      width: 100%;      border: 1px solid var(--tg-df-border, #e2e8f0);      background: var(--tg-df-bg, #ffffff);    }    .tg-df-container .tg-df-mobile-grid-cell {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      min-width: 0;      padding: 12px 14px;      font-family: inherit;      font-size: 11px;      font-weight: 600;      line-height: 1.2;      text-transform: uppercase;      letter-spacing: 0.5px;      text-align: left;      color: var(--tg-df-text-muted, #64748b);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-mobile-grid-cell > span {      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }    .tg-df-mobile-grid-cell > svg {      flex: 0 0 auto;      margin-left: 8px;      transition: transform 0.15s ease;    }    .tg-df-mobile-grid-cell > svg.is-open {      transform: rotate(180deg);    }    .tg-df-mobile-grid-cell {      border-bottom: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-grid-cell:nth-child(odd) {      border-right: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-2x2-grid--even .tg-df-mobile-grid-cell:nth-last-child(-n + 2) {      border-bottom: 0;    }    .tg-df-mobile-2x2-grid--odd .tg-df-mobile-grid-cell:last-child {      grid-column: 1 / -1;      border-right: 0;      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-grid-cell.active,    .tg-df-container .tg-df-mobile-grid-cell:hover {      background: var(--tg-df-bg-secondary, #f8fafc);      color: var(--tg-df-text, #0f172a);    }    .tg-df-container .tg-df-mobile-grid-cell.has-active-filter {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;    }    .tg-df-mobile-menu-drawer {      width: 100%;      max-height: 260px;      overflow-y: auto;      overscroll-behavior: contain;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-top: 0;      background: var(--tg-df-bg, #ffffff);      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);    }    .tg-df-container .tg-df-mobile-menu-item {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      width: 100%;      min-height: 42px;      padding: 12px 16px;      font-family: inherit;      font-size: 12px;      font-weight: 500;      line-height: 1.3;      text-align: left;      color: var(--tg-df-text, #0f172a);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-bottom: 1px solid #f1f5f9;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-container .tg-df-mobile-menu-item:last-child {      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-menu-item.selected {      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.08);      font-weight: 600;    }    .tg-df-container .tg-df-mobile-menu-item:hover {      background: var(--tg-df-bg-secondary, #f8fafc);    }    .tg-df-mobile-cell-badge {      display: inline-flex;      align-items: center;      justify-content: center;      padding: 2px 6px;      margin-left: 4px;      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.1);      border-radius: 9999px;      font-size: 10px;      font-weight: 700;    }    @container tg-df (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    @media (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    /* A non-full-bleed desktop embed is constrained to the article column.       Reuse the compact filter grid there instead of squeezing the rails. */    @container tg-df (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    @media (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-mobile-authors { gap: 16px !important; }      .tg-df-mobile-authors .tg-df-author-row-item { width: 56px !important; }      .tg-df-mobile-authors .tg-df-author-img-wrapper { width: 48px !important; height: 48px !important; }      .tg-df-mobile-authors .tg-df-author-brand-logo { width: 18px !important; height: 18px !important; bottom: -2px !important; right: -2px !important; }      .tg-df-mobile-authors .tg-df-author-row-name { font-size: 11px !important; }      .tg-df-mobile-authors .tg-df-author-row-role { font-size: 10px !important; }            .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-controls {        padding: 16px 0 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 8px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    @media (max-width: 599px) {      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }        .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: var(--tg-df-blue);      position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }      .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }        .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;      scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-scroll-left {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: rgba(255, 255, 255, 0.4);      color: var(--tg-df-blue);      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);      border: none;      cursor: pointer;      transition: background-color 0.2s;      margin-top: -4px;      z-index: 10;    }    .tg-df-container .tg-df-carousel-scroll-right {      right: 0;    }    .tg-df-container .tg-df-carousel-scroll-left {      left: 0;    }    .tg-df-container .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-scroll-left:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left {       height: 30px;       width: 30px;       background-color: rgba(255, 255, 255, 0.8);       box-shadow: 0 2px 4px rgba(0,0,0,0.1);       margin-top: 0;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left:hover {       background-color: white;    }    .tg-df-container .tg-df-grid-wrapper {       position: relative;    }    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-left {       background-color: white;       box-shadow: 0 4px 12px rgba(0,0,0,0.15);       top: 40%;       width: 44px;       height: 44px;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }            .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover, .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      width: calc(100% + 24px);      border-radius: 0;      padding: 8px 10px;      margin: auto -12px -12px -12px;      background-color: var(--tg-df-blue);    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; padding-right: 12px; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @media (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }      .tg-df-container .hawk-deal-widget-title-product-title,      .tg-df-container .hawk-deal-widget-title-price,      .tg-df-container .hawk-deal-widget-title-retailer {        font-size: 14px !important;        line-height: 1.35 !important;        font-weight: 700 !important;      }      .tg-df-container .hawk-deal-widget-title-was-price {        font-size: 13px !important;        line-height: 1.35 !important;      }      .tg-df-container .hawk-deal-widget-text-body-main {        font-size: 14px !important;        line-height: 1.35 !important;        margin-bottom: 8px !important;      }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    /* BESPOKE AUTHOR HEADER STYLES - MAX ISOLATION PROTECTION */    .tg-df-author-embed {      width: 100% !important;      font-family: inherit !important;      background: transparent !important;      margin: 0 !important;      padding: 0 !important;      border: none !important;    }    .tg-df-author-section {      display: block !important;      width: 100% !important;      max-width: 100% !important;      opacity: 1 !important;      overflow: visible !important;      background: transparent !important;      border: none !important;      margin: 0 auto !important;      padding: 0 !important;      box-shadow: none !important;    }    .tg-df-author-card {      text-align: center !important;      padding: 1.75rem 1rem 1.25rem 1rem !important;      margin: 0 auto !important;      max-width: 48rem !important;      background: transparent !important;      border: none !important;      border-radius: 0 !important;      box-sizing: border-box !important;      box-shadow: none !important;    }    .tg-df-author-image {      width: 180px !important;      height: 180px !important;      border-radius: 50% !important;      object-fit: cover !important;      margin: 0 auto 0.75rem auto !important;      display: block !important;      border: none !important;      box-shadow: none !important;      max-width: 100% !important;    }    .tg-df-author-media-slot {      width: 100% !important;      height: 180px !important;      min-height: 180px !important;      margin: 0 auto 0.75rem auto !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;    }    .tg-df-author-media-slot .tg-df-author-image {      margin: 0 auto !important;    }    .tg-df-author-profile-image-wrapper {      position: relative !important;      width: 180px !important;      height: 180px !important;      margin: 0 auto 0.75rem auto !important;      flex: 0 0 auto !important;    }    .tg-df-author-profile-brand-logo {      position: absolute !important;      right: 12px !important;      bottom: 12px !important;      width: 42px !important;      height: 42px !important;      padding: 0 !important;      border: 3px solid var(--tg-df-bg, #fff) !important;      border-radius: 50% !important;      background: #000 !important;      object-fit: contain !important;      box-sizing: border-box !important;    }    .tg-df-author-curated-by {      font-size: 0.875rem !important;      color: #6B7280 !important;      font-style: normal !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      line-height: 1.4 !important;    }    .tg-df-author-name {      font-size: 2rem !important;      font-weight: 300 !important;      color: #111827 !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      line-height: 1.1 !important;      letter-spacing: -0.02em !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-role {      font-size: 0.9375rem !important;      font-weight: 500 !important;      color: var(--tg-df-blue, #1F69FF) !important;      margin: 0 0 1.25rem 0 !important;      padding: 0 !important;      line-height: 1.3 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-meta-slot {      width: 100% !important;      min-height: 88px !important;      display: flex !important;      flex-direction: column !important;      align-items: center !important;      justify-content: flex-start !important;    }    .tg-df-author-meta-slot--site {      padding-top: 1rem !important;    }    .tg-df-author-meta-slot--no-social {      min-height: 0 !important;    }    .tg-df-author-meta-slot--no-social .tg-df-author-role {      margin-bottom: 0.5rem !important;    }    .tg-df-author-social-links {      display: flex !important;      flex-wrap: wrap !important;      align-items: center !important;      justify-content: center !important;      gap: 1rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 !important;      max-width: 42rem !important;      width: 100% !important;      list-style: none !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-social-btn {      display: inline-flex !important;      align-items: center !important;      justify-content: center !important;      padding: 0 !important;      border-radius: 50% !important;      background-color: #f2f2f2 !important;      color: #111111 !important;      font-size: 0.8125rem !important;      font-weight: 500 !important;      text-decoration: none !important;      transition: all 0.2s ease !important;      border: 0 !important;      line-height: 1 !important;      box-shadow: none !important;      cursor: pointer !important;      outline: none !important;      margin: 0 !important;      height: 34px !important;      width: 34px !important;      min-width: 34px !important;      box-sizing: border-box !important;    }    .tg-df-author-social-btn:hover {      background-color: #dedede !important;      color: #111111 !important;      transform: translateY(-1px) !important;    }    .tg-df-author-social-btn > svg {      width: 19px !important;      height: 19px !important;      flex-shrink: 0 !important;      display: block !important;      margin: 0 !important;    }    .tg-df-author-social-btn[data-social-key="facebook"] > svg {      transform: scale(1.25) !important;    }    .tg-df-author-social-btn[data-social-key="pinterest"] > svg,    .tg-df-author-social-btn[data-social-key="tiktok"] > svg {      transform: scale(1.2) !important;    }    .tg-df-author-bio {      max-width: 42rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 0.5rem !important;      color: #4b5563 !important;      line-height: 1.6 !important;      font-weight: 300 !important;      font-size: 0.9375rem !important;      text-align: center !important;      background: none !important;      border: none !important;      border-radius: 0 !important;      box-shadow: none !important;      display: block !important;      height: auto !important;      overflow: visible !important;    }    .tg-df-author-bio-shell--stable {      width: 100% !important;      box-sizing: border-box !important;    }    .tg-df-author-bio--clamped {      min-height: 4.8em !important;      height: 4.8em !important;      max-height: 4.8em !important;      display: -webkit-box !important;      -webkit-box-orient: vertical !important;      -webkit-line-clamp: 3 !important;      overflow: hidden !important;    }    .tg-df-author-bio--expanded {      min-height: 4.8em !important;      height: auto !important;      max-height: none !important;      display: block !important;      overflow: visible !important;    }    .tg-df-author-bio--static,    .tg-df-author-bio--static:hover,    .tg-df-author-bio--static:focus,    .tg-df-author-bio--static:focus-visible {      outline: none !important;      box-shadow: none !important;      cursor: default !important;    }    .tg-df-author-bio-toggle-slot {      height: 28px !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;      margin: 0.125rem 0 0 !important;    }    .tg-df-author-bio-toggle {      appearance: none !important;      border: 0 !important;      border-bottom: 1px solid currentColor !important;      border-radius: 0 !important;      padding: 0.125rem 0 !important;      margin: 0 !important;      background: transparent !important;      color: #4b5563 !important;      box-shadow: none !important;      font: inherit !important;      font-size: 0.75rem !important;      font-weight: 600 !important;      line-height: 1.2 !important;      text-decoration: none !important;      text-transform: none !important;      cursor: pointer !important;    }    .tg-df-author-bio a {      color: var(--tg-df-blue, #1F69FF) !important;      text-decoration: underline !important;      font-weight: 400 !important;      background: none !important;      border: none !important;      padding: 0 !important;      margin: 0 !important;      border-radius: 0 !important;      display: inline !important;      box-shadow: none !important;    }    .tg-df-author-bio p,    .tg-df-author-bio div,    .tg-df-author-bio span {      margin: 0 !important;      padding: 0 !important;      color: inherit !important;      font: inherit !important;      line-height: inherit !important;      text-align: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-bio strong,    .tg-df-author-bio b {      font-weight: 600 !important;    }    .tg-df-author-bio em,    .tg-df-author-bio i {      font-style: italic !important;    }    @container tg-df (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @media (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @container tg-df (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @media (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }    @media (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }        .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button {      align-items: center; background-color: var(--tg-df-blue); box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;    }    .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button:hover { filter: brightness(0.85); text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-active-badges-row {      display: flex;      flex-wrap: wrap;      gap: 8px;      align-items: center;      margin-top: 12px;      margin-bottom: 16px;      width: 100%;    }    .tg-df-active-badge {      display: inline-flex;      align-items: center;      gap: 6px;      padding: 8px 14px;      background-color: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border: 1px solid var(--tg-df-blue, #1f69ff);      border-radius: 0px;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;    }    .tg-df-badge-remove {      display: inline-flex;      align-items: center;      justify-content: center;      width: 16px;      height: 16px;      border-radius: 0px;      border: none;      background: rgba(255, 255, 255, 0.25);      color: #ffffff;      cursor: pointer;      padding: 0;      margin-left: 4px;      transition: background-color 0.15s, color 0.15s;    }    .tg-df-badge-remove:hover {      background: rgba(255, 255, 255, 0.45);      color: #ffffff;    }    .tg-df-badge-clear-all {      display: inline-flex;      align-items: center;      justify-content: center;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;      padding: 8px 14px;      color: var(--tg-df-text-muted, #64748b);      cursor: pointer;      background: #ffffff;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-radius: 0px;      transition: all 0.15s ease;    }    .tg-df-badge-clear-all:hover {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border-color: var(--tg-df-blue, #1f69ff);    }    .tg-df-savings-squad-header {      margin-bottom: 24px;      text-align: center;    }    .tg-df-banner-img-desktop {      display: block;      width: 100%;      height: auto;      margin-bottom: 32px;    }    .tg-df-banner-img-mobile {      display: none;      width: 100%;      height: auto;      margin-bottom: 32px;    }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop {        display: none;      }      .tg-df-banner-img-mobile {        display: block;      }    }    .tg-df-header-title {      font-size: 28px;      font-weight: 700;      color: var(--tg-df-text);      margin: 32px 0 12px 0;      line-height: 1.3;    }    .tg-df-header-subtitle {      font-size: 16px;      color: var(--tg-df-text-muted);      margin: 0 0 32px 0;      line-height: 1.5;    }    @container tg-df (max-width: 599px) {      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    @media (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    /* Article Intro Content Styling */    .tg-df-article-content {      font-size: 1rem;      line-height: 1.7;      color: #334155;    }    .tg-df-article-content p {      margin-bottom: 1.25rem;      line-height: 1.7;      font-size: 1rem;      color: #334155;    }    .tg-df-article-content > p:first-of-type::first-letter {      font-size: 3.25rem;      font-weight: 700;      float: left;      line-height: 0.85;      margin-right: 0.5rem;      margin-top: 0.15rem;      color: #0f172a;      font-family: inherit;    }    .tg-df-article-content a {      color: #0066cc;      text-decoration: underline;      font-weight: 500;    }    .tg-df-article-content a:hover {      color: #004499;    }    .tg-df-article-content strong, .tg-df-article-content b {      font-weight: 700;      color: #0f172a;    }    .tg-df-article-section-banner {      border-bottom: 2px solid #e6007e;      margin: 2.25rem 0 1.25rem 0;      position: relative;      clear: both;    }    .tg-df-article-section-banner span {      background-color: #e6007e;      color: #ffffff;      padding: 6px 16px;      font-weight: 700;      font-size: 0.875rem;      text-transform: uppercase;      letter-spacing: 0.05em;      display: inline-block;    }  </style><div class="tg-df-widget-host" data-vizualizer-embed="true" data-tg-df-full-bleed="false" data-tg-df-mobile-dropdowns="true" data-tg-df-sticky-mobile-filters="false" style="--tg-df-blue: #DC191B;"><div class="tg-df-container article-body" style="background-color: transparent;"><div id="tg-df-spreadsheet-filters" style="display: block; margin-bottom: 16px;"><div class="tg-df-categories-row-container" style="border-bottom: 1px solid var(--tg-df-border); position: relative;"><button aria-label="Scroll left" class="tg-df-scroll-btn left tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 18l-6-6 6-6"></path></svg></button><button aria-label="Scroll right" class="tg-df-scroll-btn right tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-categories-row" style="display: flex; overflow-x: auto; scrollbar-width: none;"><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Hardware <span style="color: var(--tg-df-blue); font-size: 10px;">66</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Monitors <span style="color: var(--tg-df-blue); font-size: 10px;">9</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming PCs <span style="color: var(--tg-df-blue); font-size: 10px;">7</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Mice <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Headsets <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Audio <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">SSDs <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Storage <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Laptops <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Controllers <span style="color: var(--tg-df-blue); font-size: 10px;">1</span></button></div></div></div><div class="tg-df-mobile-2x2-container"><div class="tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--odd"><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>CATEGORIES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>PRICES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell has-active-filter" aria-expanded="false"><span>DISCOUNTS (25%+)</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button></div></div><div class="tg-df-controls" id="tg-df-controls" style="display: flex; margin-top: 12px; margin-bottom: 16px; justify-content: center;"><div class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0px auto;"><button class="tg-df-scroll-btn left" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 18l-6-6 6-6"></path></svg></button><button class="tg-df-scroll-btn right" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-filters"><div class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices"><option value="all">All Prices</option><option value="under50">Under $50</option><option value="50_100">$50 - $100</option><option value="100_200">$100 - $200</option><option value="200_500">$200 - $500</option><option value="over500">Over $500</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount"><option value="all">Any discount</option><option value="5">Min 5%</option><option value="10">Min 10%</option><option value="15">Min 15%</option><option value="20">Min 20%</option><option value="25">Min 25%</option><option value="30">Min 30%</option><option value="40">Min 40%</option><option value="50">Min 50%</option><option value="60">Min 60%</option><option value="70">Min 70%</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-review-sort-wrapper" style="display: none;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 7h16M7 12h10m-7 5h4"></path></svg><select class="tg-df-filter-select" id="tg-df-review-sort" aria-label="Sort Reviews"><option value="date_desc">Most recent</option><option value="rating_desc">Highest rating</option><option value="scored_first">Scored products first</option></select></div></div></div></div><div class="tg-df-active-badges-row" style="display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 10px; margin-bottom: 16px;"><span class="tg-df-active-badge">Min 25% off<button type="button" class="tg-df-badge-remove" aria-label="Remove Min 25% off"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></span></div><div class="tg-df-grid-wrapper"><div class="tg-df-grid article-body tg-df-grid-auto" id="tg-df-grid"><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-0" data-merchant="Amazon" data-previous-price="34.99" data-price="25.99" data-product-name="G203 | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $9</span><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G203 | Wired" class="tg-df-card-image" loading="lazy" src="http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G203 | Wired"><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G203 | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>25.99</span></span><span class="tg-df-card-msrp">$34.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Glorious" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-0" data-merchant="Amazon" data-previous-price="59.99" data-price="26.31" data-product-name="GHS Eternal | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33.68</span><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="GHS Eternal | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="GHS Eternal | 40 mm drivers"><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Glorious GHS Eternal | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>26.31</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-1" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed | Wireless"><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-86" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed"><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-87" data-merchant="Bestbuy" data-previous-price="69.99" data-price="34.98" data-product-name="Basilisk V3"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35.01</span><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Basilisk V3" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Basilisk V3"><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Basilisk V3</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>34.98</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-3" data-merchant="Amazon" data-previous-price="69.99" data-price="37.99" data-product-name="G502 Hero | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $32</span><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G502 Hero | Wired" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G502 Hero | Wired"><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G502 Hero | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>37.99</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-80" data-merchant="Amazon" data-previous-price="59.99" data-price="39.79" data-product-name="BlackShark V2 X"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20.2</span><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="BlackShark V2 X" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="BlackShark V2 X"><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer BlackShark V2 X</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.79</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-1" data-merchant="Amazon" data-previous-price="79.99" data-price="39.99" data-product-name="G432 | 50 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $40</span><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G432 | 50 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G432 | 50 mm drivers"><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G432 | 50 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-2" data-merchant="Amazon" data-previous-price="79.99" data-price="44.99" data-product-name="Kraken V4 X | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35</span><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Kraken V4 X | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Kraken V4 X | 40 mm drivers"><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Kraken V4 X | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>44.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Turtle Beach" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-5" data-merchant="Amazon" data-previous-price="99.99" data-price="54.99" data-product-name="Burst II Air | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $45</span><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Burst II Air | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Burst II Air | Wireless"><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Turtle Beach Burst II Air | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>54.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="HyperX" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-5" data-merchant="Amazon" data-previous-price="99.99" data-price="57.99" data-product-name="Cloud III | 53 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $42</span><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Cloud III | 53 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Cloud III | 53 mm drivers"><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>HyperX Cloud III | 53 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>57.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Nothing" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-15" data-merchant="Amazon" data-previous-price="79" data-price="59" data-product-name="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Nothing Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>59</span></span><span class="tg-df-card-msrp">$79</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="KTC" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-40" data-merchant="Newegg" data-previous-price="99.99" data-price="62.49" data-product-name="H24V27"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $37.5</span><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="H24V27" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="H24V27"><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>KTC H24V27</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code &quot;LDSF246&quot; for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>62.49</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Scuf" data-currency="$" data-deal-id="airedale-A97h9Ug45WeF5xPLdcoJyf-0" data-merchant="Amazon" data-previous-price="109.99" data-price="76.99" data-product-name="Valor Pro"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33</span><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Valor Pro" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Valor Pro"><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Scuf Valor Pro</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>76.99</span></span><span class="tg-df-card-msrp">$109.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Jess Kinghorn" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/controllers/the-best-wired-pc-controller-has-been-knocked-down-to-usd77-so-long-as-you-dont-mind-it-in-white" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Jess Kinghorn</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 24 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Acer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-41" data-merchant="Newegg" data-previous-price="129.99" data-price="79.99" data-product-name="AOpen 24KG1Y X3bip"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="AOpen 24KG1Y X3bip" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="AOpen 24KG1Y X3bip"><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Acer AOpen 24KG1Y X3bip</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Asus" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-82" data-merchant="Amazon" data-previous-price="129.99" data-price="79.99" data-product-name="ROG Pelta"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="ROG Pelta" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="ROG Pelta"><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Asus ROG Pelta</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-43" data-merchant="Bestbuy" data-previous-price="149.99" data-price="97.49" data-product-name="MAG 244F"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $52.5</span><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 244F" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 244F"><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 244F</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>97.49</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-UBBZiFU9BXsLfvbZ8d4awf-1" data-merchant="Walmart" data-previous-price="149.99" data-price="99" data-product-name="MAG 255XFV"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50.99</span><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 255XFV" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 255XFV"><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 255XFV</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>99</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Walmart</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/amazon-prime-day-gaming-monitor-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-load-more-control" style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1; overflow-anchor: none;"><button type="button" class="tg-df-tag-outline" aria-busy="false" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More</button></div><script type="application/ld+json">{"@context":"https://schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Product","name":"G203 | Wired","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":25.99,"url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":2,"item":{"@type":"Product","name":"GHS Eternal | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","brand":{"@type":"Brand","name":"Glorious"},"offers":{"@type":"Offer","priceCurrency":"USD","price":26.31,"url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":3,"item":{"@type":"Product","name":"G305 Lightspeed | Wireless","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":4,"item":{"@type":"Product","name":"G305 Lightspeed","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/dp/B07CMS5Q6P","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":5,"item":{"@type":"Product","name":"Basilisk V3","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":34.98,"url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":6,"item":{"@type":"Product","name":"G502 Hero | Wired","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":37.99,"url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":7,"item":{"@type":"Product","name":"BlackShark V2 X","image":"https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg","description":"The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.79,"url":"https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":8,"item":{"@type":"Product","name":"G432 | 50 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg","description":"Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.99,"url":"https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":9,"item":{"@type":"Product","name":"Kraken V4 X | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg","description":"If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":44.99,"url":"https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":10,"item":{"@type":"Product","name":"Burst II Air | Wireless","image":"https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg","description":"We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99","brand":{"@type":"Brand","name":"Turtle Beach"},"offers":{"@type":"Offer","priceCurrency":"USD","price":54.99,"url":"https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":11,"item":{"@type":"Product","name":"Cloud III | 53 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg","description":"We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99","brand":{"@type":"Brand","name":"HyperX"},"offers":{"@type":"Offer","priceCurrency":"USD","price":57.99,"url":"https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":12,"item":{"@type":"Product","name":"Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)","image":"https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png","description":"These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response","brand":{"@type":"Brand","name":"Nothing"},"offers":{"@type":"Offer","priceCurrency":"USD","price":59,"url":"https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":13,"item":{"@type":"Product","name":"H24V27","image":"https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png","description":"This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code "LDSF246" for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA","brand":{"@type":"Brand","name":"KTC"},"offers":{"@type":"Offer","priceCurrency":"USD","price":62.49,"url":"https://www.newegg.com/p/3D4-007C-00016","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":14,"item":{"@type":"Product","name":"Valor Pro","image":"https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png","description":"This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks","brand":{"@type":"Brand","name":"Scuf"},"offers":{"@type":"Offer","priceCurrency":"USD","price":76.99,"url":"https://www.amazon.com/dp/B0DTB3QCS5","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":15,"item":{"@type":"Product","name":"AOpen 24KG1Y X3bip","image":"https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png","description":"With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"Acer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.newegg.com/p/N82E16824011533","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":16,"item":{"@type":"Product","name":"ROG Pelta","image":"https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg","description":"With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life","brand":{"@type":"Brand","name":"Asus"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":17,"item":{"@type":"Product","name":"MAG 244F","image":"https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png","description":"With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":97.49,"url":"https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":18,"item":{"@type":"Product","name":"MAG 255XFV","image":"https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg","description":"You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":99,"url":"https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174","seller":{"@type":"Organization","name":"Walmart"}}}}]}</script></div></div><div class="tg-df-modal-backdrop "><div class="tg-df-modal"><div class="tg-df-modal-header"><h3 class="tg-df-modal-title">Available Coupons & Deals</h3><button class="tg-df-modal-close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="tg-df-modal-body"><div class="tg-df-message">No active vouchers found for .</div></div></div></div></div></div>  </div>  <script type="application/json" data-fcaw-config>{"authorBioLength":"short","authorFullBleed":false,"authorHandle":"all-authors","authorName":"All authors","backgroundColor":"transparent","customBio":"","discountAmount":"25","editorMode":false,"editorialMaxAgeMonths":"0","includeBuyingGuideProducts":false,"includeCollections":false,"includeDeals":true,"includeReviewProducts":false,"mobileDropdowns":true,"stickyMobileFilters":false,"offerType":"","preloadReviewInventory":false,"lightweightReviewDelivery":false,"hideHawkPrices":false,"prioritiseCommercialProducts":true,"priceRange":"all","productSelection":"mix","query":"","region":"auto","resultCount":"6","retailer":"","selectedBrands":[],"showAuthorBio":false,"showAuthorCounters":true,"showAuthorIdentity":false,"showAuthorRail":false,"showBrandRail":false,"showCategoryRail":true,"showCollectionsDropdown":false,"showPriceDiscountFilters":true,"showReviewSort":false,"showSocialButtons":false,"showCountdown":false,"showHeaderDetails":true,"showFreeformTagRail":false,"sort":"price_asc","viewMode":"author","website":"pcgamer","widgetSubtitle":"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.","widgetTitle":"Top Deals Handpicked by Our Editors","brands":[],"shortenedHeadlines":{},"compactEmbed":true}</script>  <script type="application/json" data-fcaw-preload>{"authors":[{"bioLong":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","bioShort":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","name":"James","fullName":"James Bentley","handle":"james-bentley","role":"Hardware writer","image":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","brandKey":"pcgamer"},{"bioLong":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","bioShort":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","name":"Dave","fullName":"Dave James","handle":"dave-james","role":"Editor-in-Chief, Hardware","image":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/not_the_gk","label":"X (Twitter)"},{"key":"email","href":"mailto:dave.james@futurenet.com","label":"Email"}]},{"bioLong":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","bioShort":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","name":"Jacob","fullName":"Jacob Fox","handle":"jacob-fox","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","brandKey":"pcgamer"},{"bioLong":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","bioShort":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","name":"Andy","fullName":"Andy Edser","handle":"andy-edser","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","brandKey":"pcgamer"},{"bioLong":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","bioShort":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","name":"Jess","fullName":"Jess Kinghorn","handle":"jess-kinghorn","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/KoeniginKatze","label":"X (Twitter)"},{"key":"linkedin","href":"https://www.linkedin.com/in/jess-kinghorn","label":"LinkedIn"}]}],"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"activeDealTag":null,"activeFreeformTag":null,"activeFreeformTags":[],"couponMap":{"Amazon":"has","Bestbuy":"none","Newegg":"none","Walmart":"none"},"totalAuthorCount":5,"totalDealCount":56,"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"reviewInventoryBaked":false,"regionalDealManifests":{"US":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-0","url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":25.99,"rawMsrp":34.99,"price":"25.99","msrp":"34.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $9","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362\" target=\"_blank\"\u003eBest Buy $39.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-0","url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","title":"GHS Eternal | 40 mm drivers","brand":"Glorious","productName":"GHS Eternal | 40 mm drivers","merchant":"Amazon","rawPrice":26.31,"rawMsrp":59.99,"price":"26.31","msrp":"59.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $33.68","savingType":"amount","isPrime":false,"starRating":null,"description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","text":"\u003cp\u003eWith a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20 hz - 20 kHz | 255 g\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-1","url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite budget wireless mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR\" target=\"_blank\"\u003eBest Buy $49.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-86","url":"https://www.amazon.com/dp/B07CMS5Q6P","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","title":"G305 Lightspeed","brand":"Logitech","productName":"G305 Lightspeed","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","text":"\u003cp\u003eAlready reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-87","url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","title":"Basilisk V3","brand":"Razer","productName":"Basilisk V3","merchant":"Bestbuy","rawPrice":34.98,"rawMsrp":69.99,"price":"34.98","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $35.01","savingType":"amount","isPrime":false,"starRating":null,"description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","text":"\u003cp\u003eThis mouse might be a few years old, but we scored it highly in \u003ca href=\"https://www.pcgamer.com/razer-basilisk-v3-gaming-mouse-review/\" target=\"_blank\"\u003eour review\u003c/a\u003e in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to \u003ca href=\"https://www.pcgamer.com/hardware/im-ashamed-to-say-that-this-razer-mouse-has-made-me-actually-take-a-shine-to-rgb-and-now-you-can-be-persuaded-too-for-almost-50-percent-off/\" target=\"_blank\"\u003etempt even those who usually hate RGB lighting\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-3","url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":37.99,"rawMsrp":69.99,"price":"37.99","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $32","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","text":"\u003cp\u003eThis is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133\" target=\"_blank\"\u003eBest Buy $69.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true}],"GB":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-10","url":"https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":19.99,"rawMsrp":30.99,"price":"19.99","msrp":"30.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £11","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-11","url":"https://www.amazon.co.uk/Logitech-Wireless-Lightweight-Programmable-compatible/dp/B07CGPZ3ZQ","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":19.99,"rawMsrp":27.99,"price":"19.99","msrp":"27.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £8","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite wireless budget mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays. Key specs: Wireless | 12,000 DPI | Right-handed","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite wireless budget mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-19","url":"https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/","image":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","title":"Quantum 100 | 40 mm drivers","brand":"JBL","productName":"Quantum 100 | 40 mm drivers","merchant":"Amazon","rawPrice":19.99,"rawMsrp":29.99,"price":"19.99","msrp":"29.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £10","savingType":"amount","isPrime":false,"starRating":null,"description":"JBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired","text":"\u003cp\u003eJBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-12","url":"https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":22.01,"rawMsrp":37.79,"price":"22.01","msrp":"37.79","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £15.78","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness. Key specs: Wired | 25,600 DPI | Right-handed","text":"\u003cp\u003eThis is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-23","url":"https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1","image":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","title":"G321 Lightspeed | 40 mm drivers","brand":"Logitech","productName":"G321 Lightspeed | 40 mm drivers","merchant":"Amazon","rawPrice":32.99,"rawMsrp":59.99,"price":"32.99","msrp":"59.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £27","savingType":"amount","isPrime":false,"starRating":null,"description":"This very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in his review. It won't blow you away with bass or features, but at this price it's still worth considering. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless Price check: Currys £42.99","text":"\u003cp\u003eThis very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in \u003ca href=\"https://www.pcgamer.com/hardware/gaming-headsets/logitech-g321-lightspeed-review/\" target=\"_blank\"\u003ehis review\u003c/a\u003e. It won't blow you away with bass or features, but at this price it's still worth considering.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless \u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g321-lightspeed-wireless-bluetooth-gaming-headset-black-10289632.html\" target=\"_blank\"\u003eCurrys £42.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-20","url":"https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/","image":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","title":"G335 | 40 mm drivers","brand":"Logitech","productName":"G335 | 40 mm drivers","merchant":"Amazon","rawPrice":34.99,"rawMsrp":64.99,"price":"34.99","msrp":"64.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £30","savingType":"amount","isPrime":false,"starRating":null,"description":"This Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired Price check: Currys £34.99","text":"\u003cp\u003eThis Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g335-gaming-headset-black-10227173.html\" target=\"_blank\"\u003eCurrys £34.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true}],"AU":[{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-5","url":"https://www.amazon.com.au/JBL-QuantumSOUND-Signature-Comfortable-Breathable/dp/B0D6NLHV8N","image":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","title":"Quantum 100M2","brand":"JBL","productName":"Quantum 100M2","merchant":"Amazon","rawPrice":29,"rawMsrp":59.95,"price":"29","msrp":"59.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$30.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.","text":"\u003cp\u003eIf you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-1","url":"https://www.amazon.com.au/dp/B0CMCPY4VG","image":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","title":"Nova Lite","brand":"GameSir","productName":"Nova Lite","merchant":"Amazon","rawPrice":32,"rawMsrp":45,"price":"32","msrp":"45","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$13","savingType":"amount","isPrime":false,"starRating":null,"description":"Our favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.","text":"\u003cp\u003eOur favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-15","url":"https://www.amazon.com.au/dp/B07MG5547J","image":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","title":"G502 Hero","brand":"Logitech","productName":"G502 Hero","merchant":"Amazon","rawPrice":55.99,"rawMsrp":149.95,"price":"55.99","msrp":"149.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$93.96","savingType":"amount","isPrime":false,"starRating":null,"description":"Logitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;","text":"\u003cp\u003eLogitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-8","url":"https://www.amazon.com.au/CORSAIR-Membrane-Wired-Gaming-Keyboard/dp/B0CP6BR96G","image":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","title":"K55 Core Membrane","brand":"Corsair","productName":"K55 Core Membrane","merchant":"Amazon","rawPrice":59,"rawMsrp":79.95,"price":"59","msrp":"79.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$20.95","savingType":"amount","isPrime":false,"starRating":null,"description":"This discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.","text":"\u003cp\u003eThis discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-11","url":"https://www.amazon.com.au/dp/B01K48R5V4","image":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","fallbackImage":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","title":"G G213 Prodigy","brand":"Logitech","productName":"G G213 Prodigy","merchant":"Amazon","rawPrice":72,"rawMsrp":129.95,"price":"72","msrp":"129.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$57.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.","text":"\u003cp\u003eIf you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-13","url":"https://www.amazon.com.au/CORSAIR-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8/","image":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","title":"Sabre v2 Pro","brand":"Corsair","productName":"Sabre v2 Pro","merchant":"Amazon","rawPrice":79,"rawMsrp":169,"price":"79","msrp":"169","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$90","savingType":"amount","isPrime":false,"starRating":null,"description":"The Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox loved its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life.","text":"\u003cp\u003eThe Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox \u003ca href=\"https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/\"\u003eloved\u003c/a\u003e its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life. \u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true}]},"regionalDealRailData":{"US":{"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"totalAuthorCount":5,"totalDealCount":56},"GB":{"brands":[{"formatted_value":"Logitech","count":6},{"formatted_value":"Steelseries","count":2},{"formatted_value":"EarFun","count":2},{"formatted_value":"Lexar","count":2},{"formatted_value":"AOC","count":2},{"formatted_value":"MSI","count":2},{"formatted_value":"JBL","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Turtle Beach","count":1}],"freeformTagCounts":{"hardware":17,"mouse":5,"gaming-mouse":5,"prime-day":5,"amazon-prime-day-2026":14,"amazon-prime-day":17,"prime-day-deals":8,"deals":17,"deal":17,"big-deal-days":17,"gaming-headset":9,"amazon-prime":3,"ssd":1,"pc-deals":3,"gaming-monitor":2,"monitors":2,"solid-state-drive":1,"solid-state":1,"hdd":1,"hard-drive":1,"storage":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"}],"tagCounts":{"Gaming Mice":5,"Hardware":17,"Gaming Headsets":9,"Gaming Audio":9,"SSDs":1,"Storage":1,"Gaming Monitors":2},"tags":["Hardware","Gaming Headsets","Gaming Audio","Gaming Mice","Gaming Monitors","SSDs","Storage"],"totalAuthorCount":4,"totalDealCount":17},"AU":{"brands":[{"formatted_value":"Logitech","count":7},{"formatted_value":"Corsair","count":4},{"formatted_value":"JBL","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"GameSir","count":1},{"formatted_value":"8BitDo","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Asus","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"SteelSeries","count":1}],"freeformTagCounts":{"hardware":20,"amazon-prime":20,"pc-deals":20,"deals":20,"prime-day-deals":20},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"}],"tagCounts":{"Hardware":20},"tags":["Hardware"],"totalAuthorCount":1,"totalDealCount":20}}}</script></fc-author-commerce-widget><script>(()=>{var Z1=Object.create;var cg=Object.defineProperty;var W1=Object.getOwnPropertyDescriptor;var I1=Object.getOwnPropertyNames;var J1=Object.getPrototypeOf,$1=Object.prototype.hasOwnProperty;var un=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var eb=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of I1(t))!$1.call(e,l)&&l!==n&&cg(e,l,{get:()=>t[l],enumerable:!(a=W1(t,l))||a.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Z1(J1(e)):{},eb(t||!e||!e.__esModule?cg(n,"default",{value:e,enumerable:!0}):n,e));var Ag=un(z=>{"use strict";var Tc=Symbol.for("react.transitional.element"),tb=Symbol.for("react.portal"),nb=Symbol.for("react.fragment"),ab=Symbol.for("react.strict_mode"),lb=Symbol.for("react.profiler"),ib=Symbol.for("react.consumer"),rb=Symbol.for("react.context"),ob=Symbol.for("react.forward_ref"),ub=Symbol.for("react.suspense"),cb=Symbol.for("react.memo"),mg=Symbol.for("react.lazy"),sb=Symbol.for("react.activity"),sg=Symbol.iterator;function db(e){return e===null||typeof e!="object"?null:(e=sg&&e[sg]||e["@@iterator"],typeof e=="function"?e:null)}var hg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pg=Object.assign,yg={};function ml(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}ml.prototype.isReactComponent={};ml.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ml.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function vg(){}vg.prototype=ml.prototype;function Ec(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}var Dc=Ec.prototype=new vg;Dc.constructor=Ec;pg(Dc,ml.prototype);Dc.isPureReactComponent=!0;var dg=Array.isArray;function Rc(){}var he={H:null,A:null,T:null,S:null},bg=Object.prototype.hasOwnProperty;function xc(e,t,n){var a=n.ref;return{$$typeof:Tc,type:e,key:t,ref:a!==void 0?a:null,props:n}}function fb(e,t){return xc(e.type,t,e.props)}function Mc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function gb(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var fg=/\/+/g;function Cc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?gb(""+e.key):t.toString(36)}function mb(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Rc,Rc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function gl(e,t,n,a,l){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var r=!1;if(e===null)r=!0;else switch(i){case"bigint":case"string":case"number":r=!0;break;case"object":switch(e.$$typeof){case Tc:case tb:r=!0;break;case mg:return r=e._init,gl(r(e._payload),t,n,a,l)}}if(r)return l=l(e),r=a===""?"."+Cc(e,0):a,dg(l)?(n="",r!=null&&(n=r.replace(fg,"$&/")+"/"),gl(l,t,n,"",function(c){return c})):l!=null&&(Mc(l)&&(l=fb(l,n+(l.key==null||e&&e.key===l.key?"":(""+l.key).replace(fg,"$&/")+"/")+r)),t.push(l)),1;r=0;var o=a===""?".":a+":";if(dg(e))for(var u=0;u<e.length;u++)a=e[u],i=o+Cc(a,u),r+=gl(a,t,n,i,l);else if(u=db(e),typeof u=="function")for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,i=o+Cc(a,u++),r+=gl(a,t,n,i,l);else if(i==="object"){if(typeof e.then=="function")return gl(mb(e),t,n,a,l);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return r}function ro(e,t,n){if(e==null)return e;var a=[],l=0;return gl(e,a,"","",function(i){return t.call(n,i,l++)}),a}function hb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var gg=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},pb={map:ro,forEach:function(e,t,n){ro(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ro(e,function(){t++}),t},toArray:function(e){return ro(e,function(t){return t})||[]},only:function(e){if(!Mc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};z.Activity=sb;z.Children=pb;z.Component=ml;z.Fragment=nb;z.Profiler=lb;z.PureComponent=Ec;z.StrictMode=ab;z.Suspense=ub;z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=he;z.__COMPILER_RUNTIME={__proto__:null,c:function(e){return he.H.useMemoCache(e)}};z.cache=function(e){return function(){return e.apply(null,arguments)}};z.cacheSignal=function(){return null};z.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=pg({},e.props),l=e.key;if(t!=null)for(i in t.key!==void 0&&(l=""+t.key),t)!bg.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(a[i]=t[i]);var i=arguments.length-2;if(i===1)a.children=n;else if(1<i){for(var r=Array(i),o=0;o<i;o++)r[o]=arguments[o+2];a.children=r}return xc(e.type,l,a)};z.createContext=function(e){return e={$$typeof:rb,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:ib,_context:e},e};z.createElement=function(e,t,n){var a,l={},i=null;if(t!=null)for(a in t.key!==void 0&&(i=""+t.key),t)bg.call(t,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(l[a]=t[a]);var r=arguments.length-2;if(r===1)l.children=n;else if(1<r){for(var o=Array(r),u=0;u<r;u++)o[u]=arguments[u+2];l.children=o}if(e&&e.defaultProps)for(a in r=e.defaultProps,r)l[a]===void 0&&(l[a]=r[a]);return xc(e,i,l)};z.createRef=function(){return{current:null}};z.forwardRef=function(e){return{$$typeof:ob,render:e}};z.isValidElement=Mc;z.lazy=function(e){return{$$typeof:mg,_payload:{_status:-1,_result:e},_init:hb}};z.memo=function(e,t){return{$$typeof:cb,type:e,compare:t===void 0?null:t}};z.startTransition=function(e){var t=he.T,n={};he.T=n;try{var a=e(),l=he.S;l!==null&&l(n,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Rc,gg)}catch(i){gg(i)}finally{t!==null&&n.types!==null&&(t.types=n.types),he.T=t}};z.unstable_useCacheRefresh=function(){return he.H.useCacheRefresh()};z.use=function(e){return he.H.use(e)};z.useActionState=function(e,t,n){return he.H.useActionState(e,t,n)};z.useCallback=function(e,t){return he.H.useCallback(e,t)};z.useContext=function(e){return he.H.useContext(e)};z.useDebugValue=function(){};z.useDeferredValue=function(e,t){return he.H.useDeferredValue(e,t)};z.useEffect=function(e,t){return he.H.useEffect(e,t)};z.useEffectEvent=function(e){return he.H.useEffectEvent(e)};z.useId=function(){return he.H.useId()};z.useImperativeHandle=function(e,t,n){return he.H.useImperativeHandle(e,t,n)};z.useInsertionEffect=function(e,t){return he.H.useInsertionEffect(e,t)};z.useLayoutEffect=function(e,t){return he.H.useLayoutEffect(e,t)};z.useMemo=function(e,t){return he.H.useMemo(e,t)};z.useOptimistic=function(e,t){return he.H.useOptimistic(e,t)};z.useReducer=function(e,t,n){return he.H.useReducer(e,t,n)};z.useRef=function(e){return he.H.useRef(e)};z.useState=function(e){return he.H.useState(e)};z.useSyncExternalStore=function(e,t,n){return he.H.useSyncExternalStore(e,t,n)};z.useTransition=function(){return he.H.useTransition()};z.version="19.2.8"});var ft=un((zS,wg)=>{"use strict";wg.exports=Ag()});var Bg=un(Se=>{"use strict";function Oc(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,l=e[a];if(0<oo(l,t))e[a]=t,e[n]=l,n=a;else break e}}function cn(e){return e.length===0?null:e[0]}function co(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,l=e.length,i=l>>>1;a<i;){var r=2*(a+1)-1,o=e[r],u=r+1,c=e[u];if(0>oo(o,n))u<l&&0>oo(c,o)?(e[a]=c,e[u]=n,a=u):(e[a]=o,e[r]=n,a=r);else if(u<l&&0>oo(c,n))e[a]=c,e[u]=n,a=u;else break e}}return t}function oo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Se.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Sg=performance,Se.unstable_now=function(){return Sg.now()}):(_c=Date,Cg=_c.now(),Se.unstable_now=function(){return _c.now()-Cg});var Sg,_c,Cg,wn=[],Qn=[],yb=1,Ut=null,et=3,kc=!1,Mi=!1,_i=!1,Lc=!1,Eg=typeof setTimeout=="function"?setTimeout:null,Dg=typeof clearTimeout=="function"?clearTimeout:null,Rg=typeof setImmediate<"u"?setImmediate:null;function uo(e){for(var t=cn(Qn);t!==null;){if(t.callback===null)co(Qn);else if(t.startTime<=e)co(Qn),t.sortIndex=t.expirationTime,Oc(wn,t);else break;t=cn(Qn)}}function Hc(e){if(_i=!1,uo(e),!Mi)if(cn(wn)!==null)Mi=!0,pl||(pl=!0,hl());else{var t=cn(Qn);t!==null&&zc(Hc,t.startTime-e)}}var pl=!1,Bi=-1,xg=5,Mg=-1;function _g(){return Lc?!0:!(Se.unstable_now()-Mg<xg)}function Bc(){if(Lc=!1,pl){var e=Se.unstable_now();Mg=e;var t=!0;try{e:{Mi=!1,_i&&(_i=!1,Dg(Bi),Bi=-1),kc=!0;var n=et;try{t:{for(uo(e),Ut=cn(wn);Ut!==null&&!(Ut.expirationTime>e&&_g());){var a=Ut.callback;if(typeof a=="function"){Ut.callback=null,et=Ut.priorityLevel;var l=a(Ut.expirationTime<=e);if(e=Se.unstable_now(),typeof l=="function"){Ut.callback=l,uo(e),t=!0;break t}Ut===cn(wn)&&co(wn),uo(e)}else co(wn);Ut=cn(wn)}if(Ut!==null)t=!0;else{var i=cn(Qn);i!==null&&zc(Hc,i.startTime-e),t=!1}}break e}finally{Ut=null,et=n,kc=!1}t=void 0}}finally{t?hl():pl=!1}}}var hl;typeof Rg=="function"?hl=function(){Rg(Bc)}:typeof MessageChannel<"u"?(Nc=new MessageChannel,Tg=Nc.port2,Nc.port1.onmessage=Bc,hl=function(){Tg.postMessage(null)}):hl=function(){Eg(Bc,0)};var Nc,Tg;function zc(e,t){Bi=Eg(function(){e(Se.unstable_now())},t)}Se.unstable_IdlePriority=5;Se.unstable_ImmediatePriority=1;Se.unstable_LowPriority=4;Se.unstable_NormalPriority=3;Se.unstable_Profiling=null;Se.unstable_UserBlockingPriority=2;Se.unstable_cancelCallback=function(e){e.callback=null};Se.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):xg=0<e?Math.floor(1e3/e):5};Se.unstable_getCurrentPriorityLevel=function(){return et};Se.unstable_next=function(e){switch(et){case 1:case 2:case 3:var t=3;break;default:t=et}var n=et;et=t;try{return e()}finally{et=n}};Se.unstable_requestPaint=function(){Lc=!0};Se.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=et;et=e;try{return t()}finally{et=n}};Se.unstable_scheduleCallback=function(e,t,n){var a=Se.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?a+n:a):n=a,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return l=n+l,e={id:yb++,callback:t,priorityLevel:e,startTime:n,expirationTime:l,sortIndex:-1},n>a?(e.sortIndex=n,Oc(Qn,e),cn(wn)===null&&e===cn(Qn)&&(_i?(Dg(Bi),Bi=-1):_i=!0,zc(Hc,n-a))):(e.sortIndex=l,Oc(wn,e),Mi||kc||(Mi=!0,pl||(pl=!0,hl()))),e};Se.unstable_shouldYield=_g;Se.unstable_wrapCallback=function(e){var t=et;return function(){var n=et;et=t;try{return e.apply(this,arguments)}finally{et=n}}}});var Og=un((GS,Ng)=>{"use strict";Ng.exports=Bg()});var Lg=un(ot=>{"use strict";var vb=ft();function kg(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Kn(){}var rt={d:{f:Kn,r:function(){throw Error(kg(522))},D:Kn,C:Kn,L:Kn,m:Kn,X:Kn,S:Kn,M:Kn},p:0,findDOMNode:null},bb=Symbol.for("react.portal");function Ab(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:bb,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}var Ni=vb.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function so(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ot.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=rt;ot.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(kg(299));return Ab(e,t,null,n)};ot.flushSync=function(e){var t=Ni.T,n=rt.p;try{if(Ni.T=null,rt.p=2,e)return e()}finally{Ni.T=t,rt.p=n,rt.d.f()}};ot.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,rt.d.C(e,t))};ot.prefetchDNS=function(e){typeof e=="string"&&rt.d.D(e)};ot.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin),l=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?rt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:l,fetchPriority:i}):n==="script"&&rt.d.X(e,{crossOrigin:a,integrity:l,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ot.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=so(t.as,t.crossOrigin);rt.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&rt.d.M(e)};ot.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin);rt.d.L(e,n,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};ot.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=so(t.as,t.crossOrigin);rt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else rt.d.m(e)};ot.requestFormReset=function(e){rt.d.r(e)};ot.unstable_batchedUpdates=function(e,t){return e(t)};ot.useFormState=function(e,t,n){return Ni.H.useFormState(e,t,n)};ot.useFormStatus=function(){return Ni.H.useHostTransitionStatus()};ot.version="19.2.8"});var Ug=un((qS,zg)=>{"use strict";function Hg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Hg)}catch(e){console.error(e)}}Hg(),zg.exports=Lg()});var Wy=un(Hu=>{"use strict";var Ge=Og(),sh=ft(),wb=Ug();function S(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function dh(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function vr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function fh(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function gh(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Gg(e){if(vr(e)!==e)throw Error(S(188))}function Sb(e){var t=e.alternate;if(!t){if(t=vr(e),t===null)throw Error(S(188));return t!==e?null:e}for(var n=e,a=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(a=l.return,a!==null){n=a;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return Gg(l),e;if(i===a)return Gg(l),t;i=i.sibling}throw Error(S(188))}if(n.return!==a.return)n=l,a=i;else{for(var r=!1,o=l.child;o;){if(o===n){r=!0,n=l,a=i;break}if(o===a){r=!0,a=l,n=i;break}o=o.sibling}if(!r){for(o=i.child;o;){if(o===n){r=!0,n=i,a=l;break}if(o===a){r=!0,a=i,n=l;break}o=o.sibling}if(!r)throw Error(S(189))}}if(n.alternate!==a)throw Error(S(190))}if(n.tag!==3)throw Error(S(188));return n.stateNode.current===n?e:t}function mh(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=mh(e),t!==null)return t;e=e.sibling}return null}var ve=Object.assign,Cb=Symbol.for("react.element"),fo=Symbol.for("react.transitional.element"),Pi=Symbol.for("react.portal"),Sl=Symbol.for("react.fragment"),hh=Symbol.for("react.strict_mode"),ys=Symbol.for("react.profiler"),ph=Symbol.for("react.consumer"),Mn=Symbol.for("react.context"),fd=Symbol.for("react.forward_ref"),vs=Symbol.for("react.suspense"),bs=Symbol.for("react.suspense_list"),gd=Symbol.for("react.memo"),Zn=Symbol.for("react.lazy");Symbol.for("react.scope");var As=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var Rb=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var Pg=Symbol.iterator;function Oi(e){return e===null||typeof e!="object"?null:(e=Pg&&e[Pg]||e["@@iterator"],typeof e=="function"?e:null)}var Tb=Symbol.for("react.client.reference");function ws(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Tb?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Sl:return"Fragment";case ys:return"Profiler";case hh:return"StrictMode";case vs:return"Suspense";case bs:return"SuspenseList";case As:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Pi:return"Portal";case Mn:return e.displayName||"Context";case ph:return(e._context.displayName||"Context")+".Consumer";case fd:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gd:return t=e.displayName||null,t!==null?t:ws(e.type)||"Memo";case Zn:t=e._payload,e=e._init;try{return ws(e(t))}catch{}}return null}var qi=Array.isArray,L=sh.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=wb.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,za={pending:!1,data:null,method:null,action:null},Ss=[],Cl=-1;function mn(e){return{current:e}}function Fe(e){0>Cl||(e.current=Ss[Cl],Ss[Cl]=null,Cl--)}function ge(e,t){Cl++,Ss[Cl]=e.current,e.current=t}var gn=mn(null),lr=mn(null),ra=mn(null),Vo=mn(null);function Xo(e,t){switch(ge(ra,t),ge(lr,e),ge(gn,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qm(t),e=Hy(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Fe(gn),ge(gn,e)}function ql(){Fe(gn),Fe(lr),Fe(ra)}function Cs(e){e.memoizedState!==null&&ge(Vo,e);var t=gn.current,n=Hy(t,e.type);t!==n&&(ge(lr,e),ge(gn,n))}function Qo(e){lr.current===e&&(Fe(gn),Fe(lr)),Vo.current===e&&(Fe(Vo),hr._currentValue=za)}var Uc,qg;function Oa(e){if(Uc===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Uc=t&&t[1]||"",qg=-1<n.stack.indexOf(`    at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return``+Uc+e+qg}var Gc=!1;function Pc(e,t){if(!e||Gc)return"";Gc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(m){var d=m}Reflect.construct(e,[],f)}else{try{f.call()}catch(m){d=m}e.call(f.prototype)}}else{try{throw Error()}catch(m){d=m}(f=e())&&typeof f.catch=="function"&&f.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),r=i[0],o=i[1];if(r&&o){var u=r.split(``),c=o.split(``);for(l=a=0;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;for(;l<c.length&&!c[l].includes("DetermineComponentFrameRoot");)l++;if(a===u.length||l===c.length)for(a=u.length-1,l=c.length-1;1<=a&&0<=l&&u[a]!==c[l];)l--;for(;1<=a&&0<=l;a--,l--)if(u[a]!==c[l]){if(a!==1||l!==1)do if(a--,l--,0>l||u[a]!==c[l]){var s=``+u[a].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=a&&0<=l);break}}}finally{Gc=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Oa(n):""}function Eb(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return Pc(e.type,!1);case 11:return Pc(e.type.render,!1);case 1:return Pc(e.type,!0);case 31:return Oa("Activity");default:return""}}function Fg(e){try{var t="",n=null;do t+=Eb(e,n),n=e,e=e.return;while(e);return t}catch(a){return`Error generating stack: `+a.message+``+a.stack}}var Rs=Object.prototype.hasOwnProperty,md=Ge.unstable_scheduleCallback,qc=Ge.unstable_cancelCallback,Db=Ge.unstable_shouldYield,xb=Ge.unstable_requestPaint,Dt=Ge.unstable_now,Mb=Ge.unstable_getCurrentPriorityLevel,yh=Ge.unstable_ImmediatePriority,vh=Ge.unstable_UserBlockingPriority,Ko=Ge.unstable_NormalPriority,_b=Ge.unstable_LowPriority,bh=Ge.unstable_IdlePriority,Bb=Ge.log,Nb=Ge.unstable_setDisableYieldValue,br=null,xt=null;function ta(e){if(typeof Bb=="function"&&Nb(e),xt&&typeof xt.setStrictMode=="function")try{xt.setStrictMode(br,e)}catch{}}var Mt=Math.clz32?Math.clz32:Lb,Ob=Math.log,kb=Math.LN2;function Lb(e){return e>>>=0,e===0?32:31-(Ob(e)/kb|0)|0}var go=256,mo=262144,ho=4194304;function ka(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Au(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var o=a&134217727;return o!==0?(a=o&~i,a!==0?l=ka(a):(r&=o,r!==0?l=ka(r):n||(n=o&~e,n!==0&&(l=ka(n))))):(o=a&~i,o!==0?l=ka(o):r!==0?l=ka(r):n||(n=a&~e,n!==0&&(l=ka(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function Ar(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Hb(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ah(){var e=ho;return ho<<=1,(ho&62914560)===0&&(ho=4194304),e}function Fc(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wr(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function zb(e,t,n,a,l,i){var r=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,u=e.expirationTimes,c=e.hiddenUpdates;for(n=r&~n;0<n;){var s=31-Mt(n),f=1<<s;o[s]=0,u[s]=-1;var d=c[s];if(d!==null)for(c[s]=null,s=0;s<d.length;s++){var m=d[s];m!==null&&(m.lane&=-536870913)}n&=~f}a!==0&&wh(e,a,0),i!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=i&~(r&~t))}function wh(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Mt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function Sh(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Mt(n),l=1<<a;l&t|e[a]&t&&(e[a]|=t),n&=~l}}function Ch(e,t){var n=t&-t;return n=(n&42)!==0?1:hd(n),(n&(e.suspendedLanes|t))!==0?0:n}function hd(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function pd(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Rh(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:Qy(e.type))}function jg(e,t){var n=$.p;try{return $.p=e,t()}finally{$.p=n}}var ba=Math.random().toString(36).slice(2),Ve="__reactFiber$"+ba,vt="__reactProps$"+ba,Jl="__reactContainer$"+ba,Ts="__reactEvents$"+ba,Ub="__reactListeners$"+ba,Gb="__reactHandles$"+ba,Yg="__reactResources$"+ba,Sr="__reactMarker$"+ba;function yd(e){delete e[Ve],delete e[vt],delete e[Ts],delete e[Ub],delete e[Gb]}function Rl(e){var t=e[Ve];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jl]||n[Ve]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Jm(e);e!==null;){if(n=e[Ve])return n;e=Jm(e)}return t}e=n,n=e.parentNode}return null}function $l(e){if(e=e[Ve]||e[Jl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Fi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(S(33))}function kl(e){var t=e[Yg];return t||(t=e[Yg]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function qe(e){e[Sr]=!0}var Th=new Set,Eh={};function Qa(e,t){Fl(e,t),Fl(e+"Capture",t)}function Fl(e,t){for(Eh[e]=t,e=0;e<t.length;e++)Th.add(t[e])}var Pb=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Vg={},Xg={};function qb(e){return Rs.call(Xg,e)?!0:Rs.call(Vg,e)?!1:Pb.test(e)?Xg[e]=!0:(Vg[e]=!0,!1)}function _o(e,t,n){if(qb(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function po(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function Sn(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+a)}}function Pt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fb(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,i=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(r){n=""+r,i.call(this,r)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){if(!e._valueTracker){var t=Dh(e)?"checked":"value";e._valueTracker=Fb(e,t,""+e[t])}}function xh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=Dh(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Zo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var jb=/[\n"\\]/g;function jt(e){return e.replace(jb,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ds(e,t,n,a,l,i,r,o){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pt(t)):e.value!==""+Pt(t)&&(e.value=""+Pt(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?xs(e,r,Pt(t)):n!=null?xs(e,r,Pt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+Pt(o):e.removeAttribute("name")}function Mh(e,t,n,a,l,i,r,o){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Es(e);return}n=n!=null?""+Pt(n):"",t=t!=null?""+Pt(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=o?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),Es(e)}function xs(e,t,n){t==="number"&&Zo(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ll(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&a&&(e[n].defaultSelected=!0)}else{for(n=""+Pt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,a&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function _h(e,t,n){if(t!=null&&(t=""+Pt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Pt(n):""}function Bh(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(S(92));if(qi(a)){if(1<a.length)throw Error(S(93));a=a[0]}n=a}n==null&&(n=""),t=n}n=Pt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==""&&a!==null&&(e.value=a),Es(e)}function jl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Qg(e,t,n){var a=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,n):typeof n!="number"||n===0||Yb.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Nh(e,t,n){if(t!=null&&typeof t!="object")throw Error(S(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var l in t)a=t[l],t.hasOwnProperty(l)&&n[l]!==a&&Qg(e,l,a)}else for(var i in t)t.hasOwnProperty(i)&&Qg(e,i,t[i])}function vd(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Xb=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Bo(e){return Xb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function _n(){}var Ms=null;function bd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tl=null,Hl=null;function Kg(e){var t=$l(e);if(t&&(e=t.stateNode)){var n=e[vt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Ds(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+jt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var l=a[vt]||null;if(!l)throw Error(S(90));Ds(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&xh(a)}break e;case"textarea":_h(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ll(e,!!n.multiple,t,!1)}}}var jc=!1;function Oh(e,t,n){if(jc)return e(t,n);jc=!0;try{var a=e(t);return a}finally{if(jc=!1,(Tl!==null||Hl!==null)&&(Nu(),Tl&&(t=Tl,e=Hl,Hl=Tl=null,Kg(t),e)))for(t=0;t<e.length;t++)Kg(e[t])}}function ir(e,t){var n=e.stateNode;if(n===null)return null;var a=n[vt]||null;if(a===null)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(S(231,t,typeof n));return n}var Ln=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_s=!1;if(Ln)try{yl={},Object.defineProperty(yl,"passive",{get:function(){_s=!0}}),window.addEventListener("test",yl,yl),window.removeEventListener("test",yl,yl)}catch{_s=!1}var yl,na=null,Ad=null,No=null;function kh(){if(No)return No;var e,t=Ad,n=t.length,a,l="value"in na?na.value:na.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var r=n-e;for(a=1;a<=r&&t[n-a]===l[i-a];a++);return No=l.slice(e,1<a?1-a:void 0)}function Oo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yo(){return!0}function Zg(){return!1}function bt(e){function t(n,a,l,i,r){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=i,this.target=r,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?yo:Zg,this.isPropagationStopped=Zg,this}return ve(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=yo)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var Ka={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},wu=bt(Ka),Cr=ve({},Ka,{view:0,detail:0}),Qb=bt(Cr),Yc,Vc,ki,Su=ve({},Cr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wd,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ki&&(ki&&e.type==="mousemove"?(Yc=e.screenX-ki.screenX,Vc=e.screenY-ki.screenY):Vc=Yc=0,ki=e),Yc)},movementY:function(e){return"movementY"in e?e.movementY:Vc}}),Wg=bt(Su),Kb=ve({},Su,{dataTransfer:0}),Zb=bt(Kb),Wb=ve({},Cr,{relatedTarget:0}),Xc=bt(Wb),Ib=ve({},Ka,{animationName:0,elapsedTime:0,pseudoElement:0}),Jb=bt(Ib),$b=ve({},Ka,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),eA=bt($b),tA=ve({},Ka,{data:0}),Ig=bt(tA),nA={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},aA={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},lA={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function iA(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=lA[e])?!!t[e]:!1}function wd(){return iA}var rA=ve({},Cr,{key:function(e){if(e.key){var t=nA[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Oo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?aA[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wd,charCode:function(e){return e.type==="keypress"?Oo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Oo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),oA=bt(rA),uA=ve({},Su,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jg=bt(uA),cA=ve({},Cr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wd}),sA=bt(cA),dA=ve({},Ka,{propertyName:0,elapsedTime:0,pseudoElement:0}),fA=bt(dA),gA=ve({},Su,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mA=bt(gA),hA=ve({},Ka,{newState:0,oldState:0}),pA=bt(hA),yA=[9,13,27,32],Sd=Ln&&"CompositionEvent"in window,Vi=null;Ln&&"documentMode"in document&&(Vi=document.documentMode);var vA=Ln&&"TextEvent"in window&&!Vi,Lh=Ln&&(!Sd||Vi&&8<Vi&&11>=Vi),$g=" ",em=!1;function Hh(e,t){switch(e){case"keyup":return yA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var El=!1;function bA(e,t){switch(e){case"compositionend":return zh(t);case"keypress":return t.which!==32?null:(em=!0,$g);case"textInput":return e=t.data,e===$g&&em?null:e;default:return null}}function AA(e,t){if(El)return e==="compositionend"||!Sd&&Hh(e,t)?(e=kh(),No=Ad=na=null,El=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Lh&&t.locale!=="ko"?null:t.data;default:return null}}var wA={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tm(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!wA[e.type]:t==="textarea"}function Uh(e,t,n,a){Tl?Hl?Hl.push(a):Hl=[a]:Tl=a,t=gu(t,"onChange"),0<t.length&&(n=new wu("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Xi=null,rr=null;function SA(e){Oy(e,0)}function Cu(e){var t=Fi(e);if(xh(t))return e}function nm(e,t){if(e==="change")return t}var Gh=!1;Ln&&(Ln?(bo="oninput"in document,bo||(Qc=document.createElement("div"),Qc.setAttribute("oninput","return;"),bo=typeof Qc.oninput=="function"),vo=bo):vo=!1,Gh=vo&&(!document.documentMode||9<document.documentMode));var vo,bo,Qc;function am(){Xi&&(Xi.detachEvent("onpropertychange",Ph),rr=Xi=null)}function Ph(e){if(e.propertyName==="value"&&Cu(rr)){var t=[];Uh(t,rr,e,bd(e)),Oh(SA,t)}}function CA(e,t,n){e==="focusin"?(am(),Xi=t,rr=n,Xi.attachEvent("onpropertychange",Ph)):e==="focusout"&&am()}function RA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Cu(rr)}function TA(e,t){if(e==="click")return Cu(t)}function EA(e,t){if(e==="input"||e==="change")return Cu(t)}function DA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bt=typeof Object.is=="function"?Object.is:DA;function or(e,t){if(Bt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!Rs.call(t,l)||!Bt(e[l],t[l]))return!1}return!0}function lm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function im(e,t){var n=lm(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lm(n)}}function qh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Zo(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Zo(e.document)}return t}function Cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var xA=Ln&&"documentMode"in document&&11>=document.documentMode,Dl=null,Bs=null,Qi=null,Ns=!1;function rm(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ns||Dl==null||Dl!==Zo(a)||(a=Dl,"selectionStart"in a&&Cd(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Qi&&or(Qi,a)||(Qi=a,a=gu(Bs,"onSelect"),0<a.length&&(t=new wu("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=Dl)))}function Na(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xl={animationend:Na("Animation","AnimationEnd"),animationiteration:Na("Animation","AnimationIteration"),animationstart:Na("Animation","AnimationStart"),transitionrun:Na("Transition","TransitionRun"),transitionstart:Na("Transition","TransitionStart"),transitioncancel:Na("Transition","TransitionCancel"),transitionend:Na("Transition","TransitionEnd")},Kc={},jh={};Ln&&(jh=document.createElement("div").style,"AnimationEvent"in window||(delete xl.animationend.animation,delete xl.animationiteration.animation,delete xl.animationstart.animation),"TransitionEvent"in window||delete xl.transitionend.transition);function Za(e){if(Kc[e])return Kc[e];if(!xl[e])return e;var t=xl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in jh)return Kc[e]=t[n];return e}var Yh=Za("animationend"),Vh=Za("animationiteration"),Xh=Za("animationstart"),MA=Za("transitionrun"),_A=Za("transitionstart"),BA=Za("transitioncancel"),Qh=Za("transitionend"),Kh=new Map,Os="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Os.push("scrollEnd");function tn(e,t){Kh.set(e,t),Qa(t,[e])}var Wo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Gt=[],Ml=0,Rd=0;function Ru(){for(var e=Ml,t=Rd=Ml=0;t<e;){var n=Gt[t];Gt[t++]=null;var a=Gt[t];Gt[t++]=null;var l=Gt[t];Gt[t++]=null;var i=Gt[t];if(Gt[t++]=null,a!==null&&l!==null){var r=a.pending;r===null?l.next=l:(l.next=r.next,r.next=l),a.pending=l}i!==0&&Zh(n,l,i)}}function Tu(e,t,n,a){Gt[Ml++]=e,Gt[Ml++]=t,Gt[Ml++]=n,Gt[Ml++]=a,Rd|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function Td(e,t,n,a){return Tu(e,t,n,a),Io(e)}function Wa(e,t){return Tu(e,null,null,t),Io(e)}function Zh(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var l=!1,i=e.return;i!==null;)i.childLanes|=n,a=i.alternate,a!==null&&(a.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(l=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,l&&t!==null&&(l=31-Mt(n),e=i.hiddenUpdates,a=e[l],a===null?e[l]=[t]:a.push(t),t.lane=n|536870912),i):null}function Io(e){if(50<nr)throw nr=0,ed=null,Error(S(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var _l={};function NA(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(e,t,n,a){return new NA(e,t,n,a)}function Ed(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nn(e,t){var n=e.alternate;return n===null?(n=Tt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Wh(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ko(e,t,n,a,l,i){var r=0;if(a=e,typeof e=="function")Ed(e)&&(r=1);else if(typeof e=="string")r=Lw(e,n,gn.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case As:return e=Tt(31,n,t,l),e.elementType=As,e.lanes=i,e;case Sl:return Ua(n.children,l,i,t);case hh:r=8,l|=24;break;case ys:return e=Tt(12,n,t,l|2),e.elementType=ys,e.lanes=i,e;case vs:return e=Tt(13,n,t,l),e.elementType=vs,e.lanes=i,e;case bs:return e=Tt(19,n,t,l),e.elementType=bs,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Mn:r=10;break e;case ph:r=9;break e;case fd:r=11;break e;case gd:r=14;break e;case Zn:r=16,a=null;break e}r=29,n=Error(S(130,e===null?"null":typeof e,"")),a=null}return t=Tt(r,n,t,l),t.elementType=e,t.type=a,t.lanes=i,t}function Ua(e,t,n,a){return e=Tt(7,e,a,t),e.lanes=n,e}function Zc(e,t,n){return e=Tt(6,e,null,t),e.lanes=n,e}function Ih(e){var t=Tt(18,null,null,0);return t.stateNode=e,t}function Wc(e,t,n){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var om=new WeakMap;function Yt(e,t){if(typeof e=="object"&&e!==null){var n=om.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Fg(t)},om.set(e,t),t)}return{value:e,source:t,stack:Fg(t)}}var Bl=[],Nl=0,Jo=null,ur=0,qt=[],Ft=0,ha=null,sn=1,dn="";function Dn(e,t){Bl[Nl++]=ur,Bl[Nl++]=Jo,Jo=e,ur=t}function Jh(e,t,n){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,ha=e;var a=sn;e=dn;var l=32-Mt(a)-1;a&=~(1<<l),n+=1;var i=32-Mt(t)+l;if(30<i){var r=l-l%5;i=(a&(1<<r)-1).toString(32),a>>=r,l-=r,sn=1<<32-Mt(t)+l|n<<l|a,dn=i+e}else sn=1<<i|n<<l|a,dn=e}function Dd(e){e.return!==null&&(Dn(e,1),Jh(e,1,0))}function xd(e){for(;e===Jo;)Jo=Bl[--Nl],Bl[Nl]=null,ur=Bl[--Nl],Bl[Nl]=null;for(;e===ha;)ha=qt[--Ft],qt[Ft]=null,dn=qt[--Ft],qt[Ft]=null,sn=qt[--Ft],qt[Ft]=null}function $h(e,t){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,sn=t.id,dn=t.overflow,ha=e}var Xe=null,ye=null,V=!1,oa=null,Vt=!1,ks=Error(S(519));function pa(e){var t=Error(S(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw cr(Yt(t,e)),ks}function um(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[Ve]=e,t[vt]=a,n){case"dialog":q("cancel",t),q("close",t);break;case"iframe":case"object":case"embed":q("load",t);break;case"video":case"audio":for(n=0;n<gr.length;n++)q(gr[n],t);break;case"source":q("error",t);break;case"img":case"image":case"link":q("error",t),q("load",t);break;case"details":q("toggle",t);break;case"input":q("invalid",t),Mh(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":q("invalid",t);break;case"textarea":q("invalid",t),Bh(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||a.suppressHydrationWarning===!0||Ly(t.textContent,n)?(a.popover!=null&&(q("beforetoggle",t),q("toggle",t)),a.onScroll!=null&&q("scroll",t),a.onScrollEnd!=null&&q("scrollend",t),a.onClick!=null&&(t.onclick=_n),t=!0):t=!1,t||pa(e,!0)}function cm(e){for(Xe=e.return;Xe;)switch(Xe.tag){case 5:case 31:case 13:Vt=!1;return;case 27:case 3:Vt=!0;return;default:Xe=Xe.return}}function vl(e){if(e!==Xe)return!1;if(!V)return cm(e),V=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||id(e.type,e.memoizedProps)),n=!n),n&&ye&&pa(e),cm(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else t===27?(t=ye,Aa(e.type)?(e=cd,cd=null,ye=e):ye=t):ye=Xe?Qt(e.stateNode.nextSibling):null;return!0}function Fa(){ye=Xe=null,V=!1}function Ic(){var e=oa;return e!==null&&(pt===null?pt=e:pt.push.apply(pt,e),oa=null),e}function cr(e){oa===null?oa=[e]:oa.push(e)}var Ls=mn(null),Ia=null,Bn=null;function In(e,t,n){ge(Ls,t._currentValue),t._currentValue=n}function On(e){e._currentValue=Ls.current,Fe(Ls)}function Hs(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function zs(e,t,n,a){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var i=l.dependencies;if(i!==null){var r=l.child;i=i.firstContext;e:for(;i!==null;){var o=i;i=l;for(var u=0;u<t.length;u++)if(o.context===t[u]){i.lanes|=n,o=i.alternate,o!==null&&(o.lanes|=n),Hs(i.return,n,e),a||(r=null);break e}i=o.next}}else if(l.tag===18){if(r=l.return,r===null)throw Error(S(341));r.lanes|=n,i=r.alternate,i!==null&&(i.lanes|=n),Hs(r,n,e),r=null}else r=l.child;if(r!==null)r.return=l;else for(r=l;r!==null;){if(r===e){r=null;break}if(l=r.sibling,l!==null){l.return=r.return,r=l;break}r=r.return}l=r}}function ei(e,t,n,a){e=null;for(var l=t,i=!1;l!==null;){if(!i){if((l.flags&524288)!==0)i=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var r=l.alternate;if(r===null)throw Error(S(387));if(r=r.memoizedProps,r!==null){var o=l.type;Bt(l.pendingProps.value,r.value)||(e!==null?e.push(o):e=[o])}}else if(l===Vo.current){if(r=l.alternate,r===null)throw Error(S(387));r.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(hr):e=[hr])}l=l.return}e!==null&&zs(t,e,n,a),t.flags|=262144}function $o(e){for(e=e.firstContext;e!==null;){if(!Bt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ja(e){Ia=e,Bn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Qe(e){return ep(Ia,e)}function Ao(e,t){return Ia===null&&ja(e),ep(e,t)}function ep(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Bn===null){if(e===null)throw Error(S(308));Bn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Bn=Bn.next=t;return n}var OA=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},kA=Ge.unstable_scheduleCallback,LA=Ge.unstable_NormalPriority,ke={$$typeof:Mn,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Md(){return{controller:new OA,data:new Map,refCount:0}}function Rr(e){e.refCount--,e.refCount===0&&kA(LA,function(){e.controller.abort()})}var Ki=null,Us=0,Yl=0,zl=null;function HA(e,t){if(Ki===null){var n=Ki=[];Us=0,Yl=ef(),zl={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Us++,t.then(sm,sm),t}function sm(){if(--Us===0&&Ki!==null){zl!==null&&(zl.status="fulfilled");var e=Ki;Ki=null,Yl=0,zl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function zA(e,t){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var l=0;l<n.length;l++)(0,n[l])(t)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var dm=L.S;L.S=function(e,t){my=Dt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&HA(e,t),dm!==null&&dm(e,t)};var Ga=mn(null);function _d(){var e=Ga.current;return e!==null?e:ue.pooledCache}function Lo(e,t){t===null?ge(Ga,Ga.current):ge(Ga,t.pool)}function tp(){var e=_d();return e===null?null:{parent:ke._currentValue,pool:e}}var ti=Error(S(460)),Bd=Error(S(474)),Eu=Error(S(542)),eu={then:function(){}};function fm(e){return e=e.status,e==="fulfilled"||e==="rejected"}function np(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(_n,_n),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e;default:if(typeof t.status=="string")t.then(_n,_n);else{if(e=ue,e!==null&&100<e.shellSuspendCounter)throw Error(S(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=a}},function(a){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e}throw Pa=t,ti}}function La(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Pa=n,ti):n}}var Pa=null;function gm(){if(Pa===null)throw Error(S(459));var e=Pa;return Pa=null,e}function mm(e){if(e===ti||e===Eu)throw Error(S(483))}var Ul=null,sr=0;function wo(e){var t=sr;return sr+=1,Ul===null&&(Ul=[]),np(Ul,e,t)}function Li(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function So(e,t){throw t.$$typeof===Cb?Error(S(525)):(e=Object.prototype.toString.call(t),Error(S(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ap(e){function t(h,g){if(e){var p=h.deletions;p===null?(h.deletions=[g],h.flags|=16):p.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function a(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function l(h,g){return h=Nn(h,g),h.index=0,h.sibling=null,h}function i(h,g,p){return h.index=p,e?(p=h.alternate,p!==null?(p=p.index,p<g?(h.flags|=67108866,g):p):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function r(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function o(h,g,p,y){return g===null||g.tag!==6?(g=Zc(p,h.mode,y),g.return=h,g):(g=l(g,p),g.return=h,g)}function u(h,g,p,y){var C=p.type;return C===Sl?s(h,g,p.props.children,y,p.key):g!==null&&(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type)?(g=l(g,p.props),Li(g,p),g.return=h,g):(g=ko(p.type,p.key,p.props,null,h.mode,y),Li(g,p),g.return=h,g)}function c(h,g,p,y){return g===null||g.tag!==4||g.stateNode.containerInfo!==p.containerInfo||g.stateNode.implementation!==p.implementation?(g=Wc(p,h.mode,y),g.return=h,g):(g=l(g,p.children||[]),g.return=h,g)}function s(h,g,p,y,C){return g===null||g.tag!==7?(g=Ua(p,h.mode,y,C),g.return=h,g):(g=l(g,p),g.return=h,g)}function f(h,g,p){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Zc(""+g,h.mode,p),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case fo:return p=ko(g.type,g.key,g.props,null,h.mode,p),Li(p,g),p.return=h,p;case Pi:return g=Wc(g,h.mode,p),g.return=h,g;case Zn:return g=La(g),f(h,g,p)}if(qi(g)||Oi(g))return g=Ua(g,h.mode,p,null),g.return=h,g;if(typeof g.then=="function")return f(h,wo(g),p);if(g.$$typeof===Mn)return f(h,Ao(h,g),p);So(h,g)}return null}function d(h,g,p,y){var C=g!==null?g.key:null;if(typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint")return C!==null?null:o(h,g,""+p,y);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:return p.key===C?u(h,g,p,y):null;case Pi:return p.key===C?c(h,g,p,y):null;case Zn:return p=La(p),d(h,g,p,y)}if(qi(p)||Oi(p))return C!==null?null:s(h,g,p,y,null);if(typeof p.then=="function")return d(h,g,wo(p),y);if(p.$$typeof===Mn)return d(h,g,Ao(h,p),y);So(h,p)}return null}function m(h,g,p,y,C){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return h=h.get(p)||null,o(g,h,""+y,C);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case fo:return h=h.get(y.key===null?p:y.key)||null,u(g,h,y,C);case Pi:return h=h.get(y.key===null?p:y.key)||null,c(g,h,y,C);case Zn:return y=La(y),m(h,g,p,y,C)}if(qi(y)||Oi(y))return h=h.get(p)||null,s(g,h,y,C,null);if(typeof y.then=="function")return m(h,g,p,wo(y),C);if(y.$$typeof===Mn)return m(h,g,p,Ao(g,y),C);So(g,y)}return null}function v(h,g,p,y){for(var C=null,R=null,T=g,M=g=0,w=null;T!==null&&M<p.length;M++){T.index>M?(w=T,T=null):w=T.sibling;var D=d(h,T,p[M],y);if(D===null){T===null&&(T=w);break}e&&T&&D.alternate===null&&t(h,T),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D,T=w}if(M===p.length)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;M<p.length;M++)T=f(h,p[M],y),T!==null&&(g=i(T,g,M),R===null?C=T:R.sibling=T,R=T);return V&&Dn(h,M),C}for(T=a(T);M<p.length;M++)w=m(T,h,M,p[M],y),w!==null&&(e&&w.alternate!==null&&T.delete(w.key===null?M:w.key),g=i(w,g,M),R===null?C=w:R.sibling=w,R=w);return e&&T.forEach(function(k){return t(h,k)}),V&&Dn(h,M),C}function A(h,g,p,y){if(p==null)throw Error(S(151));for(var C=null,R=null,T=g,M=g=0,w=null,D=p.next();T!==null&&!D.done;M++,D=p.next()){T.index>M?(w=T,T=null):w=T.sibling;var k=d(h,T,D.value,y);if(k===null){T===null&&(T=w);break}e&&T&&k.alternate===null&&t(h,T),g=i(k,g,M),R===null?C=k:R.sibling=k,R=k,T=w}if(D.done)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;!D.done;M++,D=p.next())D=f(h,D.value,y),D!==null&&(g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return V&&Dn(h,M),C}for(T=a(T);!D.done;M++,D=p.next())D=m(T,h,M,D.value,y),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?M:D.key),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return e&&T.forEach(function(se){return t(h,se)}),V&&Dn(h,M),C}function b(h,g,p,y){if(typeof p=="object"&&p!==null&&p.type===Sl&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:e:{for(var C=p.key;g!==null;){if(g.key===C){if(C=p.type,C===Sl){if(g.tag===7){n(h,g.sibling),y=l(g,p.props.children),y.return=h,h=y;break e}}else if(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type){n(h,g.sibling),y=l(g,p.props),Li(y,p),y.return=h,h=y;break e}n(h,g);break}else t(h,g);g=g.sibling}p.type===Sl?(y=Ua(p.props.children,h.mode,y,p.key),y.return=h,h=y):(y=ko(p.type,p.key,p.props,null,h.mode,y),Li(y,p),y.return=h,h=y)}return r(h);case Pi:e:{for(C=p.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===p.containerInfo&&g.stateNode.implementation===p.implementation){n(h,g.sibling),y=l(g,p.children||[]),y.return=h,h=y;break e}else{n(h,g);break}else t(h,g);g=g.sibling}y=Wc(p,h.mode,y),y.return=h,h=y}return r(h);case Zn:return p=La(p),b(h,g,p,y)}if(qi(p))return v(h,g,p,y);if(Oi(p)){if(C=Oi(p),typeof C!="function")throw Error(S(150));return p=C.call(p),A(h,g,p,y)}if(typeof p.then=="function")return b(h,g,wo(p),y);if(p.$$typeof===Mn)return b(h,g,Ao(h,p),y);So(h,p)}return typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint"?(p=""+p,g!==null&&g.tag===6?(n(h,g.sibling),y=l(g,p),y.return=h,h=y):(n(h,g),y=Zc(p,h.mode,y),y.return=h,h=y),r(h)):n(h,g)}return function(h,g,p,y){try{sr=0;var C=b(h,g,p,y);return Ul=null,C}catch(T){if(T===ti||T===Eu)throw T;var R=Tt(29,T,null,h.mode);return R.lanes=y,R.return=h,R}finally{}}}var Ya=ap(!0),lp=ap(!1),Wn=!1;function Nd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gs(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ca(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(J&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=Io(e),Zh(e,null,n),t}return Tu(e,a,t,n),Io(e)}function Zi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}function Jc(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var r={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=r:i=i.next=r,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ps=!1;function Wi(){if(Ps){var e=zl;if(e!==null)throw e}}function Ii(e,t,n,a){Ps=!1;var l=e.updateQueue;Wn=!1;var i=l.firstBaseUpdate,r=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var u=o,c=u.next;u.next=null,r===null?i=c:r.next=c,r=u;var s=e.alternate;s!==null&&(s=s.updateQueue,o=s.lastBaseUpdate,o!==r&&(o===null?s.firstBaseUpdate=c:o.next=c,s.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;r=0,s=c=u=null,o=i;do{var d=o.lane&-536870913,m=d!==o.lane;if(m?(Y&d)===d:(a&d)===d){d!==0&&d===Yl&&(Ps=!0),s!==null&&(s=s.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var v=e,A=o;d=t;var b=n;switch(A.tag){case 1:if(v=A.payload,typeof v=="function"){f=v.call(b,f,d);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=A.payload,d=typeof v=="function"?v.call(b,f,d):v,d==null)break e;f=ve({},f,d);break e;case 2:Wn=!0}}d=o.callback,d!==null&&(e.flags|=64,m&&(e.flags|=8192),m=l.callbacks,m===null?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:o.tag,payload:o.payload,callback:o.callback,next:null},s===null?(c=s=m,u=f):s=s.next=m,r|=d;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;m=o,o=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);s===null&&(u=f),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=s,i===null&&(l.shared.lanes=0),va|=r,e.lanes=r,e.memoizedState=f}}function ip(e,t){if(typeof e!="function")throw Error(S(191,e));e.call(t)}function rp(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ip(n[e],t)}var Vl=mn(null),tu=mn(0);function hm(e,t){e=Gn,ge(tu,e),ge(Vl,t),Gn=e|t.baseLanes}function qs(){ge(tu,Gn),ge(Vl,Vl.current)}function Od(){Gn=tu.current,Fe(Vl),Fe(tu)}var Nt=mn(null),Xt=null;function Jn(e){var t=e.alternate;ge(xe,xe.current&1),ge(Nt,e),Xt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Xt=e)}function Fs(e){ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)}function op(e){e.tag===22?(ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)):$n(e)}function $n(){ge(xe,xe.current),ge(Nt,Nt.current)}function Rt(e){Fe(Nt),Xt===e&&(Xt=null),Fe(xe)}var xe=mn(0);function nu(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||od(n)||ud(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hn=0,G=null,re=null,Ne=null,au=!1,Gl=!1,Va=!1,lu=0,dr=0,Pl=null,UA=0;function Re(){throw Error(S(321))}function kd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Bt(e[n],t[n]))return!1;return!0}function Ld(e,t,n,a,l,i){return Hn=i,G=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=e===null||e.memoizedState===null?Up:Xd,Va=!1,i=n(a,l),Va=!1,Gl&&(i=cp(t,n,a,l)),up(e),i}function up(e){L.H=fr;var t=re!==null&&re.next!==null;if(Hn=0,Ne=re=G=null,au=!1,dr=0,Pl=null,t)throw Error(S(300));e===null||Le||(e=e.dependencies,e!==null&&$o(e)&&(Le=!0))}function cp(e,t,n,a){G=e;var l=0;do{if(Gl&&(Pl=null),dr=0,Gl=!1,25<=l)throw Error(S(301));if(l+=1,Ne=re=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}L.H=Gp,i=t(n,a)}while(Gl);return i}function GA(){var e=L.H,t=e.useState()[0];return t=typeof t.then=="function"?Tr(t):t,e=e.useState()[0],(re!==null?re.memoizedState:null)!==e&&(G.flags|=1024),t}function Hd(){var e=lu!==0;return lu=0,e}function zd(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ud(e){if(au){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}au=!1}Hn=0,Ne=re=G=null,Gl=!1,dr=lu=0,Pl=null}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e,Ne}function Me(){if(re===null){var e=G.alternate;e=e!==null?e.memoizedState:null}else e=re.next;var t=Ne===null?G.memoizedState:Ne.next;if(t!==null)Ne=t,re=e;else{if(e===null)throw G.alternate===null?Error(S(467)):Error(S(310));re=e,e={memoizedState:re.memoizedState,baseState:re.baseState,baseQueue:re.baseQueue,queue:re.queue,next:null},Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e}return Ne}function Du(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Tr(e){var t=dr;return dr+=1,Pl===null&&(Pl=[]),e=np(Pl,e,t),t=G,(Ne===null?t.memoizedState:Ne.next)===null&&(t=t.alternate,L.H=t===null||t.memoizedState===null?Up:Xd),e}function xu(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Tr(e);if(e.$$typeof===Mn)return Qe(e)}throw Error(S(438,String(e)))}function Gd(e){var t=null,n=G.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=G.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Du(),G.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=Rb;return t.index++,n}function zn(e,t){return typeof t=="function"?t(e):t}function Ho(e){var t=Me();return Pd(t,re,e)}function Pd(e,t,n){var a=e.queue;if(a===null)throw Error(S(311));a.lastRenderedReducer=n;var l=e.baseQueue,i=a.pending;if(i!==null){if(l!==null){var r=l.next;l.next=i.next,i.next=r}t.baseQueue=l=i,a.pending=null}if(i=e.baseState,l===null)e.memoizedState=i;else{t=l.next;var o=r=null,u=null,c=t,s=!1;do{var f=c.lane&-536870913;if(f!==c.lane?(Y&f)===f:(Hn&f)===f){var d=c.revertLane;if(d===0)u!==null&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===Yl&&(s=!0);else if((Hn&d)===d){c=c.next,d===Yl&&(s=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=f,r=i):u=u.next=f,G.lanes|=d,va|=d;f=c.action,Va&&n(i,f),i=c.hasEagerState?c.eagerState:n(i,f)}else d={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=d,r=i):u=u.next=d,G.lanes|=f,va|=f;c=c.next}while(c!==null&&c!==t);if(u===null?r=i:u.next=o,!Bt(i,e.memoizedState)&&(Le=!0,s&&(n=zl,n!==null)))throw n;e.memoizedState=i,e.baseState=r,e.baseQueue=u,a.lastRenderedState=i}return l===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function $c(e){var t=Me(),n=t.queue;if(n===null)throw Error(S(311));n.lastRenderedReducer=e;var a=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var r=l=l.next;do i=e(i,r.action),r=r.next;while(r!==l);Bt(i,t.memoizedState)||(Le=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function sp(e,t,n){var a=G,l=Me(),i=V;if(i){if(n===void 0)throw Error(S(407));n=n()}else n=t();var r=!Bt((re||l).memoizedState,n);if(r&&(l.memoizedState=n,Le=!0),l=l.queue,qd(gp.bind(null,a,l,e),[e]),l.getSnapshot!==t||r||Ne!==null&&Ne.memoizedState.tag&1){if(a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,l,n,t),null),ue===null)throw Error(S(349));i||(Hn&127)!==0||dp(a,t,n)}return n}function dp(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=G.updateQueue,t===null?(t=Du(),G.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function fp(e,t,n,a){t.value=n,t.getSnapshot=a,mp(t)&&hp(e)}function gp(e,t,n){return n(function(){mp(t)&&hp(e)})}function mp(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Bt(e,n)}catch{return!0}}function hp(e){var t=Wa(e,2);t!==null&&yt(t,e,2)}function js(e){var t=ut();if(typeof e=="function"){var n=e;if(e=n(),Va){ta(!0);try{n()}finally{ta(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:e},t}function pp(e,t,n,a){return e.baseState=n,Pd(e,re,typeof a=="function"?a:zn)}function PA(e,t,n,a,l){if(_u(e))throw Error(S(485));if(e=t.action,e!==null){var i={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){i.listeners.push(r)}};L.T!==null?n(!0):i.isTransition=!1,a(i),n=t.pending,n===null?(i.next=t.pending=i,yp(t,i)):(i.next=n.next,t.pending=n.next=i)}}function yp(e,t){var n=t.action,a=t.payload,l=e.state;if(t.isTransition){var i=L.T,r={};L.T=r;try{var o=n(l,a),u=L.S;u!==null&&u(r,o),pm(e,t,o)}catch(c){Ys(e,t,c)}finally{i!==null&&r.types!==null&&(i.types=r.types),L.T=i}}else try{i=n(l,a),pm(e,t,i)}catch(c){Ys(e,t,c)}}function pm(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){ym(e,t,a)},function(a){return Ys(e,t,a)}):ym(e,t,n)}function ym(e,t,n){t.status="fulfilled",t.value=n,vp(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,yp(e,n)))}function Ys(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=n,vp(t),t=t.next;while(t!==a)}e.action=null}function vp(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function bp(e,t){return t}function vm(e,t){if(V){var n=ue.formState;if(n!==null){e:{var a=G;if(V){if(ye){t:{for(var l=ye,i=Vt;l.nodeType!==8;){if(!i){l=null;break t}if(l=Qt(l.nextSibling),l===null){l=null;break t}}i=l.data,l=i==="F!"||i==="F"?l:null}if(l){ye=Qt(l.nextSibling),a=l.data==="F!";break e}}pa(a)}a=!1}a&&(t=n[0])}}return n=ut(),n.memoizedState=n.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bp,lastRenderedState:t},n.queue=a,n=Lp.bind(null,G,a),a.dispatch=n,a=js(!1),i=Vd.bind(null,G,!1,a.queue),a=ut(),l={state:t,dispatch:null,action:e,pending:null},a.queue=l,n=PA.bind(null,G,l,i,n),l.dispatch=n,a.memoizedState=e,[t,n,!1]}function bm(e){var t=Me();return Ap(t,re,e)}function Ap(e,t,n){if(t=Pd(e,t,bp)[0],e=Ho(zn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=Tr(t)}catch(r){throw r===ti?Eu:r}else a=t;t=Me();var l=t.queue,i=l.dispatch;return n!==t.memoizedState&&(G.flags|=2048,Xl(9,{destroy:void 0},qA.bind(null,l,n),null)),[a,i,e]}function qA(e,t){e.action=t}function Am(e){var t=Me(),n=re;if(n!==null)return Ap(t,n,e);Me(),t=t.memoizedState,n=Me();var a=n.queue.dispatch;return n.memoizedState=e,[t,a,!1]}function Xl(e,t,n,a){return e={tag:e,create:n,deps:a,inst:t,next:null},t=G.updateQueue,t===null&&(t=Du(),G.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function wp(){return Me().memoizedState}function zo(e,t,n,a){var l=ut();G.flags|=e,l.memoizedState=Xl(1|t,{destroy:void 0},n,a===void 0?null:a)}function Mu(e,t,n,a){var l=Me();a=a===void 0?null:a;var i=l.memoizedState.inst;re!==null&&a!==null&&kd(a,re.memoizedState.deps)?l.memoizedState=Xl(t,i,n,a):(G.flags|=e,l.memoizedState=Xl(1|t,i,n,a))}function wm(e,t){zo(8390656,8,e,t)}function qd(e,t){Mu(2048,8,e,t)}function FA(e){G.flags|=4;var t=G.updateQueue;if(t===null)t=Du(),G.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Sp(e){var t=Me().memoizedState;return FA({ref:t,nextImpl:e}),function(){if((J&2)!==0)throw Error(S(440));return t.impl.apply(void 0,arguments)}}function Cp(e,t){return Mu(4,2,e,t)}function Rp(e,t){return Mu(4,4,e,t)}function Tp(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ep(e,t,n){n=n!=null?n.concat([e]):null,Mu(4,4,Tp.bind(null,t,e),n)}function Fd(){}function Dp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;return t!==null&&kd(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function xp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;if(t!==null&&kd(t,a[1]))return a[0];if(a=e(),Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a}function jd(e,t,n){return n===void 0||(Hn&1073741824)!==0&&(Y&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=py(),G.lanes|=e,va|=e,n)}function Mp(e,t,n,a){return Bt(n,t)?n:Vl.current!==null?(e=jd(e,n,a),Bt(e,t)||(Le=!0),e):(Hn&42)===0||(Hn&1073741824)!==0&&(Y&261930)===0?(Le=!0,e.memoizedState=n):(e=py(),G.lanes|=e,va|=e,t)}function _p(e,t,n,a,l){var i=$.p;$.p=i!==0&&8>i?i:8;var r=L.T,o={};L.T=o,Vd(e,!1,t,n);try{var u=l(),c=L.S;if(c!==null&&c(o,u),u!==null&&typeof u=="object"&&typeof u.then=="function"){var s=zA(u,a);Ji(e,t,s,_t(e))}else Ji(e,t,a,_t(e))}catch(f){Ji(e,t,{then:function(){},status:"rejected",reason:f},_t())}finally{$.p=i,r!==null&&o.types!==null&&(r.types=o.types),L.T=r}}function jA(){}function Vs(e,t,n,a){if(e.tag!==5)throw Error(S(476));var l=Bp(e).queue;_p(e,l,t,za,n===null?jA:function(){return Np(e),n(a)})}function Bp(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:za,baseState:za,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:za},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Np(e){var t=Bp(e);t.next===null&&(t=e.alternate.memoizedState),Ji(e,t.next.queue,{},_t())}function Yd(){return Qe(hr)}function Op(){return Me().memoizedState}function kp(){return Me().memoizedState}function YA(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_t();e=ua(n);var a=ca(t,e,n);a!==null&&(yt(a,t,n),Zi(a,t,n)),t={cache:Md()},e.payload=t;return}t=t.return}}function VA(e,t,n){var a=_t();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},_u(e)?Hp(t,n):(n=Td(e,t,n,a),n!==null&&(yt(n,e,a),zp(n,t,a)))}function Lp(e,t,n){var a=_t();Ji(e,t,n,a)}function Ji(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(_u(e))Hp(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,o=i(r,n);if(l.hasEagerState=!0,l.eagerState=o,Bt(o,r))return Tu(e,t,l,0),ue===null&&Ru(),!1}catch{}finally{}if(n=Td(e,t,l,a),n!==null)return yt(n,e,a),zp(n,t,a),!0}return!1}function Vd(e,t,n,a){if(a={lane:2,revertLane:ef(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},_u(e)){if(t)throw Error(S(479))}else t=Td(e,n,a,2),t!==null&&yt(t,e,2)}function _u(e){var t=e.alternate;return e===G||t!==null&&t===G}function Hp(e,t){Gl=au=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zp(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}var fr={readContext:Qe,use:xu,useCallback:Re,useContext:Re,useEffect:Re,useImperativeHandle:Re,useLayoutEffect:Re,useInsertionEffect:Re,useMemo:Re,useReducer:Re,useRef:Re,useState:Re,useDebugValue:Re,useDeferredValue:Re,useTransition:Re,useSyncExternalStore:Re,useId:Re,useHostTransitionStatus:Re,useFormState:Re,useActionState:Re,useOptimistic:Re,useMemoCache:Re,useCacheRefresh:Re};fr.useEffectEvent=Re;var Up={readContext:Qe,use:xu,useCallback:function(e,t){return ut().memoizedState=[e,t===void 0?null:t],e},useContext:Qe,useEffect:wm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,zo(4194308,4,Tp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zo(4194308,4,e,t)},useInsertionEffect:function(e,t){zo(4,2,e,t)},useMemo:function(e,t){var n=ut();t=t===void 0?null:t;var a=e();if(Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=ut();if(n!==void 0){var l=n(t);if(Va){ta(!0);try{n(t)}finally{ta(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=VA.bind(null,G,e),[a.memoizedState,e]},useRef:function(e){var t=ut();return e={current:e},t.memoizedState=e},useState:function(e){e=js(e);var t=e.queue,n=Lp.bind(null,G,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Fd,useDeferredValue:function(e,t){var n=ut();return jd(n,e,t)},useTransition:function(){var e=js(!1);return e=_p.bind(null,G,e.queue,!0,!1),ut().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=G,l=ut();if(V){if(n===void 0)throw Error(S(407));n=n()}else{if(n=t(),ue===null)throw Error(S(349));(Y&127)!==0||dp(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,wm(gp.bind(null,a,i,e),[e]),a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,i,n,t),null),n},useId:function(){var e=ut(),t=ue.identifierPrefix;if(V){var n=dn,a=sn;n=(a&~(1<<32-Mt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=lu++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=UA++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Yd,useFormState:vm,useActionState:vm,useOptimistic:function(e){var t=ut();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Vd.bind(null,G,!0,n),n.dispatch=t,[e,t]},useMemoCache:Gd,useCacheRefresh:function(){return ut().memoizedState=YA.bind(null,G)},useEffectEvent:function(e){var t=ut(),n={impl:e};return t.memoizedState=n,function(){if((J&2)!==0)throw Error(S(440));return n.impl.apply(void 0,arguments)}}},Xd={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:Ho,useRef:wp,useState:function(){return Ho(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=Ho(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:bm,useActionState:bm,useOptimistic:function(e,t){var n=Me();return pp(n,re,e,t)},useMemoCache:Gd,useCacheRefresh:kp};Xd.useEffectEvent=Sp;var Gp={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:$c,useRef:wp,useState:function(){return $c(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return re===null?jd(n,e,t):Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=$c(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:Am,useActionState:Am,useOptimistic:function(e,t){var n=Me();return re!==null?pp(n,re,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Gd,useCacheRefresh:kp};Gp.useEffectEvent=Sp;function es(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:ve({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xs={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=_t(),a=ua(n);a.tag=2,t!=null&&(a.callback=t),t=ca(e,a,n),t!==null&&(yt(t,e,n),Zi(t,e,n))}};function Sm(e,t,n,a,l,i,r){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,r):t.prototype&&t.prototype.isPureReactComponent?!or(n,a)||!or(l,i):!0}function Cm(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Xs.enqueueReplaceState(t,t.state,null)}function Xa(e,t){var n=t;if("ref"in t){n={};for(var a in t)a!=="ref"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=ve({},n));for(var l in e)n[l]===void 0&&(n[l]=e[l])}return n}function Pp(e){Wo(e)}function qp(e){console.error(e)}function Fp(e){Wo(e)}function iu(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function Rm(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Qs(e,t,n){return n=ua(n),n.tag=3,n.payload={element:null},n.callback=function(){iu(e,t)},n}function jp(e){return e=ua(e),e.tag=3,e}function Yp(e,t,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var i=a.value;e.payload=function(){return l(i)},e.callback=function(){Rm(t,n,a)}}var r=n.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){Rm(t,n,a),typeof l!="function"&&(sa===null?sa=new Set([this]):sa.add(this));var o=a.stack;this.componentDidCatch(a.value,{componentStack:o!==null?o:""})})}function XA(e,t,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=n.alternate,t!==null&&ei(t,n,l,!0),n=Nt.current,n!==null){switch(n.tag){case 31:case 13:return Xt===null?su():n.alternate===null&&Te===0&&(Te=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),ds(e,a,l)),!1;case 22:return n.flags|=65536,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),ds(e,a,l)),!1}throw Error(S(435,n.tag))}return ds(e,a,l),su(),!1}if(V)return t=Nt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,a!==ks&&(e=Error(S(422),{cause:a}),cr(Yt(e,n)))):(a!==ks&&(t=Error(S(423),{cause:a}),cr(Yt(t,n))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,a=Yt(a,n),l=Qs(e.stateNode,a,l),Jc(e,l),Te!==4&&(Te=2)),!1;var i=Error(S(520),{cause:a});if(i=Yt(i,n),tr===null?tr=[i]:tr.push(i),Te!==4&&(Te=2),t===null)return!0;a=Yt(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=l&-l,n.lanes|=e,e=Qs(n.stateNode,a,e),Jc(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(sa===null||!sa.has(i))))return n.flags|=65536,l&=-l,n.lanes|=l,l=jp(l),Yp(l,e,n,a),Jc(n,l),!1}n=n.return}while(n!==null);return!1}var Qd=Error(S(461)),Le=!1;function Ye(e,t,n,a){t.child=e===null?lp(t,null,n,a):Ya(t,e.child,n,a)}function Tm(e,t,n,a,l){n=n.render;var i=t.ref;if("ref"in a){var r={};for(var o in a)o!=="ref"&&(r[o]=a[o])}else r=a;return ja(t),a=Ld(e,t,n,r,i,l),o=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&o&&Dd(t),t.flags|=1,Ye(e,t,a,l),t.child)}function Em(e,t,n,a,l){if(e===null){var i=n.type;return typeof i=="function"&&!Ed(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,Vp(e,t,i,a,l)):(e=ko(n.type,null,a,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Kd(e,l)){var r=i.memoizedProps;if(n=n.compare,n=n!==null?n:or,n(r,a)&&e.ref===t.ref)return Un(e,t,l)}return t.flags|=1,e=Nn(i,a),e.ref=t.ref,e.return=t,t.child=e}function Vp(e,t,n,a,l){if(e!==null){var i=e.memoizedProps;if(or(i,a)&&e.ref===t.ref)if(Le=!1,t.pendingProps=a=i,Kd(e,l))(e.flags&131072)!==0&&(Le=!0);else return t.lanes=e.lanes,Un(e,t,l)}return Ks(e,t,n,a,l)}function Xp(e,t,n,a){var l=a.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(a=t.child=e.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~i}else a=0,t.child=null;return Dm(e,t,i,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Lo(t,i!==null?i.cachePool:null),i!==null?hm(t,i):qs(),op(t);else return a=t.lanes=536870912,Dm(e,t,i!==null?i.baseLanes|n:n,n,a)}else i!==null?(Lo(t,i.cachePool),hm(t,i),$n(t),t.memoizedState=null):(e!==null&&Lo(t,null),qs(),$n(t));return Ye(e,t,l,n),t.child}function ji(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Dm(e,t,n,a,l){var i=_d();return i=i===null?null:{parent:ke._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Lo(t,null),qs(),op(t),e!==null&&ei(e,t,a,!0),t.childLanes=l,null}function Uo(e,t){return t=ru({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function xm(e,t,n){return Ya(t,e.child,null,n),e=Uo(t,t.pendingProps),e.flags|=2,Rt(t),t.memoizedState=null,e}function QA(e,t,n){var a=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(V){if(a.mode==="hidden")return e=Uo(t,a),t.lanes=536870912,ji(null,e);if(Fs(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return t.lanes=536870912,null}return Uo(t,a)}var i=e.memoizedState;if(i!==null){var r=i.dehydrated;if(Fs(t),l)if(t.flags&256)t.flags&=-257,t=xm(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(S(558));else if(Le||ei(e,t,n,!1),l=(n&e.childLanes)!==0,Le||l){if(a=ue,a!==null&&(r=Ch(a,n),r!==0&&r!==i.retryLane))throw i.retryLane=r,Wa(e,r),yt(a,e,r),Qd;su(),t=xm(e,t,n)}else e=i.treeContext,ye=Qt(r.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Uo(t,a),t.flags|=4096;return t}return e=Nn(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Go(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(S(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Ks(e,t,n,a,l){return ja(t),n=Ld(e,t,n,a,void 0,l),a=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,l),t.child)}function Mm(e,t,n,a,l,i){return ja(t),t.updateQueue=null,n=cp(t,a,n,l),up(e),a=Hd(),e!==null&&!Le?(zd(e,t,i),Un(e,t,i)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,i),t.child)}function _m(e,t,n,a,l){if(ja(t),t.stateNode===null){var i=_l,r=n.contextType;typeof r=="object"&&r!==null&&(i=Qe(r)),i=new n(a,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Xs,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=a,i.state=t.memoizedState,i.refs={},Nd(t),r=n.contextType,i.context=typeof r=="object"&&r!==null?Qe(r):_l,i.state=t.memoizedState,r=n.getDerivedStateFromProps,typeof r=="function"&&(es(t,n,r,a),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&Xs.enqueueReplaceState(i,i.state,null),Ii(t,a,i,l),Wi(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){i=t.stateNode;var o=t.memoizedProps,u=Xa(n,o);i.props=u;var c=i.context,s=n.contextType;r=_l,typeof s=="object"&&s!==null&&(r=Qe(s));var f=n.getDerivedStateFromProps;s=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function",o=t.pendingProps!==o,s||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o||c!==r)&&Cm(t,i,a,r),Wn=!1;var d=t.memoizedState;i.state=d,Ii(t,a,i,l),Wi(),c=t.memoizedState,o||d!==c||Wn?(typeof f=="function"&&(es(t,n,f,a),c=t.memoizedState),(u=Wn||Sm(t,n,u,a,d,c,r))?(s||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=r,a=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Gs(e,t),r=t.memoizedProps,s=Xa(n,r),i.props=s,f=t.pendingProps,d=i.context,c=n.contextType,u=_l,typeof c=="object"&&c!==null&&(u=Qe(c)),o=n.getDerivedStateFromProps,(c=typeof o=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r!==f||d!==u)&&Cm(t,i,a,u),Wn=!1,d=t.memoizedState,i.state=d,Ii(t,a,i,l),Wi();var m=t.memoizedState;r!==f||d!==m||Wn||e!==null&&e.dependencies!==null&&$o(e.dependencies)?(typeof o=="function"&&(es(t,n,o,a),m=t.memoizedState),(s=Wn||Sm(t,n,s,a,d,m,u)||e!==null&&e.dependencies!==null&&$o(e.dependencies))?(c||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(a,m,u),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(a,m,u)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=u,a=s):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return i=a,Go(e,t),a=(t.flags&128)!==0,i||a?(i=t.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&a?(t.child=Ya(t,e.child,null,l),t.child=Ya(t,null,n,l)):Ye(e,t,n,l),t.memoizedState=i.state,e=t.child):e=Un(e,t,l),e}function Bm(e,t,n,a){return Fa(),t.flags|=256,Ye(e,t,n,a),t.child}var ts={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ns(e){return{baseLanes:e,cachePool:tp()}}function as(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Et),e}function Qp(e,t,n){var a=t.pendingProps,l=!1,i=(t.flags&128)!==0,r;if((r=i)||(r=e!==null&&e.memoizedState===null?!1:(xe.current&2)!==0),r&&(l=!0,t.flags&=-129),r=(t.flags&32)!==0,t.flags&=-33,e===null){if(V){if(l?Jn(t):$n(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return ud(e)?t.lanes=32:t.lanes=536870912,null}var o=a.children;return a=a.fallback,l?($n(t),l=t.mode,o=ru({mode:"hidden",children:o},l),a=Ua(a,l,n,null),o.return=t,a.return=t,o.sibling=a,t.child=o,a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,ji(null,a)):(Jn(t),Zs(t,o))}var u=e.memoizedState;if(u!==null&&(o=u.dehydrated,o!==null)){if(i)t.flags&256?(Jn(t),t.flags&=-257,t=ls(e,t,n)):t.memoizedState!==null?($n(t),t.child=e.child,t.flags|=128,t=null):($n(t),o=a.fallback,l=t.mode,a=ru({mode:"visible",children:a.children},l),o=Ua(o,l,n,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,Ya(t,e.child,null,n),a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,t=ji(null,a));else if(Jn(t),ud(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var c=r.dgst;r=c,a=Error(S(419)),a.stack="",a.digest=r,cr({value:a,source:null,stack:null}),t=ls(e,t,n)}else if(Le||ei(e,t,n,!1),r=(n&e.childLanes)!==0,Le||r){if(r=ue,r!==null&&(a=Ch(r,n),a!==0&&a!==u.retryLane))throw u.retryLane=a,Wa(e,a),yt(r,e,a),Qd;od(o)||su(),t=ls(e,t,n)}else od(o)?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,ye=Qt(o.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Zs(t,a.children),t.flags|=4096);return t}return l?($n(t),o=a.fallback,l=t.mode,u=e.child,c=u.sibling,a=Nn(u,{mode:"hidden",children:a.children}),a.subtreeFlags=u.subtreeFlags&65011712,c!==null?o=Nn(c,o):(o=Ua(o,l,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,ji(null,a),a=t.child,o=e.child.memoizedState,o===null?o=ns(n):(l=o.cachePool,l!==null?(u=ke._currentValue,l=l.parent!==u?{parent:u,pool:u}:l):l=tp(),o={baseLanes:o.baseLanes|n,cachePool:l}),a.memoizedState=o,a.childLanes=as(e,r,n),t.memoizedState=ts,ji(e.child,a)):(Jn(t),n=e.child,e=n.sibling,n=Nn(n,{mode:"visible",children:a.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Zs(e,t){return t=ru({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ru(e,t){return e=Tt(22,e,null,t),e.lanes=0,e}function ls(e,t,n){return Ya(t,e.child,null,n),e=Zs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nm(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Hs(e.return,t,n)}function is(e,t,n,a,l,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=l,r.treeForkCount=i)}function Kp(e,t,n){var a=t.pendingProps,l=a.revealOrder,i=a.tail;a=a.children;var r=xe.current,o=(r&2)!==0;if(o?(r=r&1|2,t.flags|=128):r&=1,ge(xe,r),Ye(e,t,a,n),a=V?ur:0,!o&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nm(e,n,t);else if(e.tag===19)Nm(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&nu(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),is(t,!1,l,n,i,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&nu(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}is(t,!0,n,null,i,a);break;case"together":is(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function Un(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),va|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ei(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(S(153));if(t.child!==null){for(e=t.child,n=Nn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Nn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Kd(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&$o(e)))}function KA(e,t,n){switch(t.tag){case 3:Xo(t,t.stateNode.containerInfo),In(t,ke,e.memoizedState.cache),Fa();break;case 27:case 5:Cs(t);break;case 4:Xo(t,t.stateNode.containerInfo);break;case 10:In(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Fs(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(Jn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Qp(e,t,n):(Jn(t),e=Un(e,t,n),e!==null?e.sibling:null);Jn(t);break;case 19:var l=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||(ei(e,t,n,!1),a=(n&t.childLanes)!==0),l){if(a)return Kp(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ge(xe,xe.current),a)break;return null;case 22:return t.lanes=0,Xp(e,t,n,t.pendingProps);case 24:In(t,ke,e.memoizedState.cache)}return Un(e,t,n)}function Zp(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Le=!0;else{if(!Kd(e,n)&&(t.flags&128)===0)return Le=!1,KA(e,t,n);Le=(e.flags&131072)!==0}else Le=!1,V&&(t.flags&1048576)!==0&&Jh(t,ur,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=La(t.elementType),t.type=e,typeof e=="function")Ed(e)?(a=Xa(e,a),t.tag=1,t=_m(null,t,e,a,n)):(t.tag=0,t=Ks(null,t,e,a,n));else{if(e!=null){var l=e.$$typeof;if(l===fd){t.tag=11,t=Tm(null,t,e,a,n);break e}else if(l===gd){t.tag=14,t=Em(null,t,e,a,n);break e}}throw t=ws(e)||e,Error(S(306,t,""))}}return t;case 0:return Ks(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,l=Xa(a,t.pendingProps),_m(e,t,a,l,n);case 3:e:{if(Xo(t,t.stateNode.containerInfo),e===null)throw Error(S(387));a=t.pendingProps;var i=t.memoizedState;l=i.element,Gs(e,t),Ii(t,a,null,n);var r=t.memoizedState;if(a=r.cache,In(t,ke,a),a!==i.cache&&zs(t,[ke],n,!0),Wi(),a=r.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:r.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Bm(e,t,a,n);break e}else if(a!==l){l=Yt(Error(S(424)),t),cr(l),t=Bm(e,t,a,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(ye=Qt(e.firstChild),Xe=t,V=!0,oa=null,Vt=!0,n=lp(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Fa(),a===l){t=Un(e,t,n);break e}Ye(e,t,a,n)}t=t.child}return t;case 26:return Go(e,t),e===null?(n=eh(t.type,null,t.pendingProps,null))?t.memoizedState=n:V||(n=t.type,e=t.pendingProps,a=mu(ra.current).createElement(n),a[Ve]=t,a[vt]=e,Ke(a,n,e),qe(a),t.stateNode=a):t.memoizedState=eh(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Cs(t),e===null&&V&&(a=t.stateNode=Gy(t.type,t.pendingProps,ra.current),Xe=t,Vt=!0,l=ye,Aa(t.type)?(cd=l,ye=Qt(a.firstChild)):ye=l),Ye(e,t,t.pendingProps.children,n),Go(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&V&&((l=a=ye)&&(a=Sw(a,t.type,t.pendingProps,Vt),a!==null?(t.stateNode=a,Xe=t,ye=Qt(a.firstChild),Vt=!1,l=!0):l=!1),l||pa(t)),Cs(t),l=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,a=i.children,id(l,i)?a=null:r!==null&&id(l,r)&&(t.flags|=32),t.memoizedState!==null&&(l=Ld(e,t,GA,null,null,n),hr._currentValue=l),Go(e,t),Ye(e,t,a,n),t.child;case 6:return e===null&&V&&((e=n=ye)&&(n=Cw(n,t.pendingProps,Vt),n!==null?(t.stateNode=n,Xe=t,ye=null,e=!0):e=!1),e||pa(t)),null;case 13:return Qp(e,t,n);case 4:return Xo(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ya(t,null,a,n):Ye(e,t,a,n),t.child;case 11:return Tm(e,t,t.type,t.pendingProps,n);case 7:return Ye(e,t,t.pendingProps,n),t.child;case 8:return Ye(e,t,t.pendingProps.children,n),t.child;case 12:return Ye(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,In(t,t.type,a.value),Ye(e,t,a.children,n),t.child;case 9:return l=t.type._context,a=t.pendingProps.children,ja(t),l=Qe(l),a=a(l),t.flags|=1,Ye(e,t,a,n),t.child;case 14:return Em(e,t,t.type,t.pendingProps,n);case 15:return Vp(e,t,t.type,t.pendingProps,n);case 19:return Kp(e,t,n);case 31:return QA(e,t,n);case 22:return Xp(e,t,n,t.pendingProps);case 24:return ja(t),a=Qe(ke),e===null?(l=_d(),l===null&&(l=ue,i=Md(),l.pooledCache=i,i.refCount++,i!==null&&(l.pooledCacheLanes|=n),l=i),t.memoizedState={parent:a,cache:l},Nd(t),In(t,ke,l)):((e.lanes&n)!==0&&(Gs(e,t),Ii(t,null,null,n),Wi()),l=e.memoizedState,i=t.memoizedState,l.parent!==a?(l={parent:a,cache:a},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),In(t,ke,a)):(a=i.cache,In(t,ke,a),a!==l.cache&&zs(t,[ke],n,!0))),Ye(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(S(156,t.tag))}function Cn(e){e.flags|=4}function rs(e,t,n,a,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(by())e.flags|=8192;else throw Pa=eu,Bd}else e.flags&=-16777217}function Om(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Fy(t))if(by())e.flags|=8192;else throw Pa=eu,Bd}function Co(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ah():536870912,e.lanes|=t,Ql|=t)}function Hi(e,t){if(!V)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function ZA(e,t,n){var a=t.pendingProps;switch(xd(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pe(t),null;case 1:return pe(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),On(ke),ql(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(vl(t)?Cn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ic())),pe(t),null;case 26:var l=t.type,i=t.memoizedState;return e===null?(Cn(t),i!==null?(pe(t),Om(t,i)):(pe(t),rs(t,l,null,a,n))):i?i!==e.memoizedState?(Cn(t),pe(t),Om(t,i)):(pe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&Cn(t),pe(t),rs(t,l,e,a,n)),null;case 27:if(Qo(t),n=ra.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}e=gn.current,vl(t)?um(t,e):(e=Gy(l,a,n),t.stateNode=e,Cn(t))}return pe(t),null;case 5:if(Qo(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}if(i=gn.current,vl(t))um(t,i);else{var r=mu(ra.current);switch(i){case 1:i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":i=r.createElement("div"),i.innerHTML="<script><\/scr"+"ipt>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?r.createElement(l,{is:a.is}):r.createElement(l)}}i[Ve]=t,i[vt]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(Ke(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Cn(t)}}return pe(t),rs(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(S(166));if(e=ra.current,vl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=Xe,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[Ve]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Ly(e.nodeValue,n)),e||pa(t,!0)}else e=mu(e).createTextNode(a),e[Ve]=t,t.stateNode=e}return pe(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=vl(t),n!==null){if(e===null){if(!a)throw Error(S(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(557));e[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),e=!1}else n=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Rt(t),t):(Rt(t),null);if((t.flags&128)!==0)throw Error(S(558))}return pe(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=vl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(S(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(317));l[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),l=!1}else l=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Rt(t),t):(Rt(t),null)}return Rt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Co(t,t.updateQueue),pe(t),null);case 4:return ql(),e===null&&tf(t.stateNode.containerInfo),pe(t),null;case 10:return On(t.type),pe(t),null;case 19:if(Fe(xe),a=t.memoizedState,a===null)return pe(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)Hi(a,!1);else{if(Te!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=nu(e),i!==null){for(t.flags|=128,Hi(a,!1),e=i.updateQueue,t.updateQueue=e,Co(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Wh(n,e),n=n.sibling;return ge(xe,xe.current&1|2),V&&Dn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Dt()>uu&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304)}else{if(!l)if(e=nu(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Co(t,e),Hi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!V)return pe(t),null}else 2*Dt()-a.renderingStartTime>uu&&n!==536870912&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Dt(),e.sibling=null,n=xe.current,ge(xe,l?n&1|2:n&1),V&&Dn(t,a.treeForkCount),e):(pe(t),null);case 22:case 23:return Rt(t),Od(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(pe(t),t.subtreeFlags&6&&(t.flags|=8192)):pe(t),n=t.updateQueue,n!==null&&Co(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&Fe(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),On(ke),pe(t),null;case 25:return null;case 30:return null}throw Error(S(156,t.tag))}function WA(e,t){switch(xd(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return On(ke),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Qo(t),null;case 31:if(t.memoizedState!==null){if(Rt(t),t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Rt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fe(xe),null;case 4:return ql(),null;case 10:return On(t.type),null;case 22:case 23:return Rt(t),Od(),e!==null&&Fe(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return On(ke),null;case 25:return null;default:return null}}function Wp(e,t){switch(xd(t),t.tag){case 3:On(ke),ql();break;case 26:case 27:case 5:Qo(t);break;case 4:ql();break;case 31:t.memoizedState!==null&&Rt(t);break;case 13:Rt(t);break;case 19:Fe(xe);break;case 10:On(t.type);break;case 22:case 23:Rt(t),Od(),e!==null&&Fe(Ga);break;case 24:On(ke)}}function Er(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,r=n.inst;a=i(),r.destroy=a}n=n.next}while(n!==l)}}catch(o){le(t,t.return,o)}}function ya(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var r=a.inst,o=r.destroy;if(o!==void 0){r.destroy=void 0,l=t;var u=n,c=o;try{c()}catch(s){le(l,u,s)}}}a=a.next}while(a!==i)}}catch(s){le(t,t.return,s)}}function Ip(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{rp(t,n)}catch(a){le(e,e.return,a)}}}function Jp(e,t,n){n.props=Xa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){le(e,t,a)}}function $i(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){le(e,t,l)}}function fn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){le(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){le(e,t,l)}else n.current=null}function $p(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){le(e,e.return,l)}}function os(e,t,n){try{var a=e.stateNode;pw(a,e.type,n,t),a[vt]=t}catch(l){le(e,e.return,l)}}function ey(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Aa(e.type)||e.tag===4}function us(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ey(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Aa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ws(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=_n));else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Ws(e,t,n),e=e.sibling;e!==null;)Ws(e,t,n),e=e.sibling}function ou(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ou(e,t,n),e=e.sibling;e!==null;)ou(e,t,n),e=e.sibling}function ty(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);Ke(t,a,n),t[Ve]=e,t[vt]=n}catch(i){le(e,e.return,i)}}var xn=!1,Oe=!1,cs=!1,km=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function IA(e,t){if(e=e.containerInfo,ad=vu,e=Fh(e),Cd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var r=0,o=-1,u=-1,c=0,s=0,f=e,d=null;t:for(;;){for(var m;f!==n||l!==0&&f.nodeType!==3||(o=r+l),f!==i||a!==0&&f.nodeType!==3||(u=r+a),f.nodeType===3&&(r+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===n&&++c===l&&(o=r),d===i&&++s===a&&(u=r),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}n=o===-1||u===-1?null:{start:o,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ld={focusedElem:e,selectionRange:n},vu=!1,Pe=t;Pe!==null;)if(t=Pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Pe=e;else for(;Pe!==null;){switch(t=Pe,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)l=e[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,l=i.memoizedProps,i=i.memoizedState,a=n.stateNode;try{var v=Xa(n.type,l);e=a.getSnapshotBeforeUpdate(v,i),a.__reactInternalSnapshotBeforeUpdate=e}catch(A){le(n,n.return,A)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)rd(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":rd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(S(163))}if(e=t.sibling,e!==null){e.return=t.return,Pe=e;break}Pe=t.return}}function ny(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Tn(e,n),a&4&&Er(5,n);break;case 1:if(Tn(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(r){le(n,n.return,r)}else{var l=Xa(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(r){le(n,n.return,r)}}a&64&&Ip(n),a&512&&$i(n,n.return);break;case 3:if(Tn(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{rp(e,t)}catch(r){le(n,n.return,r)}}break;case 27:t===null&&a&4&&ty(n);case 26:case 5:Tn(e,n),t===null&&a&4&&$p(n),a&512&&$i(n,n.return);break;case 12:Tn(e,n);break;case 31:Tn(e,n),a&4&&iy(e,n);break;case 13:Tn(e,n),a&4&&ry(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=rw.bind(null,n),Rw(e,n))));break;case 22:if(a=n.memoizedState!==null||xn,!a){t=t!==null&&t.memoizedState!==null||Oe,l=xn;var i=Oe;xn=a,(Oe=t)&&!i?En(e,n,(n.subtreeFlags&8772)!==0):Tn(e,n),xn=l,Oe=i}break;case 30:break;default:Tn(e,n)}}function ay(e){var t=e.alternate;t!==null&&(e.alternate=null,ay(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&yd(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ce=null,ht=!1;function Rn(e,t,n){for(n=n.child;n!==null;)ly(e,t,n),n=n.sibling}function ly(e,t,n){if(xt&&typeof xt.onCommitFiberUnmount=="function")try{xt.onCommitFiberUnmount(br,n)}catch{}switch(n.tag){case 26:Oe||fn(n,t),Rn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Oe||fn(n,t);var a=Ce,l=ht;Aa(n.type)&&(Ce=n.stateNode,ht=!1),Rn(e,t,n),ar(n.stateNode),Ce=a,ht=l;break;case 5:Oe||fn(n,t);case 6:if(a=Ce,l=ht,Ce=null,Rn(e,t,n),Ce=a,ht=l,Ce!==null)if(ht)try{(Ce.nodeType===9?Ce.body:Ce.nodeName==="HTML"?Ce.ownerDocument.body:Ce).removeChild(n.stateNode)}catch(i){le(n,t,i)}else try{Ce.removeChild(n.stateNode)}catch(i){le(n,t,i)}break;case 18:Ce!==null&&(ht?(e=Ce,Zm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),Il(e)):Zm(Ce,n.stateNode));break;case 4:a=Ce,l=ht,Ce=n.stateNode.containerInfo,ht=!0,Rn(e,t,n),Ce=a,ht=l;break;case 0:case 11:case 14:case 15:ya(2,n,t),Oe||ya(4,n,t),Rn(e,t,n);break;case 1:Oe||(fn(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"&&Jp(n,t,a)),Rn(e,t,n);break;case 21:Rn(e,t,n);break;case 22:Oe=(a=Oe)||n.memoizedState!==null,Rn(e,t,n),Oe=a;break;default:Rn(e,t,n)}}function iy(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Il(e)}catch(n){le(t,t.return,n)}}}function ry(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Il(e)}catch(n){le(t,t.return,n)}}function JA(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new km),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new km),t;default:throw Error(S(435,e.tag))}}function Ro(e,t){var n=JA(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var l=ow.bind(null,e,a);a.then(l,l)}})}function gt(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var l=n[a],i=e,r=t,o=r;e:for(;o!==null;){switch(o.tag){case 27:if(Aa(o.type)){Ce=o.stateNode,ht=!1;break e}break;case 5:Ce=o.stateNode,ht=!1;break e;case 3:case 4:Ce=o.stateNode.containerInfo,ht=!0;break e}o=o.return}if(Ce===null)throw Error(S(160));ly(i,r,l),Ce=null,ht=!1,i=l.alternate,i!==null&&(i.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)oy(t,e),t=t.sibling}var en=null;function oy(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),mt(e),a&4&&(ya(3,e,e.return),Er(3,e),ya(5,e,e.return));break;case 1:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&64&&xn&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var l=en;if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&4){var i=n!==null?n.memoizedState:null;if(a=e.memoizedState,n===null)if(a===null)if(e.stateNode===null){e:{a=e.type,n=e.memoizedProps,l=l.ownerDocument||l;t:switch(a){case"title":i=l.getElementsByTagName("title")[0],(!i||i[Sr]||i[Ve]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=l.createElement(a),l.head.insertBefore(i,l.querySelector("head > title"))),Ke(i,a,n),i[Ve]=e,qe(i),a=i;break e;case"link":var r=nh("link","href",l).get(a+(n.href||""));if(r){for(var o=0;o<r.length;o++)if(i=r[o],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;case"meta":if(r=nh("meta","content",l).get(a+(n.content||""))){for(o=0;o<r.length;o++)if(i=r[o],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;default:throw Error(S(468,a))}i[Ve]=e,qe(i),a=i}e.stateNode=a}else ah(l,e.type,e.stateNode);else e.stateNode=th(l,a,e.memoizedProps);else i!==a?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count--,a===null?ah(l,e.type,e.stateNode):th(l,a,e.memoizedProps)):a===null&&e.stateNode!==null&&os(e,e.memoizedProps,n.memoizedProps)}break;case 27:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),n!==null&&a&4&&os(e,e.memoizedProps,n.memoizedProps);break;case 5:if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),e.flags&32){l=e.stateNode;try{jl(l,"")}catch(v){le(e,e.return,v)}}a&4&&e.stateNode!=null&&(l=e.memoizedProps,os(e,l,n!==null?n.memoizedProps:l)),a&1024&&(cs=!0);break;case 6:if(gt(t,e),mt(e),a&4){if(e.stateNode===null)throw Error(S(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(v){le(e,e.return,v)}}break;case 3:if(Fo=null,l=en,en=hu(t.containerInfo),gt(t,e),en=l,mt(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Il(t.containerInfo)}catch(v){le(e,e.return,v)}cs&&(cs=!1,uy(e));break;case 4:a=en,en=hu(e.stateNode.containerInfo),gt(t,e),mt(e),en=a;break;case 12:gt(t,e),mt(e);break;case 31:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 13:gt(t,e),mt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Bu=Dt()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 22:l=e.memoizedState!==null;var u=n!==null&&n.memoizedState!==null,c=xn,s=Oe;if(xn=c||l,Oe=s||u,gt(t,e),Oe=s,xn=c,mt(e),a&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(n===null||u||xn||Oe||Ha(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){u=n=t;try{if(i=u.stateNode,l)r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{o=u.stateNode;var f=u.memoizedProps.style,d=f!=null&&f.hasOwnProperty("display")?f.display:null;o.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(v){le(u,u.return,v)}}}else if(t.tag===6){if(n===null){u=t;try{u.stateNode.nodeValue=l?"":u.memoizedProps}catch(v){le(u,u.return,v)}}}else if(t.tag===18){if(n===null){u=t;try{var m=u.stateNode;l?Wm(m,!0):Wm(u.stateNode,!1)}catch(v){le(u,u.return,v)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,Ro(e,n))));break;case 19:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 30:break;case 21:break;default:gt(t,e),mt(e)}}function mt(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(ey(a)){n=a;break}a=a.return}if(n==null)throw Error(S(160));switch(n.tag){case 27:var l=n.stateNode,i=us(e);ou(e,i,l);break;case 5:var r=n.stateNode;n.flags&32&&(jl(r,""),n.flags&=-33);var o=us(e);ou(e,o,r);break;case 3:case 4:var u=n.stateNode.containerInfo,c=us(e);Ws(e,c,u);break;default:throw Error(S(161))}}catch(s){le(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function uy(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;uy(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Tn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ny(e,t.alternate,t),t=t.sibling}function Ha(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ya(4,t,t.return),Ha(t);break;case 1:fn(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Jp(t,t.return,n),Ha(t);break;case 27:ar(t.stateNode);case 26:case 5:fn(t,t.return),Ha(t);break;case 22:t.memoizedState===null&&Ha(t);break;case 30:Ha(t);break;default:Ha(t)}e=e.sibling}}function En(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,l=e,i=t,r=i.flags;switch(i.tag){case 0:case 11:case 15:En(l,i,n),Er(4,i);break;case 1:if(En(l,i,n),a=i,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(c){le(a,a.return,c)}if(a=i,l=a.updateQueue,l!==null){var o=a.stateNode;try{var u=l.shared.hiddenCallbacks;if(u!==null)for(l.shared.hiddenCallbacks=null,l=0;l<u.length;l++)ip(u[l],o)}catch(c){le(a,a.return,c)}}n&&r&64&&Ip(i),$i(i,i.return);break;case 27:ty(i);case 26:case 5:En(l,i,n),n&&a===null&&r&4&&$p(i),$i(i,i.return);break;case 12:En(l,i,n);break;case 31:En(l,i,n),n&&r&4&&iy(l,i);break;case 13:En(l,i,n),n&&r&4&&ry(l,i);break;case 22:i.memoizedState===null&&En(l,i,n),$i(i,i.return);break;case 30:break;default:En(l,i,n)}t=t.sibling}}function Zd(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Rr(n))}function Wd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e))}function $t(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)cy(e,t,n,a),t=t.sibling}function cy(e,t,n,a){var l=t.flags;switch(t.tag){case 0:case 11:case 15:$t(e,t,n,a),l&2048&&Er(9,t);break;case 1:$t(e,t,n,a);break;case 3:$t(e,t,n,a),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e)));break;case 12:if(l&2048){$t(e,t,n,a),e=t.stateNode;try{var i=t.memoizedProps,r=i.id,o=i.onPostCommit;typeof o=="function"&&o(r,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(u){le(t,t.return,u)}}else $t(e,t,n,a);break;case 31:$t(e,t,n,a);break;case 13:$t(e,t,n,a);break;case 23:break;case 22:i=t.stateNode,r=t.alternate,t.memoizedState!==null?i._visibility&2?$t(e,t,n,a):er(e,t):i._visibility&2?$t(e,t,n,a):(i._visibility|=2,Al(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Zd(r,t);break;case 24:$t(e,t,n,a),l&2048&&Wd(t.alternate,t);break;default:$t(e,t,n,a)}}function Al(e,t,n,a,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,r=t,o=n,u=a,c=r.flags;switch(r.tag){case 0:case 11:case 15:Al(i,r,o,u,l),Er(8,r);break;case 23:break;case 22:var s=r.stateNode;r.memoizedState!==null?s._visibility&2?Al(i,r,o,u,l):er(i,r):(s._visibility|=2,Al(i,r,o,u,l)),l&&c&2048&&Zd(r.alternate,r);break;case 24:Al(i,r,o,u,l),l&&c&2048&&Wd(r.alternate,r);break;default:Al(i,r,o,u,l)}t=t.sibling}}function er(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,l=a.flags;switch(a.tag){case 22:er(n,a),l&2048&&Zd(a.alternate,a);break;case 24:er(n,a),l&2048&&Wd(a.alternate,a);break;default:er(n,a)}t=t.sibling}}var Yi=8192;function bl(e,t,n){if(e.subtreeFlags&Yi)for(e=e.child;e!==null;)sy(e,t,n),e=e.sibling}function sy(e,t,n){switch(e.tag){case 26:bl(e,t,n),e.flags&Yi&&e.memoizedState!==null&&Hw(n,en,e.memoizedState,e.memoizedProps);break;case 5:bl(e,t,n);break;case 3:case 4:var a=en;en=hu(e.stateNode.containerInfo),bl(e,t,n),en=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=Yi,Yi=16777216,bl(e,t,n),Yi=a):bl(e,t,n));break;default:bl(e,t,n)}}function dy(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function zi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)fy(e),e=e.sibling}function fy(e){switch(e.tag){case 0:case 11:case 15:zi(e),e.flags&2048&&ya(9,e,e.return);break;case 3:zi(e);break;case 12:zi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Po(e)):zi(e);break;default:zi(e)}}function Po(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ya(8,t,t.return),Po(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Po(t));break;default:Po(t)}e=e.sibling}}function gy(e,t){for(;Pe!==null;){var n=Pe;switch(n.tag){case 0:case 11:case 15:ya(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Rr(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,Pe=a;else e:for(n=e;Pe!==null;){a=Pe;var l=a.sibling,i=a.return;if(ay(a),a===n){Pe=null;break e}if(l!==null){l.return=i,Pe=l;break e}Pe=i}}}var $A={getCacheForType:function(e){var t=Qe(ke),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Qe(ke).controller.signal}},ew=typeof WeakMap=="function"?WeakMap:Map,J=0,ue=null,F=null,Y=0,ae=0,Ct=null,aa=!1,ni=!1,Id=!1,Gn=0,Te=0,va=0,qa=0,Jd=0,Et=0,Ql=0,tr=null,pt=null,Is=!1,Bu=0,my=0,uu=1/0,cu=null,sa=null,Ue=0,da=null,Kl=null,kn=0,Js=0,$s=null,hy=null,nr=0,ed=null;function _t(){return(J&2)!==0&&Y!==0?Y&-Y:L.T!==null?ef():Rh()}function py(){if(Et===0)if((Y&536870912)===0||V){var e=mo;mo<<=1,(mo&3932160)===0&&(mo=262144),Et=e}else Et=536870912;return e=Nt.current,e!==null&&(e.flags|=32),Et}function yt(e,t,n){(e===ue&&(ae===2||ae===9)||e.cancelPendingCommit!==null)&&(Zl(e,0),la(e,Y,Et,!1)),wr(e,n),((J&2)===0||e!==ue)&&(e===ue&&((J&2)===0&&(qa|=n),Te===4&&la(e,Y,Et,!1)),hn(e))}function yy(e,t,n){if((J&6)!==0)throw Error(S(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Ar(e,t),l=a?aw(e,t):ss(e,t,!0),i=a;do{if(l===0){ni&&!a&&la(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!tw(n)){l=ss(e,t,!1),i=!1;continue}if(l===2){if(i=t,e.errorRecoveryDisabledLanes&i)var r=0;else r=e.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){t=r;e:{var o=e;l=tr;var u=o.current.memoizedState.isDehydrated;if(u&&(Zl(o,r).flags|=256),r=ss(o,r,!1),r!==2){if(Id&&!u){o.errorRecoveryDisabledLanes|=i,qa|=i,l=4;break e}i=pt,pt=l,i!==null&&(pt===null?pt=i:pt.push.apply(pt,i))}l=r}if(i=!1,l!==2)continue}}if(l===1){Zl(e,0),la(e,t,0,!0);break}e:{switch(a=e,i=l,i){case 0:case 1:throw Error(S(345));case 4:if((t&4194048)!==t)break;case 6:la(a,t,Et,!aa);break e;case 2:pt=null;break;case 3:case 5:break;default:throw Error(S(329))}if((t&62914560)===t&&(l=Bu+300-Dt(),10<l)){if(la(a,t,Et,!aa),Au(a,0,!0)!==0)break e;kn=t,a.timeoutHandle=zy(Lm.bind(null,a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,"Throttled",-0,0),l);break e}Lm(a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,null,-0,0)}}break}while(!0);hn(e)}function Lm(e,t,n,a,l,i,r,o,u,c,s,f,d,m){if(e.timeoutHandle=-1,f=t.subtreeFlags,f&8192||(f&16785408)===16785408){f={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:_n},sy(t,i,f);var v=(i&62914560)===i?Bu-Dt():(i&4194048)===i?my-Dt():0;if(v=zw(f,v),v!==null){kn=i,e.cancelPendingCommit=v(zm.bind(null,e,t,i,n,a,l,r,o,u,s,f,null,d,m)),la(e,i,r,!c);return}}zm(e,t,i,n,a,l,r,o,u)}function tw(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],i=l.getSnapshot;l=l.value;try{if(!Bt(i(),l))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function la(e,t,n,a){t&=~Jd,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var l=t;0<l;){var i=31-Mt(l),r=1<<i;a[i]=-1,l&=~r}n!==0&&wh(e,n,t)}function Nu(){return(J&6)===0?(Dr(0,!1),!1):!0}function $d(){if(F!==null){if(ae===0)var e=F.return;else e=F,Bn=Ia=null,Ud(e),Ul=null,sr=0,e=F;for(;e!==null;)Wp(e.alternate,e),e=e.return;F=null}}function Zl(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,bw(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),kn=0,$d(),ue=e,F=n=Nn(e.current,null),Y=t,ae=0,Ct=null,aa=!1,ni=Ar(e,t),Id=!1,Ql=Et=Jd=qa=va=Te=0,pt=tr=null,Is=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var l=31-Mt(a),i=1<<l;t|=e[l],a&=~i}return Gn=t,Ru(),n}function vy(e,t){G=null,L.H=fr,t===ti||t===Eu?(t=gm(),ae=3):t===Bd?(t=gm(),ae=4):ae=t===Qd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ct=t,F===null&&(Te=1,iu(e,Yt(t,e.current)))}function by(){var e=Nt.current;return e===null?!0:(Y&4194048)===Y?Xt===null:(Y&62914560)===Y||(Y&536870912)!==0?e===Xt:!1}function Ay(){var e=L.H;return L.H=fr,e===null?fr:e}function wy(){var e=L.A;return L.A=$A,e}function su(){Te=4,aa||(Y&4194048)!==Y&&Nt.current!==null||(ni=!0),(va&134217727)===0&&(qa&134217727)===0||ue===null||la(ue,Y,Et,!1)}function ss(e,t,n){var a=J;J|=2;var l=Ay(),i=wy();(ue!==e||Y!==t)&&(cu=null,Zl(e,t)),t=!1;var r=Te;e:do try{if(ae!==0&&F!==null){var o=F,u=Ct;switch(ae){case 8:$d(),r=6;break e;case 3:case 2:case 9:case 6:Nt.current===null&&(t=!0);var c=ae;if(ae=0,Ct=null,Ol(e,o,u,c),n&&ni){r=0;break e}break;default:c=ae,ae=0,Ct=null,Ol(e,o,u,c)}}nw(),r=Te;break}catch(s){vy(e,s)}while(!0);return t&&e.shellSuspendCounter++,Bn=Ia=null,J=a,L.H=l,L.A=i,F===null&&(ue=null,Y=0,Ru()),r}function nw(){for(;F!==null;)Sy(F)}function aw(e,t){var n=J;J|=2;var a=Ay(),l=wy();ue!==e||Y!==t?(cu=null,uu=Dt()+500,Zl(e,t)):ni=Ar(e,t);e:do try{if(ae!==0&&F!==null){t=F;var i=Ct;t:switch(ae){case 1:ae=0,Ct=null,Ol(e,t,i,1);break;case 2:case 9:if(fm(i)){ae=0,Ct=null,Hm(t);break}t=function(){ae!==2&&ae!==9||ue!==e||(ae=7),hn(e)},i.then(t,t);break e;case 3:ae=7;break e;case 4:ae=5;break e;case 7:fm(i)?(ae=0,Ct=null,Hm(t)):(ae=0,Ct=null,Ol(e,t,i,7));break;case 5:var r=null;switch(F.tag){case 26:r=F.memoizedState;case 5:case 27:var o=F;if(r?Fy(r):o.stateNode.complete){ae=0,Ct=null;var u=o.sibling;if(u!==null)F=u;else{var c=o.return;c!==null?(F=c,Ou(c)):F=null}break t}}ae=0,Ct=null,Ol(e,t,i,5);break;case 6:ae=0,Ct=null,Ol(e,t,i,6);break;case 8:$d(),Te=6;break e;default:throw Error(S(462))}}lw();break}catch(s){vy(e,s)}while(!0);return Bn=Ia=null,L.H=a,L.A=l,J=n,F!==null?0:(ue=null,Y=0,Ru(),Te)}function lw(){for(;F!==null&&!Db();)Sy(F)}function Sy(e){var t=Zp(e.alternate,e,Gn);e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Hm(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Mm(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=Mm(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:Ud(t);default:Wp(n,t),t=F=Wh(t,Gn),t=Zp(n,t,Gn)}e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Ol(e,t,n,a){Bn=Ia=null,Ud(t),Ul=null,sr=0;var l=t.return;try{if(XA(e,l,t,n,Y)){Te=1,iu(e,Yt(n,e.current)),F=null;return}}catch(i){if(l!==null)throw F=l,i;Te=1,iu(e,Yt(n,e.current)),F=null;return}t.flags&32768?(V||a===1?e=!0:ni||(Y&536870912)!==0?e=!1:(aa=e=!0,(a===2||a===9||a===3||a===6)&&(a=Nt.current,a!==null&&a.tag===13&&(a.flags|=16384))),Cy(t,e)):Ou(t)}function Ou(e){var t=e;do{if((t.flags&32768)!==0){Cy(t,aa);return}e=t.return;var n=ZA(t.alternate,t,Gn);if(n!==null){F=n;return}if(t=t.sibling,t!==null){F=t;return}F=t=e}while(t!==null);Te===0&&(Te=5)}function Cy(e,t){do{var n=WA(e.alternate,e);if(n!==null){n.flags&=32767,F=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){F=e;return}F=e=n}while(e!==null);Te=6,F=null}function zm(e,t,n,a,l,i,r,o,u){e.cancelPendingCommit=null;do ku();while(Ue!==0);if((J&6)!==0)throw Error(S(327));if(t!==null){if(t===e.current)throw Error(S(177));if(i=t.lanes|t.childLanes,i|=Rd,zb(e,n,i,r,o,u),e===ue&&(F=ue=null,Y=0),Kl=t,da=e,kn=n,Js=i,$s=l,hy=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,uw(Ko,function(){return xy(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=L.T,L.T=null,l=$.p,$.p=2,r=J,J|=4;try{IA(e,t,n)}finally{J=r,$.p=l,L.T=a}}Ue=1,Ry(),Ty(),Ey()}}function Ry(){if(Ue===1){Ue=0;var e=da,t=Kl,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{oy(t,e);var i=ld,r=Fh(e.containerInfo),o=i.focusedElem,u=i.selectionRange;if(r!==o&&o&&o.ownerDocument&&qh(o.ownerDocument.documentElement,o)){if(u!==null&&Cd(o)){var c=u.start,s=u.end;if(s===void 0&&(s=c),"selectionStart"in o)o.selectionStart=c,o.selectionEnd=Math.min(s,o.value.length);else{var f=o.ownerDocument||document,d=f&&f.defaultView||window;if(d.getSelection){var m=d.getSelection(),v=o.textContent.length,A=Math.min(u.start,v),b=u.end===void 0?A:Math.min(u.end,v);!m.extend&&A>b&&(r=b,b=A,A=r);var h=im(o,A),g=im(o,b);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var p=f.createRange();p.setStart(h.node,h.offset),m.removeAllRanges(),A>b?(m.addRange(p),m.extend(g.node,g.offset)):(p.setEnd(g.node,g.offset),m.addRange(p))}}}}for(f=[],m=o;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<f.length;o++){var y=f[o];y.element.scrollLeft=y.left,y.element.scrollTop=y.top}}vu=!!ad,ld=ad=null}finally{J=l,$.p=a,L.T=n}}e.current=t,Ue=2}}function Ty(){if(Ue===2){Ue=0;var e=da,t=Kl,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{ny(e,t.alternate,t)}finally{J=l,$.p=a,L.T=n}}Ue=3}}function Ey(){if(Ue===4||Ue===3){Ue=0,xb();var e=da,t=Kl,n=kn,a=hy;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ue=5:(Ue=0,Kl=da=null,Dy(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(sa=null),pd(n),t=t.stateNode,xt&&typeof xt.onCommitFiberRoot=="function")try{xt.onCommitFiberRoot(br,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=L.T,l=$.p,$.p=2,L.T=null;try{for(var i=e.onRecoverableError,r=0;r<a.length;r++){var o=a[r];i(o.value,{componentStack:o.stack})}}finally{L.T=t,$.p=l}}(kn&3)!==0&&ku(),hn(e),l=e.pendingLanes,(n&261930)!==0&&(l&42)!==0?e===ed?nr++:(nr=0,ed=e):nr=0,Dr(0,!1)}}function Dy(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Rr(t)))}function ku(){return Ry(),Ty(),Ey(),xy()}function xy(){if(Ue!==5)return!1;var e=da,t=Js;Js=0;var n=pd(kn),a=L.T,l=$.p;try{$.p=32>n?32:n,L.T=null,n=$s,$s=null;var i=da,r=kn;if(Ue=0,Kl=da=null,kn=0,(J&6)!==0)throw Error(S(331));var o=J;if(J|=4,fy(i.current),cy(i,i.current,r,n),J=o,Dr(0,!1),xt&&typeof xt.onPostCommitFiberRoot=="function")try{xt.onPostCommitFiberRoot(br,i)}catch{}return!0}finally{$.p=l,L.T=a,Dy(e,t)}}function Um(e,t,n){t=Yt(n,t),t=Qs(e.stateNode,t,2),e=ca(e,t,2),e!==null&&(wr(e,2),hn(e))}function le(e,t,n){if(e.tag===3)Um(e,e,n);else for(;t!==null;){if(t.tag===3){Um(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(sa===null||!sa.has(a))){e=Yt(n,e),n=jp(2),a=ca(t,n,2),a!==null&&(Yp(n,a,t,e),wr(a,2),hn(a));break}}t=t.return}}function ds(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new ew;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Id=!0,l.add(n),e=iw.bind(null,e,t,n),t.then(e,e))}function iw(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ue===e&&(Y&n)===n&&(Te===4||Te===3&&(Y&62914560)===Y&&300>Dt()-Bu?(J&2)===0&&Zl(e,0):Jd|=n,Ql===Y&&(Ql=0)),hn(e)}function My(e,t){t===0&&(t=Ah()),e=Wa(e,t),e!==null&&(wr(e,t),hn(e))}function rw(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),My(e,n)}function ow(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(S(314))}a!==null&&a.delete(t),My(e,n)}function uw(e,t){return md(e,t)}var du=null,wl=null,td=!1,fu=!1,fs=!1,ia=0;function hn(e){e!==wl&&e.next===null&&(wl===null?du=wl=e:wl=wl.next=e),fu=!0,td||(td=!0,sw())}function Dr(e,t){if(!fs&&fu){fs=!0;do for(var n=!1,a=du;a!==null;){if(!t)if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var r=a.suspendedLanes,o=a.pingedLanes;i=(1<<31-Mt(42|e)+1)-1,i&=l&~(r&~o),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,Gm(a,i))}else i=Y,i=Au(a,a===ue?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||Ar(a,i)||(n=!0,Gm(a,i));a=a.next}while(n);fs=!1}}function cw(){_y()}function _y(){fu=td=!1;var e=0;ia!==0&&vw()&&(e=ia);for(var t=Dt(),n=null,a=du;a!==null;){var l=a.next,i=By(a,t);i===0?(a.next=null,n===null?du=l:n.next=l,l===null&&(wl=n)):(n=a,(e!==0||(i&3)!==0)&&(fu=!0)),a=l}Ue!==0&&Ue!==5||Dr(e,!1),ia!==0&&(ia=0)}function By(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var r=31-Mt(i),o=1<<r,u=l[r];u===-1?((o&n)===0||(o&a)!==0)&&(l[r]=Hb(o,t)):u<=t&&(e.expiredLanes|=o),i&=~o}if(t=ue,n=Y,n=Au(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(ae===2||ae===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&qc(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Ar(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&qc(a),pd(n)){case 2:case 8:n=vh;break;case 32:n=Ko;break;case 268435456:n=bh;break;default:n=Ko}return a=Ny.bind(null,e),n=md(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&qc(a),e.callbackPriority=2,e.callbackNode=null,2}function Ny(e,t){if(Ue!==0&&Ue!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(ku()&&e.callbackNode!==n)return null;var a=Y;return a=Au(e,e===ue?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(yy(e,a,t),By(e,Dt()),e.callbackNode!=null&&e.callbackNode===n?Ny.bind(null,e):null)}function Gm(e,t){if(ku())return null;yy(e,t,!0)}function sw(){Aw(function(){(J&6)!==0?md(yh,cw):_y()})}function ef(){if(ia===0){var e=Yl;e===0&&(e=go,go<<=1,(go&261888)===0&&(go=256)),ia=e}return ia}function Pm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Bo(""+e)}function qm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function dw(e,t,n,a,l){if(t==="submit"&&n&&n.stateNode===l){var i=Pm((l[vt]||null).action),r=a.submitter;r&&(t=(t=r[vt]||null)?Pm(t.formAction):r.getAttribute("formAction"),t!==null&&(i=t,r=null));var o=new wu("action","action",null,a,l);e.push({event:o,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(ia!==0){var u=r?qm(l,r):new FormData(l);Vs(n,{pending:!0,data:u,method:l.method,action:i},null,u)}}else typeof i=="function"&&(o.preventDefault(),u=r?qm(l,r):new FormData(l),Vs(n,{pending:!0,data:u,method:l.method,action:i},i,u))},currentTarget:l}]})}}for(To=0;To<Os.length;To++)Eo=Os[To],Fm=Eo.toLowerCase(),jm=Eo[0].toUpperCase()+Eo.slice(1),tn(Fm,"on"+jm);var Eo,Fm,jm,To;tn(Yh,"onAnimationEnd");tn(Vh,"onAnimationIteration");tn(Xh,"onAnimationStart");tn("dblclick","onDoubleClick");tn("focusin","onFocus");tn("focusout","onBlur");tn(MA,"onTransitionRun");tn(_A,"onTransitionStart");tn(BA,"onTransitionCancel");tn(Qh,"onTransitionEnd");Fl("onMouseEnter",["mouseout","mouseover"]);Fl("onMouseLeave",["mouseout","mouseover"]);Fl("onPointerEnter",["pointerout","pointerover"]);Fl("onPointerLeave",["pointerout","pointerover"]);Qa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Qa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Qa("onBeforeInput",["compositionend","keypress","textInput","paste"]);Qa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),fw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(gr));function Oy(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],l=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var r=a.length-1;0<=r;r--){var o=a[r],u=o.instance,c=o.currentTarget;if(o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}else for(r=0;r<a.length;r++){if(o=a[r],u=o.instance,c=o.currentTarget,o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}}}}function q(e,t){var n=t[Ts];n===void 0&&(n=t[Ts]=new Set);var a=e+"__bubble";n.has(a)||(ky(t,e,2,!1),n.add(a))}function gs(e,t,n){var a=0;t&&(a|=4),ky(n,e,a,t)}var Do="_reactListening"+Math.random().toString(36).slice(2);function tf(e){if(!e[Do]){e[Do]=!0,Th.forEach(function(n){n!=="selectionchange"&&(fw.has(n)||gs(n,!1,e),gs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Do]||(t[Do]=!0,gs("selectionchange",!1,t))}}function ky(e,t,n,a){switch(Qy(t)){case 2:var l=Pw;break;case 8:l=qw;break;default:l=rf}n=l.bind(null,t,n,e),l=void 0,!_s||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),a?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function ms(e,t,n,a,l){var i=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var r=a.tag;if(r===3||r===4){var o=a.stateNode.containerInfo;if(o===l)break;if(r===4)for(r=a.return;r!==null;){var u=r.tag;if((u===3||u===4)&&r.stateNode.containerInfo===l)return;r=r.return}for(;o!==null;){if(r=Rl(o),r===null)return;if(u=r.tag,u===5||u===6||u===26||u===27){a=i=r;continue e}o=o.parentNode}}a=a.return}Oh(function(){var c=i,s=bd(n),f=[];e:{var d=Kh.get(e);if(d!==void 0){var m=wu,v=e;switch(e){case"keypress":if(Oo(n)===0)break e;case"keydown":case"keyup":m=oA;break;case"focusin":v="focus",m=Xc;break;case"focusout":v="blur",m=Xc;break;case"beforeblur":case"afterblur":m=Xc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Wg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Zb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=sA;break;case Yh:case Vh:case Xh:m=Jb;break;case Qh:m=fA;break;case"scroll":case"scrollend":m=Qb;break;case"wheel":m=mA;break;case"copy":case"cut":case"paste":m=eA;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Jg;break;case"toggle":case"beforetoggle":m=pA}var A=(t&4)!==0,b=!A&&(e==="scroll"||e==="scrollend"),h=A?d!==null?d+"Capture":null:d;A=[];for(var g=c,p;g!==null;){var y=g;if(p=y.stateNode,y=y.tag,y!==5&&y!==26&&y!==27||p===null||h===null||(y=ir(g,h),y!=null&&A.push(mr(g,y,p))),b)break;g=g.return}0<A.length&&(d=new m(d,v,null,n,s),f.push({event:d,listeners:A}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",d&&n!==Ms&&(v=n.relatedTarget||n.fromElement)&&(Rl(v)||v[Jl]))break e;if((m||d)&&(d=s.window===s?s:(d=s.ownerDocument)?d.defaultView||d.parentWindow:window,m?(v=n.relatedTarget||n.toElement,m=c,v=v?Rl(v):null,v!==null&&(b=vr(v),A=v.tag,v!==b||A!==5&&A!==27&&A!==6)&&(v=null)):(m=null,v=c),m!==v)){if(A=Wg,y="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(A=Jg,y="onPointerLeave",h="onPointerEnter",g="pointer"),b=m==null?d:Fi(m),p=v==null?d:Fi(v),d=new A(y,g+"leave",m,n,s),d.target=b,d.relatedTarget=p,y=null,Rl(s)===c&&(A=new A(h,g+"enter",v,n,s),A.target=p,A.relatedTarget=b,y=A),b=y,m&&v)t:{for(A=gw,h=m,g=v,p=0,y=h;y;y=A(y))p++;y=0;for(var C=g;C;C=A(C))y++;for(;0<p-y;)h=A(h),p--;for(;0<y-p;)g=A(g),y--;for(;p--;){if(h===g||g!==null&&h===g.alternate){A=h;break t}h=A(h),g=A(g)}A=null}else A=null;m!==null&&Ym(f,d,m,A,!1),v!==null&&b!==null&&Ym(f,b,v,A,!0)}}e:{if(d=c?Fi(c):window,m=d.nodeName&&d.nodeName.toLowerCase(),m==="select"||m==="input"&&d.type==="file")var R=nm;else if(tm(d))if(Gh)R=EA;else{R=RA;var T=CA}else m=d.nodeName,!m||m.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?c&&vd(c.elementType)&&(R=nm):R=TA;if(R&&(R=R(e,c))){Uh(f,R,n,s);break e}T&&T(e,d,c),e==="focusout"&&c&&d.type==="number"&&c.memoizedProps.value!=null&&xs(d,"number",d.value)}switch(T=c?Fi(c):window,e){case"focusin":(tm(T)||T.contentEditable==="true")&&(Dl=T,Bs=c,Qi=null);break;case"focusout":Qi=Bs=Dl=null;break;case"mousedown":Ns=!0;break;case"contextmenu":case"mouseup":case"dragend":Ns=!1,rm(f,n,s);break;case"selectionchange":if(xA)break;case"keydown":case"keyup":rm(f,n,s)}var M;if(Sd)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else El?Hh(e,n)&&(w="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(w="onCompositionStart");w&&(Lh&&n.locale!=="ko"&&(El||w!=="onCompositionStart"?w==="onCompositionEnd"&&El&&(M=kh()):(na=s,Ad="value"in na?na.value:na.textContent,El=!0)),T=gu(c,w),0<T.length&&(w=new Ig(w,e,null,n,s),f.push({event:w,listeners:T}),M?w.data=M:(M=zh(n),M!==null&&(w.data=M)))),(M=vA?bA(e,n):AA(e,n))&&(w=gu(c,"onBeforeInput"),0<w.length&&(T=new Ig("onBeforeInput","beforeinput",null,n,s),f.push({event:T,listeners:w}),T.data=M)),dw(f,e,c,n,s)}Oy(f,t)})}function mr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function gu(e,t){for(var n=t+"Capture",a=[];e!==null;){var l=e,i=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||i===null||(l=ir(e,n),l!=null&&a.unshift(mr(e,l,i)),l=ir(e,t),l!=null&&a.push(mr(e,l,i))),e.tag===3)return a;e=e.return}return[]}function gw(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ym(e,t,n,a,l){for(var i=t._reactName,r=[];n!==null&&n!==a;){var o=n,u=o.alternate,c=o.stateNode;if(o=o.tag,u!==null&&u===a)break;o!==5&&o!==26&&o!==27||c===null||(u=c,l?(c=ir(n,i),c!=null&&r.unshift(mr(n,c,u))):l||(c=ir(n,i),c!=null&&r.push(mr(n,c,u)))),n=n.return}r.length!==0&&e.push({event:t,listeners:r})}var mw=/\r\n?/g,hw=/\u0000|\uFFFD/g;function Vm(e){return(typeof e=="string"?e:""+e).replace(mw,``).replace(hw,"")}function Ly(e,t){return t=Vm(t),Vm(e)===t}function ie(e,t,n,a,l,i){switch(n){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||jl(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&jl(e,""+a);break;case"className":po(e,"class",a);break;case"tabIndex":po(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":po(e,n,a);break;case"style":Nh(e,a,i);break;case"data":if(t!=="object"){po(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(n==="formAction"?(t!=="input"&&ie(e,t,"name",l.name,l,null),ie(e,t,"formEncType",l.formEncType,l,null),ie(e,t,"formMethod",l.formMethod,l,null),ie(e,t,"formTarget",l.formTarget,l,null)):(ie(e,t,"encType",l.encType,l,null),ie(e,t,"method",l.method,l,null),ie(e,t,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"onClick":a!=null&&(e.onclick=_n);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}n=Bo(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""+a):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":a===!0?e.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,a):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case"popover":q("beforetoggle",e),q("toggle",e),_o(e,"popover",a);break;case"xlinkActuate":Sn(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Sn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Sn(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Sn(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Sn(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Sn(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":_o(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Vb.get(n)||n,_o(e,n,a))}}function nd(e,t,n,a,l,i){switch(n){case"style":Nh(e,a,i);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"children":typeof a=="string"?jl(e,a):(typeof a=="number"||typeof a=="bigint")&&jl(e,""+a);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"onClick":a!=null&&(e.onclick=_n);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eh.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),t=n.slice(2,l?n.length-7:void 0),i=e[vt]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,l),typeof a=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,l);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,""):_o(e,n,a)}}}function Ke(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":q("error",e),q("load",e);var a=!1,l=!1,i;for(i in n)if(n.hasOwnProperty(i)){var r=n[i];if(r!=null)switch(i){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,i,r,n,null)}}l&&ie(e,t,"srcSet",n.srcSet,n,null),a&&ie(e,t,"src",n.src,n,null);return;case"input":q("invalid",e);var o=i=r=l=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case"name":l=s;break;case"type":r=s;break;case"checked":u=s;break;case"defaultChecked":c=s;break;case"value":i=s;break;case"defaultValue":o=s;break;case"children":case"dangerouslySetInnerHTML":if(s!=null)throw Error(S(137,t));break;default:ie(e,t,a,s,n,null)}}Mh(e,i,o,u,c,r,l,!1);return;case"select":q("invalid",e),a=r=i=null;for(l in n)if(n.hasOwnProperty(l)&&(o=n[l],o!=null))switch(l){case"value":i=o;break;case"defaultValue":r=o;break;case"multiple":a=o;default:ie(e,t,l,o,n,null)}t=i,n=r,e.multiple=!!a,t!=null?Ll(e,!!a,t,!1):n!=null&&Ll(e,!!a,n,!0);return;case"textarea":q("invalid",e),i=l=a=null;for(r in n)if(n.hasOwnProperty(r)&&(o=n[r],o!=null))switch(r){case"value":a=o;break;case"defaultValue":l=o;break;case"children":i=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(S(91));break;default:ie(e,t,r,o,n,null)}Bh(e,a,l,i);return;case"option":for(u in n)if(n.hasOwnProperty(u)&&(a=n[u],a!=null))switch(u){case"selected":e.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:ie(e,t,u,a,n,null)}return;case"dialog":q("beforetoggle",e),q("toggle",e),q("cancel",e),q("close",e);break;case"iframe":case"object":q("load",e);break;case"video":case"audio":for(a=0;a<gr.length;a++)q(gr[a],e);break;case"image":q("error",e),q("load",e);break;case"details":q("toggle",e);break;case"embed":case"source":case"link":q("error",e),q("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(a=n[c],a!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,c,a,n,null)}return;default:if(vd(t)){for(s in n)n.hasOwnProperty(s)&&(a=n[s],a!==void 0&&nd(e,t,s,a,n,void 0));return}}for(o in n)n.hasOwnProperty(o)&&(a=n[o],a!=null&&ie(e,t,o,a,n,null))}function pw(e,t,n,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,i=null,r=null,o=null,u=null,c=null,s=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":u=f;default:a.hasOwnProperty(m)||ie(e,t,m,null,a,f)}}for(var d in a){var m=a[d];if(f=n[d],a.hasOwnProperty(d)&&(m!=null||f!=null))switch(d){case"type":i=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":s=m;break;case"value":r=m;break;case"defaultValue":o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(S(137,t));break;default:m!==f&&ie(e,t,d,m,a,f)}}Ds(e,r,o,u,c,s,i,l);return;case"select":m=r=o=d=null;for(i in n)if(u=n[i],n.hasOwnProperty(i)&&u!=null)switch(i){case"value":break;case"multiple":m=u;default:a.hasOwnProperty(i)||ie(e,t,i,null,a,u)}for(l in a)if(i=a[l],u=n[l],a.hasOwnProperty(l)&&(i!=null||u!=null))switch(l){case"value":d=i;break;case"defaultValue":o=i;break;case"multiple":r=i;default:i!==u&&ie(e,t,l,i,a,u)}t=o,n=r,a=m,d!=null?Ll(e,!!n,d,!1):!!a!=!!n&&(t!=null?Ll(e,!!n,t,!0):Ll(e,!!n,n?[]:"",!1));return;case"textarea":m=d=null;for(o in n)if(l=n[o],n.hasOwnProperty(o)&&l!=null&&!a.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:ie(e,t,o,null,a,l)}for(r in a)if(l=a[r],i=n[r],a.hasOwnProperty(r)&&(l!=null||i!=null))switch(r){case"value":d=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(S(91));break;default:l!==i&&ie(e,t,r,l,a,i)}_h(e,d,m);return;case"option":for(var v in n)if(d=n[v],n.hasOwnProperty(v)&&d!=null&&!a.hasOwnProperty(v))switch(v){case"selected":e.selected=!1;break;default:ie(e,t,v,null,a,d)}for(u in a)if(d=a[u],m=n[u],a.hasOwnProperty(u)&&d!==m&&(d!=null||m!=null))switch(u){case"selected":e.selected=d&&typeof d!="function"&&typeof d!="symbol";break;default:ie(e,t,u,d,a,m)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var A in n)d=n[A],n.hasOwnProperty(A)&&d!=null&&!a.hasOwnProperty(A)&&ie(e,t,A,null,a,d);for(c in a)if(d=a[c],m=n[c],a.hasOwnProperty(c)&&d!==m&&(d!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(S(137,t));break;default:ie(e,t,c,d,a,m)}return;default:if(vd(t)){for(var b in n)d=n[b],n.hasOwnProperty(b)&&d!==void 0&&!a.hasOwnProperty(b)&&nd(e,t,b,void 0,a,d);for(s in a)d=a[s],m=n[s],!a.hasOwnProperty(s)||d===m||d===void 0&&m===void 0||nd(e,t,s,d,a,m);return}}for(var h in n)d=n[h],n.hasOwnProperty(h)&&d!=null&&!a.hasOwnProperty(h)&&ie(e,t,h,null,a,d);for(f in a)d=a[f],m=n[f],!a.hasOwnProperty(f)||d===m||d==null&&m==null||ie(e,t,f,d,a,m)}function Xm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function yw(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],i=l.transferSize,r=l.initiatorType,o=l.duration;if(i&&o&&Xm(r)){for(r=0,o=l.responseEnd,a+=1;a<n.length;a++){var u=n[a],c=u.startTime;if(c>o)break;var s=u.transferSize,f=u.initiatorType;s&&Xm(f)&&(u=u.responseEnd,r+=s*(u<o?1:(o-c)/(u-c)))}if(--a,t+=8*(i+r)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var ad=null,ld=null;function mu(e){return e.nodeType===9?e:e.ownerDocument}function Qm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Hy(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function id(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var hs=null;function vw(){var e=window.event;return e&&e.type==="popstate"?e===hs?!1:(hs=e,!0):(hs=null,!1)}var zy=typeof setTimeout=="function"?setTimeout:void 0,bw=typeof clearTimeout=="function"?clearTimeout:void 0,Km=typeof Promise=="function"?Promise:void 0,Aw=typeof queueMicrotask=="function"?queueMicrotask:typeof Km<"u"?function(e){return Km.resolve(null).then(e).catch(ww)}:zy;function ww(e){setTimeout(function(){throw e})}function Aa(e){return e==="head"}function Zm(e,t){var n=t,a=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"||n==="/&"){if(a===0){e.removeChild(l),Il(t);return}a--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")a++;else if(n==="html")ar(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,ar(n);for(var i=n.firstChild;i;){var r=i.nextSibling,o=i.nodeName;i[Sr]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&i.rel.toLowerCase()==="stylesheet"||n.removeChild(i),i=r}}else n==="body"&&ar(e.ownerDocument.body);n=l}while(n);Il(t)}function Wm(e,t){var n=e;e=0;do{var a=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=a}while(n)}function rd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":rd(n),yd(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Sw(e,t,n,a){for(;e.nodeType===1;){var l=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(a){if(!e[Sr])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Qt(e.nextSibling),e===null)break}return null}function Cw(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qt(e.nextSibling),e===null))return null;return e}function Uy(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qt(e.nextSibling),e===null))return null;return e}function od(e){return e.data==="$?"||e.data==="$~"}function ud(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Rw(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var a=function(){t(),n.removeEventListener("DOMContentLoaded",a)};n.addEventListener("DOMContentLoaded",a),e._reactRetry=a}}function Qt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var cd=null;function Im(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qt(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Jm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Gy(e,t,n){switch(t=mu(n),e){case"html":if(e=t.documentElement,!e)throw Error(S(452));return e;case"head":if(e=t.head,!e)throw Error(S(453));return e;case"body":if(e=t.body,!e)throw Error(S(454));return e;default:throw Error(S(451))}}function ar(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);yd(e)}var Kt=new Map,$m=new Set;function hu(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Pn=$.d;$.d={f:Tw,r:Ew,D:Dw,C:xw,L:Mw,m:_w,X:Nw,S:Bw,M:Ow};function Tw(){var e=Pn.f(),t=Nu();return e||t}function Ew(e){var t=$l(e);t!==null&&t.tag===5&&t.type==="form"?Np(t):Pn.r(e)}var ai=typeof document>"u"?null:document;function Py(e,t,n){var a=ai;if(a&&typeof t=="string"&&t){var l=jt(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),$m.has(l)||($m.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function Dw(e){Pn.D(e),Py("dns-prefetch",e,null)}function xw(e,t){Pn.C(e,t),Py("preconnect",e,t)}function Mw(e,t,n){Pn.L(e,t,n);var a=ai;if(a&&e&&t){var l='link[rel="preload"][as="'+jt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+jt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+jt(n.imageSizes)+'"]')):l+='[href="'+jt(e)+'"]';var i=l;switch(t){case"style":i=Wl(e);break;case"script":i=li(e)}Kt.has(i)||(e=ve({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Kt.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(xr(i))||t==="script"&&a.querySelector(Mr(i))||(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function _w(e,t){Pn.m(e,t);var n=ai;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+jt(a)+'"][href="'+jt(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=li(e)}if(!Kt.has(i)&&(e=ve({rel:"modulepreload",href:e},t),Kt.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Mr(i)))return}a=n.createElement("link"),Ke(a,"link",e),qe(a),n.head.appendChild(a)}}}function Bw(e,t,n){Pn.S(e,t,n);var a=ai;if(a&&e){var l=kl(a).hoistableStyles,i=Wl(e);t=t||"default";var r=l.get(i);if(!r){var o={loading:0,preload:null};if(r=a.querySelector(xr(i)))o.loading=5;else{e=ve({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Kt.get(i))&&nf(e,n);var u=r=a.createElement("link");qe(u),Ke(u,"link",e),u._p=new Promise(function(c,s){u.onload=c,u.onerror=s}),u.addEventListener("load",function(){o.loading|=1}),u.addEventListener("error",function(){o.loading|=2}),o.loading|=4,qo(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:o},l.set(i,r)}}}function Nw(e,t){Pn.X(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ow(e,t){Pn.M(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0,type:"module"},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function eh(e,t,n,a){var l=(l=ra.current)?hu(l):null;if(!l)throw Error(S(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Wl(n.href),n=kl(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Wl(n.href);var i=kl(l).hoistableStyles,r=i.get(e);if(r||(l=l.ownerDocument||l,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=l.querySelector(xr(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Kt.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Kt.set(e,n),i||kw(l,e,n,r.state))),t&&a===null)throw Error(S(528,""));return r}if(t&&a!==null)throw Error(S(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=li(n),n=kl(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(S(444,e))}}function Wl(e){return'href="'+jt(e)+'"'}function xr(e){return'link[rel="stylesheet"]['+e+"]"}function qy(e){return ve({},e,{"data-precedence":e.precedence,precedence:null})}function kw(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Ke(t,"link",n),qe(t),e.head.appendChild(t))}function li(e){return'[src="'+jt(e)+'"]'}function Mr(e){return"script[async]"+e}function th(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+jt(n.href)+'"]');if(a)return t.instance=a,qe(a),a;var l=ve({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),qe(a),Ke(a,"style",l),qo(a,n.precedence,e),t.instance=a;case"stylesheet":l=Wl(n.href);var i=e.querySelector(xr(l));if(i)return t.state.loading|=4,t.instance=i,qe(i),i;a=qy(n),(l=Kt.get(l))&&nf(a,l),i=(e.ownerDocument||e).createElement("link"),qe(i);var r=i;return r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),t.state.loading|=4,qo(i,n.precedence,e),t.instance=i;case"script":return i=li(n.src),(l=e.querySelector(Mr(i)))?(t.instance=l,qe(l),l):(a=n,(l=Kt.get(i))&&(a=ve({},n),af(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),qe(l),Ke(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(S(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,qo(a,n.precedence,e));return t.instance}function qo(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,r=0;r<a.length;r++){var o=a[r];if(o.dataset.precedence===t)i=o;else if(i!==l)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function nf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function af(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Fo=null;function nh(e,t,n){if(Fo===null){var a=new Map,l=Fo=new Map;l.set(n,a)}else l=Fo,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),l=0;l<n.length;l++){var i=n[l];if(!(i[Sr]||i[Ve]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var r=i.getAttribute(t)||"";r=e+r;var o=a.get(r);o?o.push(i):a.set(r,[i])}}return a}function ah(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function Lw(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Fy(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Hw(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Wl(a.href),i=t.querySelector(xr(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=pu.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,qe(i);return}i=t.ownerDocument||t,a=qy(a),(l=Kt.get(l))&&nf(a,l),i=i.createElement("link"),qe(i);var r=i;r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=pu.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ps=0;function zw(e,t){return e.stylesheets&&e.count===0&&jo(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&ps===0&&(ps=62500*yw());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>ps?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function pu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jo(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var yu=null;function jo(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,yu=new Map,t.forEach(Uw,e),yu=null,pu.call(e))}function Uw(e,t){if(!(t.state.loading&4)){var n=yu.get(e);if(n)var a=n.get(null);else{n=new Map,yu.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<l.length;i++){var r=l[i];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(n.set(r.dataset.precedence,r),a=r)}a&&n.set(null,a)}l=t.instance,r=l.getAttribute("data-precedence"),i=n.get(r)||a,i===a&&n.set(null,l),n.set(r,l),this.count++,a=pu.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),i?i.parentNode.insertBefore(l,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var hr={$$typeof:Mn,Provider:null,Consumer:null,_currentValue:za,_currentValue2:za,_threadCount:0};function Gw(e,t,n,a,l,i,r,o,u){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Fc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fc(0),this.hiddenUpdates=Fc(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=i,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=u,this.incompleteTransitions=new Map}function jy(e,t,n,a,l,i,r,o,u,c,s,f){return e=new Gw(e,t,n,r,u,c,s,f,o),t=1,i===!0&&(t|=24),i=Tt(3,null,null,t),e.current=i,i.stateNode=e,t=Md(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:a,isDehydrated:n,cache:t},Nd(i),e}function Yy(e){return e?(e=_l,e):_l}function Vy(e,t,n,a,l,i){l=Yy(l),a.context===null?a.context=l:a.pendingContext=l,a=ua(t),a.payload={element:n},i=i===void 0?null:i,i!==null&&(a.callback=i),n=ca(e,a,t),n!==null&&(yt(n,e,t),Zi(n,e,t))}function lh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lf(e,t){lh(e,t),(e=e.alternate)&&lh(e,t)}function Xy(e){if(e.tag===13||e.tag===31){var t=Wa(e,67108864);t!==null&&yt(t,e,67108864),lf(e,67108864)}}function ih(e){if(e.tag===13||e.tag===31){var t=_t();t=hd(t);var n=Wa(e,t);n!==null&&yt(n,e,t),lf(e,t)}}var vu=!0;function Pw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=2,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function qw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=8,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function rf(e,t,n,a){if(vu){var l=sd(a);if(l===null)ms(e,t,a,bu,n),rh(e,a);else if(jw(l,e,t,n,a))a.stopPropagation();else if(rh(e,a),t&4&&-1<Fw.indexOf(e)){for(;l!==null;){var i=$l(l);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var r=ka(i.pendingLanes);if(r!==0){var o=i;for(o.pendingLanes|=2,o.entangledLanes|=2;r;){var u=1<<31-Mt(r);o.entanglements[1]|=u,r&=~u}hn(i),(J&6)===0&&(uu=Dt()+500,Dr(0,!1))}}break;case 31:case 13:o=Wa(i,2),o!==null&&yt(o,i,2),Nu(),lf(i,2)}if(i=sd(a),i===null&&ms(e,t,a,bu,n),i===l)break;l=i}l!==null&&a.stopPropagation()}else ms(e,t,a,null,n)}}function sd(e){return e=bd(e),of(e)}var bu=null;function of(e){if(bu=null,e=Rl(e),e!==null){var t=vr(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=fh(t),e!==null)return e;e=null}else if(n===31){if(e=gh(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return bu=e,null}function Qy(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Mb()){case yh:return 2;case vh:return 8;case Ko:case _b:return 32;case bh:return 268435456;default:return 32}default:return 32}}var dd=!1,fa=null,ga=null,ma=null,pr=new Map,yr=new Map,ea=[],Fw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function rh(e,t){switch(e){case"focusin":case"focusout":fa=null;break;case"dragenter":case"dragleave":ga=null;break;case"mouseover":case"mouseout":ma=null;break;case"pointerover":case"pointerout":pr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yr.delete(t.pointerId)}}function Ui(e,t,n,a,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[l]},t!==null&&(t=$l(t),t!==null&&Xy(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function jw(e,t,n,a,l){switch(t){case"focusin":return fa=Ui(fa,e,t,n,a,l),!0;case"dragenter":return ga=Ui(ga,e,t,n,a,l),!0;case"mouseover":return ma=Ui(ma,e,t,n,a,l),!0;case"pointerover":var i=l.pointerId;return pr.set(i,Ui(pr.get(i)||null,e,t,n,a,l)),!0;case"gotpointercapture":return i=l.pointerId,yr.set(i,Ui(yr.get(i)||null,e,t,n,a,l)),!0}return!1}function Ky(e){var t=Rl(e.target);if(t!==null){var n=vr(t);if(n!==null){if(t=n.tag,t===13){if(t=fh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===31){if(t=gh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Yo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=sd(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Ms=a,n.target.dispatchEvent(a),Ms=null}else return t=$l(n),t!==null&&Xy(t),e.blockedOn=n,!1;t.shift()}return!0}function oh(e,t,n){Yo(e)&&n.delete(t)}function Yw(){dd=!1,fa!==null&&Yo(fa)&&(fa=null),ga!==null&&Yo(ga)&&(ga=null),ma!==null&&Yo(ma)&&(ma=null),pr.forEach(oh),yr.forEach(oh)}function xo(e,t){e.blockedOn===t&&(e.blockedOn=null,dd||(dd=!0,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,Yw)))}var Mo=null;function uh(e){Mo!==e&&(Mo=e,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,function(){Mo===e&&(Mo=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],l=e[t+2];if(typeof a!="function"){if(of(a||n)===null)continue;break}var i=$l(n);i!==null&&(e.splice(t,3),t-=3,Vs(i,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function Il(e){function t(u){return xo(u,e)}fa!==null&&xo(fa,e),ga!==null&&xo(ga,e),ma!==null&&xo(ma,e),pr.forEach(t),yr.forEach(t);for(var n=0;n<ea.length;n++){var a=ea[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<ea.length&&(n=ea[0],n.blockedOn===null);)Ky(n),n.blockedOn===null&&ea.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],i=n[a+1],r=l[vt]||null;if(typeof i=="function")r||uh(n);else if(r){var o=null;if(i&&i.hasAttribute("formAction")){if(l=i,r=i[vt]||null)o=r.formAction;else if(of(l)!==null)continue}else o=r.action;typeof o=="function"?n[a+1]=o:(n.splice(a,3),a-=3),uh(n)}}}function Zy(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(r){return l=r})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function uf(e){this._internalRoot=e}Lu.prototype.render=uf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(S(409));var n=t.current,a=_t();Vy(n,a,e,t,null,null)};Lu.prototype.unmount=uf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Vy(e.current,2,null,e,null,null),Nu(),t[Jl]=null}};function Lu(e){this._internalRoot=e}Lu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rh();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ea.length&&t!==0&&t<ea[n].priority;n++);ea.splice(n,0,e),n===0&&Ky(e)}};var ch=sh.version;if(ch!=="19.2.8")throw Error(S(527,ch,"19.2.8"));$.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(S(188)):(e=Object.keys(e).join(","),Error(S(268,e)));return e=Sb(t),e=e!==null?mh(e):null,e=e===null?null:e.stateNode,e};var Vw={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Gi=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Gi.isDisabled&&Gi.supportsFiber))try{br=Gi.inject(Vw),xt=Gi}catch{}var Gi;Hu.createRoot=function(e,t){if(!dh(e))throw Error(S(299));var n=!1,a="",l=Pp,i=qp,r=Fp;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=jy(e,1,!1,null,null,n,a,null,l,i,r,Zy),e[Jl]=t.current,tf(e),new uf(t)};Hu.hydrateRoot=function(e,t,n){if(!dh(e))throw Error(S(299));var a=!1,l="",i=Pp,r=qp,o=Fp,u=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(i=n.onUncaughtError),n.onCaughtError!==void 0&&(r=n.onCaughtError),n.onRecoverableError!==void 0&&(o=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=jy(e,1,!0,t,n??null,a,l,u,i,r,o,Zy),t.context=Yy(null),n=t.current,a=_t(),a=hd(a),l=ua(a),l.callback=null,ca(n,l,a),n=a,t.current.lanes=n,wr(t,n),hn(t),e[Jl]=t.current,tf(e),new Lu(t)};Hu.version="19.2.8"});var $y=un((jS,Jy)=>{"use strict";function Iy(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Iy)}catch(e){console.error(e)}}Iy(),Jy.exports=Wy()});var t0=un(zu=>{"use strict";var Xw=Symbol.for("react.transitional.element"),Qw=Symbol.for("react.fragment");function e0(e,t,n){var a=null;if(n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),"key"in t){n={};for(var l in t)l!=="key"&&(n[l]=t[l])}else n=t;return t=n.ref,{$$typeof:Xw,type:e,key:a,ref:t!==void 0?t:null,props:n}}zu.Fragment=Qw;zu.jsx=e0;zu.jsxs=e0});var O=un((VS,n0)=>{"use strict";n0.exports=t0()});var Lt=B(ft(),1),s1=B($y(),1);var Wv=B(ft(),1);var qn=B(O(),1);function Kw(e){return{under50:"Under $50",over50:"Over $50",over30:"Over $30",over500:"Over $500","50_100":"$50 - $100","100_200":"$100 - $200","200_500":"$200 - $500"}[e]||e}function a0({activeDealTag:e,activeFreeformTags:t,airedaleTags:n,freeformTags:a,discountAmount:l,onBrandSelect:i,onBrandToggle:r,onDiscountAmountChange:o,onPriceRangeChange:u,onTagClear:c,onFreeformTagClear:s,onFreeformTagToggle:f,priceRange:d,selectedBrands:m}){let v=m.map(b=>({type:"brand",value:b,label:b}));if(e){let b=n.find(h=>h.startsWith(e+":::")||h===e);v.push({type:"category",value:e,label:b?b.split(":::")[1]||b.split(":::")[0]:e})}if(t.forEach(b=>{let h=a.find(g=>g.handle===b);v.push({type:"freeform-tag",value:b,label:h?.label||b})}),d&&d!=="all"&&v.push({type:"price",value:d,label:Kw(d)}),l&&l!=="0"&&l!=="all"&&v.push({type:"discount",value:l,label:`Min ${l}% off`}),v.length===0)return null;let A=b=>{b.type==="brand"&&r?.(b.value),b.type==="category"&&c(),b.type==="freeform-tag"&&f(b.value),b.type==="discount"&&o?.("0"),b.type==="price"&&u?.("all")};return(0,qn.jsxs)("div",{className:"tg-df-active-badges-row",style:{display:"flex",flexWrap:"wrap",gap:"4px",alignItems:"center",marginTop:"10px",marginBottom:"16px"},children:[v.map(b=>(0,qn.jsxs)("span",{className:"tg-df-active-badge",children:[b.label,(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-remove","aria-label":`Remove ${b.label}`,onClick:()=>A(b),children:(0,qn.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,qn.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,qn.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},b.type+"-"+b.value)),v.length>1&&(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-clear-all",onClick:()=>{i?.([]),c(),s(),o?.("0"),u?.("all")},children:"Clear all"})]})}function l0(e){if(!e)return null;let t=e.documentname||e.title||"";!t&&e.documentnametext&&(t=Array.isArray(e.documentnametext)?e.documentnametext[0]:e.documentnametext),!t&&e.articlename&&(t=Array.isArray(e.articlename)?e.articlename[0]:e.articlename),!t&&e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&(t=e.articlesocialtitle[0]);let n=e.strapline||e.articlestrapline||e.subtitle||e.dek||"";!n&&e.image_thumbnail&&e.image_thumbnail.dek&&(n=e.image_thumbnail.dek),Array.isArray(n)&&(n=n[0]||"");let a="";if(e.articlepage)try{let l=e.articlepage;if(typeof l=="string")try{l=JSON.parse(l)}catch{}if(Array.isArray(l)&&l.length>0){let i=l[0];if(typeof i=="string")try{i=JSON.parse(i)}catch{}if(Array.isArray(i)){let r=[];for(let o of i){if(o.type==="featured-product")break;if(o.type==="text"&&o.data)Array.isArray(o.data.paragraphs)?o.data.paragraphs.forEach(u=>{u&&r.push(u.startsWith("<")?u:`<p>${u}<\/p>`)}):typeof o.data.text=="string"&&o.data.text&&r.push(o.data.text.startsWith("<")?o.data.text:`<p>${o.data.text}<\/p>`);else if(o.type==="section"&&o.data){let u=o.data.text||o.data.heading||o.data.title||"";u&&r.push(`<div class="tg-df-article-section-banner"><span>${u}<\/span><\/div>`)}}r.length>0&&(a=r.join(""))}}}catch(l){console.error("Error parsing articlepage",l)}return!a&&e.content?a=typeof e.content=="string"?e.content:"":!a&&e.intro?a=typeof e.intro=="string"?e.intro:"":!a&&e.paragraphs&&(a=(Array.isArray(e.paragraphs)?e.paragraphs:[e.paragraphs]).map(i=>`<p>${i}<\/p>`).join("")),{headline:t,strapline:n,contentHtml:a}}var ii=B(O(),1);function i0({articles:e,selectedArticleId:t}){if(!t)return null;let n=e.find(l=>l.id===t);if(!n)return null;let a=l0(n);return!a||!a.headline&&!a.strapline&&!a.contentHtml?null:(0,ii.jsxs)("div",{className:"tg-df-article-intro-container",id:"tg-df-article-intro",style:{margin:"0 auto 32px",width:"100%",maxWidth:"800px",textAlign:"left",padding:"0 16px"},children:[a.headline&&(0,ii.jsx)("h2",{className:"tg-df-article-headline",id:"tg-df-article-headline",style:{fontSize:"1.75rem",fontWeight:800,color:"#0f172a",marginBottom:"1rem",lineHeight:1.25},children:a.headline}),a.strapline&&(0,ii.jsx)("p",{className:"tg-df-article-strapline",id:"tg-df-article-strapline",style:{fontSize:"1.125rem",fontWeight:600,color:"#334155",marginBottom:"1.25rem",lineHeight:1.4},children:a.strapline}),a.contentHtml&&(0,ii.jsx)("div",{className:"tg-df-article-content",id:"tg-df-article-content",dangerouslySetInnerHTML:{__html:a.contentHtml}})]})}var Fn=B(O(),1);function Zw({articles:e,authorHandle:t,authorName:n}){let a=n||e.length>0&&(e[0].articleauthortext?.[0]||e[0].articleauthor?.[0])||"Author";(t==="all-authors"||n==="all-authors"||n==="All authors")&&(a="All authors");let l=a.trim().split(" ")[0]||"Author";return a==="All authors"&&(l="All authors"),`Shop all ${l==="All authors"?"authors'":l.endsWith("'s")||l.endsWith("\u2019s")?l:`${l}'s`} collections`}function Ww(e){let t=[];return e.documentnametext&&t.push(e.documentnametext),e.documentname&&t.push(e.documentname),e.articlename&&t.push(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&t.push(...e.articlesocialtitle),t.length>0?t.reduce((n,a)=>a&&a.length<n.length?a:n,t[0]):"Article"}function r0({articles:e,authorHandle:t,authorName:n,onChange:a,selectedArticleId:l,shortenedHeadlines:i}){return(0,Fn.jsx)("div",{className:"tg-df-top-bar",id:"tg-df-top-bar",style:{position:"relative",zIndex:100,margin:"0 auto 20px",width:"100%",display:"flex",justifyContent:"center"},children:(0,Fn.jsxs)("div",{className:"tg-df-sort-wrapper",style:{width:"auto",maxWidth:"320px",display:"inline-flex",position:"relative"},children:[(0,Fn.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",width:"14px",height:"14px",color:"var(--tg-df-text-muted)",pointerEvents:"none",zIndex:2},children:(0,Fn.jsx)("path",{d:"M12 2l-10 4.5 10 4.5 10-4.5-10-4.5zm0 6.5l-8-3.6 8-3.6 8 3.6-8 3.6zm-10 6l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5zm0 5l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5z"})}),(0,Fn.jsxs)("select",{className:"tg-df-filter-select tg-df-article-select",style:{width:"100%",maxWidth:"320px",padding:"10px 36px 10px 38px",fontSize:"14px",fontWeight:500,borderRadius:"100px",border:"1px solid var(--tg-df-border)",color:"var(--tg-df-text)",backgroundColor:"var(--tg-df-bg-secondary)",appearance:"none",backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E")`,backgroundRepeat:"no-repeat",backgroundPosition:"right 14px center",textAlign:"left",textAlignLast:"left",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",cursor:"pointer"},value:l||"",onChange:r=>a(r.target.value),children:[(0,Fn.jsx)("option",{value:"",style:{textAlign:"left"},children:Zw({articles:e,authorHandle:t,authorName:n})}),e.map(r=>{let o=i?.[r.id]||Ww(r);return o&&o.length>38&&(o=o.substring(0,36)+"\u2026"),(0,Fn.jsx)("option",{value:r.id,style:{textAlign:"left"},children:o},r.id)})]})]})})}var A0=B(ft(),1);function o0(e,t=new Date){if(!e)return"";let n=new Date(e),a=Math.floor((t.getTime()-n.getTime())/1e3);if(a<60)return"Just now";let l=Math.floor(a/60);if(l<60)return`${l} min${l>1?"s":""} ago`;let i=Math.floor(l/60);if(i<24)return`${i} hr${i>1?"s":""} ago`;let r=Math.floor(i/24);if(r<30)return`${r} day${r>1?"s":""} ago`;let o=Math.floor(r/30);if(o<12)return`${o} mo${o>1?"s":""} ago`;let u=Math.floor(r/365);return`${u} yr${u>1?"s":""} ago`}function Iw(e){return e.replace(/<\/p\s*>/gi," ").replace(/<p[^>]*>/gi," ").replace(/<br\s*\/?>/gi," ").replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim()}function _r(e,t,n){let a="";return n==="short"?a=e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"":a=e.articleauthorlongbio&&e.articleauthorlongbio[t]&&e.articleauthorlongbio[t]!=="null"?e.articleauthorlongbio[t]:e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"",a?Iw(a):""}function u0(e,t){return e.articleauthorrole&&e.articleauthorrole[t]&&e.articleauthorrole[t]!=="null"?e.articleauthorrole[t]:""}function c0(e,t){return e.articleauthormedia&&e.articleauthormedia[t]?e.articleauthormedia[t]:""}function ri(e){if(typeof e!="string"||!e.trim())return"";try{let t=new URL(e);if(t.hostname.toLowerCase()!=="cdn.mos.cms.futurecdn.net")return e;let n=/\.(?:jpe?g|png|webp)$/i;return!n.test(t.pathname)||/-\d+-\d+\.(?:jpe?g|png|webp)$/i.test(t.pathname)?e:(t.pathname=t.pathname.replace(n,"-480-80$&"),t.toString())}catch{return e}}function Uu(e,t=0){if(!e||!e.articleauthorsocialnetworks)return[];let n=e.articleauthorsocialnetworks[t];if(n||(n=e.articleauthorsocialnetworks[0]),!n)return[];let a=null;if(typeof n=="string")try{a=JSON.parse(n)}catch{try{a=JSON.parse(n.replace(/\\"/g,'"'))}catch{}}else typeof n=="object"&&n!==null&&(a=n);if(!a||typeof a!="object")return[];let l=[];for(let[i,r]of Object.entries(a)){if(!r)continue;let o="",u="";if(typeof r=="string"?o=r:typeof r=="object"&&r!==null&&(o=r.url||r.address||r.link||"",u=r.address||""),!o&&!u)continue;let c=i.toLowerCase().trim(),s=o||u;c==="email"?s.startsWith("mailto:")||(s=s.includes("@")?`mailto:${s}`:`mailto:${s}`):!s.startsWith("http://")&&!s.startsWith("https://")&&!s.startsWith("//")&&(s=`https://${s}`);let f=c.charAt(0).toUpperCase()+c.slice(1);c==="linkedin"?f="LinkedIn":c==="youtube"?f="YouTube":c==="tiktok"?f="TikTok":c==="twitch"?f="Twitch":c==="steam"?f="Steam":c==="github"?f="GitHub":c==="rss"?f="RSS":(c==="x"||c==="twitter")&&(f="X (Twitter)"),l.push({key:c,href:s,label:f})}return l}function ee(e){if(!e)return"";let t=String(e);for(let n=0;n<3;n+=1){let a=t.replace(/&/gi,"&").replace(/£/g,"\xA3").replace(/£/gi,"\xA3").replace(/$/g,"$").replace(/&dollar;/gi,"$").replace(/€/g,"\u20AC").replace(/€/gi,"\u20AC").replace(/&#(\d+);/g,(l,i)=>String.fromCharCode(Number(i))).replace(/&#x([0-9a-f]+);/gi,(l,i)=>String.fromCharCode(parseInt(i,16)));if(a===t)break;t=a}return t}var Ee=B(O(),1);function cf({authorUrl:e,deal:t}){if(!t.authorName)return null;let n=ee(String(t.authorName)),a=t.authorRole&&!["null","nul","undefined"].includes(String(t.authorRole).toLowerCase())?` \u2022 ${ee(String(t.authorRole))}`:"";return(0,Ee.jsx)("div",{className:"tg-df-author-line-desktop",style:{padding:"0 0 12px 0"},children:(0,Ee.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[t.authorImage&&(0,Ee.jsx)("img",{src:ri(t.authorImage),alt:n,className:"tg-df-author-img",width:"36",height:"36",style:{borderRadius:"50%",objectFit:"cover",flexShrink:0,aspectRatio:"1 / 1",minWidth:"36px",minHeight:"36px"}}),(0,Ee.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,Ee.jsx)("div",{style:{fontSize:"10px",color:"var(--tg-df-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px",fontWeight:600},children:t.isReviewProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Product tested by:"}):t.isBuyingGuideProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Expert review by:"}):t.isFeatured?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:"Top product"})," ","recommended by:"]}):(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:t.merchant})," ","deal recommended by:"]})}),(0,Ee.jsxs)("div",{style:{fontSize:"11px",color:"var(--tg-df-text)",lineHeight:1.2},children:[(0,Ee.jsx)("strong",{children:(0,Ee.jsx)("a",{href:e,target:"_blank",rel:"noopener",style:{textDecoration:"none",color:"inherit",borderBottom:"1px dotted var(--tg-df-text-muted)"},children:n})}),a,t.modifiedDate?(0,Ee.jsxs)("span",{style:{color:"var(--tg-df-text-muted)"},children:[" ","\u2022 ",o0(t.modifiedDate)]}):""]})]})]})})}var K=B(O(),1);function s0({authorUrl:e,deal:t,hideHawkPrices:n,msrpFormatted:a,sourceArticleUrl:l}){let i=ee(String(t.merchant||"")),r=ee(String(t.currency||""));if(t.isBuyingGuideProduct||t.isReviewProduct){let o=!!t.hasCommerceOffer,u=o&&!t.isCheckPrice,c=!!t.hawkPricePending,s=!!t.isReviewProduct&&!c&&!o,f=n&&o&&Array.isArray(t.hawkListings)?t.hawkListings.filter(m=>m?.merchant&&m?.url).slice(0,4):[],d=f.length>0;return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[c?(0,K.jsx)("div",{className:"tg-df-card-price-group","aria-live":"polite",children:(0,K.jsx)("span",{className:"tg-df-card-price",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"Checking live price\u2026"})}):d?(0,K.jsxs)("div",{className:"tg-df-card-listings",children:[(0,K.jsx)("span",{className:"tg-df-card-listings-title",children:"Today's cheapest prices:"}),(0,K.jsx)("div",{className:"tg-df-card-listings-links",children:f.map((m,v)=>{let A=ee(String(m.merchant));return(0,K.jsx)("a",{"aria-label":`View product at ${A}`,className:"tg-df-card-listing-link hawk-affiliate-link-container","data-fcaw-affiliate-link":"","data-merchant":A,"data-merchant-id":m.merchantId||void 0,"data-model-id":m.modelId||void 0,"data-product-key":m.productKey||void 0,href:m.url,rel:"sponsored nofollow noopener",target:"_blank",children:A},`${m.merchant}-${m.url}-${v}`)})})]}):u?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsxs)("div",{className:"tg-df-card-price-group",children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})]}):s?(0,K.jsx)("div",{className:"tg-df-card-price-group",children:(0,K.jsx)("span",{className:"tg-df-card-price tg-df-card-price--unavailable",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"No retail listing found"})}):null,(0,K.jsx)(cf,{authorUrl:e,deal:t}),!d&&(0,K.jsx)("a",{href:o?t.url:l,"data-fcaw-affiliate-link":o?"":void 0,target:"_blank",rel:o?"sponsored nofollow noopener":"noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},children:o?u?"VIEW DEAL":"CHECK PRICE":"READ REVIEW"})]})}return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[!(t.authorName&&!t.isFeatured)&&(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsx)("div",{className:"tg-df-card-price-group",children:t.isCheckPrice?(0,K.jsx)("span",{className:"tg-df-card-price",style:{fontSize:"15px",fontWeight:500,fontStyle:"italic"},children:"See price at retailer"}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})}),(0,K.jsx)(cf,{authorUrl:e,deal:t}),(0,K.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":"",target:"_blank",rel:"sponsored nofollow noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},"data-model-id":t.modelId||void 0,"data-product-key":t.productKey||void 0,"data-merchant-id":t.merchantId||void 0,children:t.isCheckPrice?"CHECK PRICE":t.isFeatured?"SHOP NOW":"VIEW DEAL"})]})}var Ze=B(O(),1);function d0({couponStatus:e,deal:t,onOpenVouchers:n}){let a=!!t.hasCommerceOffer;return(0,Ze.jsxs)("div",{className:"tg-df-card-image-box",children:[t.buyingGuideBadge?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge tg-df-buying-guide-badge",children:t.buyingGuideBadge}):t.savingLabel&&!t.isCheckPrice?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge",children:ee(t.savingLabel)}):null,(0,Ze.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":a?"":void 0,className:a?"hawk-affiliate-link-deal-widget":void 0,target:"_blank",rel:a?"sponsored nofollow noopener":"noopener",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",height:"100%"},children:(0,Ze.jsx)("img",{src:t.image||void 0,alt:ee(String(t.title||"")),className:"tg-df-card-image",loading:"lazy",onError:l=>{t.fallbackImage&&!l.currentTarget.dataset.fb?(l.currentTarget.dataset.fb="1",l.currentTarget.src=t.fallbackImage):l.currentTarget.style.opacity="0"}})}),(0,Ze.jsxs)("div",{className:"tg-df-card-badges",children:[t.isPrime&&(0,Ze.jsxs)("span",{className:"tg-df-tag tg-df-tag-prime",children:[(0,Ze.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ze.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})," ","Prime"]}),!t.merchant?.toLowerCase().includes("amazon")&&(e==="loading"||e==="has")&&(0,Ze.jsx)("div",{className:"tg-df-coupon-wrapper",style:{display:"inline-flex",alignItems:"center"},children:e==="loading"?(0,Ze.jsx)("div",{className:"tg-df-coupon-spinner"}):(0,Ze.jsxs)("button",{type:"button",className:"tg-df-tag tg-df-tag-coupons",onClick:l=>{l.preventDefault(),n(t.merchant)},children:[(0,Ze.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,Ze.jsx)("path",{d:"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"}),(0,Ze.jsx)("line",{x1:"7",y1:"7",x2:"7.01",y2:"7"})]})," ","Coupons"]})})]})]})}var ct=B(O(),1);function f0({label:e="Tom's Guide:",starRating:t,color:n="#1f69ff"}){if(!t||t<=0)return null;let a=Math.floor(t),l=t-a>=.5?1:0,i=Math.max(0,5-a-l),r=[];for(let o=0;o<a;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:n,stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`f${o}`));l&&r.push((0,ct.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"url(#halfGrad)",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,ct.jsx)("defs",{children:(0,ct.jsxs)("linearGradient",{id:"halfGrad",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,ct.jsx)("stop",{offset:"50%",stopColor:n}),(0,ct.jsx)("stop",{offset:"50%",stopColor:"transparent"})]})}),(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})]},"h"));for(let o=0;o<i;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:n,opacity:"0.35",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`e${o}`));return(0,ct.jsxs)("div",{className:"tg-df-card-stars",style:{display:"flex",alignItems:"center",marginBottom:"8px",fontSize:"13px",fontWeight:600,color:"var(--tg-df-text-muted)"},children:[e&&(0,ct.jsx)("span",{style:{marginRight:"6px"},children:e}),(0,ct.jsx)("div",{style:{display:"flex",gap:"2px"},children:r})]})}var At=B(O(),1);function g0({heading:e,items:t}){return t.length===0?null:(0,At.jsxs)("div",{style:{marginBottom:"10px"},children:[(0,At.jsx)("strong",{style:{display:"block",fontSize:"12px",marginBottom:"3px"},children:e}),(0,At.jsx)("ul",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:0,paddingLeft:"18px"},children:t.map(n=>{let a=ee(String(n));return(0,At.jsx)("li",{children:a},n)})})]})}function m0({cons:e=[],expanded:t,fullReviewUrl:n,onToggle:a,pros:l=[],subtitle:i="",truncateSubtitle:r=!1}){let o=l.length>0||e.length>0,u=ee(i);return!u&&!o?null:(0,At.jsxs)("div",{style:{marginBottom:"12px"},children:[u&&(0,At.jsx)("p",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:"0 0 8px",display:!t&&r?"-webkit-box":"block",WebkitLineClamp:!t&&r?3:void 0,WebkitBoxOrient:!t&&r?"vertical":void 0,overflow:!t&&r?"hidden":void 0},children:u}),t&&o&&(0,At.jsxs)("div",{children:[(0,At.jsx)(g0,{heading:"Pros",items:l}),(0,At.jsx)(g0,{heading:"Cons",items:e})]}),(o||r)&&(0,At.jsxs)("div",{className:"tg-df-review-summary-actions",style:{alignItems:"flex-start",display:"flex",flexDirection:"column",gap:t&&n?"4px":0},children:[t&&n&&(0,At.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"tg-df-review-full-link",style:{alignItems:"center",color:"var(--tg-df-blue)",display:"flex",fontSize:"12px",fontWeight:700,minHeight:"40px",paddingRight:"12px",textDecoration:"underline"},children:"Read our full review"}),(0,At.jsx)("button",{type:"button",onClick:c=>{c.preventDefault(),c.stopPropagation(),a()},className:"tg-df-review-summary-toggle",style:{appearance:"none",background:"transparent",border:"none",color:"#000000",cursor:"pointer",fontFamily:"inherit",fontSize:"11px",fontWeight:700,minHeight:"40px",padding:"0 12px 0 0",textTransform:"uppercase"},children:t?"LESS":"READ MORE"})]})]})}var oi=B(ft(),1);var Br=B(O(),1);function h0({text:e,expanded:t,onToggle:n}){let[a,l]=(0,oi.useState)(!1),i=(0,oi.useRef)(null),r=ee(e);return(0,oi.useEffect)(()=>{i.current&&l(i.current.scrollHeight>i.current.clientHeight||i.current.scrollHeight>60)},[r]),r?(0,Br.jsxs)("div",{style:{marginBottom:"12px",position:"relative"},children:[(0,Br.jsx)("p",{ref:i,style:{fontSize:"13px",color:"var(--tg-df-text-muted)",marginBottom:"0",lineHeight:"1.4",display:t?"inline":"-webkit-box",WebkitLineClamp:t?"unset":3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r}),a&&(0,Br.jsx)("button",{type:"button",onClick:o=>{o.preventDefault(),o.stopPropagation(),n()},style:{display:"block",appearance:"none",border:"none",color:"#000000",fontSize:"11px",fontWeight:700,textTransform:"uppercase",cursor:"pointer",fontFamily:"inherit",position:t?"static":"absolute",bottom:"2px",right:0,background:t?"transparent":"linear-gradient(to right, transparent, #fff 20%, #fff)",padding:t?"0":"0 0 0 16px"},children:t?"LESS":"READ MORE"})]}):null}var p0={pcgamer:"#DC191B",space:"#2E4A7F",tomsguide:"#1F69FF",techradar:"#E40784",golfmonthly:"#FFFFFF",androidcentral:"#1CCC3E",cinemablend:"#FFC033",creativebloq:"#DC361A",cyclingnews:"#371B51",cyclingweekly:"#AE1305",decanter:"#1B1B1B",digitalcameraworld:"#CAEBF2",fitandwell:"#BED100",fourfourtwo:"#AE1006",gamesradar:"#DC361A",guitarplayer:"#FFFFFF",guitarworld:"#DC1F26",homesandgardens:"#185A7D",idealhome:"#CAEBF2",imore:"#FFD600",livescience:"#023953",livingetc:"#FFFFFF",loudersound:"#DC0F17",marieclaireus:"#FFFFFF",marieclaireuk:"#FFFFFF",musicradar:"#006EA9",shortlist:"#2853E0",t3:"#DF0A14",theweek:"#DF0A14",theweekjuniorus:"#10A0B0",tomshardware:"#D8373B",wallpaper:"#FFFFFF",whathifi:"#E02928",whowhatwear:"#FFFFFF",windowscentral:"#CE0E5F",womanandhome:"#2F746E"},Nr={tomsguide:"https://proof.vanilla.tools/media/images/brandLogos/tomsguide.png",techradar:"https://proof.vanilla.tools/media/images/brandLogos/techradar.png",tomshardware:"https://proof.vanilla.tools/media/images/brandLogos/tomshardware.png",pcgamer:"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png",gamesradar:"https://proof.vanilla.tools/media/images/brandLogos/gamesradar.png",creativebloq:"https://proof.vanilla.tools/media/images/brandLogos/creativebloq.png",space:"https://proof.vanilla.tools/media/images/brandLogos/space.png",livescience:"https://proof.vanilla.tools/media/images/brandLogos/livescience.png",cinemablend:"https://proof.vanilla.tools/media/images/brandLogos/cinemablend.png",marieclaireus:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireus.png",marieclaireuk:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireuk.png",homesandgardens:"https://proof.vanilla.tools/media/images/brandLogos/homesandgardens.png",whowhatwear:"https://proof.vanilla.tools/media/images/brandLogos/whowhatwear.png",idealhome:"https://proof.vanilla.tools/media/images/brandLogos/idealhome.png",womanandhome:"https://proof.vanilla.tools/media/images/brandLogos/womanandhome.png",livingetc:"https://proof.vanilla.tools/media/images/brandLogos/livingetc.png",t3:"https://proof.vanilla.tools/media/images/brandLogos/t3.png",whathifi:"https://proof.vanilla.tools/media/images/brandLogos/whathifi.png",digitalcameraworld:"https://proof.vanilla.tools/media/images/brandLogos/digitalcameraworld.png",fitandwell:"https://proof.vanilla.tools/media/images/brandLogos/fitandwell.png",golfmonthly:"https://proof.vanilla.tools/media/images/brandLogos/golfmonthly.png",musicradar:"https://proof.vanilla.tools/media/images/brandLogos/musicradar.png",windowscentral:"https://proof.vanilla.tools/media/images/brandLogos/windowscentral.png",cyclingnews:"https://proof.vanilla.tools/media/images/brandLogos/cyclingnews.png",cyclingweekly:"https://proof.vanilla.tools/media/images/brandLogos/cyclingweekly.png",loudersound:"https://proof.vanilla.tools/media/images/brandLogos/loudersound.png",guitarworld:"https://proof.vanilla.tools/media/images/brandLogos/guitarworld.png",guitarplayer:"https://proof.vanilla.tools/media/images/brandLogos/guitarplayer.png",wallpaper:"https://proof.vanilla.tools/media/images/brandLogos/wallpaper.png",fourfourtwo:"https://proof.vanilla.tools/media/images/brandLogos/fourfourtwo.png",shortlist:"https://proof.vanilla.tools/media/images/brandLogos/shortlist.png",advnture:"https://proof.vanilla.tools/media/images/brandLogos/advnture.png",countrylife:"https://proof.vanilla.tools/media/images/brandLogos/countrylife.png",gardeningknowhow:"https://proof.vanilla.tools/media/images/brandLogos/gardeningknowhow.png",gnomesingardens:"https://proof.vanilla.tools/media/images/brandLogos/gnomesingardens.png",kiplinger:"https://proof.vanilla.tools/media/images/brandLogos/kiplinger.png",moneyweek:"https://proof.vanilla.tools/media/images/brandLogos/moneyweek.png",toptenreviews:"https://proof.vanilla.tools/media/images/brandLogos/toptenreviews.png"},Gu={tomsguide:"Tom's Guide",techradar:"TechRadar",tomshardware:"Tom's Hardware",pcgamer:"PC Gamer",gamesradar:"GamesRadar+",creativebloq:"Creative Bloq",space:"Space",livescience:"Live Science",cinemablend:"CinemaBlend",marieclaireus:"Marie Claire US",marieclaireuk:"Marie Claire UK",homesandgardens:"Homes & Gardens",whowhatwear:"Who What Wear",idealhome:"Ideal Home",womanandhome:"Woman & Home",livingetc:"Living Etc",t3:"T3",whathifi:"What Hi-Fi?",digitalcameraworld:"Digital Camera World",fitandwell:"Fit & Well",golfmonthly:"Golf Monthly",musicradar:"MusicRadar",androidcentral:"Android Central",imore:"iMore",windowscentral:"Windows Central",cyclingnews:"Cycling News",cyclingweekly:"Cycling Weekly",loudersound:"Louder Sound",guitarworld:"Guitar World",guitarplayer:"Guitar Player",theweek:"The Week",theweekjuniorus:"The Week Junior US",wallpaper:"Wallpaper",decanter:"Decanter",fourfourtwo:"FourFourTwo",shortlist:"ShortList",advnture:"Advnture",countrylife:"Country Life",gardeningknowhow:"Gardening Know How",gnomesingardens:"Gnomes in Gardens",kiplinger:"Kiplinger",moneyweek:"Money Week",toptenreviews:"Top 10 Reviews"},y0={pcgamer:[{key:"steam",href:"https://steamcommunity.com/groups/pcgamer",label:"PC Gamer on Steam"},{key:"x",href:"https://twitter.com/pcgamer",label:"PC Gamer on X"},{key:"facebook",href:"https://www.facebook.com/pcgamermagazine",label:"PC Gamer on Facebook"},{key:"instagram",href:"https://www.instagram.com/pcgamer_mag/?hl=en",label:"PC Gamer on Instagram"},{key:"youtube",href:"https://www.youtube.com/user/pcgamer",label:"PC Gamer on YouTube"},{key:"twitch",href:"https://www.twitch.tv/pcgamer",label:"PC Gamer on Twitch"},{key:"tiktok",href:"https://www.tiktok.com/@pcgamer_mag?lang=en",label:"PC Gamer on TikTok"}],homesandgardens:[{key:"instagram",href:"https://www.instagram.com/homesandgardensofficial",label:"Homes & Gardens on Instagram"},{key:"facebook",href:"https://www.facebook.com/homesandgardens/",label:"Homes & Gardens on Facebook"},{key:"x",href:"https://x.com/homesandgardens",label:"Homes & Gardens on X"},{key:"tiktok",href:"https://www.tiktok.com/@homesandgardensofficial",label:"Homes & Gardens on TikTok"},{key:"pinterest",href:"https://pinterest.com/homesgardensofficial/",label:"Homes & Gardens on Pinterest"}],whowhatwear:[{key:"x",href:"https://twitter.com/WhoWhatWear",label:"Who What Wear on X"},{key:"instagram",href:"https://www.instagram.com/whowhatwear/",label:"Who What Wear on Instagram"},{key:"facebook",href:"https://www.facebook.com/WhoWhatWear/",label:"Who What Wear on Facebook"},{key:"pinterest",href:"https://www.pinterest.co.uk/whowhatwearuk/",label:"Who What Wear on Pinterest"},{key:"tiktok",href:"https://www.tiktok.com/@whowhatwear.uk",label:"Who What Wear on TikTok"}]};var Ot=B(O(),1);function v0(e){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").trim().toLowerCase()}function Jw(e){let t=ee(String(e.brand||"")).trim(),n=ee(String(e.productName||e.title||"")).trim(),a=v0(t),l=v0(n);return a.length>0&&l.startsWith(a)&&!/^[a-z0-9]/.test(l.slice(a.length))||!t?n:`${t} ${n}`.trim()}function b0({couponStatus:e,deal:t,editorMode:n,hideHawkPrices:a,isDescriptionExpanded:l,isSelected:i,onDescriptionToggle:r,onOpenVouchers:o,onSelectionChange:u,website:c}){let s=ee(String(t.currency||"")),f=t.rawMsrp?s+t.rawMsrp:null,d=Jw(t),m=ee(String(t.title||"")),v=Gu[c||"tomsguide"]||c||"Tom's Guide",A=(c||"tomsguide").includes(".")?(c||"").startsWith("http")?c:`https://${c}`:`https://www.${c||"tomsguide"}.com`,b=(t.documentUrl||"").replace(/^\/+/,""),h=b.startsWith("http://")||b.startsWith("https://")?b:`${A}/${b}`,g=String(t.sourceArticleUrl||t.documentUrl||t.url||"").replace(/^\/+/,""),p=g.startsWith("http://")||g.startsWith("https://")?g:`${A}/${g}`,y=!!t.hasCommerceOffer;return(0,Ot.jsxs)("div",{className:"tg-df-card","data-brand":t.modelBrand||t.brand||void 0,"data-currency":t.isoCurrencyCode||s||void 0,"data-deal-id":t.externalProductId||t.id||void 0,"data-merchant":t.merchant||void 0,"data-merchant-id":t.merchantId||void 0,"data-model-id":t.modelId||void 0,"data-previous-price":t.rawMsrp||void 0,"data-price":t.rawPrice||void 0,"data-product-key":t.productKey||void 0,"data-product-name":t.productName||t.title||void 0,"data-review-product":t.isReviewProduct?"true":void 0,"data-source-article-url":t.isReviewProduct?p:void 0,children:[n&&(0,Ot.jsx)("input",{type:"checkbox",className:"tg-df-deal-checkbox",checked:i,onChange:C=>u(C.target.checked)}),(0,Ot.jsx)(d0,{couponStatus:e,deal:t,onOpenVouchers:o}),(0,Ot.jsxs)("div",{className:"tg-df-card-body",children:[(0,Ot.jsx)("h3",{className:"tg-df-card-title",title:m,children:(0,Ot.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":y?"":void 0,className:y?"hawk-affiliate-link-container":void 0,target:"_blank",rel:y?"sponsored nofollow noopener":"noopener",style:{textDecoration:"none",color:"inherit"},children:(0,Ot.jsx)("strong",{children:d})})}),(0,Ot.jsx)(f0,{label:t.isBuyingGuideProduct?"":`${v} rating:`,starRating:t.starRating,color:t.isReviewProduct?"var(--tg-df-blue)":void 0}),t.isBuyingGuideProduct||t.isReviewProduct?(0,Ot.jsx)(m0,{cons:t.cons,expanded:l,fullReviewUrl:t.isReviewProduct&&g?p:void 0,onToggle:r,pros:t.pros,subtitle:t.isReviewProduct?t.description:t.subtitle,truncateSubtitle:t.isReviewProduct}):t.description?(0,Ot.jsx)(h0,{text:t.description,expanded:l,onToggle:r}):null,(0,Ot.jsx)(s0,{authorUrl:h,deal:t,hideHawkPrices:a,msrpFormatted:f,sourceArticleUrl:p})]})]})}var ce=B(O(),1);function $w({activeDealTag:e,activeFreeformTags:t=[],query:n,selectedBrands:a=[]}){let l=o=>{let u=String(o||"").trim();return u&&u.toLowerCase()!=="everything"?u:""},r=(t.length>0?t:e?[e]:a.length>0?a:[n]).map(l).filter(Boolean).map(o=>o.replace(/\s+deals?$/i,"").trim()).filter((o,u,c)=>c.findIndex(s=>s.toLowerCase()===o.toLowerCase())===u);return r.length<=1?r[0]||"":`${r.slice(0,-1).join(", ")} or ${r.at(-1)}`}function e2(){return(0,ce.jsx)(ce.Fragment,{children:Array.from({length:6}).map((e,t)=>(0,ce.jsxs)("div",{className:"tg-df-card",children:[(0,ce.jsx)("div",{className:"tg-df-card-image-box tg-df-skeleton"}),(0,ce.jsxs)("div",{className:"tg-df-card-body",children:[(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short",style:{marginBottom:"24px"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title",style:{width:"80%"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short"}),(0,ce.jsx)("div",{className:"tg-df-card-cta tg-df-skeleton",style:{width:"100%",height:"40px",marginTop:"auto",border:"none"}})]})]},t))})}function t2(e,t){return{"@context":"https://schema.org","@type":"ItemList",itemListElement:e.slice(0,t).map((n,a)=>{let l="USD";return n.currency==="\xA3"?l="GBP":n.currency==="\u20AC"?l="EUR":n.currency==="A$"?l="AUD":n.currency==="CA$"&&(l="CAD"),{"@type":"ListItem",position:a+1,item:{"@type":"Product",name:n.title,image:n.image||"",description:n.description||"",brand:{"@type":"Brand",name:n.brand||""},offers:{"@type":"Offer",priceCurrency:l,price:n.rawPrice||0,url:n.url||"",seller:{"@type":"Organization",name:n.merchant||""}}}}}).filter(n=>n.item.name)}}function w0({activeDealTag:e,activeFreeformTags:t,couponMap:n,deals:a,displayCount:l,editorMode:i,error:r,expandedDealIds:o,hasMore:u,hideHawkPrices:c,loading:s,loadingMore:f,loadMoreStartCount:d,onDescriptionToggle:m,onLoadMore:v,onOpenVouchers:A,query:b,recentDealsOnly:h,selectedBrands:g,selectedDeals:p,setSelectedDeals:y,website:C}){let R=$w({activeDealTag:e,activeFreeformTags:t,query:b,selectedBrands:g}),T=f&&d!=null?d:l,M=!f&&d!=null&&d<T?d:null,w=D=>D.map(k=>(0,ce.jsx)(A0.default.Fragment,{children:(0,ce.jsx)(b0,{couponStatus:n[k.merchant],deal:k,editorMode:i,hideHawkPrices:c,isDescriptionExpanded:o.has(k.id),isSelected:p.has(k.id),onDescriptionToggle:()=>m(k.id),onOpenVouchers:A,onSelectionChange:se=>{let I=new Map(p);se?I.set(k.id,k):I.delete(k.id),y(I)},website:C})},k.id));return(0,ce.jsx)("div",{className:"tg-df-grid-wrapper",children:(0,ce.jsx)("div",{className:"tg-df-grid article-body tg-df-grid-auto",id:"tg-df-grid",children:s?(0,ce.jsx)(e2,{}):r?(0,ce.jsx)("div",{className:"tg-df-message",children:"Failed to load deals. Please try again."}):a.length===0?(0,ce.jsx)("div",{className:"tg-df-message",children:h?`No ${R?`${R} `:""}deals found from the last 30 days.`:!b||b.length<=2||b.toLowerCase()==="everything"?"No deals found for this author.":`No savings squad match your search for "${b}".`}):(0,ce.jsxs)(ce.Fragment,{children:[w(a.slice(0,M??T)),M!=null&&(0,ce.jsx)("div",{"aria-live":"polite",className:"tg-df-load-more-boundary",style:{alignItems:"center",color:"var(--tg-df-text-muted)",display:"flex",fontSize:"13px",fontWeight:600,gridColumn:"1 / -1",justifyContent:"center",marginTop:"16px",minHeight:"40px",overflowAnchor:"none"},children:"More products"}),M!=null&&w(a.slice(M,T)),u&&(0,ce.jsx)("div",{className:"tg-df-load-more-control",style:{width:"100%",display:"flex",justifyContent:"center",marginTop:"16px",gridColumn:"1 / -1",overflowAnchor:"none"},children:(0,ce.jsx)("button",{type:"button",className:"tg-df-tag-outline",style:{padding:"8px 24px",borderRadius:"100px",fontWeight:600,fontSize:"14px",cursor:"pointer"},"aria-busy":f,disabled:f,onClick:D=>{D.preventDefault(),D.stopPropagation(),v()},children:f?"Loading more products\u2026":"Load More"})}),a.length>0&&(0,ce.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t2(a,T))}})]})})})}var S0=B(O(),1);var pn=B(ft(),1),nn=B(O(),1);function Pu({onScrollLeft:e,onScrollRight:t,showLeft:n,showRight:a}){return(0,nn.jsxs)(nn.Fragment,{children:[(0,nn.jsx)("button",{"aria-label":"Scroll left",className:"tg-df-scroll-btn left tg-df-desktop-only",onClick:e,style:{display:n?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,nn.jsx)("button",{"aria-label":"Scroll right",className:"tg-df-scroll-btn right tg-df-desktop-only",onClick:t,style:{display:a?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})}function qu(e){let t=(0,pn.useRef)(null),[n,a]=(0,pn.useState)(!1),[l,i]=(0,pn.useState)(!1),r=(0,pn.useCallback)(()=>{let u=t.current;u&&(a(u.scrollLeft>1),i(Math.ceil(u.scrollLeft+u.clientWidth)<u.scrollWidth-1))},[]);(0,pn.useLayoutEffect)(()=>{let u=t.current;if(!u)return;r();let c=requestAnimationFrame(r),s=typeof ResizeObserver>"u"?null:new ResizeObserver(r);return s?.observe(u),()=>{cancelAnimationFrame(c),s?.disconnect()}},[e,r]);let o=(0,pn.useCallback)(u=>{t.current?.scrollBy({left:u,behavior:"smooth"})},[]);return{onScroll:r,railRef:t,scrollLeft:()=>o(-240),scrollRight:()=>o(240),showLeft:n,showRight:l}}var jn=B(O(),1);function ui({containerClassName:e,itemClassName:t,items:n,loading:a,loadingKey:l,onItemClick:i,rowClassName:r,showCounters:o}){let u=qu(n.length);return n.length===0&&!a?null:(0,jn.jsxs)("div",{className:e,style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[n.length>0&&(0,jn.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,jn.jsx)("div",{className:r,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none"},onScroll:u.onScroll,children:n.length>0?n.map(c=>(0,jn.jsxs)("button",{className:t,onClick:()=>i(c.key),style:{border:"none",borderRight:"1px solid var(--tg-df-border)",padding:"12px 20px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"1px",cursor:"pointer",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:"6px",...t==="tg-df-brand-row-item"?{transition:"all 0.2s ease"}:{},background:c.selected?"var(--tg-df-bg-secondary)":"var(--tg-df-bg)",color:c.selected?"var(--tg-df-text-primary)":"var(--tg-df-text-muted)",fontWeight:c.selected?600:500},children:[c.label," ",l===c.key&&(0,jn.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading",style:{borderWidth:"2px",height:"12px",width:"12px"}}),o!==!1&&(0,jn.jsx)("span",{style:{color:"var(--tg-df-blue)",fontSize:"10px",...t==="tg-df-brand-row-item"?{fontWeight:400}:{}},children:c.count})]},c.key)):[1,2,3,4,5].map(c=>(0,jn.jsx)("div",{className:"tg-df-skeleton",style:{height:"36px",width:"80px",borderRadius:"18px",flexShrink:0,margin:"8px 12px"}},`${r}-skeleton-${c}`))})]})}var R0=B(O(),1);function C0({airedaleBrands:e,brands:t,loading:n,refreshing:a,onBrandToggle:l,selectedBrands:i,showAuthorCounters:r}){let o=e.length>0?e:t||[],u=o.slice(0,15).map(c=>({count:c.count||0,key:c.formatted_value,label:c.formatted_value,selected:i?.includes(c.formatted_value)||!1}));return(0,R0.jsx)(ui,{containerClassName:"tg-df-brands-row-container",itemClassName:"tg-df-brand-row-item",items:u,loading:n&&o.length===0,loadingKey:a?i?.[0]:null,onItemClick:c=>l?.(c),rowClassName:"tg-df-brands-row",showCounters:r})}var E0=B(O(),1);function T0({activeDealTag:e,airedaleTagCounts:t,airedaleTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>{let c=u.split(":::"),s=c[0];return{count:t[u]||0,key:s,label:c[1]||u,selected:e===s}});return(0,E0.jsx)(ui,{containerClassName:"tg-df-categories-row-container",itemClassName:"tg-df-category-row-item",items:o,loading:a&&n.length===0,loadingKey:l?e:null,onItemClick:i,rowClassName:"tg-df-categories-row",showCounters:r})}var x0=B(O(),1);function D0({activeFreeformTags:e,freeformTagCounts:t,freeformTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>({count:t[u.handle]||0,key:u.handle,label:u.label,selected:e.includes(u.handle)}));return(0,x0.jsx)(ui,{containerClassName:"tg-df-freeform-tags-row-container",itemClassName:"tg-df-freeform-tag-row-item",items:o,loading:a&&n.length===0,loadingKey:l&&e.at(-1)||null,onItemClick:i,rowClassName:"tg-df-freeform-tags-row",showCounters:r})}var _e=B(O(),1),n2=4;function M0({authors:e,clickedAuthorOverride:t,loading:n,refreshing:a,onAuthorClick:l,overriddenAuthorHandle:i,overriddenAuthorName:r,website:o}){let u=qu(e.length);return e.length===0&&!n?null:(0,_e.jsxs)("div",{className:"tg-df-authors-row-container",style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[e.length>0&&(0,_e.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,_e.jsx)("div",{className:"tg-df-authors-row tg-df-mobile-authors",onScroll:u.onScroll,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",gap:"24px",padding:"4px 16px 2px 16px",alignItems:"flex-start"},children:e.length>0?e.map((c,s)=>{let f=Nr[c.brandKey]||Nr[o||"tomsguide"],d=t&&(i===c.handle||r===c.fullName);return(0,_e.jsxs)("div",{className:"tg-df-author-row-item",onClick:()=>l(c),style:{cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px",opacity:t?d?1:.4:1},children:[(0,_e.jsxs)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px",borderRadius:"50%",boxShadow:d?"0 0 0 3px var(--tg-df-blue, #1F69FF)":"none"},children:[(0,_e.jsx)("img",{src:ri(c.image),alt:c.fullName,decoding:"async",loading:s<n2?"eager":"lazy",style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover",filter:t&&!d?"grayscale(100%)":"none"}}),d&&(0,_e.jsx)("span",{"aria-label":`Clear ${c.fullName} selection`,className:"tg-df-author-clear-badge",title:"Click again to clear selection",style:{alignItems:"center",backgroundColor:"#dc2626",border:"2px solid var(--tg-df-bg, #fff)",borderRadius:"50%",boxShadow:"0 1px 3px rgb(0 0 0 / 25%)",color:"#fff",display:"flex",fontSize:"15px",fontWeight:700,height:"20px",justifyContent:"center",lineHeight:1,position:"absolute",right:"-5px",top:"-5px",width:"20px",zIndex:1},children:(0,_e.jsx)("span",{"aria-hidden":"true",style:{display:"block",transform:"translateY(-1px)"},children:"\xD7"})}),f&&(0,_e.jsx)("img",{src:f,alt:"",className:"tg-df-author-brand-logo",decoding:"async",loading:"lazy",style:{position:"absolute",bottom:"-4px",right:"-4px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid var(--tg-df-bg, #fff)",backgroundColor:"#000",objectFit:"contain",filter:t&&!d?"grayscale(100%)":"none"}})]}),(0,_e.jsxs)("div",{style:{textAlign:"center"},children:[(0,_e.jsxs)("div",{className:"tg-df-author-row-name",style:{fontSize:"13px",fontWeight:700,color:"var(--tg-df-text)",lineHeight:"1.2"},children:[c.name,a&&d&&(0,_e.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading author products",style:{borderWidth:"2px",display:"inline-block",height:"11px",marginLeft:"4px",width:"11px"}})]}),c.role&&(0,_e.jsx)("div",{className:"tg-df-author-row-role",style:{fontSize:"11px",color:"var(--tg-df-text-muted)",lineHeight:"1.2",marginTop:"2px",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word"},children:c.role})]})]},c.handle)}):[1,2,3,4].map(c=>(0,_e.jsxs)("div",{className:"tg-df-author-row-item",style:{display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px"},children:[(0,_e.jsx)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px"},children:(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),(0,_e.jsxs)("div",{style:{textAlign:"center",width:"100%"},children:[(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"12px",width:"80%",margin:"0 auto 4px auto",borderRadius:"2px"}}),(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"10px",width:"60%",margin:"0 auto",borderRadius:"2px"}})]})]},`author-skeleton-${c}`))})]})}var Ja=B(O(),1);function _0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,freeformTagCounts:i,freeformTags:r,allAuthorsList:o,brands:u,clickedAuthorOverride:c,loading:s,refreshing:f,onAuthorClick:d,onBrandToggle:m,onTagClick:v,onFreeformTagClick:A,overriddenAuthorHandle:b,overriddenAuthorName:h,selectedBrands:g,showAuthorRail:p,showAuthorCounters:y,showBrandRail:C,showCategoryRail:R,showFreeformTagRail:T,website:M}){let w=R!==!1&&l.length>0||T!==!1&&r.length>0||C!==!1&&(n.length>0||!!u?.length)||p&&o.length>0;return!(p||R!==!1||T!==!1||C!==!1)||!w&&!s?null:(0,Ja.jsxs)("div",{id:"tg-df-spreadsheet-filters",style:{display:"block",marginBottom:"16px"},children:[p&&(0,Ja.jsx)(M0,{authors:o,clickedAuthorOverride:c,loading:s&&o.length===0,refreshing:f,onAuthorClick:d,overriddenAuthorHandle:b,overriddenAuthorName:h,website:M}),R!==!1&&(0,Ja.jsx)(T0,{activeDealTag:e,airedaleTagCounts:a,airedaleTags:l,loading:s,refreshing:f,onTagClick:v,showAuthorCounters:y}),T!==!1&&(0,Ja.jsx)(D0,{activeFreeformTags:t,freeformTagCounts:i,freeformTags:r,loading:s,refreshing:f,onTagClick:A,showAuthorCounters:y}),C!==!1&&(0,Ja.jsx)(C0,{airedaleBrands:n,brands:u,loading:s,refreshing:f,onBrandToggle:m,selectedBrands:g,showAuthorCounters:y})]})}var O0=B(ft(),1);var B0=[{value:"date_desc",label:"Most recent"},{value:"rating_desc",label:"Highest rating"},{value:"scored_first",label:"Scored products first"}];function Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}){return!!(a&&e!==!0&&t===!1&&n===!1)}function Fu({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a,lightweightReviewDelivery:l,showPriceDiscountFilters:i,showReviewSort:r}){return!!(l&&i===!1&&r===!1&&Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}))}function ju(e=!0){return e?B0:B0.filter(t=>t.value!=="scored_first")}function wa(e,t=!0){return!t&&e==="scored_first"?"date_desc":e||"date_desc"}var H=B(O(),1),N0=[{value:"all",label:"All Prices",shortLabel:""},{value:"under50",label:"Under $50",shortLabel:"< $50"},{value:"50_100",label:"$50 - $100",shortLabel:"$50-$100"},{value:"100_200",label:"$100 - $200",shortLabel:"$100-$200"},{value:"200_500",label:"$200 - $500",shortLabel:"$200-$500"},{value:"over500",label:"Over $500",shortLabel:"> $500"}],a2=[{value:"0",label:"Any discount"},...[5,10,15,20,25,30,40,50,60,70].map(e=>({value:String(e),label:`Min ${e}% off`}))];function l2({open:e}){return(0,H.jsx)("svg",{"aria-hidden":"true",className:e?"is-open":void 0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("path",{d:"m6 9 6 6 6-6"})})}function Yn(){return(0,H.jsx)("svg",{"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function k0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,brands:i,discountAmount:r,enabled:o,freeformTagCounts:u,freeformTags:c,includeScoredFirst:s,onBrandSelect:f,onBrandToggle:d,onDiscountAmountChange:m,onFreeformTagClear:v,onFreeformTagToggle:A,onPriceRangeChange:b,onReviewSortChange:h,onTagClear:g,onTagClick:p,priceRange:y,reviewSort:C,selectedBrands:R,showCounters:T,showBrandRail:M,showCategoryRail:w,showFreeformTagRail:D,showPriceDiscountFilters:k,showReviewSort:se}){let[I,j]=(0,O0.useState)(null);if(!o)return null;let He=l.map(x=>{let P=x.split(":::");return{count:a[x]||0,handle:P[0],label:P[1]||x}}),ze=n.length>0?n:i||[],St=He.find(x=>x.handle===e),Ie=y||"all",rn=!r||r==="all"?"0":r,Be=N0.find(x=>x.value===Ie),Je=k!==!1,nt=wa(C,s),X=ju(s),de=nt==="rating_desc"?"Highest rating":nt==="scored_first"?"Scored first":"Most recent",$e=x=>{j(P=>P===x?null:x)},Z=[];return w!==!1&&Z.push({active:!!e,label:`CATEGORIES${St?` (${St.label})`:""}`,menu:"categories"}),D!==!1&&Z.push({active:t.length>0,label:`KEYWORDS${t.length>0?` (${t.length})`:""}`,menu:"keywords"}),M!==!1&&Z.push({active:R.length>0,label:`BRANDS${R.length>0?` (${R.length})`:""}`,menu:"brands"}),Je&&Z.push({active:Ie!=="all",label:`PRICES${Be?.shortLabel?` (${Be.shortLabel})`:""}`,menu:"prices"}),(Je||se)&&Z.push({active:se?nt!=="date_desc":rn!=="0",label:se?`SORT REVIEWS (${de})`:`DISCOUNTS${rn!=="0"?` (${rn}%+)`:""}`,menu:se?"review-sort":"discounts"}),(0,H.jsxs)("div",{className:"tg-df-mobile-2x2-container",children:[(0,H.jsx)("div",{className:`tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--${Z.length%2===0?"even":"odd"}`,children:Z.map(x=>(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-grid-cell${x.active?" has-active-filter":""}${I===x.menu?" active":""}`,"aria-expanded":I===x.menu,onClick:()=>$e(x.menu),children:[(0,H.jsx)("span",{children:x.label}),(0,H.jsx)(l2,{open:I===x.menu})]},x.menu))}),w!==!1&&I==="categories"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${e?"":" selected"}`,onClick:()=>{g(),j(null)},children:[(0,H.jsx)("span",{children:"All Categories"}),!e&&(0,H.jsx)(Yn,{})]}),He.map(x=>{let P=e===x.handle;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{p(x.handle),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},x.handle)})]}),M!==!1&&I==="brands"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${R.length===0?" selected":""}`,onClick:()=>f?.([]),children:[(0,H.jsx)("span",{children:"All Brands"}),R.length===0&&(0,H.jsx)(Yn,{})]}),ze.map(x=>{let P=x.formatted_value,Q=R.includes(P);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${Q?" selected":""}`,onClick:()=>d?.(P),children:[(0,H.jsx)("span",{children:P}),Q?(0,H.jsx)(Yn,{}):T!==!1&&x.count?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},P)})]}),D!==!1&&I==="keywords"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${t.length===0?" selected":""}`,onClick:()=>{v(),j(null)},children:[(0,H.jsx)("span",{children:"All Keywords"}),t.length===0&&(0,H.jsx)(Yn,{})]}),c.map(x=>{let P=t.includes(x.handle);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>A(x.handle),children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1&&u[x.handle]?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:u[x.handle]}):null]},x.handle)})]}),I==="prices"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:N0.map(x=>{let P=Ie===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{b?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="discounts"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:a2.map(x=>{let P=rn===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{m?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="review-sort"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:X.map(x=>{let P=nt===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{h?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})})]})}var $a=B(ft(),1);var W=B(O(),1);function L0({airedaleBrands:e,airedaleTags:t,discountAmount:n,hidden:a,includeScoredFirst:l,onDiscountAmountChange:i,onPriceRangeChange:r,onReviewSortChange:o,priceRange:u,reviewSort:c,showReviewSort:s,showPriceDiscountFilters:f}){let d=(0,$a.useRef)(null),[m,v]=(0,$a.useState)(!1),[A,b]=(0,$a.useState)(!1),h=ju(l),g=wa(c,l),p=()=>{if(!d.current)return;let{scrollLeft:y,scrollWidth:C,clientWidth:R}=d.current;v(y>0),b(Math.ceil(y+R)<C-5)};return(0,$a.useEffect)(()=>(p(),window.addEventListener("resize",p),setTimeout(p,100),setTimeout(()=>{document.querySelector(".tg-df-categories-row")?.dispatchEvent(new Event("scroll")),document.querySelector(".tg-df-brands-row")?.dispatchEvent(new Event("scroll"))},150),()=>window.removeEventListener("resize",p)),[t,e]),(0,W.jsx)("div",{className:"tg-df-controls",id:"tg-df-controls",style:{display:a?"none":"flex",marginTop:"12px",marginBottom:"16px",justifyContent:"center"},children:(0,W.jsxs)("div",{className:"tg-df-filters-container",style:{position:"relative",width:"100%",maxWidth:"800px",margin:"0 auto"},children:[(0,W.jsx)("button",{className:"tg-df-scroll-btn left",style:{display:m?"flex":"none"},onClick:()=>d.current?.scrollBy({left:-200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,W.jsx)("button",{className:"tg-df-scroll-btn right",style:{display:A?"flex":"none"},onClick:()=>d.current?.scrollBy({left:200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M9 18l6-6-6-6"})})}),(0,W.jsxs)("div",{className:"tg-df-filters",ref:d,onScroll:p,children:[(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-legacy-price-wrapper",style:{display:f!==!1?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-price-filter","aria-label":"Filter Prices",value:u||"all",onChange:y=>r?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"All Prices"}),(0,W.jsx)("option",{value:"under50",children:"Under $50"}),(0,W.jsx)("option",{value:"50_100",children:"$50 - $100"}),(0,W.jsx)("option",{value:"100_200",children:"$100 - $200"}),(0,W.jsx)("option",{value:"200_500",children:"$200 - $500"}),(0,W.jsx)("option",{value:"over500",children:"Over $500"})]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-discount-filter-wrapper",style:{display:f!==!1&&!s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-discount-filter","aria-label":"Discount Amount",value:n||"all",onChange:y=>i?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"Any discount"}),[5,10,15,20,25,30,40,50,60,70].map(y=>(0,W.jsxs)("option",{value:y,children:["Min ",y,"%"]},y))]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-review-sort-wrapper",style:{display:s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M4 7h16M7 12h10m-7 5h4"})}),(0,W.jsx)("select",{className:"tg-df-filter-select",id:"tg-df-review-sort","aria-label":"Sort Reviews",value:g,onChange:y=>o?.(y.target.value),children:h.map(y=>(0,W.jsx)("option",{value:y.value,children:y.label},y.value))})]})]})]})})}var be=B(ft(),1);function kr(e,t){return e.filter(n=>{let a=n.handle.toLowerCase(),l=n.fullName.toLowerCase(),i=n.name.toLowerCase();return t.some(r=>{let o=r.articleauthorhandle||[],u=r.articleauthor||[],c=r.articleauthortext||[];return[...o,...u,...c].some(s=>{let f=String(s||"").toLowerCase();return f===a||f===l||f===i})})})}function Yu(e,t){return e.map((n,a)=>({index:a,profile:n,productCount:t[n.handle]||0})).sort((n,a)=>a.productCount-n.productCount||n.index-a.index).map(({profile:n})=>n)}function Vu(e,t){return e==="all-authors"||t==="all-authors"||t==="All authors"||!e&&!t}function Xu(e,t,n){let a=e;if((t||n)&&t!=="all-authors"&&n!=="all-authors"&&n!=="All authors"){if(t){let l=t.toLowerCase(),i=e.filter(r=>r.articleauthorhandle&&r.articleauthorhandle.some(o=>o.toLowerCase()===l));if(i.length>0)a=i;else if(n){let r=n.toLowerCase(),o=e.filter(u=>u.articleauthor&&u.articleauthor.some(c=>c.toLowerCase()===r));o.length>0&&(a=o)}}else if(n){let l=n.toLowerCase();a=e.filter(i=>i.articleauthor&&i.articleauthor.some(r=>r.toLowerCase()===l))}}return a}function sf(e,t,n){let a=0;if(t&&e.articleauthorhandle){let l=e.articleauthorhandle.findIndex(i=>i.toLowerCase()===t.toLowerCase());l>=0&&(a=l)}else if(n&&e.articleauthor){let l=e.articleauthor.findIndex(i=>i.toLowerCase()===n.toLowerCase());l>=0&&(a=l)}return a}function Qu(e,t,n){let a=sf(e,t,n),l=i=>typeof i=="string"?ee(i):i||"";return{authorName:e.articleauthortext?l(e.articleauthortext[a]):e.articleauthor?l(e.articleauthor[a]):"",authorRole:e.articleauthorrole?l(e.articleauthorrole[a]):"",authorImage:e.articleauthormedia?e.articleauthormedia[a]:""}}function Lr(e,t){let n=new Map;return e.forEach(a=>{if(!a.articleauthor)return;let l=t;if(a.documenturl)try{let f=new URL(a.documenturl).hostname.replace("www.","").split(".");f.length>0&&(l=f[0].toLowerCase())}catch{}let i=a.articleauthorhandle||[],r=a.articleauthor||[],o=a.articleauthortext||[],u=a.articleauthorrole||[],c=a.articleauthormedia||[];r.forEach((s,f)=>{if(!s||s==="null"||s.toLowerCase()==="all authors")return;let d=i[f]&&i[f]!=="null"?i[f]:s.toLowerCase().replace(/\s+/g,"-");if(!d||d==="null")return;let m=o[f]&&o[f]!=="null"?o[f]:s,v=u[f]&&u[f]!=="null"?u[f]:"",A=ee(String(m)),b=ee(String(v)),h=c[f]&&c[f]!=="null"?c[f]:"",g=A.split(" ")[0],p=_r(a,f,"short"),y=_r(a,f,"long"),C=Uu(a,f),R=n.get(d);!R&&A&&h?n.set(d,{...y?{bioLong:y}:{},...p?{bioShort:p}:{},name:g,fullName:A,handle:d,role:b,image:h,brandKey:l,...C.length>0?{socialNetworks:C}:{}}):R&&(!R.bioShort&&p&&(R.bioShort=p),!R.bioLong&&y&&(R.bioLong=y),!R.socialNetworks?.length&&C.length>0&&(R.socialNetworks=C))})}),Array.from(n.values())}var E=B(O(),1);function z0(e){let t=(0,be.useRef)(""),n=(0,be.useRef)(null),a=(0,be.useCallback)(()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null)},[]),l=(0,be.useCallback)(r=>{a(),t.current=r},[a]),i=(0,be.useCallback)((r,o,u=!1)=>{if(!e)return;if(r===t.current){a();return}let c=()=>{n.current=null,t.current=r,e(o)};a(),u?c():n.current=window.setTimeout(c,350)},[a,e]);return(0,be.useEffect)(()=>a,[a]),{save:i,synchronise:l}}function H0({contentKey:e,defaultText:t,kind:n,onChange:a,value:l}){let i=(0,be.useRef)(null),r=(0,be.useRef)(e),[o,u]=(0,be.useState)(!1),c=l??t,s=!!a,{save:f,synchronise:d}=z0(a);(0,be.useLayoutEffect)(()=>{let g=r.current!==e;i.current&&(g||document.activeElement!==i.current)&&(i.current.innerHTML!==c&&(i.current.innerHTML=c),d(c)),r.current=e},[e,d,c]);let m=(g=!1)=>{if(!i.current)return;let p=i.current.innerHTML;f(p,p===t?void 0:p,g)},v=(g,p)=>{document.execCommand(g,!1,p),m(!0)},A=n==="kicker"?{fontSize:"0.875rem",color:"#6B7280",fontStyle:"normal",margin:"0 0 0.25rem 0"}:{fontSize:"2.25rem",fontWeight:300,color:"#111827",margin:"0 0 0.25rem 0",lineHeight:1.1,letterSpacing:"-0.02em"},b=n==="kicker"?"tg-df-author-curated-by tg-df-author-kicker":"tg-df-author-name",h=()=>n==="kicker"?(0,E.jsx)("p",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}}):(0,E.jsx)("h2",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}});return s?(0,E.jsxs)("div",{className:"tg-df-author-header-text-shell",style:{position:"relative"},children:[o&&(0,E.jsxs)("div",{className:"tg-df-author-header-text-toolbar",role:"toolbar","aria-label":`${n==="kicker"?"Shop by text":"Site or author name"} formatting`,style:{display:"flex",justifyContent:"center",alignItems:"center",gap:"0.25rem",margin:"0 auto 0.375rem",width:"fit-content",padding:"0.25rem 0.5rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",fontSize:"11px",zIndex:10},children:[(0,E.jsx)("span",{style:{color:"#64748b",padding:"2px 2px 2px 0"},children:"Editing"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("bold"),title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("italic"),title:"Italic",children:(0,E.jsx)("em",{children:"I"})}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{let g=prompt("Enter URL:");g&&v("createLink",g)},title:"Add link",children:"\u{1F517}"}),l!==void 0&&(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{i.current&&(i.current.innerHTML=t),d(t),a?.(void 0)},title:"Restore default",children:"Reset"})]}),h()]}):h()}function i2({contentKey:e,initialBio:t,defaultPlaceholder:n,onBioChange:a,stabilizeHeight:l=!1}){let r=(0,be.useRef)(null),o=(0,be.useRef)(e),u=(0,be.useRef)(n),c=(0,be.useRef)(!1),[s,f]=(0,be.useState)(!1),[d,m]=(0,be.useState)(!1),[v,A]=(0,be.useState)(!1),b=t||n,h=l&&b.replace(/<[^>]*>/g,"").trim().length>240,g=!!a,{save:p,synchronise:y}=z0(a);(0,be.useLayoutEffect)(()=>{let w=o.current!==e,D=u.current!==n;w&&(c.current=!1);let k=!t&&D&&!c.current;r.current&&(w||document.activeElement!==r.current||k)&&(r.current.innerHTML!==b&&(r.current.innerHTML=b),y(b)),o.current=e,u.current=n},[b,e,n,t,y]),(0,be.useLayoutEffect)(()=>{m(!1)},[e]),(0,be.useLayoutEffect)(()=>{if(!h||!r.current){A(!1);return}let w=r.current,D=()=>{A(w.scrollHeight>w.clientHeight+1)};if(D(),typeof ResizeObserver>"u")return;let k=new ResizeObserver(D);return k.observe(w),()=>k.disconnect()},[b,e,d,h]);let C=(w,D=null)=>{if(c.current=!0,document.execCommand(w,!1,D||void 0),r.current){let k=r.current.innerHTML;p(k,k===n?"":k,!0)}},R=(w=!1)=>{if(!r.current)return;let D=r.current.innerHTML;p(D,D===n?"":D,w)};return(0,E.jsxs)("div",{style:{position:"relative",maxWidth:"42rem",margin:"0 auto 0.5rem auto",padding:"0.25rem 0.5rem"},className:`tg-df-author-bio-shell${l?" tg-df-author-bio-shell--stable":""}`,children:[g&&s&&(0,E.jsxs)("div",{role:"toolbar","aria-label":"Introduction text formatting",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"0.375rem",marginBottom:"0.5rem",padding:"0.25rem 0.625rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",width:"fit-content",margin:"0 auto 0.5rem auto",fontSize:"12px",userSelect:"none",zIndex:10},children:[(0,E.jsx)("span",{style:{fontSize:"11px",color:"#64748b",fontWeight:500,marginRight:"2px"},children:"Editing \u2014 saves when you click away"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("bold"),style:{fontWeight:"bold",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("italic"),style:{fontStyle:"italic",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Italic",children:"I"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>{let w=prompt("Enter URL:");w&&C("createLink",w)},style:{padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Add Link",children:"\u{1F517}"}),t&&(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:w=>{w.preventDefault(),w.stopPropagation(),r.current&&(r.current.innerHTML=n),c.current=!1,y(n),a&&a("")},style:{fontSize:"10px",padding:"2px 8px",borderRadius:"4px",background:"#fee2e2",color:"#991b1b",cursor:"pointer",border:"1px solid #fca5a5"},title:"Reset Bio",children:"Reset"})]}),(0,E.jsx)("div",{ref:r,contentEditable:g?!0:void 0,suppressContentEditableWarning:g,onFocus:g?()=>{f(!0)}:void 0,onBlur:g?()=>{f(!1),R(!0),c.current=!1}:void 0,onInput:g?()=>{c.current=!0}:void 0,className:`tg-df-author-bio ${g?"wysiwyg-bio-editable":"tg-df-author-bio--static"}${h?d?" tg-df-author-bio--expanded":" tg-df-author-bio--clamped":""}`,style:{color:"#4b5563",lineHeight:1.6,fontWeight:300,fontSize:"0.9375rem",textAlign:"center",outline:g&&s?"2px solid #3b82f6":"none",borderRadius:"6px",padding:"0.375rem 0.5rem",cursor:g?"text":"default",transition:"all 0.15s ease-in-out"}}),h?(0,E.jsx)("div",{className:"tg-df-author-bio-toggle-slot",children:(0,E.jsx)("button",{type:"button",className:"tg-df-author-bio-toggle","aria-expanded":d,onClick:()=>m(w=>!w),style:{visibility:v||d?"visible":"hidden"},children:d?"Show less":"Read more"})}):null]})}function r2(e){let t=(e||"").toLowerCase();return t==="linkedin"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"})}):t==="twitter"||t==="x"?(0,E.jsx)("svg",{className:"icon-svg",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,E.jsx)("path",{fill:"currentColor",d:"M18 2h4l-8 9 9 11h-7l-5-7-6 7H2l7-9L1 2h7l5 6zm-1 18h2L7 4H5z"})}):t==="email"||t==="mail"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),(0,E.jsx)("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}):t==="instagram"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"5",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"12",cy:"12",r:"4.25",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"17.4",cy:"6.7",r:"1.25",fill:"currentColor"})]}):t==="steam"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("circle",{fill:"#0f1618",cx:"12",cy:"12",r:"12"}),(0,E.jsx)("path",{d:"m18.22 8.9a2.269 2.269 0 1 1 -2.27-2.265 2.267 2.267 0 0 1 2.27 2.265zm2.258.005a4.534 4.534 0 0 1 -4.533 4.526h-.1l-4.087 2.911v.161a3.4 3.4 0 0 1 -6.74.669l-4.549-1.879c-.032-.109-.057-.219-.085-.329a11.973 11.973 0 0 1 -.384-2.964c0-.214.02-.423.032-.635 0-.1.008-.206.016-.308l6.394 2.643a3.385 3.385 0 0 1 1.915-.591c.065 0 .127 0 .191.005l2.865-4.145v-.062a4.533 4.533 0 0 1 9.066 0zm-9.763 6.618a2.55 2.55 0 0 0 -3.262-1.411l1.525.63a1.877 1.877 0 1 1 -1.446 3.464l-1.475-.606a2.529 2.529 0 0 0 1.315 1.25 2.559 2.559 0 0 0 3.339-1.374 2.526 2.526 0 0 0 .004-1.951zm8.251-6.618a3.021 3.021 0 1 0 -3.021 3.015 3.022 3.022 0 0 0 3.021-3.013z",fill:"#fff"})]}):t==="youtube"?(0,E.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})}):t==="twitch"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"m24 12a12 12 0 1 1 -12-12 12 12 0 0 1 12 12z",fill:"#111"}),(0,E.jsx)("path",{d:"m12.308 17.167-1.833 1.833h-1.818v-1.833h-3.357v-9.733l.925-2.434h12.475v8.517l-3.648 3.65zm5.175-10.95h-10.043v8.824h2.743v1.833l1.817-1.833h3.342l2.14-2.126zm-5.483 6.083v-3.65h-1.218v3.65zm3.342 0v-3.65h-1.216v3.65z",fill:"#fff"})]}):t==="facebook"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m13.079 19h-2.9v-7h-1.441v-2.408h1.442v-1.456c0-1.96.813-3.136 3.136-3.136h1.933v2.408h-1.2c-.91 0-.965.35-.965.966v1.218h2.183l-.257 2.408h-1.931z",fill:"currentColor"})}):t==="pinterest"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.336 5c-3.822 0-5.754 2.744-5.754 5.025a3.065 3.065 0 0 0 1.652 3.066.279.279 0 0 0 .407-.2l.154-.644a.373.373 0 0 0-.113-.448 2.341 2.341 0 0 1-.532-1.582 3.812 3.812 0 0 1 3.961-3.849 3.009 3.009 0 0 1 3.346 3.08c0 2.323-1.022 4.283-2.547 4.283a1.253 1.253 0 0 1-1.273-1.554 17.616 17.616 0 0 0 .713-2.856 1.081 1.081 0 0 0-1.092-1.2c-.854 0-1.553.881-1.553 2.071a2.954 2.954 0 0 0 .266 1.274l-1.038 4.383a9.389 9.389 0 0 0-.027 3.065.109.109 0 0 0 .2.042 8.737 8.737 0 0 0 1.457-2.631l.561-2.212a2.3 2.3 0 0 0 1.959 1.008c2.59 0 4.34-2.366 4.34-5.516a4.8 4.8 0 0 0-5.087-4.605z",fill:"currentColor"})}):t==="substack"?(0,E.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z"})}):t==="threads"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12.186 24h-.007c-3.582-.024-6.332-1.22-8.173-3.555C2.26 18.212 1.5 15.228 1.5 11.83 1.5 8.16 2.673 5.097 4.902 2.935 7.026.877 10.02 0 13.565 0c3.784 0 6.81 1.028 8.995 3.056 2.008 1.862 3.013 4.417 2.91 7.391-.122 3.518-1.57 6.136-4.304 7.781-1.892 1.138-4.103 1.62-6.57 1.433-.122.392-.266.769-.434 1.127-.514 1.096-1.18 1.96-1.982 2.569-.884.67-1.933 1.01-3.118 1.01-1.34 0-2.42-.42-3.21-1.248-.78-.82-1.17-1.89-1.17-3.18 0-1.512.52-2.73 1.545-3.62 1.018-.883 2.45-1.33 4.258-1.33.56 0 1.11.04 1.63.12-.04-.53-.13-1.02-.27-1.46-.26-.81-.71-1.45-1.34-1.92-.62-.47-1.42-.71-2.38-.71-1.09 0-2.02.29-2.77.87-.29.22-.68.17-.9-.12l-.76-1.03c-.22-.3-.16-.71.13-.93C7.43 5.37 8.95 4.9 10.8 4.9c1.64 0 2.99.41 4.02 1.22 1.04.81 1.73 1.93 2.06 3.33.15.65.25 1.42.3 2.31 1.68-.31 3.05-1.05 4.08-2.2 1.01-1.13 1.52-2.58 1.52-4.31 0-2.43-.84-4.32-2.5-5.62C18.63 1.32 16.32.5 13.56.5c-3.03 0-5.54.73-7.27 2.21C4.48 4.27 3.5 6.78 3.5 10c0 3.1.66 5.62 1.96 7.49 1.34 1.93 3.38 2.92 6.07 2.95 1.76.02 3.32-.34 4.64-1.07.28-.15.63-.05.78.22l.55.98c.15.28.05.63-.22.78-1.63.9-3.55 1.35-5.7 1.35z"})}):t==="tiktok"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.308 5.012c.763-.012 1.522 0 2.281-.012a3.636 3.636 0 0 0 1.02 2.434 4.12 4.12 0 0 0 2.473 1.043v2.349a6.177 6.177 0 0 1-2.449-.564 7.207 7.207 0 0 1-.947-.543c0 1.705.008 3.406-.01 5.105a4.442 4.442 0 0 1-.789 2.3 4.343 4.343 0 0 1-3.448 1.872 4.254 4.254 0 0 1-2.379-.6 4.393 4.393 0 0 1-2.127-3.331c-.014-.292-.019-.584-.007-.868a4.395 4.395 0 0 1 5.091-3.9c.013.864-.021 1.727-.021 2.591a2.007 2.007 0 0 0-2.558 1.237 2.316 2.316 0 0 0-.079.939 1.992 1.992 0 0 0 3.658.736 1.39 1.39 0 0 0 .239-.62c.057-1.043.034-2.082.041-3.126.006-2.351-.007-4.7.011-7.041z",fill:"currentColor"})}):t==="bluesky"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.879.139 2.588-.02 3.868.002 5.03c.08 4.201 1.84 10.024 3.931 12.397 2.091 2.373 4.545 1.573 5.467.927.817-.573 1.564-1.611 2.6-2.92 1.036 1.309 1.783 2.347 2.6 2.92.922.646 3.376 1.446 5.467-.927 2.091-2.373 3.851-8.196 3.931-12.397.022-1.162-.137-2.442-.9-3.151-.659-.613-1.664-.935-4.3-1.074C16.046 4.747 13.087 8.686 12 10.8z"})}):t==="github"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})}):t==="rss"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M4 11a9 9 0 0 1 9 9"}),(0,E.jsx)("path",{d:"M4 4a16 16 0 0 1 16 16"}),(0,E.jsx)("circle",{cx:"5",cy:"19",r:"1"})]}):(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,E.jsx)("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),(0,E.jsx)("path",{d:"M2 12h20"})]})}function U0({authorCount:e=0,authorArticlesList:t,authorBioLength:n,customBio:a,customHeaderKicker:l,customHeaderTitle:i,effectiveAuthorHandle:r,effectiveAuthorName:o,isReviewWidget:u=!1,onBioChange:c,onHeaderKickerChange:s,onHeaderTitleChange:f,selectedProfile:d,showAuthorBio:m=!0,showAuthorIdentity:v=!0,showSocialButtons:A=!0,stabilizeBio:b=!1,totalDealCount:h=0,website:g}){let p=Vu(r,o),y=g||"tomsguide",C=Gu[y]||y,R=Nr[y],T=r?.toLowerCase(),M=o?.toLowerCase(),w=t.find(Be=>T&&Be.articleauthorhandle?.some(Je=>Je?.toLowerCase()===T)||M&&Be.articleauthor?.some(Je=>Je?.toLowerCase()===M))||null,D=w?sf(w,r,o):0,k=d?.image||(w?c0(w,D):""),se=d?n==="short"?d.bioShort||"":d.bioLong||d.bioShort||"":w?_r(w,D,n):"",I=p?`Our team is dedicated to researching, reviewing and recommending the latest and best products in all the categories that matter to you. Below you can shop the latest ${h} ${u?"review ":""}recommendations from ${e} ${C} ${u?"editor tests":"editors"}.`:se||`Handpicked deals and recommendations curated by ${o||"our expert editorial team"}.`,j=d?.role||"",He=p?y0[y]||[]:d?.socialNetworks||[];!p&&w&&(j||(j=u0(w,D)),He.length===0&&(He=Uu(w,D)));let ze=d?.fullName||o||"Author Name",St=p?`site:${y}`:`author:${d?.handle||r||ze}`,Ie=A&&He.length>0,rn=!p&&!!j||Ie;return(0,E.jsxs)("div",{className:"tg-df-author-card",style:{textAlign:"center",padding:"1.75rem 1rem 0.25rem 1rem",margin:"0 auto",maxWidth:"48rem"},children:[v&&(p?(0,E.jsx)("div",{className:"tg-df-author-media-slot tg-df-author-image-container",style:{margin:"0 auto 0.75rem auto",textAlign:"center",minHeight:"180px",display:"flex",alignItems:"center",justifyContent:"center"},children:R?(0,E.jsx)("img",{src:R,alt:C,className:"tg-df-site-logo",style:{maxHeight:"150px",maxWidth:"520px",objectFit:"contain",margin:"0 auto",display:"block"}}):(0,E.jsx)("div",{style:{fontSize:"1.75rem",fontWeight:700,color:"#111827"},children:C})}):(0,E.jsx)("div",{className:"tg-df-author-media-slot",children:(0,E.jsxs)("div",{className:"tg-df-author-profile-image-wrapper",children:[k?(0,E.jsx)("img",{src:ri(k),alt:ze,className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",objectFit:"cover",display:"block"}}):(0,E.jsx)("div",{className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",background:"#e2e8f0",display:"block"}}),R?(0,E.jsx)("img",{src:R,alt:"",className:"tg-df-author-profile-brand-logo"}):null]})})),v&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(H0,{contentKey:`${St}:kicker`,defaultText:u?"Reviews shop by":"Shop by",kind:"kicker",onChange:s,value:l}),(0,E.jsx)(H0,{contentKey:`${St}:title`,defaultText:p?C:ze,kind:"title",onChange:f,value:i}),rn&&(0,E.jsxs)("div",{className:`tg-df-author-meta-slot${p?" tg-df-author-meta-slot--site":""}${Ie?"":" tg-df-author-meta-slot--no-social"}`,children:[!p&&j?(0,E.jsx)("div",{className:"tg-df-author-role",id:"tg-df-author-role-display",style:{fontSize:"0.9375rem",fontWeight:500,color:"var(--tg-df-blue, #1F69FF)",margin:"0 0 0.5rem 0",lineHeight:1.3},children:j}):null,Ie?(0,E.jsx)("div",{className:"tg-df-author-social-links",children:He.map(Be=>(0,E.jsx)("a",{href:Be.href,target:"_blank",rel:"noopener noreferrer",title:Be.label,"aria-label":Be.label,className:"tg-df-author-social-btn","data-social-key":Be.key.toLowerCase(),children:r2(Be.key)},Be.key))}):null]})]}),m&&(0,E.jsx)(i2,{contentKey:St,initialBio:a,defaultPlaceholder:I,onBioChange:c,stabilizeHeight:b})]})}var te=B(O(),1);function df(e){if(!e||typeof e!="object")return"";if(e.type==="voucher_code"&&e.display_value)return e.display_value;let t=Array.isArray(e)?e:Object.keys(e).filter(n=>Object.prototype.hasOwnProperty.call(e,n)).map(n=>e[n]);for(let n of t){let a=df(n);if(a)return a}return""}function o2({endTime:e}){if(!e)return null;let t=e;!isNaN(Number(t))&&String(t).length===10&&(t=Number(t)*1e3);let n=new Date(t),a=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"});return(0,te.jsxs)("span",{className:"tg-df-voucher-expiry",children:[(0,te.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginRight:"4px"},children:[(0,te.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,te.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"Expires ",a.format(n)]})}function G0({error:e,loading:t,merchant:n,onClose:a,vouchers:l}){return(0,te.jsx)("div",{className:`tg-df-modal-backdrop ${n?"active":""}`,onClick:i=>{i.target===i.currentTarget&&a()},children:(0,te.jsxs)("div",{className:"tg-df-modal",children:[(0,te.jsxs)("div",{className:"tg-df-modal-header",children:[(0,te.jsx)("h3",{className:"tg-df-modal-title",children:n?`${n} Coupons & Deals`:"Available Coupons & Deals"}),(0,te.jsx)("button",{className:"tg-df-modal-close",onClick:a,children:(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,te.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,te.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),(0,te.jsx)("div",{className:"tg-df-modal-body",children:t?(0,te.jsx)("div",{className:"tg-df-message",children:(0,te.jsx)("div",{className:"tg-df-coupon-spinner",style:{width:"24px",height:"24px",borderColor:"#ccc",borderTopColor:"#3b82f6"}})}):e?(0,te.jsx)("div",{className:"tg-df-message",children:"Failed to load vouchers."}):l.length===0?(0,te.jsxs)("div",{className:"tg-df-message",children:["No active vouchers found for ",n,"."]}):l.map((i,r)=>{let o=i.offer?.name||i.offer?.title||i.name||i.title||i.model_name||"Voucher",u=i.offer?.link||i.offer?.url||i.link||i.url||"#",c=i.merchant,s=Array.isArray(c)?c[0]?.logo_url||"":c?.logo_url||"",f=df(i.offer)||df(i)||i.offer?.voucher_code||i.voucher_code||"",d=i.offer?.end_time||i.end_time||"";return(0,te.jsxs)("a",{href:u,target:"_blank",rel:"noopener nofollow",className:"tg-df-voucher-item",children:[s?(0,te.jsx)("img",{src:s,alt:"Logo",className:"tg-df-voucher-logo"}):(0,te.jsx)("div",{className:"tg-df-voucher-logo",style:{background:"#e2e8f0"}}),(0,te.jsxs)("div",{className:"tg-df-voucher-content",children:[(0,te.jsx)("h4",{className:"tg-df-voucher-title",children:o}),(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginTop:"8px"},children:[f&&(0,te.jsxs)("span",{className:"tg-df-voucher-code",title:"Copy to clipboard",onClick:m=>{m.preventDefault(),m.stopPropagation();let v=m.currentTarget;navigator.clipboard.writeText(f).then(()=>{v.classList.add("copied");let A=v.querySelector(".tg-df-voucher-code-text"),b=v.querySelector(".tg-df-voucher-copy-icon"),h=A.innerText,g=b.innerHTML;A.innerText="Copied!",b.innerHTML='<polyline points="20 6 9 17 4 12"><\/polyline>',setTimeout(()=>{v.classList.remove("copied"),A&&(A.innerText=h),b&&(b.innerHTML=g)},2e3)})},children:[(0,te.jsx)("span",{className:"tg-df-voucher-code-text",children:f}),(0,te.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:"6px",flexShrink:0},className:"tg-df-voucher-copy-icon",children:[(0,te.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,te.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})]}),d&&(0,te.jsx)(o2,{endTime:d})]})]})]},r)})})]})})}var N=B(ft(),1);function ci(e){if(!e||!e.articlepage)return[];try{let t=e.articlepage;if(!Array.isArray(t))return typeof t=="string"?JSON.parse(t):t;if(t.length===0)return[];let n=t[0];return typeof n=="string"?JSON.parse(n):Array.isArray(n)?n:n&&typeof n=="object"&&"type"in n?t:n}catch{return[]}}function si(e,t=!1,{includeCollections:n=!0,includeDeals:a=!0}={}){let l=t?e.filter(r=>r.type==="buying-guide"):[];if(l.length>0)return l;let i=e.filter(r=>r.type==="deal"||r.type==="featured-product");return a&&!n&&!t?i.filter(r=>r.type==="deal"):i}function di(e,t){if(!t||t.length===0)return!0;let n=e&&(e.brand||e.retailer)||"";if(!n)return!1;let a=n.replace(/^\d+\.\s*/,"").trim().toLowerCase();return t.some(l=>{let i=l.trim().toLowerCase();return a===i||a.startsWith(`${i} `)||a.includes(i)||i.includes(a)})}function wt(e){return!e||e==="auto"?"US":e}function an(e){return e==="GB"||e==="UK"?"GBP":e==="AU"?"AUD":e==="CA"?"CAD":["DE","FR","IT","ES","NL"].includes(e)?"EUR":"USD"}function P0(e,t){if(e.isBuyingGuideProduct||e.isReviewProduct)return!0;if(t==="unavailable")return!1;let n=String(e.isoCurrency||e.currency||"").trim().toUpperCase();return({$:"USD",A$:"AUD",CA$:"CAD","\xA3":"GBP","\u20AC":"EUR"}[n]||n)===an(t)}function fi(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=a?n.currency||(n.price&&typeof n.price=="object"?n.price.currency:""):l.currency||(typeof l=="string"?l:"")||n.currency||"";!i&&n.variants&&n.variants.length>0&&(i=n.variants[0].currency||"");let r="$",o="USD",u=(i||"").toString().toUpperCase().trim();return u==="GBP"||u==="\xA3"||u.includes("POUND")||u.includes("163")?(r="\xA3",o="GBP"):u==="EUR"||u==="\u20AC"||u.includes("EURO")||u.includes("8364")?(r="\u20AC",o="EUR"):u==="AUD"||u==="A$"?(r="A$",o="AUD"):u==="CAD"||u==="CA$"?(r="CA$",o="CAD"):u==="USD"||u==="$"||u.includes("DOLLAR")||u.includes("36")?(r="$",o="USD"):(o=an(t),o==="GBP"?r="\xA3":o==="AUD"?r="A$":o==="CAD"?r="CA$":o==="EUR"&&(r="\u20AC")),{isoCurr:o,currencyStr:r}}function Ku(e){let t=e.data||{},n=e.type==="featured-product",a=t.price||{},l=0,i=0;return n?(l=typeof a=="number"?a:a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):t.msrp?parseFloat(t.msrp):0):(l=a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):0),{rawPrice:l,rawMsrp:i}}function Sa(e,t){if(!t||t==="all"||e<=0)return!0;if(t==="under50"&&e>=50||t==="over50"&&e<=50||t==="over30"&&e<=30||t==="over500"&&e<=500)return!1;if(t.includes("_")){let[n,a]=t.split("_").map(Number);if(n&&e<n||a&&e>a)return!1}return!0}function Ca(e,t,n){if(!n||n==="0"||n==="all")return!0;let a=parseInt(n);return!(!isNaN(a)&&a>0&&(!t||t<=e||Math.round((1-e/t)*100)<a))}var Zu=[0,50,100,150,200,250,300,350,400,450],ff={parameter:"articleControlTag",value:"type_buying_guide"},u2={includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"}]},c2={pcgamer:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["deals","type_deal","channel_gaming_hardware"]}],buyingGuideScopes:[ff]},homesandgardens:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"sig-product-collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"van-hawk-collection-widget",inventoryKind:"collections"},{parameter:"articleControlTag",value:"shopping",requiredArticleType:"news",inventoryKind:"collections"},{parameter:"articleType",value:"deals",inventoryKind:"deals"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["shopping","type_deal"],inventoryKind:"deals"}],buyingGuideScopes:[{parameter:"articleType",value:"buying guide"},ff]},whowhatwear:{includeAllContent:!0,pageStarts:Zu,scopes:[{}]}};function Wu(e,{includeBuyingGuideProducts:t=!1,includeCollections:n=!0,includeDeals:a=!0}={}){let l=c2[e]||u2;if(l.includeAllContent)return l;let i=l.scopes.filter(r=>r.inventoryKind==="collections"?n:r.inventoryKind==="deals"?a:r.value==="sig-product-collection"?n:a);return t?{...l,scopes:[...i,...l.buyingGuideScopes||[ff]]}:{...l,scopes:i}}function gf(e){if(Array.isArray(e))return e;let t=e.data;return t&&Array.isArray(t)?t:[]}function q0(e){let t=new Set;return e.filter(n=>{let a=n.id||n.articleid||n.url;return!a||t.has(a)?!1:(t.add(a),!0)})}function Zt(e){return typeof e.articletype=="string"?e.articletype.toLowerCase():Array.isArray(e.articletype)&&e.articletype.length>0?e.articletype[0].toLowerCase():""}function Hr(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]/g,"")}function mf(e){return[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]].map(Hr)}function s2(e){return Zt(e)==="review"&&mf(e).some(t=>t.includes("channelgaminghardware"))}function F0(e,t,n){let a=Zt(e),l=mf(e),i=c=>l.some(s=>s.includes(c)),r=a==="news"&&i("shopping")&&i("deal")&&i("typedeal"),o=a==="deals"||r,u=a==="collection"||i("sigproductcollection")||i("vanhawkcollectionwidget")||a==="news"&&i("shopping")&&!r||a==="idea"&&i("shopping")&&(i("sigproductcollection")||i("vanhawkcollectionwidget"));return t&&o||n&&u}function el(e,t=!0,n=!0,a){if(a==="homesandgardens")return F0(e,t,n);let l=Zt(e),i=mf(e),r=l==="deals"||i.some(u=>u.includes("typedeal")),o=i.some(u=>u.includes("sigproductcollection"));return t&&r||n&&o}function j0(e,t,n=!1,a=!1,l=!0,i=!0){if(a&&Zt(e)==="review")return t!=="pcgamer"||s2(e);if(t==="homesandgardens")return Zt(e)==="buying guide"?n:F0(e,i,l);let r=Wu(t,{includeBuyingGuideProducts:n,includeCollections:l,includeDeals:i});if(r.includeAllContent)return i&&l?!0:n||el(e,i,l);let o=Zt(e),u=[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]],c=f=>!f.requiredArticleType||o===f.requiredArticleType.toLowerCase(),s=f=>!f.requiredControlTags||f.requiredControlTags.every(d=>u.some(m=>typeof m=="string"&&Hr(m).includes(Hr(d))));return r.scopes.some(f=>!c(f)||!s(f)?!1:f.parameter==="articleType"?o===f.value.toLowerCase():f.parameter==="articleControlTag"?u.some(d=>typeof d=="string"&&Hr(d).includes(Hr(f.value))):!1)}function hf(e,t){let n=e.map(a=>({...a}));return t.filter(a=>(a.isBuyingGuideProduct||a.isReviewProduct)&&a.brand).forEach(a=>{let l=String(a.brand).trim();if(!l)return;let i=n.find(r=>r.formatted_value.toLowerCase()===l.toLowerCase());i?i.count++:n.push({formatted_value:l,count:1})}),n.sort((a,l)=>l.count-a.count)}function Iu(e,t){let n={};return e.forEach(a=>{if(!a.articlepage)return;let l=ci(a),i=si(l,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});(t.includeDeals===!1||t.includeCollections===!1)&&!i.some(r=>r.type==="buying-guide")&&!el(a,t.includeDeals,t.includeCollections,t.website)||i.forEach(r=>{if(fi(r,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:o,rawMsrp:u}=Ku(r);if(!Sa(o,t.priceRange)||!Ca(o,u,t.discountAmount))return;let c=r.data||{},s=c.brand||c.retailer;if(!s)return;let f=s.replace(/^\d+\.\s*/,"").trim(),d=f.toLowerCase(),m=Object.keys(n).find(v=>v.toLowerCase()===d);m?n[m]++:(f===f.toLowerCase()&&(f=f.replace(/\b\w/g,v=>v.toUpperCase())),n[f]=1)})}),Object.keys(n).map(a=>({formatted_value:a,count:n[a]})).sort((a,l)=>l.count-a.count)}function d2(e){return String(e||"").trim().toLowerCase()}function Ju(e){return(Array.isArray(e)?e:[e]).map(d2).filter(Boolean)}function pf(e){let t=Ju(e.articletype),n=[...Ju(e.articlecontroltag),...Ju(e.articletagtypetaghandle)];return t.includes("deals")||n.some(a=>a.replace(/[\s-]+/g,"_")==="type_deal")}function V0(e){let t=Array.isArray(e)?e[0]:e,n=new Date(String(t||"")).getTime();return Number.isFinite(n)?n:null}function f2(e){for(let t of[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]){let n=V0(t);if(n!==null)return n}return null}function g2(e){for(let t of[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]){let n=V0(t);if(n!==null)return n}return null}function Y0(e){return Ju(e.articletype).includes("review")}function yf(e,t=new Date,n=0){let a=pf(e)?1:Y0(e)?36:n;if(a<=0)return!0;let l=Y0(e)?g2(e):f2(e);if(l===null)return!0;let i=new Date(t);return i.setMonth(i.getMonth()-a),l>=i.getTime()}function tl(e,t,n=0){return e.filter(a=>yf(a,t,n))}var m2=15;function Q0(e){return Array.isArray(e.articlemedia)?e.articlemedia[0]:""}function zr(e){return Array.isArray(e.documenturl)?e.documenturl[0]:e.documenturl||""}function h2(e){return kt(String(e||"").replace(/^\d+\.\s*/,"").trim())}function tt(e){return Array.isArray(e)?e.map(tt).find(Boolean)||"":typeof e=="string"||typeof e=="number"?String(e).trim():""}function vf(e,t=!1){return(t?[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]:[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]).map(tt).find(Boolean)||""}function p2(e,t,n){let a=tt(e).match(/^\s*(\d+)\s*[.)]\s*/)?.[1];return a||[t.rank,t.position,t.number,t.productNumber,t.product_number].map(tt).map(i=>i.match(/^\s*(\d+)\s*$/)?.[1]||"").find(Boolean)||String(n+1)}function y2(e){let t=tt(e);try{t=new URL(t).pathname}catch{}return t=t.split(/[?#]/)[0].split("/").filter(Boolean).at(-1)||"",t.split(/[-_]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function v2(e){return tt(e.documenthandle)||tt(e.document_handle)||zr(e)||tt(e.documentname)||tt(e.documentnametext)}function b2(e,t){if(!t)return"";let n=t.length>m2?"Ranked":t;return`#${e} ${n}`}function A2(e){if(typeof e=="object"&&e)return String(e["data-model-name"]||"");try{return String(JSON.parse(String(e||""))["data-model-name"]||"")}catch{return""}}function w2(e){let t=e.brand||e.productBrand||e.manufacturer||e.maker||"";return typeof t=="string"?kt(t.replace(/^\d+\.\s*/,"").trim()):""}function S2(e){let t=e.price&&typeof e.price=="object"?e.price:{},n=Number(t.salePrice||t.price||e.salePrice||e.current_price||(typeof e.price=="number"?e.price:0)),a=Number(t.wasPrice||t.msrp||e.was_price||e.msrp||0),l=e.url||e.link?.url||e.link?.href||"";return{currency:t.currency||e.currency||"",rawMsrp:Number.isFinite(a)?a:0,rawPrice:Number.isFinite(n)?n:0,url:l}}function bf(e){let t=e?.review||{},n=t.rating??t.starRating??t.score??e?.rating??e?.starRating??e?.score,a=Number(n);if(!Number.isFinite(a)||a<=0)return null;let l=a>5?a/20:a;return Math.min(l,5)}function K0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,imageUrl:i}){let r=t.data||{},o=r.review||{},u=h2(r.title),c=p2(r.title,r,a),s=y2(v2(e)),f=zr(e),d=S2(r),m=!!d.url,v=m?d.url:o.url||f,A=i||Q0(e);return{id:`airedale-buying-guide-${n}-${a}`,url:v,image:A,fallbackImage:A,title:u,brand:w2(r),productName:u,merchant:"",rawPrice:d.rawPrice,rawMsrp:d.rawMsrp,price:d.rawPrice>0?String(d.rawPrice):"",msrp:d.rawMsrp>0?String(d.rawMsrp):"",currency:d.currency,isoCurrency:"",isCheckPrice:d.rawPrice<=0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf(r),description:"",text:"",subtitle:kt(r.subtitle||""),pros:Array.isArray(r.pros)?r.pros:[],cons:Array.isArray(r.cons)?r.cons:[],...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:!1,isBuyingGuideProduct:!0,buyingGuideBadge:b2(c,s),hawkModelName:A2(r.hawk),hasCommerceOffer:m,sourceArticleUrl:f}}function C2(e){return gi(e)||tt(e.documentnametext)||tt(e.documentname)}function $u(e){if(Array.isArray(e))return e.map($u).find(Boolean)||"";if(e&&typeof e=="object"){let n=e,a=tt(n["data-widget-type"]||n.dataWidgetType||n.widgetType).toLowerCase(),l=tt(n["data-model-name"]||n.dataModelName||n.modelName);return a==="review"&&l?l:Object.values(n).map($u).find(Boolean)||""}if(typeof e!="string")return"";let t=[e,e.replace(/\\"/g,'"').replace(/\\u0022/gi,'"')];for(let n of t){try{let l=$u(JSON.parse(n));if(l)return l}catch{}let a=n.match(/["']data-widget-type["']\s*:\s*["']review["'][\s\S]{0,1500}?["']data-model-name["']\s*:\s*["']([^"']+)["']/i);if(a?.[1])return a[1].trim()}return""}function gi(e){let t=tt(e.articlehawkmodels);if(t)return t;for(let n of[e.articlepage,e.articlebodypageblock,e.articlepageblock,e.fepjson,e.articlebodyclean]){let a=$u(n);if(a)return a}return""}function X0(e){return(Array.isArray(e)?e:[e]).map(t=>kt(tt(t))).filter(Boolean)}function Z0({article:e,articleIdentity:t,authorProfile:n}){let a=kt(gi(e)),l=kt(C2(e)),i=zr(e),r=Q0(e),o=kt(tt(e.productverdict));return{id:`airedale-review-${t}`,url:i,image:r,fallbackImage:r,title:l,brand:"",productName:l,merchant:"",rawPrice:0,rawMsrp:0,price:"",msrp:"",currency:"",isoCurrency:"",isCheckPrice:!0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf({rating:e.productrating}),description:o,text:o,...n,documentUrl:i,modifiedDate:vf(e,!0),isFeatured:!1,isReviewProduct:!0,hawkModelName:a||l,hasCommerceOffer:!1,sourceArticleUrl:i,pros:X0(e.productpros),cons:X0(e.productcons)}}function kt(e){return typeof e=="string"?ee(e):e}function W0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,currencyString:i,isoCurrency:r,presentation:o,pricing:u}){let c=t.data||{},{isFeatured:s,externalUrl:f,summaryTitle:d,description:m,imageUrl:v,merchantName:A}=o,{rawPrice:b,rawMsrp:h,savingLabel:g}=u;return{id:`airedale-${n}-${a}`,url:f,image:v,fallbackImage:v,title:kt(d),brand:kt(c.brand||""),productName:kt(c.productName||""),merchant:kt(A),rawPrice:b,rawMsrp:h,price:b>0?b.toString():"",msrp:h>0?h.toString():"",currency:i,isoCurrency:r,isCheckPrice:!b,savingLabel:g,savingType:h>b?"amount":"none",isPrime:!1,starRating:bf(c),description:kt(m),text:kt(c.text||""),...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:s,hasCommerceOffer:!!f}}function I0(e,t){let n=t.data||{},a=t.type==="featured-product",l=n.link||{},i=n.image||{};n.brand&&(n.brand=n.brand.replace(/^\d+\.\s*/,"").trim());let r=a?n.url:l.href||null,o=a?n.name||n.brand:n.productName||l.label||(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),u=a?n.strapline||"":n.text||"";if(!a&&!n.productName&&n.text){let f=n.text.split(/<br\s*\/?>/i);if(f.length>1)o=f[0].replace(/<[^>]+>/g,"").trim(),u=f.slice(1).join(" ").replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();else{let d=n.text.match(/<strong>(.*?)<\/strong>/);d&&(o=d[1].replace(/<[^>]+>/g,"").trim(),o.endsWith(":")&&(o=o.slice(0,-1)))}}let c=a?i.mos:i.src||null;c?.startsWith("//")&&(c=`https:${c}`),u=u.replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").replace(/View Deal$/i,"").trim();let s=n.retailer||"";if(!s&&r)try{s=new URL(r).hostname.replace("www.","").split(".")[0],s=s.charAt(0).toUpperCase()+s.slice(1)}catch{}return s||(s="Retailer"),{isFeatured:a,externalUrl:r,summaryTitle:o,description:u,imageUrl:c,merchantName:s}}function J0(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=0,r=0;a?(i=typeof n.salePrice=="number"&&n.salePrice>0?n.salePrice:typeof n.price=="number"?n.price:0,r=typeof n.salePrice=="number"&&typeof n.price=="number"&&n.price>n.salePrice?n.price:0):(i=l.amount?parseFloat(l.amount):0,r=l.amountWas?parseFloat(l.amountWas):0);let o=0,u="";return i>0&&r>i&&(o=parseFloat((r-i).toFixed(2)),u=`Save ${t}${o}`),{rawPrice:i,rawMsrp:r,savingLabel:u}}function R2(e,t){let n=e.indexOf(t);if(n<1)return"";let a=e[n-1]?.data||{},i=a.slides?.[0]?.image||a.image||a;return i?.src||i?.mos||""}function Ur(e,{activeRegionCode:t,targetIso:n,selectedBrands:a,priceRange:l,discountAmount:i,authorHandle:r,authorName:o,createFallbackIdentity:u=Math.random,includeBuyingGuideProducts:c=!1,includeCollections:s=!0,includeDeals:f=!0,includeReviewProducts:d=!1,website:m}){let v=[],A=new Set;return e.forEach(b=>{if(d&&Zt(b)==="review"){v.push(Z0({article:b,articleIdentity:b.id||u(),authorProfile:Qu(b,r,o)}));return}if(!b.articlepage)return;let h=ci(b),g=si(h,c,{includeCollections:s,includeDeals:f});(f===!1||s===!1)&&!g.some(p=>p.type==="buying-guide")&&!el(b,f,s,m)||g.forEach((p,y)=>{if(p.type==="buying-guide"){v.push(K0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),imageUrl:R2(h,p)}));return}let{isoCurr:C,currencyStr:R}=fi(p,t);if(C!==n)return;let T=p.data||{},M=I0(b,p),{externalUrl:w}=M,D=J0(p,R),{rawPrice:k,rawMsrp:se}=D;if(!(a&&a.length>0&&!di(T,a))&&Sa(k,l)&&Ca(k,se,i)){if(w){if(A.has(w))return;A.add(w)}v.push(W0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),currencyString:R,isoCurrency:C,presentation:M,pricing:D}))}})}),v}function mi(e,t){return Ur(e,{...t,selectedBrands:[],priceRange:"all",discountAmount:"0"})}function $0(e,t){return Ur(e,t)}function Gr(e){return(Array.isArray(e)?e:[e]).filter(n=>typeof n=="string").map(n=>n.trim())}function ec(e){return e?.trim().toLowerCase()==="freeform"}function Af(e){return!!e&&!/[^\p{L}\p{N}\s]/u.test(e)}function wf(e){let t=Gr(e.articletag),n=Gr(e.articletaghandle),a=Gr(e.articletagtype),l=new Map;t.forEach((o,u)=>{let c=n[u];!ec(a[u])||!c||!Af(o)||l.set(c.toLowerCase(),{handle:c,label:o,requestValue:o})});let i=Gr(e.articletagtypetag),r=Gr(e.articletagtypetaghandle);return i.forEach((o,u)=>{let[c,...s]=o.split("|"),[f,...d]=(r[u]||"").split("|"),m=s.join("|").trim(),v=d.join("|").trim();!ec(c)||!ec(f)||!v||!Af(m)||l.has(v.toLowerCase())||l.set(v.toLowerCase(),{handle:v,label:m,requestValue:m})}),r.forEach(o=>{let[u,...c]=o.split("|"),s=c.join("|").trim();!ec(u)||!s||!Af(s)||l.has(s.toLowerCase())||l.set(s.toLowerCase(),{handle:s,label:s})}),[...l.values()]}function ev(e,t){if(t)return e.find(n=>n.handle.toLowerCase()===t.toLowerCase())?.requestValue}function hi(e,t){let n=(Array.isArray(t)?t:[t]).filter(a=>typeof a=="string").map(a=>a.trim().toLowerCase()).filter(Boolean);return n.length===0?e:e.filter(a=>wf(a).some(l=>n.includes(l.handle.toLowerCase())))}function T2(e){let t=new Map;return Array.isArray(e.articlecategory)?(e.articlecategory.forEach(n=>{if(typeof n!="string")return;let a=n.trim();a===a.toLowerCase()&&(a=a.replace(/\b\w/g,l=>l.toUpperCase())),a&&!t.has(a.toLowerCase())&&t.set(a.toLowerCase(),{handle:a,label:a})}),[...t.values()]):[]}function tv(e,t,n){let a={},l={},i={};e.forEach(u=>{let c=[];if(t.includeReviewProducts&&Zt(u)==="review"&&c.push(u.id||u.documenturl||u.documenthandle||""),u.articlepage)try{let s=ci(u),f=si(s,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});if((t.includeDeals===!1||t.includeCollections===!1)&&!f.some(d=>d.type==="buying-guide")&&!el(u,t.includeDeals,t.includeCollections,t.website))return;f.forEach(d=>{if(d.type==="buying-guide"){c.push(d.id||JSON.stringify(d.data||{}));return}if(fi(d,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:m,rawMsrp:v}=Ku(d);if(!Sa(m,t.priceRange)||!Ca(m,v,t.discountAmount))return;let A=d.data||{};if(t.selectedBrands&&t.selectedBrands.length>0&&!di(A,t.selectedBrands))return;let h=d.type==="featured-product"?A.primaryLink:A.link,g=A.url||A.link&&A.link.url||h&&h.url;c.push(g||JSON.stringify(A))})}catch{}c.length!==0&&n(u).forEach(s=>{let f=s.handle.toLowerCase(),d=Object.keys(a).find(m=>m.toLowerCase()===f);d||(d=s.handle,a[d]=new Set,l[d]=s.label,i[d]=s.requestValue),c.forEach(m=>a[d].add(m))})});let r={};return Object.keys(a).forEach(u=>{r[u]=a[u].size}),{tags:Object.keys(r).map(u=>({handle:u,label:l[u]||u,requestValue:i[u]})).sort((u,c)=>r[c.handle]-r[u.handle]),tagCounts:r}}function tc(e,t){let{tags:n,tagCounts:a}=tv(e,t,T2);return{tags:n.map(l=>l.label),tagCounts:a}}function nc(e,t){let{tags:n,tagCounts:a}=tv(e,t,wf);return{tags:n,tagCounts:a}}function E2(e,t){return e.documentUrl||e.sourceArticleUrl||e.articleId||`deal-${t}`}function yn(e,t,n){if(t!=="mix"||n!=="date_desc")return e;let a=new Map;e.forEach((o,u)=>{let c=E2(o,u),s=a.get(c)||[];s.push(o),a.set(c,s)});let l=[],i=0,r=!0;for(;r;)r=!1,a.forEach(o=>{let u=o[i];u&&(l.push(u),r=!0)}),i+=1;return l}var nv="compact-v1",D2={brand:"",currency:"",hasCommerceOffer:!1,isoCurrency:"",isCheckPrice:!0,isFeatured:!1,isPrime:!1,merchant:"",merchantId:"",msrp:"",price:"",rawMsrp:0,rawPrice:0,savingLabel:"",savingType:"none"},x2={hasCommerceOffer:!0,hawkPricePending:!1,rawMsrp:0,rawPrice:0};function av(e){return e.map(t=>{if(!t.isReviewProduct)return t;let n=String(t.sourceArticleUrl||t.documentUrl||t.url||""),a=t.fallbackImage??t.image??"",l={...D2,...t,fallbackImage:a,image:t.image??a,sourceArticleUrl:n,documentUrl:t.documentUrl??n,url:t.url??n,title:t.title??t.productName??"",text:t.text??t.description??"",hawkPricePending:t.hawkPricePending??!!t.hawkModelName,pros:t.pros??[],cons:t.cons??[]};return t.hawkRegionalCommerce&&(l.hawkRegionalCommerce=Object.fromEntries(Object.entries(t.hawkRegionalCommerce).map(([i,r])=>{let o=r,u=o.productName??l.productName,c=o.rawPrice??0,s=o.rawMsrp??0;return[i,{...x2,...o,fallbackImage:o.fallbackImage??a,image:o.image??a,productName:u,title:o.title??u??l.title,price:o.price??(c?String(c):""),msrp:o.msrp??(s?String(s):"")}]}))),l})}function ac(e,t,n=100){let a=new Set(e.slice(0,t).map((i,r)=>i.id||`visible-${r}`)),l=e.slice(0,t).filter(i=>i.isReviewProduct).length;return e.filter((i,r)=>{let o=i.id||`visible-${r}`;return a.has(o)?!0:i.isReviewProduct?(l+=1,l<=n):!1})}function lv(e,t){let n=new Map(t.map((a,l)=>[a.id||`enriched-${l}`,a]));return e.map((a,l)=>n.get(a.id||`enriched-${l}`)||a)}var M2=new Set(["deal","featured-product","gallery","buying-guide","text","section"]);function lc(e){return!!e&&typeof e=="object"}function iv(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function rv(e){try{let t=iv(e);if(!Array.isArray(t)||!t[0])return;let n=t[0],a=typeof n=="string"?iv(n):Array.isArray(n)?n:lc(n)&&"type"in n?t:n;if(!Array.isArray(a))return;let l=a.filter(i=>lc(i)&&M2.has(i.type)).map(i=>i.type==="text"&&i.data?{type:"text",data:{paragraphs:Array.isArray(i.data.paragraphs)?i.data.paragraphs.slice(0,3):void 0,text:typeof i.data.text=="string"?i.data.text.slice(0,500):void 0}}:i.type==="section"&&i.data?{type:"section",data:{text:i.data.text,heading:i.data.heading,title:i.data.title}}:i);return l.length>0?[JSON.stringify(l)]:void 0}catch{return}}function ov(e){if(!Array.isArray(e))return[];let t=!1;return e.map(n=>{if(!lc(n))return n;let a=n.articlepage?rv(n.articlepage):void 0,l=!!(n.articleauthormedia||n.articleauthorrole),i=!!(!t&&(n.articleauthorbio||n.articleauthorlongbio||n.articleauthorsocialnetworks));return i&&(t=!0),{id:n.id,articlename:n.articlename,documentname:n.documentname,documentnametext:n.documentnametext,documenthandle:n.documenthandle,articlecategory:n.articlecategory,articletag:n.articletag,articletaghandle:n.articletaghandle,articletagtype:n.articletagtype,articletagtypetag:n.articletagtypetag,articletagtypetaghandle:n.articletagtypetaghandle,articlecontroltag:n.articlecontroltag,articletype:n.articletype,articleauthor:n.articleauthor,articleauthorhandle:n.articleauthorhandle,articleauthortext:n.articleauthortext,...l?{articleauthorrole:n.articleauthorrole,articleauthormedia:n.articleauthormedia}:{},articlestrapline:n.articlestrapline,articlesocialtitle:n.articlesocialtitle,documenturl:n.documenturl,articlemedia:n.articlemedia,articlehawkmodels:n.articlehawkmodels,productrating:n.productrating,productpros:n.productpros,productcons:n.productcons,productverdict:n.productverdict,contentmodifieddate:n.contentmodifieddate,modifieddate:n.modifieddate,createddate:n.createddate,datepublished:n.datepublished,publisheddate:n.publisheddate,...i?{articleauthorbio:n.articleauthorbio,articleauthorlongbio:n.articleauthorlongbio,articleauthorsocialnetworks:n.articleauthorsocialnetworks}:{},...a?{articlepage:a}:{}}})}function uv(e){return Array.isArray(e)?e.map(t=>{if(!lc(t))return t;let n=t.articlepage?rv(t.articlepage):void 0;return{id:t.id,articleid:t.articleid,articlename:t.articlename,documentname:t.documentname,documentnametext:t.documentnametext,documenthandle:t.documenthandle,articleauthor:t.articleauthor,articleauthorhandle:t.articleauthorhandle,articleauthortext:t.articleauthortext,articleauthorrole:t.articleauthorrole,articleauthormedia:t.articleauthormedia,articleauthorbio:t.articleauthorbio,articleauthorlongbio:t.articleauthorlongbio,articleauthorsocialnetworks:t.articleauthorsocialnetworks,articlecategory:t.articlecategory,articletag:t.articletag,articletaghandle:t.articletaghandle,articletagtype:t.articletagtype,articletagtypetag:t.articletagtypetag,articletagtypetaghandle:t.articletagtypetaghandle,articletype:t.articletype,articlestrapline:t.articlestrapline,articlesocialtitle:t.articlesocialtitle,documenturl:t.documenturl,articlemedia:t.articlemedia,articlehawkmodels:t.articlehawkmodels,productrating:t.productrating,productpros:t.productpros,productcons:t.productcons,productverdict:t.productverdict,url:t.url,contentmodifieddate:t.contentmodifieddate,modifieddate:t.modifieddate,createddate:t.createddate,datepublished:t.datepublished,publisheddate:t.publisheddate,content:t.content,dek:t.dek,image_thumbnail:t.image_thumbnail,intro:t.intro,paragraphs:t.paragraphs,strapline:t.strapline,subtitle:t.subtitle,title:t.title,...n?{articlepage:n}:{}}}):[]}function pi(e){if(!e?.modifiedDate)return 0;let t=Array.isArray(e.modifiedDate)?e.modifiedDate[0]:e.modifiedDate,n=new Date(t).getTime();return Number.isNaN(n)?0:n}function nl(e){return e?.hasCommerceOffer===!0?!0:e?.hasCommerceOffer===!1?!1:!!(!e?.isBuyingGuideProduct&&!e?.isReviewProduct&&e?.url)}function ln(e,t,n=!0){let a=!0;t==="date_desc"?e.sort((l,i)=>pi(i)-pi(l)):t==="price_asc"?e.sort((l,i)=>l.rawPrice-i.rawPrice):t==="price_desc"?e.sort((l,i)=>i.rawPrice-l.rawPrice):t==="discount_desc"?e.sort((l,i)=>{let r=l.rawMsrp>l.rawPrice?l.rawMsrp-l.rawPrice:0;return(i.rawMsrp>i.rawPrice?i.rawMsrp-i.rawPrice:0)-r}):t==="rating_desc"?e.sort((l,i)=>{let r=Number(l.starRating)||0;return(Number(i.starRating)||0)-r||pi(i)-pi(l)}):t==="scored_first"?e.sort((l,i)=>{let r=Number(l.starRating)>0?1:0;return(Number(i.starRating)>0?1:0)-r||pi(i)-pi(l)}):a=!1,a&&n&&e.sort((l,i)=>Number(nl(i))-Number(nl(l)))}function cv(e,t,n){let a=e;if(!a&&t){let l=n.find(i=>i.toLowerCase()===t?.toLowerCase());l&&(a=l)}return a}function Pr(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(a=>a.articlecategory&&Array.isArray(a.articlecategory)&&a.articlecategory.some(l=>{if(!l||typeof l!="string")return!1;let i=l.toLowerCase(),r=i.split(":::");return i===n||r[0]===n||i.includes(n)}))}function sv(e){let t=wt(e.region);return{activeRegionCode:t,targetIso:an(t)}}function al(e,t,{discountAmount:n,priceRange:a}={}){let l=!!(a&&a!=="all"),i=!!(n&&n!=="0"&&n!=="all");return!t?.length&&!l&&!i?e:e.filter(r=>!r.isBuyingGuideProduct&&!r.isReviewProduct?!0:t?.length&&!di({brand:r.brand},t)||l&&(!Number(r.rawPrice)||!Sa(Number(r.rawPrice),a))?!1:Ca(Number(r.rawPrice)||0,Number(r.rawMsrp)||0,n))}function _2(e,t){let n=e.articleauthorhandle||[],a=e.articleauthor||[],l=e.articleauthortext||[],i=new Set([t.handle.toLowerCase(),t.fullName.toLowerCase(),t.name.toLowerCase()]);return[...n,...a,...l].some(r=>i.has(String(r||"").toLowerCase()))}function Sf(e,t,n){let a=Object.fromEntries(e.map(l=>[l.handle,0]));return t.forEach(l=>{let i=mi([l],n).length;i!==0&&e.forEach(r=>{_2(l,r)&&(a[r.handle]+=i)})}),a}function Cf(e,t){let n=Xu(e,t.authorHandle,t.authorName),a=t.selectedArticleId?n.filter(A=>A.id===t.selectedArticleId):n,{activeRegionCode:l,targetIso:i}=sv(t),{tags:r,tagCounts:o}=tc(a,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),u=cv(t.activeDealTag,t.query,r),c=Pr(a,u),{tags:s,tagCounts:f}=nc(c,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),d=t.activeFreeformTags?.length?t.activeFreeformTags:t.activeFreeformTag?[t.activeFreeformTag]:[],m=d.flatMap(A=>{let b=s.find(h=>h.handle.toLowerCase()===A.toLowerCase());return b?[b.handle]:[]}),v=t.preserveFreeformTagSelection?d:m;return{activeDealTag:u,activeFreeformTag:v[0]||null,activeFreeformTags:v,activeRegionCode:l,authorArticles:n,freeformTagCounts:f,freeformTags:s,tagCounts:o,tags:r,targetArticles:hi(c,v),targetIso:i}}function ic(e,t,n,a){let l=Iu(e,{activeRegionCode:n,targetIso:a,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),i=Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(i,t.sort,t.prioritiseCommercialProducts);let r=yn(al(i,t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange}),t.productSelection,t.sort).map(o=>(o.isBuyingGuideProduct||o.isReviewProduct)&&o.hawkModelName?{...o,hawkPricePending:!0}:o);return{brands:l,displayedDeals:r,extractedDeals:i}}function dv(e,t){let{activeRegionCode:n,targetIso:a}=sv(t),l=Lr(e,t.website||"tomsguide"),i=e.filter(o=>mi([o],{activeRegionCode:n,targetIso:a,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}).length>0),r=al(Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange});return{authorCount:kr(l,i).length,deals:r}}function fv({allArticles:e,authorArticles:t,inventoryArticles:n,bakeReviewInventory:a,brands:l,couponMap:i,currentDealTag:r,currentFreeformTags:o,displayedDeals:u,options:c,resultCount:s,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}){let h=Lr(e,c.website||"tomsguide"),g=Sf(h,n,{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),selectedBrands:c.selectedBrands,priceRange:c.priceRange,discountAmount:c.discountAmount,includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}),p=kr(h,e.filter(C=>mi([C],{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}).length>0)),y=Number(s)||12;return{activeDealTag:r,activeFreeformTag:o[0]||null,activeFreeformTags:o,allDeals:a?ac(u,y):u,authorArticles:ov(t),authors:Yu(p,g),brands:l,couponMap:i,deals:u.slice(0,y),reviewInventoryBaked:a,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}}function B2(e){return e&&e.widget&&e.widget.data&&Array.isArray(e.widget.data.offers)?e.widget.data.offers:e&&e.data&&Array.isArray(e.data.offers)?e.data.offers:Array.isArray(e)?e:e&&Array.isArray(e.offers)?e.offers:e&&e.offers&&Array.isArray(e.offers.offer)?e.offers.offer:e&&Array.isArray(e.data)?e.data:[]}function gv(e,t,n){let a={...n},l=new Set;return B2(e).forEach(r=>{let o="";r.merchant_name?o=r.merchant_name:r.merchant&&r.merchant[0]&&r.merchant[0].name?o=r.merchant[0].name:r.merchant&&r.merchant.name?o=r.merchant.name:r.retailer&&(o=r.retailer),o&&l.add(o.toLowerCase())}),t.forEach(r=>{a[r]=l.has(r.toLowerCase())?"has":"none"}),a}function mv(e){let t=[];return e?.widget?.data?.offers?t=e.widget.data.offers:e?.data?.offers?t=e.data.offers:Array.isArray(e)?t=e:e?.offers?.offer?t=Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers&&(t=Array.isArray(e.offers)?e.offers:[e.offers]),t}async function hv({couponMap:e,couponUrl:t,fetcher:n=fetch,merchants:a}){if(!t)return e;try{let l=await n(t.toString());return gv(await l.json(),a,e)}catch{let l={...e};return a.forEach(i=>{l[i]="none"}),l}}function pv({enrichingBuyingGuides:e,error:t,loading:n,loadingMore:a,refreshingFeed:l}){return t?"error":a?"loading_more":n?"loading_inventory":l?"refreshing_inventory":e?"enriching_visible_cards":"ready"}function yv(e,t){let n=Xu(tl(e),t.authorHandle,t.authorName),a=wt(t.region),l=an(a),{tags:i,tagCounts:r}=tc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),o=Iu(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),{tags:u,tagCounts:c}=nc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),s=$0(n,{activeRegionCode:a,targetIso:l,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(s,t.sort,t.prioritiseCommercialProducts);let f=yn(s,t.productSelection,t.sort);return{authorArticles:n,brands:o,deals:f,tagCounts:r,tags:i,freeformTagCounts:c,freeformTags:u}}var N2="fc-author-commerce-widget",vn="airedale-feeds";var rc=null;function vv(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Rf(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function Tf(){return rc||(typeof window>"u"||typeof window.indexedDB>"u"?Promise.resolve(null):(rc=new Promise(e=>{let t=window.indexedDB.open(N2,14);t.onupgradeneeded=()=>{let n=t.result;n.objectStoreNames.contains(vn)||n.createObjectStore(vn,{keyPath:"key"})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),rc))}function bv({authorHandle:e,authorName:t,includeBuyingGuideProducts:n,includeCollections:a,includeDeals:l,includeReviewProducts:i,articleCategory:r,articleTag:o,pageStarts:u,reviewPageStarts:c,loadAllReviewPages:s,website:f}){return["v14",f||"tomsguide",e||"",t||"",n?"buying-guides":"",a===!1?"no-collections":"collections",l===!1?"no-deals":"deals",i?"reviews":"",r||"",o||"",u?.join(",")||"",c?.join(",")||"",s===!1?"review-pages-partial":""].map(d=>encodeURIComponent(d)).join("|")}async function O2(e){let t=await Tf();if(!t)return;let n=t.transaction(vn,"readwrite"),a=Rf(n);n.objectStore(vn).delete(e),await a}async function Av(e,t=Date.now()){try{let n=await Tf();if(!n)return null;let a=n.transaction(vn,"readonly"),l=await vv(a.objectStore(vn).get(e));if(!l||l.schemaVersion!==14||!Array.isArray(l.articles)||l.articles.length===0)return null;let i=Math.max(0,t-l.cachedAt);return i>864e5?(O2(e),null):{articles:l.articles,cachedAt:l.cachedAt,isFresh:i<=6e5}}catch{return null}}async function k2(e){let t=e.transaction(vn,"readwrite"),n=Rf(t),a=t.objectStore(vn);(await vv(a.getAll())).sort((i,r)=>r.cachedAt-i.cachedAt).slice(10).forEach(i=>a.delete(i.key)),await n}async function wv(e,t,n=Date.now()){if(t.length!==0)try{let a=await Tf();if(!a)return;let l=a.transaction(vn,"readwrite"),i=Rf(l);l.objectStore(vn).put({articles:t,cachedAt:n,key:e,schemaVersion:14}),await i,await k2(a)}catch{}}var Ef=[];var Mf=[],Df=0;function Sv(){for(;Df<4&&Mf.length>0;){let e=Mf.shift();if(!e)return;Df+=1,e.run().then(e.resolve,e.reject).finally(()=>{Df-=1,Sv()})}}function L2(e){return new Promise((t,n)=>{Mf.push({reject:n,resolve:t,run:e}),Sv()})}function xf(e){Ef.push(e),Ef.length>100&&Ef.shift()}async function oc(e,t,n=4){let a=new Array(e.length),l=0,i=Math.min(Math.max(1,n),e.length);return await Promise.all(Array.from({length:i},async()=>{for(;l<e.length;){let r=l;l+=1,a[r]=await t(e[r],r)}})),a}async function yi(e,t){return L2(async()=>{let n=t.fetcher||fetch,a=Date.now(),l=new AbortController,i=!1,r=()=>l.abort();if(t.signal?.aborted)return xf({durationMs:0,outcome:"aborted",source:t.source,startedAt:a}),{data:null,response:null};t.signal?.addEventListener("abort",r,{once:!0});let o=setTimeout(()=>{i=!0,l.abort()},8e3);try{let u=await n(e,{signal:l.signal}),c=u.ok?await u.json():null;return xf({durationMs:Date.now()-a,outcome:u.ok?"succeeded":"failed",source:t.source,startedAt:a}),{data:c,response:u}}catch{return xf({durationMs:Date.now()-a,outcome:i?"timed_out":t.signal?.aborted?"aborted":"failed",source:t.source,startedAt:a}),{data:null,response:null}}finally{clearTimeout(o),t.signal?.removeEventListener("abort",r)}})}var Bf="https://airedale.futurecdn.net/feeds/feed_1786707986217.json",H2="https://airedale.futurecdn.net/feeds/feed_1786702796175.json",z2="https://airedale.futurecdn.net/feeds/feed_1787582137748.json",U2=2,_f=new Map,Cv=new Map;function Rv(e){let t=new URL(e),n=String(t.searchParams.get("articleType")||"").trim().toLowerCase(),a=String(t.searchParams.get("articleControlTag")||"").replace(/[\s-]+/g,"_").toLowerCase();return n!=="deals"&&a!=="type_deal"?null:(t.searchParams.delete("start"),t.toString())}function G2(e){return!e.response?.ok||e.articles.length<50?!1:!e.articles.some(t=>pf(t)&&!yf(t))}function P2(e){return!e.parameter||!e.value?"":`&${e.parameter}=${encodeURIComponent(e.value)}`}function q2(e,t="",n=!1,a,l,{includeCollections:i=!0,includeDeals:r=!0}={},o){let u=Wu(e,{includeBuyingGuideProducts:n,includeCollections:i,includeDeals:r}),c=a?`&articleCategory=${encodeURIComponent(a)}`:"",s=o?`&articleTag=${encodeURIComponent(o)}`:"";return u.scopes.flatMap(f=>(l||u.pageStarts).map(d=>`${Bf}?site=${e}&limit=${50}&start=${d}${P2(f)}${t}${c}${s}`))}function Tv(e,t="",n,a=0,l){let i=e==="pcgamer"?"&articleControlTag=channel_gaming_hardware":"",r=n?`&articleCategory=${encodeURIComponent(n)}`:"",o=l?`&articleTag=${encodeURIComponent(l)}`:"";return`${H2}?site=${encodeURIComponent(e)}&articleType=review&limit=${50}&start=${a}${i}${t}${r}${o}`}function F2(e,t){return t!=="pcgamer"?e:e.map(n=>{let a=Array.isArray(n.articlecontroltag)?n.articlecontroltag:[];return a.some(l=>String(l).replace(/[^a-z0-9]/gi,"").toLowerCase()==="channelgaminghardware")?n:{...n,articlecontroltag:[...a,"channel_gaming_hardware"]}})}function j2(e,t){return`${z2}?site=${encodeURIComponent(e)}&documentHandle=${encodeURIComponent(t)}&limit=1`}async function Y2(e,t){let n=`${e}|${t}`,a=Cv.get(n);if(a)return a;let l=yi(j2(e,t),{source:"review-model-resolver"}).then(({data:i})=>i?gf(i)[0]:null).then(i=>i?gi(i):"").catch(()=>"");return Cv.set(n,l),l}async function Nf(e,t,n,a="date_desc"){let l=o=>{let u=[o.datepublished,o.publisheddate,o.createddate,o.contentmodifieddate,o.modifieddate].find(s=>s!=null&&String(s).trim()),c=new Date(Array.isArray(u)?u[0]:u).getTime();return Number.isFinite(c)?c:0},i=o=>{let u=Array.isArray(o.productrating)?o.productrating[0]:o.productrating;return Number(u)||0},r=e.filter(o=>Zt(o)==="review"&&!gi(o)&&typeof o.documenthandle=="string"&&o.documenthandle.trim()).sort((o,u)=>{let c=i(o),s=i(u);return a==="rating_desc"?s-c||l(u)-l(o):a==="scored_first"&&+(s>0)-+(c>0)||l(u)-l(o)}).slice(0,n);return await Promise.all(r.map(async o=>{let u=await Y2(t,o.documenthandle);u&&(o.articlehawkmodels=[u])})),e}function xv(e,t){let n=()=>{wv(e,uv(t))};if(typeof window<"u"&&typeof window.requestIdleCallback=="function"){window.requestIdleCallback(n,{timeout:2e3});return}setTimeout(n,0)}function V2(e,t){return e&&e!=="all-authors"?`&articleAuthorHandle=${encodeURIComponent(e)}`:t&&t!=="All authors"&&t!=="all-authors"?`&articleAuthor=${encodeURIComponent(t)}`:""}function X2({articleCategory:e,articleTag:t,authorParameter:n}){return!!(n&&!e&&!t)}async function Mv({authorHandle:e,authorName:t,fallbackAuthorName:n,includeBuyingGuideProducts:a,includeCollections:l,includeDeals:i,includeReviewProducts:r,onProgress:o,articleCategory:u,articleTag:c,pageStarts:s,reviewPageStarts:f,loadAllReviewPages:d,signal:m,throwOnFailure:v,website:A}){let b=A||"tomsguide",h=V2(e,t),g=[],p=!1,y=!0,C=w=>j0(w,b,a,r,l,i),R=()=>q0(g).map(w=>{let D=gi(w);return D&&!String(w.articlehawkmodels||"").trim()?{...w,articlehawkmodels:[D]}:w}).filter(C),T=()=>{let w=R();w.length>0&&o?.(w)};try{let w=q2(b,h,a,u,s,{includeCollections:l,includeDeals:i},c),D=[];r&&(f||[0]).forEach(X=>{let de=Tv(b,h,u,X,c);D.push(de),w.push(de)});let k=async(X,de=D.includes(X)?"review-feed":"author-feed")=>{let $e=await yi(X,{signal:m,source:de});for(let jr=0;jr<U2&&!$e.response?.ok&&!m?.aborted;jr+=1)$e=await yi(X,{signal:m,source:de});let{data:Z,response:x}=$e,P=Z?gf(Z):[],Q=b==="pcgamer"&&de.startsWith("review-feed")?F2(P,b):P,Vn={articles:Q,data:Z,isPcGamerHardwareReviewFeed:b==="pcgamer"&&de.startsWith("review-feed"),response:x,reviewTotalCount:D.includes(X)&&Number(x?.headers.get("x-total-count"))||null};return Q.length>0&&g.push(...Q),Vn},se=w.filter(X=>Number(new URL(X).searchParams.get("start")||0)===0),I=w.filter(X=>!se.includes(X)),j=await oc(se,X=>k(X));T();let He=new Map(se.flatMap((X,de)=>{let $e=Rv(X);return $e?[[$e,j[de]]]:[]})),ze=new Map,St=[];I.forEach(X=>{let de=Rv(X);if(!de){St.push(X);return}ze.set(de,[...ze.get(de)||[],X])});let[Ie,rn]=await Promise.all([oc(St,X=>k(X)),Promise.all([...ze.entries()].map(async([X,de])=>{let $e=[],Z=He.get(X);for(let x of de){if(!Z||!G2(Z))break;let P=await k(x);$e.push(P),Z=P}return $e}))]),Be=[...Ie,...rn.flat()],Je=[...j,...Be];p=Je.length>0&&Je.every(X=>!X.response?.ok);let nt=Je.find(X=>X.reviewTotalCount!==null)?.reviewTotalCount;if(d!==!1&&f&&nt&&nt>f.length*50){let X=new Set(f),de=[];for(let Z=0;Z<nt;Z+=50)X.has(Z)||de.push(Z);let $e=await oc(de,async Z=>await k(Tv(b,h,u,Z,c),"review-feed-page"));Je.push(...$e)}y=Je.every(X=>X.response?.ok)}catch(w){y=!1}if(v&&p)throw new Error("The author feed could not be loaded");let M=R();if(M.length===0&&X2({authorParameter:h,articleCategory:u,articleTag:c}))try{let w=await yi(`${Bf}?site=${b}&limit=150${h}`,{signal:m,source:"author-feed-fallback"});if(!w.response?.ok&&n&&(w=await yi(`${Bf}?site=${b}&limit=150&articleAuthor=${encodeURIComponent(n)}`,{signal:m,source:"author-feed-fallback"})),w.data){let D=w.data,k=Array.isArray(D)?D:D.data||[];k.length>0&&(M=k.slice(0,150))}}catch(w){}return{articles:M.filter(C),complete:!m?.aborted&&y}}function Ev(e,t){let n=_f.get(e);if(n)return n;let a=Mv(t).then(l=>(l.complete&&l.articles.length>0&&xv(e,l.articles),l)).finally(()=>{_f.delete(e)});return _f.set(e,a),a}async function Dv(e,t){let n=await Mv(t);return n.complete&&n.articles.length>0&&xv(e,n.articles),n}async function _v({onBackgroundRefresh:e,onProgress:t,...n}){let a=bv(n),l=await Av(a);return l?(t?.(l.articles),l.isFresh||(n.signal?Dv(a,n):Ev(a,n)).then(({articles:o,complete:u})=>{u&&o.length>0&&e?.(o)}),l.articles):(await(n.signal?Dv(a,{...n,onProgress:t}):Ev(a,{...n,onProgress:t}))).articles}function Of(e,t){let n=e.shipping?.prime===!0,a=e.merchant?.name||e.merchant_name||e.retailer||"Retailer";typeof e.merchant=="string"&&(a=e.merchant);let l=null,i=0,r=String(e.model_id||e.id||"");if(r&&t)if(t[r]&&t[r].score!=null)l=parseFloat(t[r].score);else{let o=Object.values(t).find(u=>String(u.model_id)===r||String(u.id)===r);o&&o.score!=null&&(l=parseFloat(o.score))}return l!=null&&(i=Math.round((l>10?l/20:l/2)*2)/2),{isPrime:n,merchant:a,starRating:i>0?i:null}}function kf(e){let t=String(e.price||e.current_price||"0"),n=String(e.was_price||e.msrp||e.original_price||"0"),a=parseFloat(t.replace(/[^0-9.]/g,""))||0,l=parseFloat(n.replace(/[^0-9.]/g,""))||0,i=a===0||t==="0.00"||t==="0",r=e.currency&&typeof e.currency=="string"?e.currency:e.currency_symbol&&typeof e.currency_symbol=="string"?e.currency_symbol:"$",o=ee(e.percentage_saving_label||"");!o&&l>a&&a>0&&(o=Math.round((l-a)/l*100)+"% OFF");let u=r;return u.includes("&")&&(u.includes("36")?u="$":u.includes("163")||u.includes("pound")?u="\xA3":(u.includes("8364")||u.includes("euro"))&&(u="\u20AC")),{rawPrice:a,rawMsrp:l,currency:u,isCheckPrice:i,savingLabel:o}}function Bv({query:e,region:t,retailer:n,selectedBrands:a,offerType:l,priceRange:i,discountAmount:r,resultCount:o}){let u=new URL("https://search-api.fie.future.net.uk/widget.php");if(u.searchParams.append("model_name",e),t&&t!=="auto"&&u.searchParams.append("area",t),n&&u.searchParams.append("filter_merchant_name",n),a&&a.length>0&&u.searchParams.append("filter_label[text_brand]",a.join(",")),l&&u.searchParams.append("offer",l),i&&i!=="all"){if(i==="under50")u.searchParams.append("filter_max_price","50");else if(i==="over50")u.searchParams.append("filter_min_price","50");else if(i==="over30")u.searchParams.append("filter_min_price","30");else if(i==="over500")u.searchParams.append("filter_min_price","500");else if(i.includes("_")){let[c,s]=i.split("_");c&&u.searchParams.append("filter_min_price",c),s&&u.searchParams.append("filter_max_price",s)}}if(r&&r!=="0"){let c=(100-parseInt(r))/100;u.searchParams.append("min_discount_ratio",c.toString())}return u.searchParams.append("filter_product_types","deals"),u.searchParams.append("rows",String(o||"12")),u}function Nv(e){return e?.widget?.data?.offers?e.widget.data.offers:e?.data?.offers?e.data.offers:Array.isArray(e)?e:e?.offers?.offer?Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers?Array.isArray(e.offers)?e.offers:[e.offers]:[]}function Ov(e){let t=[];return e.forEach(n=>{let a=[];Array.isArray(n.offers)?a=n.offers:Array.isArray(n.offer)?a=n.offer:n.offers&&typeof n.offers=="object"?a=[n.offers]:n.offer&&typeof n.offer=="object"&&(a=[n.offer]),a.length>0?a.forEach(l=>{t.push({...n,...l})}):t.push(n)}),t}function kv(e){return e?.widget?.data?.model_info?e.widget.data.model_info:e?.data?.model_info?e.data.model_info:{}}var Lf=new Map,Q2=3e3,K2=["GB","US"],Lv=6,Z2=["brand","currency","fallbackImage","hasCommerceOffer","hawkPricePending","hawkListings","image","isCheckPrice","merchant","merchantId","modelId","msrp","price","productKey","productName","rawMsrp","rawPrice","savingLabel","title","url"];function Hf(e){return String(e||"").trim().toLowerCase()}function Gv(e){return e==="UK"?"GB":e}function Pv(e,t){let n=String(t||"").trim().toUpperCase(),l={AU:["A$","AUD"],CA:["CA$","CAD"],DE:["\u20AC","EUR"],ES:["\u20AC","EUR"],FR:["\u20AC","EUR"],GB:["\xA3","GBP","GB\xA3"],IT:["\u20AC","EUR"],NL:["\u20AC","EUR"],US:["$","USD","US$"]}[e];return!l||l.includes(n)}function Hv(e,t){return String(e.id||`hawk-deal-${t}`)}function W2(e){return e.map(t=>({...t,hasCommerceOffer:!1,hawkPricePending:!!t.hawkModelName,hawkListings:[],image:t.fallbackImage||t.image||"",isCheckPrice:!0,merchant:"",merchantId:"",msrp:"",price:"",productKey:"",rawMsrp:0,rawPrice:0,savingLabel:"",url:t.sourceArticleUrl||t.documentUrl||t.url}))}function I2(e){return Z2.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}function qv(e){return!!((e.isBuyingGuideProduct||e.isReviewProduct)&&e.hawkModelName)}function J2(e){return e.model_image_url||e.model_image||e.product_image||e.image_url||e.image||""}function Fv(e){return e.link||e.url||e.offer_link||""}function $2(e,t){let n=String(t.model_id||t.id||"");return n&&e[n]?e[n]:Object.values(e).find(a=>String(a?.model_id||a?.id||"")===n)||{}}function eS(e,t,n){let a=e.map(i=>{let r=kf(i),o=Of(i,t),u=Fv(i),c=ee(String(o.merchant||"")).trim();return!u||!c||r.rawPrice<=0||!Pv(n,r.currency)?null:{merchant:c,merchantId:typeof i.merchant=="object"?String(i.merchant?.id||""):"",modelId:String(i.model_id||""),offer:i,productKey:String(i.product_key||""),rawPrice:r.rawPrice,url:u}}).filter(i=>i!==null).sort((i,r)=>i.rawPrice-r.rawPrice||i.merchant.localeCompare(r.merchant)),l=new Set;return a.filter(i=>{let r=i.merchant.toLocaleLowerCase();return l.has(r)?!1:(l.add(r),!0)}).slice(0,4)}async function zv(e,t,n){let a=`${t}|${Hf(e)}`;return Lf.has(a)||Lf.set(a,(async()=>{let l;try{let i=new AbortController;l=setTimeout(()=>i.abort(),Q2);let r=await n(Bv({query:e,region:t,resultCount:12}).toString(),{signal:i.signal});if(!r.ok)return null;let o=await r.json(),u=Ov(Nv(o)),c=Hf(e),s=u.filter(A=>Hf(A.model_name||A.model)===c),f=s.length?s:u,d=f[0]||null;if(!d)return null;let m=kv(o),v=$2(m,d);return{brand:String(v?.brand||d.brand||"").trim(),modelInfo:m,offer:d,offers:f}}catch{return null}finally{l&&clearTimeout(l)}})()),Lf.get(a)}function Uv(e,t,n){return e.map(a=>{let l=String(a.hawkModelName);if(!qv(a)||!t.has(l))return a;let i=t.get(l);if(!i)return{...a,hawkPricePending:!1};let{offer:r}=i.lookup,o=kf(r),u=Of(r,i.lookup.modelInfo),c=J2(r),s=Fv(r),f=ee(String(r.model_name||r.model||a.hawkModelName||a.productName||a.title||"").trim()),d=!!(i.region===n&&s&&Pv(n,o.currency)),m=i.region===n?eS(i.lookup.offers,i.lookup.modelInfo,n).map(({offer:v,...A})=>A):[];return d?{...a,brand:i.lookup.brand||r.brand||a.brand,currency:o.currency||a.currency,fallbackImage:c?a.image:a.fallbackImage,hasCommerceOffer:!0,hawkPricePending:!1,hawkListings:m,image:c||a.image,isCheckPrice:o.isCheckPrice,merchant:u.merchant||a.merchant,merchantId:typeof r.merchant=="object"&&r.merchant?.id||"",modelId:r.model_id||"",msrp:o.rawMsrp>0?String(o.rawMsrp):"",price:o.rawPrice>0?String(o.rawPrice):"",productKey:r.product_key||"",productName:f||a.productName,rawMsrp:o.rawMsrp,rawPrice:o.rawPrice,savingLabel:o.savingLabel,title:f||a.title,url:s||a.url}:{...a,brand:i.lookup.brand||a.brand,fallbackImage:c?a.image:a.fallbackImage,hawkPricePending:!1,image:c||a.image,productName:f||a.productName,title:f||a.title}})}async function vi(e,t,n=fetch,a,l=[],i){let r=Gv(t),o=new Map,u=e.filter(qv).map(f=>String(f.hawkModelName)),c=new Set(u),s=Array.from(new Set([...l.filter(f=>c.has(f)),...u])).slice(0,a);for(let f=0;f<s.length;f+=Lv)await Promise.all(s.slice(f,f+Lv).map(async d=>{let m=await zv(d,r,n),v=m||r==="GB"?null:await zv(d,"GB",n);o.set(d,m?{lookup:m,region:r}:v?{lookup:v,region:"GB"}:null),i?.(Uv(e,o,r))}));return Uv(e,o,r)}async function jv(e,t=fetch){let n=W2(e),a=await Promise.all(K2.map(async i=>[i,await vi(n,i,t)])),l=new Map;return a.forEach(([i,r])=>{r.forEach((o,u)=>{if(!o.hasCommerceOffer)return;let c=Hv(o,u),s=l.get(c)||{};s[i]=I2(o),l.set(c,s)})}),e.map((i,r)=>{let o=l.get(Hv(i,r));return o?{...i,hawkRegionalCommerce:o}:i})}function zf(e,t){let n=Gv(t);return e.map(a=>{let l=a.hawkRegionalCommerce?.[n];return l?{...a,...l,hawkPricePending:!1}:a})}function Yv(e,t){let n=Array.from(new Set(e.map(i=>i.merchant).filter(Boolean))),a={};if(n.forEach(i=>{a[i]="loading"}),n.length===0)return{merchants:n,couponMap:a,couponUrl:null};let l=new URL("https://search-api.fie.future.net.uk/widget.php");return l.searchParams.append("model_name","Everything"),l.searchParams.append("filter_merchant_name",n.join(",")),l.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),l.searchParams.append("sort","voucher"),l.searchParams.append("rows","120"),l.searchParams.append("origin","widgets-clientside"),l.searchParams.append("combine_product_types","1"),l.searchParams.append("language","en-GB"),l.searchParams.append("all_filters","false"),l.searchParams.append("exclude_unlabelled","false"),l.searchParams.append("include_specs","false"),t&&t!=="auto"&&l.searchParams.append("area",t),{merchants:n,couponMap:a,couponUrl:l}}function Vv(e,t){let n=new URL("https://search-api.fie.future.net.uk/widget.php");return n.searchParams.append("model_name","Everything"),n.searchParams.append("language","en-GB"),t&&t!=="auto"&&n.searchParams.append("area",t),n.searchParams.append("combine_product_types","1"),n.searchParams.append("filter_merchant_name",e),n.searchParams.append("all_filters","false"),n.searchParams.append("exclude_unlabelled","false"),n.searchParams.append("include_specs","false"),n.searchParams.append("sort","voucher"),n.searchParams.append("distinct_merchants","natural"),n.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),n.searchParams.append("rows","50"),n.searchParams.append("origin","widgets-clientside"),n}function Uf(e,t,n=!0){if(!e?.length)return e||[];if(t==="date_desc"&&!n)return e;let a=[...e];return ln(a,t,n),a}function uc(e,t,n,a=!0){if(n!=="date_desc"||!e?.length)return t;let l=(c,s)=>String(c.id||s),i=new Map(t.map((c,s)=>[l(c,s),c])),r=new Set,o=e.flatMap((c,s)=>{let f=l(c,s);r.add(f);let d=i.get(f);return d?[d]:[]}),u=t.filter((c,s)=>!r.has(l(c,s)));return a?[...o.filter(nl),...u.filter(nl),...o.filter(c=>!nl(c)),...u.filter(c=>!nl(c))]:[...o,...u]}function Xv({activeDealTag:e,activeFreeformTag:t,clickedAuthorOverride:n,compactEmbed:a,compactInventoryExplored:l,compactLoadRequested:i,initialActiveDealTag:r,initialActiveFreeformTag:o,reviewInventoryBaked:u}){return!!(a&&u&&!n&&!i&&!l&&(!e||e===r)&&(!t||t===o))}var Qv=[0,50,100,150,200,250,300,350,400,450],Gf=4;function Kv(e){return(Array.isArray(e)?e:[e]).reduce((n,a)=>{if(typeof a!="string"||!a.trim())return n;let l=a.trim();return n.some(i=>i.toLowerCase()===l.toLowerCase())?n:[...n,l]},[])}function nS(e,t){return e.length===t.length&&e.every((n,a)=>n===t[a])}function Pf(e){return e.map(t=>t.trim().toLowerCase()).sort().join("|")}function qf(e){let t=e.initialData,n=Fu(e),a=!!(e.preloadReviewInventory&&!n),l=!!(e.preloadReviewInventory&&e.includeReviewProducts&&!e.compactEmbed),i=n?Number(e.resultCount)||12:100,r=n?!1:e.prioritiseCommercialProducts,o=wt(e.region),u=zf(t?.allDeals||t?.deals||[],o).filter(_=>P0(_,o)),c=wa(n?"date_desc":e.sort,!Or(e)),s=!!(e.priceRange&&e.priceRange!=="all")||!!(e.discountAmount&&e.discountAmount!=="0"&&e.discountAmount!=="all"),f=tl(t?.authorArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),d=tl(t?.authorInteractionArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),[m,v]=(0,N.useState)(()=>Uf(u,c,r)),[A,b]=(0,N.useState)(t?.totalDealCount??t?.allDeals?.length??t?.deals?.length??0),[h,g]=(0,N.useState)(t?.totalAuthorCount??t?.authors?.length??0),[p,y]=(0,N.useState)(!t),[C,R]=(0,N.useState)(!1),[T,M]=(0,N.useState)(!1),[w,D]=(0,N.useState)(!1),[k,se]=(0,N.useState)(t?.couponMap||{}),[I,j]=(0,N.useState)(f),[He,ze]=(0,N.useState)(f),[St,Ie]=(0,N.useState)(t?.tags||[]),[rn,Be]=(0,N.useState)(t?.tagCounts||{}),[Je,nt]=(0,N.useState)(t?.freeformTags||[]),[X,de]=(0,N.useState)(t?.freeformTagCounts||{}),[$e,Z]=(0,N.useState)(t?.brands||[]),[x,P]=(0,N.useState)(()=>{let _=t?.activeDealTag||e.query;return _&&_.toLowerCase()!=="everything"?_:null}),[Q,Vn]=(0,N.useState)(()=>Kv(t?.activeFreeformTags||t?.activeFreeformTag)),[jr,bi]=(0,N.useState)(f),[sc,ll]=(0,N.useState)(null),[at,Yr]=(0,N.useState)(!1),[il,Vr]=(0,N.useState)(""),[rl,Xr]=(0,N.useState)(""),[f1,g1]=(0,N.useState)(0),[Wt,dc]=(0,N.useState)(e.resultCount?parseInt(e.resultCount):12),[Xf,fc]=(0,N.useState)(!1),[m1,Qr]=(0,N.useState)(null),[gc,h1]=(0,N.useState)(!1),[mc,p1]=(0,N.useState)([0]),Kr=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`:""),hc=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}|age-${e.editorialMaxAgeMonths||"none"}`:""),y1=(0,N.useRef)(e.website||"tomsguide"),pc=(0,N.useRef)(e.website||"tomsguide"),Qf=(0,N.useRef)(u.length>0),Kf=(0,N.useRef)(null),ol=(0,N.useRef)(new Map),v1=(0,N.useRef)({activeDealTag:String(x||"").trim().toLowerCase(),freeformTags:Pf(Kv(t?.activeFreeformTags||t?.activeFreeformTag)),discountAmount:e.discountAmount,priceRange:e.priceRange}),Xn=(0,N.useRef)(!1),De=(0,N.useRef)(!1),Ai=(0,N.useRef)(!1),Zf=(_,oe,ne=at?il:e.authorHandle,we=at?rl:e.authorName)=>[e.website||"tomsguide",ne||"",we||"",wt(e.region),String(_||"").trim().toLowerCase(),Pf(oe),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),Wf=(_,oe)=>{let ne=v1.current;return!!(e.compactEmbed&&t?.brands?.length&&String(_||"").trim().toLowerCase()===ne.activeDealTag&&Pf(oe)===ne.freeformTags&&e.priceRange===ne.priceRange&&e.discountAmount===ne.discountAmount)},Zr=(_,oe)=>{let ne=ol.current.get(Zf(_,oe));if(ne){Z(ne);return}if(Wf(_,oe)){Z(t?.brands||[]);return}},ul=()=>Xn.current||n?void 0:e.productSelection;(0,N.useEffect)(()=>{ll(null)},[e.authorName,e.authorHandle]),(0,N.useLayoutEffect)(()=>{let _=e.website||"tomsguide";pc.current!==_&&(pc.current=_,v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),ol.current.clear(),se({}),Yr(!1),Vr(""),Xr(""),ll(null),P(null),Vn([]),g(0),b(0),M(!1),fc(!1),Qr(null),Ai.current=!1,R(!0),y(!0))},[e.website]),(0,N.useEffect)(()=>{e.compactEmbed||typeof document>"u"||setTimeout(()=>{document.dispatchEvent(new CustomEvent("processArticle"))},100)},[m,Wt,e.query,x,Q]),(0,N.useEffect)(()=>{e.resultCount&&(dc(parseInt(e.resultCount,10)||12),Qr(null))},[e.resultCount]),(0,N.useEffect)(()=>{Qr(null)},[x,Q,e.authorHandle,e.authorName,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands,e.sort]),(0,N.useEffect)(()=>{if(!t||!e.includeBuyingGuideProducts&&!e.includeReviewProducts||e.compactEmbed&&(De.current||e.refreshDealsOnViewport))return;let _=wt(e.region),oe=zf(t.allDeals||t.deals||[],_);if(_==="unavailable"){let It=oe.map(on=>(on.isBuyingGuideProduct||on.isReviewProduct)&&on.hawkModelName?{...on,hawkPricePending:!1}:on);ln(It,c,r),v(yn(It,ul(),c));return}let ne=al(oe,e.selectedBrands),we=Number(e.resultCount)||12,Ta=typeof navigator>"u"?void 0:navigator.connection,Ea=!Ta?.saveData&&!Ta?.effectiveType?.includes("2g")&&(!e.compactEmbed||!!e.warmInventory),Si=s?ne:t.reviewInventoryBaked?ne.slice(0,Wt+(Ea?we:0)):oe;if(!Si.some(It=>(It.isBuyingGuideProduct||It.isReviewProduct)&&It.hawkModelName))return;let sl=!0;return M(!0),vi(Si,_).then(It=>{if(!sl)return;let on=t.reviewInventoryBaked?lv(oe,It):It,Ir=al(on,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(lt=>(lt.isBuyingGuideProduct||lt.isReviewProduct)&&lt.hawkModelName?{...lt,hawkPricePending:!1}:lt);ln(Ir,c,r),v(yn(Ir,ul(),c)),Z(lt=>t?.brands?.length?lt:hf(lt,It))}).finally(()=>{sl&&M(!1)}),()=>{sl=!1}},[t,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,e.selectedBrands,e.discountAmount,e.priceRange,c,e.productSelection,Wt,e.resultCount,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,x,Q]),(0,N.useEffect)(()=>{let _=!0,oe=new AbortController,ne=Ai.current,we=!e.refreshDealsOnViewport&&Xv({activeDealTag:x,activeFreeformTag:Q[0]||null,clickedAuthorOverride:at,compactEmbed:e.compactEmbed,compactInventoryExplored:De.current,compactLoadRequested:gc,initialActiveDealTag:t?.activeDealTag,initialActiveFreeformTag:t?.activeFreeformTag,reviewInventoryBaked:t?.reviewInventoryBaked}),Ta=u.length>0,Ea=!!(n&&e.compactEmbed&&!De.current),Si=!!(Ea&&e.warmInventory&&I.length===0&&m.length>0),sl=!!(we||e.compactEmbed&&Ta&&I.length===0&&!at&&!gc&&!De.current&&!e.refreshDealsOnViewport&&(!n||!e.warmInventory));return!sl&&!ne&&!Si&&(R(!0),e.compactEmbed&&De.current&&v([])),(async()=>{D(!1),M(!1);let on=m.length>0||St.length>0||Je.length>0||$e.length>0,Ir=sl;try{if(!e.authorName&&!e.authorHandle){v([]),j([]),bi([]),Ie([]),nt([]),Z([]),ll(null),P(null),Vn([]),y(!0);return}let lt=at?il:e.authorHandle,Jr=at?rl:e.authorName,$r=`${e.website||"tomsguide"}|${lt||""}|${Jr||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`,yc=`${$r}|${e.compactEmbed&&x||""}|${e.compactEmbed?Q.join(","):""}|${e.compactEmbed&&De.current?"expanded":e.refreshDealsOnViewport?"viewport-refresh":"initial"}|lightweight-pages-${Ea?mc.join(","):"all"}|age-${e.editorialMaxAgeMonths||"none"}`,Jt=I,$f=St,U1=ev(Je,Q.length===1?Q[0]:null),eg=()=>({activeDealTag:x,activeFreeformTag:Q[0]||null,activeFreeformTags:Q,preserveFreeformTagSelection:!!(e.compactEmbed&&Q.length),authorHandle:lt,authorName:Jr,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,priceRange:e.priceRange,prioritiseCommercialProducts:r,productSelection:ul(),query:e.query,region:e.region,selectedArticleId:sc,selectedBrands:e.selectedBrands,sort:c,website:e.website}),tg=hc.current!==yc||Jt.length===0,Da=[],vc=!1,ng=(me,zt=!1)=>{if(!_||zt&&vc)return;let bn=al(me,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange});ln(bn,c,r);let Di=yn(bn,ul(),c);v(uc(Da,Di,c,r))};if(Ir){y(!1),R(!1);return}if(tg){let me=Kr.current.split("|")[0],zt=e.website||"tomsguide",bn=!!(Kr.current&&me!==zt);!ne&&!Si&&R(!!e.compactEmbed||!on),bn&&(Jt=[],$f=[],v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),se({}),Yr(!1),Vr(""),Xr(""),y(!0));let Di=Qf.current&&Kr.current===$r&&Jt.length===0&&!De.current;Qf.current=!1,!Di&&!on&&y(!0);let lo=Ba=>{if(!_||Ba.length===0)return;let fe=eg(),it=Cf(Ba,fe),{displayedDeals:io}=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);io.length!==0&&(Da=io,v(Da),y(!1),e.includeReviewProducts&&Nf(it.targetArticles,e.website||"tomsguide",Math.min(Wt,Gf),c).then(()=>{if(!_||vc)return;let An=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);Da=An.displayedDeals,v(Da);let xi=An.displayedDeals.filter(dt=>dt.isReviewProduct&&dt.hawkModelName).slice(0,Gf).map(dt=>String(dt.hawkModelName));vi(An.extractedDeals,it.activeRegionCode,void 0,Gf,xi,dt=>ng(dt,!0))}))};if(Jt=await _v({authorHandle:lt,authorName:Jr,fallbackAuthorName:e.authorName,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,articleCategory:e.compactEmbed&&x||void 0,articleTag:e.compactEmbed?U1:void 0,pageStarts:e.compactEmbed&&!e.warmInventory&&!De.current?[0]:void 0,reviewPageStarts:e.includeReviewProducts?Ea?mc:!e.compactEmbed||De.current?Qv:void 0:void 0,loadAllReviewPages:!Ea,throwOnFailure:!!(e.compactEmbed&&De.current),onBackgroundRefresh:Ba=>{if(!_||hc.current!==yc)return;let fe=tl(Ba,void 0,Number(e.editorialMaxAgeMonths)||0);j(fe),at||ze(fe),g1(it=>it+1)},onProgress:lo,signal:oe.signal,website:e.website}),!_)return;if(Jt=tl(Jt,void 0,Number(e.editorialMaxAgeMonths)||0),Kr.current=$r,hc.current=yc,Di&&Jt.length===0){y(!1);return}_&&(j(Jt),at||ze(Jt),R(!1))}let eo=eg(),G1=Cf(Jt,eo),{activeDealTag:xa,activeRegionCode:Ci,authorArticles:ag,activeFreeformTags:Ma,freeformTagCounts:lg,freeformTags:to,tagCounts:ig,tags:Ri,targetArticles:_a,targetIso:P1}=G1,Ti=e.compactEmbed&&x&&!xa?x:xa,Ei=e.compactEmbed&&Q.length>0&&Ma.length===0?Q:Ma,q1=Ri.length>0?Ri:Ti?[Ti]:Ri,F1=to.length>0?to:Ei.length>0?t?.freeformTags?.filter(me=>Ei.includes(me.handle))||[]:to,j1={...ig,...Ti&&!xa?{[Ti]:0}:{}},Y1={...lg,...Object.fromEntries(Ma.length===0?Ei.map(me=>[me,0]):[])},no=Zf(xa,Ma,lt,Jr),rg=[$r,Ci,xa||"",Ma.join(","),e.selectedBrands.join(","),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),dl=null,fl=null;if(!at){let me=Kf.current;if(me?.key===rg&&me.articleCount===_a.length)dl=me.deals.length,fl=me.authorCount;else{let zt=dv(_a,eo);dl=zt.deals.length,fl=zt.authorCount,Kf.current={articleCount:_a.length,authorCount:fl,deals:zt.deals,key:rg}}}$f=Ri;let Ht;_&&(Ie(q1),Be(j1),nt(F1),de(Y1)),e.includeReviewProducts&&await Nf(_a,e.website||"tomsguide",l?Math.min(_a.length,i):Wt,c);let{brands:bc,displayedDeals:Ac,extractedDeals:ao}=ic(_a,eo,Ci,P1),{merchants:V1,couponMap:wc,couponUrl:X1}=Yv(Ac,e.region);_&&se(wc);let Q1=me=>{!_||!Ht||(Ht={...Ht,couponMap:me},window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht))};if(hv({couponMap:wc,couponUrl:X1,merchants:V1}).then(me=>{_&&(se(me),Q1(me))}),_){tg&&P(Ti),nS(Q,Ei)||Vn(Ei),bi(ag);let me=uc(Da,Ac,c,r);if(vc=!0,v(me),dl!==null){let zt=t?.totalDealCount||0,bn=Ea&&zt>dl;b(bn?zt:dl),g(bn?Math.max(t?.totalAuthorCount||0,fl||0):fl||0)}!ol.current.has(no)&&Wf(xa,Ma)&&ol.current.set(no,t?.brands||[]),Z(ol.current.get(no)||bc),y(!1),Ht=fv({allArticles:Jt,authorArticles:ag,bakeReviewInventory:a&&!e.compactEmbed,brands:bc,couponMap:wc,currentDealTag:xa,currentFreeformTags:Ma,displayedDeals:me,inventoryArticles:_a,options:eo,resultCount:e.resultCount,tagCounts:ig,tags:Ri,freeformTagCounts:lg,freeformTags:to,totalAuthorCount:fl??h,totalDealCount:dl??A}),window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht)}if((e.includeBuyingGuideProducts||e.includeReviewProducts)&&Ci!=="unavailable"){let me=Wt,zt=l?ao.filter(fe=>fe.isReviewProduct&&fe.hawkModelName).slice(0,i).map(fe=>String(fe.hawkModelName)):[],bn=Ac.filter(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName).map(fe=>String(fe.hawkModelName));ao.some(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName)&&M(!0);let lo=vi(ao,Ci,void 0,s?void 0:e.includeReviewProducts?l?i:me:void 0,[...zt,...bn],ng).then(async fe=>{if(!_)return;let it=al(fe,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(dt=>(dt.isBuyingGuideProduct||dt.isReviewProduct)&&dt.hawkModelName?{...dt,hawkPricePending:!1}:dt);ln(it,c,r);let io=yn(it,ul(),c),An=uc(Da,io,c,r),xi=hf(bc,fe);if(ol.current.set(no,xi),v(An),Z(xi),s&&b(it.length),Ht){let dt=a&&!e.compactEmbed,og=l,ug=dt?ac(An,Number(e.resultCount)||12):og?An.slice(0,i):An,K1=og?await jv(ug):ug;if(!_)return;let Sc={...Ht,allDeals:K1,deals:An.slice(0,me),brands:xi,totalDealCount:s?it.length:Ht.totalDealCount};Ht=Sc,window.__AUTHOR_PRELOAD_DATA__=Sc,e.onDataLoaded&&e.onDataLoaded(Sc)}}).finally(()=>{_&&M(!1)}),Ba=ao.slice(me,me+(Number(e.resultCount)||12));e.includeReviewProducts&&e.warmInventory&&!s&&!ne&&Ba.some(fe=>fe.hawkModelName)&&lo.then(()=>{_&&vi(Ba,Ci)}),ne&&await lo}}catch(lt){_&&D(!0)}finally{_&&(y(!1),R(!1),fc(!1),Ai.current=!1)}})(),()=>{_=!1,oe.abort()}},[e.query,e.region,e.selectedBrands,e.website,e.resultCount,Wt,c,e.priceRange,e.discountAmount,x,Q,e.authorName,e.authorHandle,e.website,e.authorBioLength,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,s,a,l,i,r,n,mc,e.productSelection,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,e.editorialMaxAgeMonths,sc,at,il,rl,f1,gc]);let Wr=e.website||"tomsguide",st=pc.current!==Wr,Ra=(0,N.useMemo)(()=>st?[]:y1.current===Wr&&t?.authors?t.authors:Lr(He.length>0?He:I,Wr),[I,Wr,He,t?.authors,st]),b1=at?il:e.authorHandle,A1=at?rl:e.authorName,w1=Ra.find(_=>_.handle===b1||_.fullName===A1),cl=He.length>0?He:I,If=(0,N.useMemo)(()=>{if(cl.length===0)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q),we=Sf(Ra,ne,{activeRegionCode:_,targetIso:oe,selectedBrands:e.selectedBrands,priceRange:e.priceRange,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website});return Yu(Ra,we)},[x,Q,Ra,cl,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands]),S1=(0,N.useMemo)(()=>{if(st)return[];if(cl.length===0&&t?.authors?.length||e.compactEmbed&&!x&&Q.length===0&&t?.authors?.length)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q).filter(we=>mi([we],{activeRegionCode:_,targetIso:oe,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website}).length>0);return kr(If,ne)},[x,Q,cl,st,at,t?.authors?.length,e.compactEmbed,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,If,e.website]),Jf=(_,oe)=>{let ne=He.length>0?He:I.length>0?I:d;if(ne.length===0)return;let we=yv(ne,{authorHandle:_,authorName:oe,discountAmount:e.discountAmount,priceRange:e.priceRange,region:e.region,selectedBrands:e.selectedBrands,sort:c,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,prioritiseCommercialProducts:r,website:e.website,productSelection:void 0});ll(null),P(null),Vn([]),bi(we.authorArticles),Ie(we.tags),Be(we.tagCounts),nt(we.freeformTags),de(we.freeformTagCounts),Z(we.brands),v(we.deals),y(!1)},C1=()=>{!e.compactEmbed||!t||(v(yn(Uf(t.deals||t.allDeals||[],c,r),ul(),c)),Ie(t.tags||[]),Be(t.tagCounts||{}),nt(t.freeformTags||[]),de(t.freeformTagCounts||{}),Z(t.brands||[]),se(t.couponMap||{}),g(t.totalAuthorCount??t.authors?.length??0),b(t.totalDealCount??t.deals?.length??t.allDeals?.length??0))},R1=_=>{Xn.current=!0,De.current=!0,R(!0),at&&(il===_.handle||rl===_.fullName)?(e.compactEmbed&&t?C1():Jf(e.authorHandle,e.authorName),Yr(!1),Vr(""),Xr("")):(Jf(_.handle,_.fullName),Yr(!0),Vr(_.handle),Xr(_.fullName)),e.onQueryChange?.("")},T1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=x===_?null:_;Zr(oe,Q),P(oe),e.onQueryChange?.("")},E1=()=>{Xn.current=!0,De.current=!0,R(!0)},D1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(null,Q),P(null),e.onQueryChange?.("")},x1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=Q.some(ne=>ne.toLowerCase()===_.toLowerCase())?Q.filter(ne=>ne.toLowerCase()!==_.toLowerCase()):[...Q,_];Zr(x,oe),Vn(oe)},M1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(x,[]),Vn([])},_1=_=>{Xn.current=!0,De.current=!0,R(!0),ll(_)},B1=()=>{if(Ai.current)return;Ai.current=!0,fc(!0);let _=Wt+(e.resultCount?parseInt(e.resultCount,10):12);!!(n&&e.compactEmbed&&!De.current)&&I.length>0&&m.length<_&&p1(we=>{let Ta=Qv[we.length];return Ta===void 0?we:[...we,Ta]}),dc(we=>(Qr(we),we+(e.resultCount?parseInt(e.resultCount,10):12)));let ne=!!(t?.reviewInventoryBaked&&m.length>Wt);e.compactEmbed&&I.length===0&&!ne&&(R(!0),h1(!0))},wi=e.compactEmbed&&!e.refreshDealsOnViewport,N1=wi&&t?.tags?.length?t.tags:St,O1=wi&&t?.tags?.length?t.tagCounts||{}:rn,k1=wi&&!De.current&&t?.brands?.length?t.brands:$e,L1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTags:Je,H1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTagCounts||{}:X,z1=pv({enrichingBuyingGuides:T,error:w,loading:p,loadingMore:Xf,refreshingFeed:C});return{activeDealTag:x,activeFreeformTags:Q,airedaleBrands:st?[]:k1,airedaleTagCounts:st?{}:O1,airedaleTags:st?[]:N1,airedaleFreeformTagCounts:st?{}:H1,airedaleFreeformTags:st?[]:L1,allAuthorsList:S1,authorArticlesList:st?[]:jr,clickedAuthorOverride:at,couponMap:k,deals:st?[]:m,displayCount:Wt,error:w,enrichingBuyingGuides:T,effectiveAuthorProfile:st?void 0:w1,loading:p,loadingMore:Xf,loadMoreStartCount:m1,markProductSelectionInteracted:E1,hasMore:m.length>Wt||!!e.compactEmbed&&A>m.length,loadMore:B1,refreshingFeed:C,overriddenAuthorHandle:il,overriddenAuthorName:rl,selectedArticleId:sc,setActiveDealTag:P,clearDealTag:D1,clearFreeformTags:M1,selectArticle:_1,setDisplayCount:dc,setSelectedArticleId:ll,status:z1,toggleAuthorOverride:R1,toggleDealTag:T1,toggleFreeformTag:x1,totalAuthorCount:st?0:h,totalDealCount:st?0:A}}var aS=B(ft(),1);var Fr=B(ft(),1);function Zv(e){let[t,n]=(0,Fr.useState)(null),[a,l]=(0,Fr.useState)([]),[i,r]=(0,Fr.useState)(!1),[o,u]=(0,Fr.useState)(!1);return{close:()=>n(null),error:o,loading:i,merchant:t,open:async f=>{n(f),r(!0),u(!1),l([]);try{let d=Vv(f,e),m=await fetch(d.toString());if(!m.ok)throw new Error("API Error");l(mv(await m.json()))}catch(d){u(!0)}finally{r(!1)}},vouchers:a}}var je=B(O(),1);function lS(e){return new Set(e.map(t=>Array.isArray(t.authorName)?t.authorName[0]:t.authorName).map(t=>String(t||"").trim().toLowerCase()).filter(Boolean)).size}var iS=new Map,rS=()=>{};function Iv({data:e,editorBar:t,editorMode:n=!1,props:a,selectedDeals:l=iS,setSelectedDeals:i=rS}){let r=Zv(a.region),[o,u]=(0,Wv.useState)(new Set),c=p0[a.website||""]||"#1F69FF",s=a.backgroundColor?a.backgroundColor==="white"?"#ffffff":a.backgroundColor==="transparent"?"transparent":a.backgroundColor==="light_blue"?"#E7F0FF":void 0:void 0,f=Vu(a.authorHandle,a.authorName),d=Or(a),m=Fu(a),v=wa(m?"date_desc":a.sort,!d),A=!!(a.showReviewSort&&a.includeReviewProducts),b=a.showPriceDiscountFilters!==!1||A,h=!a.authorFullBleed,g=!e.clickedAuthorOverride,p=e.totalDealCount||e.deals.length,y=e.totalAuthorCount||lS(e.deals),C=e.status==="loading_inventory"||e.status==="refreshing_inventory"||e.status==="enriching_visible_cards",R=e.status==="loading_inventory"||(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards")&&e.deals.length===0,M=!!(a.showReviewSort&&a.includeReviewProducts&&(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards"))?"Loading and sorting available review products":e.status==="enriching_visible_cards"?"Adding live product images and prices":e.status==="refreshing_inventory"?"Updating products":`Loading ${a.website||"site"} authors and products`,w=j=>{e.markProductSelectionInteracted(),a.onBrandToggle?.(j)},D=j=>{e.markProductSelectionInteracted(),a.onBrandSelect?.(j)},k=j=>{e.markProductSelectionInteracted(),a.onPriceRangeChange?.(j)},se=j=>{e.markProductSelectionInteracted(),a.onDiscountAmountChange?.(j)},I=j=>{e.markProductSelectionInteracted(),a.onSortChange?.(j)};return(0,je.jsx)("div",{className:"tg-df-widget-host",style:{"--tg-df-blue":c.toUpperCase()==="#FFFFFF"?"#000000":c},"data-vizualizer-embed":"true","data-tg-df-full-bleed":a.authorFullBleed?"true":"false","data-tg-df-mobile-dropdowns":a.mobileDropdowns?"true":"false","data-tg-df-sticky-mobile-filters":a.stickyMobileFilters===!1?"false":"true",children:(0,je.jsxs)("div",{className:"tg-df-container article-body",style:a.backgroundColor?{backgroundColor:s}:void 0,children:[(a.showAuthorIdentity!==!1||a.showAuthorBio!==!1)&&(0,je.jsx)("div",{className:"tg-df-author-embed",style:{width:"100%",fontFamily:"inherit"},children:(0,je.jsx)("div",{className:"tg-df-author-section",style:{display:"block",opacity:1,overflow:"visible",background:"transparent",border:"none"},children:(0,je.jsx)(U0,{authorArticlesList:e.authorArticlesList,authorBioLength:a.authorBioLength,customBio:g?a.customBio:void 0,customHeaderKicker:a.customHeaderKicker,customHeaderTitle:a.customHeaderTitle,effectiveAuthorHandle:e.clickedAuthorOverride?e.overriddenAuthorHandle:a.authorHandle,effectiveAuthorName:e.clickedAuthorOverride?e.overriddenAuthorName:a.authorName,isReviewWidget:d,onBioChange:g?a.onBioChange:void 0,onHeaderKickerChange:a.onHeaderKickerChange,onHeaderTitleChange:a.onHeaderTitleChange,selectedProfile:e.effectiveAuthorProfile,showAuthorBio:a.showAuthorBio,showAuthorIdentity:a.showAuthorIdentity,showSocialButtons:a.showSocialButtons,stabilizeBio:f,authorCount:y,totalDealCount:p,website:a.website})})}),t,a.showCollectionsDropdown&&(0,je.jsx)(r0,{articles:e.authorArticlesList,authorHandle:a.authorHandle,authorName:a.authorName||a.author,onChange:e.selectArticle,selectedArticleId:e.selectedArticleId,shortenedHeadlines:a.shortenedHeadlines}),C&&(0,je.jsxs)("div",{role:"status","aria-live":"polite","aria-label":M,style:{alignItems:"center",display:"flex",justifyContent:"center",marginBottom:"16px",minHeight:"72px"},children:[(0,je.jsx)("span",{className:"tg-df-coupon-spinner","aria-hidden":"true",style:{borderWidth:"3px",height:"24px",width:"24px"}}),(0,je.jsxs)("span",{style:{color:"#4B5563",fontSize:"14px",marginLeft:"10px"},children:[M,"\u2026"]})]}),(0,je.jsx)(_0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,allAuthorsList:e.allAuthorsList,brands:a.brands,clickedAuthorOverride:e.clickedAuthorOverride,loading:e.loading,refreshing:e.refreshingFeed,onAuthorClick:e.toggleAuthorOverride,onBrandToggle:w,onFreeformTagClick:e.toggleFreeformTag,onTagClick:e.toggleDealTag,overriddenAuthorHandle:e.overriddenAuthorHandle,overriddenAuthorName:e.overriddenAuthorName,selectedBrands:a.selectedBrands,showAuthorRail:f&&a.showAuthorRail!==!1,showAuthorCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,website:a.website}),(0,je.jsx)(k0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,brands:a.brands,discountAmount:a.discountAmount,enabled:a.mobileDropdowns||h,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,onPriceRangeChange:k,onReviewSortChange:I,onTagClear:e.clearDealTag,onTagClick:e.toggleDealTag,priceRange:a.priceRange,reviewSort:v,selectedBrands:a.selectedBrands||[],showCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),b&&(0,je.jsx)(L0,{airedaleBrands:e.airedaleBrands,airedaleTags:e.airedaleTags,discountAmount:a.discountAmount,hidden:!!e.selectedArticleId,onDiscountAmountChange:se,onPriceRangeChange:k,onReviewSortChange:I,priceRange:a.priceRange,reviewSort:v,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),(0,je.jsx)(i0,{articles:e.authorArticlesList,selectedArticleId:e.selectedArticleId}),(a.showCategoryRail!==!1||a.showFreeformTagRail!==!1||a.showBrandRail!==!1)&&(0,je.jsx)(a0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleTags:e.airedaleTags,freeformTags:e.airedaleFreeformTags,discountAmount:a.discountAmount,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onPriceRangeChange:k,onTagClear:e.clearDealTag,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,priceRange:a.priceRange,selectedBrands:a.selectedBrands||[]}),(0,je.jsx)(w0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,couponMap:e.couponMap,deals:e.deals,displayCount:e.displayCount,editorMode:n,error:e.error,expandedDealIds:o,hasMore:e.hasMore,hideHawkPrices:a.hideHawkPrices,loading:R,loadingMore:e.loadingMore,loadMoreStartCount:e.loadMoreStartCount,onDescriptionToggle:j=>u(He=>{let ze=new Set(He);return ze.has(j)?ze.delete(j):ze.add(j),ze}),onLoadMore:e.loadMore,onOpenVouchers:r.open,query:a.query,recentDealsOnly:!!(a.includeDeals&&!a.includeCollections&&!a.includeBuyingGuideProducts&&!a.includeReviewProducts),selectedBrands:a.selectedBrands,selectedDeals:l,setSelectedDeals:i,website:a.website}),(0,je.jsx)(G0,{error:r.error,loading:r.loading,merchant:r.merchant,onClose:r.close,vouchers:r.vouchers})]})})}var $v=B(O(),1),Jv=e=>{let t={...e,editorMode:!1},n=qf(t);return(0,$v.jsx)(Iv,{data:n,props:t})};var U={authorBioLength:"short",authorFullBleed:!0,authorHandle:"all-authors",authorName:"All authors",backgroundColor:"transparent",customBio:"",customHeaderKicker:void 0,customHeaderTitle:void 0,discountAmount:"0",editorMode:!1,editorialMaxAgeMonths:"12",includeBuyingGuideProducts:!0,includeCollections:!0,includeDeals:!0,includeReviewProducts:!1,mobileDropdowns:!0,stickyMobileFilters:!0,offerType:"",preloadReviewInventory:!1,lightweightReviewDelivery:!1,hideHawkPrices:!1,prioritiseCommercialProducts:!0,priceRange:"all",productSelection:"latest",query:"Everything",region:"auto",resultCount:"12",retailer:"",selectedBrands:[],showAuthorBio:!0,showAuthorCounters:!0,showAuthorIdentity:!0,showAuthorRail:!0,showBrandRail:!0,showCategoryRail:!0,showCollectionsDropdown:!1,showPriceDiscountFilters:!0,showReviewSort:!1,showSocialButtons:!0,showCountdown:!1,showHeaderDetails:!0,showFreeformTagRail:!0,sort:"date_desc",viewMode:"author",website:"whowhatwear",widgetSubtitle:"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.",widgetTitle:"Top Deals Handpicked by Our Editors"};function We(e,t){return typeof e=="string"?e:t}function Ae(e,t){return typeof e=="boolean"?e:t}function e1(e){let t=e||{},n=t.authorBioLength==="long"?"long":"short",a=t.productSelection==="mix"?"mix":"latest";return{...U,...t,authorBioLength:n,authorFullBleed:Ae(t.authorFullBleed,U.authorFullBleed),authorHandle:We(t.authorHandle,U.authorHandle),authorName:We(t.authorName,U.authorName),backgroundColor:We(t.backgroundColor,U.backgroundColor),customBio:We(t.customBio,U.customBio),customHeaderKicker:typeof t.customHeaderKicker=="string"?t.customHeaderKicker:void 0,customHeaderTitle:typeof t.customHeaderTitle=="string"?t.customHeaderTitle:void 0,discountAmount:We(t.discountAmount,U.discountAmount),editorMode:Ae(t.editorMode,U.editorMode),editorialMaxAgeMonths:We(t.editorialMaxAgeMonths,U.editorialMaxAgeMonths),includeBuyingGuideProducts:Ae(t.includeBuyingGuideProducts,U.includeBuyingGuideProducts),includeCollections:Ae(t.includeCollections,U.includeCollections),includeDeals:Ae(t.includeDeals,U.includeDeals),includeReviewProducts:Ae(t.includeReviewProducts,U.includeReviewProducts),mobileDropdowns:Ae(t.mobileDropdowns,U.mobileDropdowns),stickyMobileFilters:Ae(t.stickyMobileFilters,U.stickyMobileFilters),offerType:We(t.offerType,U.offerType),preloadReviewInventory:Ae(t.preloadReviewInventory,U.preloadReviewInventory),lightweightReviewDelivery:Ae(t.lightweightReviewDelivery,U.lightweightReviewDelivery),hideHawkPrices:Ae(t.hideHawkPrices,U.hideHawkPrices),prioritiseCommercialProducts:Ae(t.prioritiseCommercialProducts,U.prioritiseCommercialProducts),priceRange:We(t.priceRange,U.priceRange),productSelection:a,query:We(t.query,U.query),region:We(t.region,U.region),resultCount:We(t.resultCount,U.resultCount),retailer:We(t.retailer,U.retailer),selectedBrands:Array.isArray(t.selectedBrands)?t.selectedBrands.filter(l=>typeof l=="string"):[],showAuthorBio:Ae(t.showAuthorBio,U.showAuthorBio),showAuthorCounters:Ae(t.showAuthorCounters,U.showAuthorCounters),showAuthorIdentity:Ae(t.showAuthorIdentity,U.showAuthorIdentity),showAuthorRail:Ae(t.showAuthorRail,U.showAuthorRail),showBrandRail:Ae(t.showBrandRail,U.showBrandRail),showCategoryRail:Ae(t.showCategoryRail,U.showCategoryRail),showCollectionsDropdown:Ae(t.showCollectionsDropdown,U.showCollectionsDropdown),showPriceDiscountFilters:Ae(t.showPriceDiscountFilters,U.showPriceDiscountFilters),showReviewSort:Ae(t.showReviewSort,U.showReviewSort),showSocialButtons:Ae(t.showSocialButtons,U.showSocialButtons),showCountdown:Ae(t.showCountdown,U.showCountdown),showHeaderDetails:Ae(t.showHeaderDetails,U.showHeaderDetails),showFreeformTagRail:Ae(t.showFreeformTagRail,U.showFreeformTagRail),sort:We(t.sort,U.sort),viewMode:We(t.viewMode,U.viewMode),website:We(t.website,U.website),widgetSubtitle:We(t.widgetSubtitle,U.widgetSubtitle),widgetTitle:We(t.widgetTitle,U.widgetTitle)}}function t1(e,t={}){return{...e,brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}}function n1(e,t){try{window.hawk?.analytics?.freyr?.push({name:e,data:t}),window.dispatchEvent(new CustomEvent("hawk-analytics-update")),window.freyr?.cmd.push(()=>{window.freyr?.pushAndUpdate?.(e,t)})}catch{}}function a1(){window.dataLayer=window.dataLayer||[],window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.hawk=window.hawk||{},window.hawk.analytics=window.hawk.analytics||{},window.hawk.analytics.freyr=window.hawk.analytics.freyr||[],window.freyr=window.freyr||{cmd:[]},window.freyr.cmd=window.freyr.cmd||[];let e="https://freyr.futurecdn.net/freyr.js",t=window.location.hostname;if(!(window.navigator.webdriver||window.navigator.userAgent.includes("Headless"))&&!!t&&t!=="localhost"&&t!=="127.0.0.1"&&!t.includes("run.app")&&!document.querySelector(`script[src="${e}"]`)){let l=document.createElement("script");l.src=e,l.async=!0,document.head.appendChild(l)}}function oS(e){let t=Number.parseFloat(e.rawPrice||e.price)||null,n=Number.parseFloat(e.rawMsrp||e.msrp)||null;return{product:{primary:{id:e.externalProductId||e.id||e.matchId||null,name:e.productName||e.title||"",type:"deal",price:t,previousPrice:n,currency:e.isoCurrencyCode||e.currency||"USD",preorder:!1,labels:e.modelBrand||e.brand?[{type:"brand",value:e.modelBrand||e.brand}]:[],link:e.url||null,originalLink:e.originalLink||e.url||null,revenueId:e.revenueId||null,startTime:null,endTime:null,voucherCode:null,voucherAudience:null,voucherPercentageSaving:n&&t&&n>t?Math.round((1-t/n)*100):null,voucherMoneySaving:null,voucherType:null,offerExclusive:!1,offerScope:null,globalId:e.productKey||null,inStock:e.inStock!==!1,contractProvider:null,contractMinutes:null,contractTexts:null,contractData:null,contractLength:null,contractMonthlyPrice:null,contractCurrency:e.isoCurrencyCode||e.currency||"USD"}},merchant:{id:e.merchantId||null,name:e.merchant||"Retailer",url:e.merchantUrl||null,network:e.merchantNetwork||null},model:{id:e.modelId||null,brand:e.modelBrand||e.brand||null,name:e.productName||e.title||"",parent:e.modelParent||null}}}var uS=new Set(["subid1","ascsubtag","clickref","u1"]);function cS(e){return e.match(/(?:^|[-_])(\d{10,})(?=$|[-_])/)?.[1]||null}function sS(e){let t=new Set,n=a=>{if(!a||t.has(a))return null;t.add(a);let l;try{l=new URL(a)}catch{return null}for(let[i,r]of l.searchParams)if(uS.has(i.toLowerCase())){let o=cS(r);if(o)return o}for(let i of l.searchParams.values())if(/^https?:\/\//i.test(i)){let r=n(i);if(r)return r}return null};return n(e)}function l1({areaClicked:e,clickType:t,deals:n,index:a,queryName:l}){let i={event:"hawkEvent",category:"Affiliates",affiliate:{action:{type:t,id:"author-widget",event:t==="appeared"?"viewed":"Click from",timestamp:Date.now()},component:{flag:"Editor",product:"deals",category:"Signal Deal Finder Author widget",type:t==="appeared"?"review":"signal product",label:l||n[0]?.productName||n[0]?.title||"",index:a??-1,linkCount:n.length,blockLayout:"",areaClicked:e}},products:n.slice(0,20).map(oS),reviews:[],_clear:!0,"gtm.uniqueEventId":Date.now()%1e4};n1("hawkEvent",i)}function i1(e,t){e.length&&l1({areaClicked:"",clickType:"appeared",deals:e,index:null,queryName:t})}function r1(e,t){if(e?.deals?.length)return e.deals;let n=Number(t)||12;return e?.allDeals?.slice(0,n)||[]}function o1(e){e.addEventListener("click",t=>{let n=t.target;if(!(n instanceof Element))return;let a=n.closest("a[data-fcaw-affiliate-link][href], a.hawk-affiliate-link-deal-widget[href], a.hawk-affiliate-link-container[href], a.hawk-affiliate-link-deal-button[href]"),l=n.closest(".tg-df-card"),i=!!(!a?.dataset.fcawRevenueId&&(a?.hasAttribute("data-hl-processed")||a?.hasAttribute("data-fcaw-hawklinks-requested")));a&&l&&!i&&l1({areaClicked:"Signal Product Card",clickType:"retailer",deals:[{brand:l.dataset.brand,currency:l.dataset.currency,id:l.dataset.dealId,merchant:a.dataset.merchant||l.dataset.merchant,merchantId:a.dataset.merchantId||l.dataset.merchantId,modelId:a.dataset.modelId||l.dataset.modelId,productKey:a.dataset.productKey||l.dataset.productKey,rawMsrp:l.dataset.previousPrice,rawPrice:l.dataset.price,originalLink:a.dataset.fcawOriginalLink||a.href,revenueId:a.dataset.fcawRevenueId||sS(a.href),title:l.dataset.productName,url:a.href}],index:Array.from(e.querySelectorAll(".tg-df-card")).indexOf(l)});let r=n.closest('button, select, [role="button"]');r&&n1("elementInteraction",{element:{action:"click",id:r.id||void 0,class:r.className||void 0,name:r.getAttribute("name")||r.getAttribute("aria-label")||void 0,text:r.textContent?.trim()||void 0,label:r.getAttribute("aria-label")||void 0}})})}var Vf=B(O(),1),dS='fc-author-commerce-widget[data-fcaw-version="1"]',fS="(max-width: 599px)",gS=600,mS='[class*="membership-expandable-banner"]',hS=/^jump\s+to\b/i,jf="data-fcaw-jump-navigation-suppressed",pS=50,yS=1e4,vS=["[data-sticky-header]","[data-header-sticky]",'[role="banner"]',".navigation__container",".site-header",".main-header",".header__container",'[class*="membership-expandable-banner"] [class*="skinny-banner"]','[class*="membership-expandable-banner"] [id="skinnyBanner"]',"nav","header"].join(","),bS=`  :host {    display: block !important;    width: 100% !important;    min-width: 0 !important;    max-width: none !important;    isolation: isolate !important;    contain: style !important;  }  :host([data-fcaw-full-bleed="true"]) {    width: min(      1200px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1200px !important;    margin-left: var(      --fcaw-full-bleed-offset,      calc(50% - min(600px, 50vw))    ) !important;    margin-right: 0 !important;    position: relative !important;  }  :host([data-fcaw-full-bleed="true"]) #tg-df-spreadsheet-filters {    width: min(      1500px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1500px !important;    margin-left: calc(      (        100% -        min(1500px, var(--fcaw-viewport-width, 100vw))      ) / 2    ) !important;    margin-right: 0 !important;  }  :host, :host *, :host *::before, :host *::after {    box-sizing: border-box;  }`,Ff=new WeakMap;function AS(){if(document.querySelector("style[data-fcaw-jump-navigation-protection]"))return;let e=document.createElement("style");e.setAttribute("data-fcaw-jump-navigation-protection",""),e.textContent=`    [${jf}="true"] {      opacity: 0 !important;      pointer-events: none !important;      visibility: hidden !important;    }  `,document.head.appendChild(e)}function wS(){let e=Array.from(document.querySelectorAll("span, p, div, strong, b")).filter(n=>n.childElementCount===0&&hS.test(n.textContent?.trim()||"")),t=new Set;for(let n of e)for(let a=n.parentElement;a&&a!==document.body;a=a.parentElement)if(getComputedStyle(a).position==="sticky"){t.add(a);break}return[...t]}function SS(e,t,n){let a=Ff.get(e)||new Set;n?a.add(t):a.delete(t),a.size>0?(Ff.set(e,a),e.setAttribute(jf,"true")):(Ff.delete(e),e.removeAttribute(jf))}function CS(e){if(e.dataset.fcawFullBleed!=="true"||typeof IntersectionObserver>"u")return;let t=wS().filter(a=>!a.contains(e));if(t.length===0)return;AS(),new IntersectionObserver(([a])=>{t.forEach(l=>SS(l,e,a.isIntersecting))},{threshold:0}).observe(e)}function RS({host:e,initialData:t,initialProps:n}){let[a]=(0,Lt.useState)(d1),l=DS(t,a),[i,r]=(0,Lt.useState)(n.query),[o,u]=(0,Lt.useState)(n.selectedBrands),[c,s]=(0,Lt.useState)(n.priceRange),[f,d]=(0,Lt.useState)(n.discountAmount),[m,v]=(0,Lt.useState)(n.sort),[A,b]=(0,Lt.useState)(!1),h=!!(A&&n.compactEmbed&&n.includeDeals!==!1),g=(0,Lt.useRef)(!1);return(0,Lt.useEffect)(()=>{let p=()=>{g.current||(g.current=!0,i1(r1(l,n.resultCount),n.query))};if(typeof IntersectionObserver>"u"){p();return}let y=new IntersectionObserver(([C])=>{C?.isIntersecting&&(p(),y.disconnect())},{threshold:.1});return y.observe(e),()=>y.disconnect()},[e,l,n.query]),(0,Lt.useEffect)(()=>{if(typeof IntersectionObserver>"u"){b(!0);return}let p=new IntersectionObserver(([y])=>{y?.isIntersecting&&(b(!0),p.disconnect())},{rootMargin:"800px 0px"});return p.observe(e),()=>p.disconnect()},[e]),(0,Vf.jsx)(Jv,{...n,region:a||"unavailable",initialData:l,warmInventory:A,refreshDealsOnViewport:h,query:i,selectedBrands:o,priceRange:c,discountAmount:f,sort:m,editorMode:!1,onQueryChange:r,onBrandSelect:u,onBrandToggle:p=>u(y=>y.includes(p)?y.filter(C=>C!==p):[...y,p]),onPriceRangeChange:s,onDiscountAmountChange:d,onSortChange:v})}function TS(e){try{let t=document.cookie.match(new RegExp(`(?:^|;\\s*)${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}catch{return}}function cc(e){let n=String(e||"").trim().toUpperCase().replace("_","-").split("-").at(-1);return n==="UK"?"GB":["US","GB","AU","CA","DE","FR","IT","ES","NL"].includes(n||"")?n:void 0}function d1(){let e=new URLSearchParams(window.location.search).get("area");return cc(e)||cc(TS("FTR_Country_Code"))||cc(document.documentElement.getAttribute("data-locale"))||cc(window.navigator.language)}function u1(e,t){let n=e.querySelector(t);if(n?.textContent)try{return JSON.parse(n.textContent)}catch(a){console.warn("Author widget configuration could not be parsed.",a);return}}function ES(e){return e?.reviewInventoryFormat!==nv||!e.allDeals?e:{...e,allDeals:av(e.allDeals)}}function DS(e,t){let n=t?e?.regionalDealManifests?.[t]:void 0;if(!n)return e;let a=e?.regionalDealRailData?.[t];return{...e,allDeals:void 0,deals:n,...a}}function c1(e){e.querySelectorAll("a[href]").forEach(t=>{(t.hasAttribute("data-fcaw-affiliate-link")||t.classList.contains("hawk-affiliate-link-deal-widget")||t.classList.contains("hawk-affiliate-link-container")||t.classList.contains("hawk-affiliate-link-deal-button"))&&(t.rel="sponsored nofollow noopener")})}function xS(e){let t=e.closest(".tg-df-card"),n=t?.dataset.fcawRevenueId||e.dataset.fcawRevenueId;if(n)return n;let a=[window.location.href,t?.dataset.productName||"",t?.dataset.merchant||"",t?.dataset.modelId||"",new Date().toDateString(),"tomsguide"].join("|"),l=0;for(let r=0;r<a.length;r+=1)l=(l<<5)-l+a.charCodeAt(r),l|=0;let i=String(Math.abs(l));for(;i.length<19;)l=(l<<5)-l+i.length,l|=0,i+=String(Math.abs(l));return i=i.slice(0,19),t&&(t.dataset.fcawRevenueId=i),i}function MS(e){let t=e.dataset.fcawOriginalLink||e.href;if(!t.includes("hawk-custom-tracking"))return!1;let n=d1();if(!n)return!1;let a=xS(e);return e.dataset.fcawOriginalLink=t,e.dataset.fcawRevenueId=a,e.href=t.replaceAll("hawk-custom-tracking",`tomsguide-${n.toLowerCase()}-${a}`),e.setAttribute("data-fcaw-hawklinks-requested","true"),!0}function _S(){return!!window.hawklinks?.version}function BS(e){let t=!1,n,a,l=()=>Array.from(e.querySelectorAll(".article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-widget[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-container[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-button[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested])")),i=()=>{t=!1;let u=l();if(u.length===0)return;let c=u.filter(s=>!MS(s));if(c.length!==0){if(!_S()){let s=Date.now();a??=s,!n&&s-a<yS&&(n=window.setTimeout(()=>{n=void 0,r()},pS));return}a=void 0,c.forEach(s=>s.setAttribute("data-fcaw-hawklinks-requested","true")),document.dispatchEvent(new CustomEvent("processArticle",{detail:{element:e}}))}},r=()=>{t||(t=!0,window.setTimeout(i,0))},o=new MutationObserver(r);return o.observe(e,{attributes:!0,attributeFilter:["href"],childList:!0,subtree:!0}),r(),()=>{o.disconnect(),n&&window.clearTimeout(n)}}function NS(e){if(e.dataset.fcawFullBleed!=="true")return;let t=()=>{let n=document.documentElement.clientWidth||window.innerWidth,a=Math.min(1200,n),l=Math.max(0,(n-a)/2),i=e.parentElement?.getBoundingClientRect().left||0;e.style.setProperty("--fcaw-full-bleed-offset",`${l-i}px`),e.style.setProperty("--fcaw-viewport-width",`${n}px`)};t(),window.addEventListener("resize",t,{passive:!0}),typeof ResizeObserver<"u"&&e.parentElement&&new ResizeObserver(t).observe(e.parentElement)}function OS(e){let t=window.matchMedia(fS),n=!1,a=new Set,l=new Map,i,r=()=>t.matches||e.getBoundingClientRect().width<gS,o=()=>{n||(n=!0,window.requestAnimationFrame(s))},u=()=>{if(typeof MutationObserver>"u")return;let f=new Set(Array.from(document.querySelectorAll(mS)));l.forEach((d,m)=>{f.has(m)&&m.isConnected||(d.disconnect(),l.delete(m))}),f.forEach(d=>{if(l.has(d))return;let m=new MutationObserver(o);m.observe(d,{attributes:!0,attributeFilter:["class","style"],childList:!0,subtree:!0}),l.set(d,m)})},c=f=>{let d=new Set(f);a.forEach(m=>{d.has(m)||(i?.unobserve(m),m.removeEventListener("transitionend",o),a.delete(m))}),f.forEach(m=>{a.has(m)||(i?.observe(m),m.addEventListener("transitionend",o),a.add(m))})},s=()=>{if(n=!1,u(),!r()){c([]),e.style.removeProperty("--fcaw-mobile-sticky-offset");return}let f=Number.parseFloat(getComputedStyle(e).getPropertyValue("--fcaw-publisher-sticky-offset"));if(Number.isFinite(f)&&f>=0){c([]),e.style.setProperty("--fcaw-mobile-sticky-offset",`${f}px`);return}let d=Array.from(document.querySelectorAll(vS)).filter(v=>{if(v.contains(e))return!1;let A=getComputedStyle(v).position;return A==="fixed"||A==="sticky"});c(d);let m=d.reduce((v,A)=>{let b=A.getBoundingClientRect();return b.top>2||b.bottom<=0||b.height<=0||b.height>window.innerHeight*.5?v:Math.max(v,b.bottom)},0);e.style.setProperty("--fcaw-mobile-sticky-offset",`${Math.ceil(m)}px`)};return typeof ResizeObserver<"u"&&(i=new ResizeObserver(o),i.observe(e)),s(),window.addEventListener("scroll",o,{capture:!0,passive:!0}),window.addEventListener("resize",o,{passive:!0}),t.addEventListener?.("change",o),()=>{window.removeEventListener("scroll",o,!0),window.removeEventListener("resize",o),t.removeEventListener?.("change",o),i?.disconnect(),a.forEach(f=>f.removeEventListener("transitionend",o)),a.clear(),l.forEach(f=>f.disconnect()),l.clear()}}function kS(e){if(e.dataset.fcawEnhanced==="true")return;let t=u1(e,"script[data-fcaw-config]");if(!t)return;let n={...t1(e1(t),{brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}),compactEmbed:t.compactEmbed,editorMode:!1,warmInventory:t.warmInventory},a=u1(e,"script[data-fcaw-preload]"),l=ES(a),i=e.querySelector("[data-fcaw-fallback]");if(!i)return;NS(e),CS(e),n.stickyMobileFilters!==!1&&OS(e),c1(i);let r=e.shadowRoot||e.attachShadow({mode:"open"}),o=e.querySelector(":scope > style[data-fcaw-host-protection]");if(o&&r.appendChild(o),!r.querySelector("style[data-fcaw-shadow-protection]")){let c=document.createElement("style");c.setAttribute("data-fcaw-shadow-protection",""),c.textContent=bS,r.appendChild(c)}i.querySelectorAll(":scope > style").forEach(c=>{r.appendChild(c)});let u=document.createElement("div");for(u.setAttribute("data-fcaw-mount","");i.firstChild;)u.appendChild(i.firstChild);i.remove(),r.appendChild(u),e.dataset.fcawEnhanced="true",a1(),e.dataset.fcawAnalyticsReady="true",o1(r),BS(r),(0,s1.createRoot)(u).render((0,Vf.jsx)(RS,{host:e,initialData:l,initialProps:n})),window.setTimeout(()=>c1(r),0)}function Yf(){document.querySelectorAll(dS).forEach(kS)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yf,{once:!0}):Yf();new MutationObserver(Yf).observe(document.documentElement,{childList:!0,subtree:!0});})();/*! Bundled license information:react/cjs/react.production.js:  (**   * @license React   * react.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)scheduler/cjs/scheduler.production.js:  (**   * @license React   * scheduler.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom.production.js:  (**   * @license React   * react-dom.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom-client.production.js:  (**   * @license React   * react-dom-client.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react/cjs/react-jsx-runtime.production.js:  (**   * @license React   * react-jsx-runtime.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)*/</script></div><h2 class="article-body__section" id="section-prime-day-controller-deals-in-the-uk"><span>Prime Day controller deals in the UK</span></h2><h2 id="where-are-the-best-prime-day-controller-deals-in-the-uk">Where are the best Prime Day controller deals in the UK?</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.co.uk/s?k=controllers&crid=60S1AC87VO31&sprefix=controller%2Caps%2C134&ref=nb_sb_noss_1" target="_blank">Big discounts on top-brand controllers</a></li><li><strong>Overclockers:</strong> <a href="https://www.overclockers.co.uk/peripherals/gamepads-game-controllers?q=controllers&_gl=1*hw2u4v*_up*MQ..*_ga*MTQ2NzEzNjg2OC4xNzkwNjgwODU3*_ga_123456*czE3OTA2ODA4NTckbzEkZzAkdDE3OTA2ODA4ODYkajMxJGwwJGgxODc0NzI0ODg.*_ga_7SS7XDNBS9*czE3OTA2ODA4NTckbzEkZzAkdDE3OTA2ODA4ODckajMwJGwwJGgw" target="_blank">A whole bunch of controllers to choose from</a></li><li><strong>Scan:</strong> <a href="https://www.scan.co.uk/shop/computer-hardware/game-controllers/all" target="_blank">Gamepads from just £15</a></li><li><strong>Box: </strong><a href="https://box.co.uk/xbox-controllers" target="_blank">Controllers for everyone</a></li><li><strong>Currys:</strong> <a href="https://www.currys.co.uk/gaming/controllers/controllers/pc-gaming-controllers" target="_blank">Controllers from as little as £20</a></li><li><strong>Argos: </strong><a href="https://www.argos.co.uk/search/controllers/?clickOrigin=searchbar:search:term:controllers" target="_blank">Good prices on budget to high-end controllers</a></li></ul><div class="product"><a data-dimension112="ed2168f0-b8e6-11f1-bd9e-09a49d41ae96" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="£18.99" href="https://www.amazon.co.uk/GameSir-Wireless-Controller-Bluetooth-Vibration-Nova-Lite-White/dp/B0CMCQ6WMC" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="soVwABeC6nbkWkMrnx2xcR" name="GameSir Nova Lite 2.4g Wireless Controller.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR-1920-80.jpg" mos="" align="middle" fullscreen="" width="200" height="200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/GameSir-Wireless-Controller-Bluetooth-Vibration-Nova-Lite-White/dp/B0CMCQ6WMC" target="_blank" rel="nofollow" data-dimension112="ed2168f0-b8e6-11f1-bd9e-09a49d41ae96" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="£18.99">Nova Lite: was £24.99 now £18.99</a></strong><br>This gaming controller remains our <a href="https://www.pcgamer.com/best-controller-for-pc-gaming/#section-the-best-budget-controller" target="_blank">top budget pick</a> for good reason. <a href="https://www.pcgamer.com/hardware/controllers/gamesir-nova-lite-controller-review/" target="_blank">In our review</a>, James was particularly impressed by just how much GameSir cram into such an affordable package, highlighting the controller's Hall Effect sticks and 2.4 GHz connectivity.</p><p><strong>Key specs: Hall effect thumb sticks | 2.4G wireless | 10 h battery</strong><a class="view-deal button" href="https://www.amazon.co.uk/GameSir-Wireless-Controller-Bluetooth-Vibration-Nova-Lite-White/dp/B0CMCQ6WMC" target="_blank" rel="nofollow" data-dimension112="ed2168f0-b8e6-11f1-bd9e-09a49d41ae96" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="£18.99">View Deal</a></p></div><div class="product"><a data-dimension112="ed216954-b8e6-11f1-adcd-0932edd735c4" data-action="Deal Block" data-label="Nova Lite 2" data-dimension48="Nova Lite 2" data-dimension25="£24.89" href="https://www.amazon.co.uk/GameSir-Lite-Controller-Joysticks-Remappable/dp/B0F3D25PD3/ref=sr_1_4" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="VGAcVx239apmX4EGiGsDnE" name="1781519450.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VGAcVx239apmX4EGiGsDnE-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1499" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/GameSir-Lite-Controller-Joysticks-Remappable/dp/B0F3D25PD3/ref=sr_1_4" target="_blank" rel="nofollow" data-dimension112="ed216954-b8e6-11f1-adcd-0932edd735c4" data-action="Deal Block" data-label="Nova Lite 2" data-dimension48="Nova Lite 2" data-dimension25="£24.89">Nova Lite 2: was £29.99 now £24.89</a></strong><br>An upgraded and improved version of the Nova Lite, this controller sets the standard for what you can score for a relatively slim amount of money. Hall effect everywhere and a mechanical D-pad.</p><p><strong>Key specs: Hall effect joysticks + triggers | 2.4G wireless | 1000 Hz polling</strong><a class="view-deal button" href="https://www.amazon.co.uk/GameSir-Lite-Controller-Joysticks-Remappable/dp/B0F3D25PD3/ref=sr_1_4" target="_blank" rel="nofollow" data-dimension112="ed216954-b8e6-11f1-adcd-0932edd735c4" data-action="Deal Block" data-label="Nova Lite 2" data-dimension48="Nova Lite 2" data-dimension25="£24.89">View Deal</a></p></div><div class="product"><a data-dimension112="ed216a1c-b8e6-11f1-8b55-b98dde0e4a49" data-action="Deal Block" data-label="Pro 3" data-dimension48="Pro 3" data-dimension25="£52.99" href="https://www.amazon.co.uk/8Bitdo-Pro-Bluetooth-Controller-Switch/dp/B0FFGQ6J35" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="PkKDcfAPjhcUAT2setQ2WW" name="8BitDo Pro 3 product image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PkKDcfAPjhcUAT2setQ2WW-1920-80.png" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/8Bitdo-Pro-Bluetooth-Controller-Switch/dp/B0FFGQ6J35" target="_blank" rel="nofollow" data-dimension112="ed216a1c-b8e6-11f1-8b55-b98dde0e4a49" data-action="Deal Block" data-label="Pro 3" data-dimension48="Pro 3" data-dimension25="£52.99">Pro 3: was £59.99 now £52.99</a></strong><br>Though a little on the narrower side, this well-balanced controller remains comfortable to play through long sessions. A 20-hour battery life, plus the option to game while you charge (even without using the included dock), ensures this gamepad won't leave you high and dry when you need it most.</p><p><strong>Key specs: TMR sticks | Hall effect triggers | Swappable ABXY Buttons | Charging dock | 2.4 G wireless | 20h battery</strong><a class="view-deal button" href="https://www.amazon.co.uk/8Bitdo-Pro-Bluetooth-Controller-Switch/dp/B0FFGQ6J35" target="_blank" rel="nofollow" data-dimension112="ed216a1c-b8e6-11f1-8b55-b98dde0e4a49" data-action="Deal Block" data-label="Pro 3" data-dimension48="Pro 3" data-dimension25="£52.99">View Deal</a></p></div><div class="product"><a data-dimension112="ed216a80-b8e6-11f1-a77b-dfb6a059ad32" data-action="Deal Block" data-label="Wolverine V3 Pro" data-dimension48="Wolverine V3 Pro" data-dimension25="£158.91" href="https://www.amazon.co.uk/Razer-Wolverine-Pro-Controller-thumbsticks/dp/B0D7W5L9YY/ref=sr_1_1_sspa" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1508px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="bEho7QQ2jdCF6Vr3xoypw" name="1781520197.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/bEho7QQ2jdCF6Vr3xoypw-1920-80.jpg" mos="" align="middle" fullscreen="" width="1508" height="1498" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Razer-Wolverine-Pro-Controller-thumbsticks/dp/B0D7W5L9YY/ref=sr_1_1_sspa" target="_blank" rel="nofollow" data-dimension112="ed216a80-b8e6-11f1-a77b-dfb6a059ad32" data-action="Deal Block" data-label="Wolverine V3 Pro" data-dimension48="Wolverine V3 Pro" data-dimension25="£158.91">Wolverine V3 Pro: was £199.99 now £158.91</a></strong><br>A superb controller that's sufficiently endgame for most players. Every button and trigger offers excellent feedback and it features Hall effect sticks for improved stick drift resistance.</p><p><strong>Key specs: Hall effect joysticks | 2.4G wireless | mecha-tactile buttons</strong><a class="view-deal button" href="https://www.amazon.co.uk/Razer-Wolverine-Pro-Controller-thumbsticks/dp/B0D7W5L9YY/ref=sr_1_1_sspa" target="_blank" rel="nofollow" data-dimension112="ed216a80-b8e6-11f1-a77b-dfb6a059ad32" data-action="Deal Block" data-label="Wolverine V3 Pro" data-dimension48="Wolverine V3 Pro" data-dimension25="£158.91">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/amazon-prime-day-controller-deals/</link>
                                                                            <description>
                            <![CDATA[ The Big Deal Days are over, yet we're still seeing discounts across many of our favorite gamepads. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">mw9a8H3pgvBifUZzC8cL9R</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/X8UdXfBkMC68MFpGMspMXB-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 09 Jun 2026 16:42:00 +0000</pubDate>                                                                                                                                <updated>Thu, 08 Oct 2026 09:59:58 +0000</updated>
                                                                                                                                            <category><![CDATA[Controllers]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                <author><![CDATA[ dave.james@futurenet.com (Dave James) ]]></author>                    <dc:creator><![CDATA[ Dave James ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-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/X8UdXfBkMC68MFpGMspMXB-1920-80.jpg">
                                                            <media:credit><![CDATA[GameSir]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[GameSir G7 Pro on an abstract blue background]]></media:description>                                                            <media:text><![CDATA[GameSir G7 Pro on an abstract blue background]]></media:text>
                                <media:title type="plain"><![CDATA[GameSir G7 Pro on an abstract blue background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/X8UdXfBkMC68MFpGMspMXB-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>October's Prime Day, also known as Big Deal Days, has finally passed. The big event took place from October 6 until October 7 this year, but that doesn't mean there aren't any deals to take advantage of. </p><p>In fact, best buy, Walmart, and even Amazon still have a few reasonably priced stragglers to pick up if you need a new controller. </p><p>👉<a href="https://www.amazon.com/s?k=controllers&crid=39ANCIZGH03O&sprefix=controller%2Caps%2C179&ref=nb_sb_noss_1" target="_blank"><strong>ALL of Amazon's controller deals</strong></a>👈<br><strong>👉</strong><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>OUR favorite Prime Day PC gaming deals</strong></a><strong>👈</strong></p><p>When it comes to the key high-end technology of today, such as TMR sticks and Hall effect triggers, that isn't necessarily the preserve of the super-premium $200 controllers. Companies such as GameSir and Easy SMX have brought these features down into the mainstream and you can find some of the <a href="https://www.pcgamer.com/best-controller-for-pc-gaming/" target="_blank">best PC controllers</a> sporting them for bargain prices right now. </p><h2 id="where-to-find-the-best-prime-day-controller-deals">Where to find the best Prime Day controller deals</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.com/s?k=controllers&crid=39ANCIZGH03O&sprefix=controller%2Caps%2C179&ref=nb_sb_noss_1" target="_blank"><strong>All the pads you could ever want</strong></a></li><li><strong>Walmart:</strong> <a href="https://www.walmart.com/search?q=controllers" target="_blank">Solid controllers, series savings</a></li><li><strong>Best Buy:</strong> <a href="https://www.bestbuy.com/site/searchpage.jsp?id=pcat17071&st=controllers" target="_blank">Big name pads with big value discounts</a></li><li><strong>Newegg:</strong> <a href="https://www.newegg.com/p/pl?d=controllers" target="_blank">Big savings on big brand controllers</a></li></ul><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-t4n1495 *:not(svg):not(path) { box-sizing: border-box; }    #widget-t4n1495 h1, #widget-t4n1495 p, #widget-t4n1495 h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-t4n1495, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-t4n1495); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-t4n1495 tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-t4n1495 tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-t4n1495 td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-t4n1495: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-t4n1495: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-t4n1495 td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-t4n1495 td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-t4n1495 td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-t4n1495 td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-t4n1495 td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-t4n1495 td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-t4n1495: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-t4n1495: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-t4n1495"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 55 controller reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Controller";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%228NKgZmo3fxQQhxjqHrn2AB%22%2C%22title%22%3A%22Scuf%20Omega%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fscuf-omega-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-07T15%3A02%3A11Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FPfiU4gZmnbsVoGaYsi3iY8.jpg%22%2C%22strapline%22%3A%22Closer%20to%20an%20Alpha%20or%20Beta%20than%20an%20Omega.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22wireless%20controller%22%2C%22wired%20controller%22%2C%22game%20controller%22%2C%22PC%20controller%22%2C%22Scuf%22%2C%22Scuf%20Omega%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22Closer%20to%20an%20Alpha%20or%20Beta%20than%20an%20Omega.%22%7D%2C%7B%22id%22%3A%22UqYpGJHzTjVNBBmU2SrrJn%22%2C%22title%22%3A%22GameSir%20T7%20Pro%20Sugar%20Whirl%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fgamesir-t7-pro-sugar-whirl-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-14T13%3A13%3A19Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fmx7yo6es2nmRYz34Vbuagg.jpg%22%2C%22strapline%22%3A%22Not%20quite%20the%20sweetest%20of%20treats.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22Review%22%2C%22Hardware%22%2C%22GameSir%22%2C%22Xbox%20Wireless%20Controller%22%2C%22Pink%22%2C%22Blue%22%2C%22purple%22%2C%22wireless%20controller%22%2C%22charging%22%2C%22charging%20stand%22%2C%22dock%22%2C%22TMR%20sticks%22%2C%22Hall%20effect%22%5D%2C%22score%22%3A75%2C%22summary%22%3A%22Not%20quite%20the%20sweetest%20of%20treats.%22%7D%2C%7B%22id%22%3A%22LxaJz5yKcWogc5hm5z84mj%22%2C%22title%22%3A%22GameSir%20G7%20Pro%208K%20Aimlabs%20Edition%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fgamesir-g7-pro-8k-aimlabs-edition-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-05-01T11%3A37%3A15Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FuT6Y9ABVa5DY9xXcAJrEwf.jpg%22%2C%22strapline%22%3A%22Would%20you%20pay%20%2410%20more%20for%20higher%20polling%3F%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22PC%20controller%22%2C%22game%20controller%22%2C%22wireless%20controller%22%2C%22Hardware%22%2C%22GameSir%22%2C%22GameSir%20G7%20Pro%208K%22%2C%22TMR%22%2C%22TMR%20sticks%22%2C%22GameSir%20g7%20Pro%208K%20Aimlabs%20Edition%22%5D%2C%22score%22%3A84%2C%22summary%22%3A%22Would%20you%20pay%20%2410%20more%20for%20higher%20polling%3F%22%7D%2C%7B%22id%22%3A%22B4p3aPJNV2Ckc47kSywXKQ%22%2C%22title%22%3A%22Steam%20Controller%20(2026)%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fsteam-controller-2026-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-04-27T17%3A00%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FaUXA7Xr75b7Xuvt2S6eeKY.jpg%22%2C%22strapline%22%3A%22Second%20time's%20the%20charm.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Valve%22%2C%22Steam%20Controller%22%2C%22controller%22%2C%22game%20pad%22%2C%22Steam%22%5D%2C%22score%22%3A83%2C%22summary%22%3A%22Second%20time's%20the%20charm.%22%7D%2C%7B%22id%22%3A%22WRLnnowV6sabshmTC8HujQ%22%2C%22title%22%3A%22EasySMX%20D05%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Feasysmx-d05-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-31T15%3A00%3A43Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FPqjBcwBzNJUwKiWav7NBZF.jpg%22%2C%22strapline%22%3A%22You%20can%20get%20Hall%20effect%20controllers%20slightly%20cheaper%2C%20but%20you'd%20struggle%20to%20find%20as%20feature-rich%20a%20package%20without%20some%20heavy%2C%20heavy%20sales.%20%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22wired%20controller%22%2C%22wireless%20controller%22%2C%22budget%22%2C%22Hall%20effect%22%2C%22EasySMX%22%2C%22EasySMX%20D10%22%2C%22Hardware%22%5D%2C%22score%22%3A87%2C%22summary%22%3A%22You%20can%20get%20Hall%20effect%20controllers%20slightly%20cheaper%2C%20but%20you'd%20struggle%20to%20find%20as%20feature-rich%20a%20package%20without%20some%20heavy%2C%20heavy%20sales.%20%22%7D%2C%7B%22id%22%3A%22fM5EQd4AH6qDUADhLjdeqe%22%2C%22title%22%3A%22EasySMX%20D10%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Feasysmx-d10-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-27T15%3A14%3A14Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FUgLVpPDZm7T9ZV36sAHGz4.jpg%22%2C%22strapline%22%3A%22A%20feature-rich%20budget%20TMR%20controller%20that%20only%20sometimes%20feels%20like%20a%20compromise.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22game%20controller%22%2C%22budget%22%2C%22TMR%22%2C%22TMR%20sticks%22%2C%22Hall%20effect%22%2C%22Review%22%2C%22Hardware%22%5D%2C%22score%22%3A80%2C%22summary%22%3A%22A%20feature-rich%20budget%20TMR%20controller%20that%20only%20sometimes%20feels%20like%20a%20compromise.%22%7D%2C%7B%22id%22%3A%22euxMmPNTRBtjcL6Rz4W3kD%22%2C%22title%22%3A%22Hyperkin%20Competitor%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fhyperkin-competitor-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-24T11%3A59%3A23Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F3TEoYfnGkzXiCm8xisUHGZ.jpg%22%2C%22strapline%22%3A%22It%20competes%20with%20a%20home%20field%20advantage%20on%20bang%20for%20buck%2C%20but%20can%20fall%20short%20on%20away%20games.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22controller%22%2C%22game%20pad%22%2C%22Hyperkin%22%5D%2C%22score%22%3A72%2C%22summary%22%3A%22It%20competes%20with%20a%20home%20field%20advantage%20on%20bang%20for%20buck%2C%20but%20can%20fall%20short%20on%20away%20games.%22%7D%2C%7B%22id%22%3A%22fjGZ5xcK8LaBGjLhbCCzjU%22%2C%22title%22%3A%22Moza%20AB9%20FFB%20Base%20%2B%20MH16%20Flightstick%20%2B%20MTP%20Throttle%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fmoza-ab9-ffb-base-mh16-flightstick-mtp-throttle-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-02-18T14%3A48%3A01Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F7sPx82rcLMVn5XmFgPZj97.jpg%22%2C%22strapline%22%3A%22One%20for%20the%20serious%20flight%20simmers%2C%20but%20a%20very%20impressive%20experience.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Flight%20Sims%22%2C%22force%20feedback%22%2C%22MOZA%22%2C%22joystick%22%2C%22flight%20stick%22%2C%22throttle%20controller%22%2C%22Moza%20AB9%20FFB%20Base%22%2C%22Moza%20MH16%20Flightstick%22%2C%22MSFS%202024%22%5D%2C%22score%22%3A86%2C%22summary%22%3A%22One%20for%20the%20serious%20flight%20simmers%2C%20but%20a%20very%20impressive%20experience.%22%7D%2C%7B%22id%22%3A%22NobwmgxJUWpkrLFPmkrnxL%22%2C%22title%22%3A%22Victrix%20Pro%20BFG%20Reloaded%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgame-pads%2Fvictrix-pro-bfg-reloaded-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222025-11-05T10%3A33%3A51Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fw5YASeamdYp7YnYfoUvq.jpg%22%2C%22strapline%22%3A%22A%20boon%20for%20fight%20pad%20lovers%2C%20but%20not%20a%20controller%20for%20the%20mainstream.%22%2C%22categories%22%3A%5B%22Game%20Pads%22%2C%22Hardware%22%2C%22Controllers%22%5D%2C%22tags%22%3A%5B%22PDP%22%2C%22Turtle%20Beach%22%2C%22Hardware%22%2C%22controller%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20boon%20for%20fight%20pad%20lovers%2C%20but%20not%20a%20controller%20for%20the%20mainstream.%22%7D%2C%7B%22id%22%3A%22ifyAnNg9BLtnbkM7627JrR%22%2C%22title%22%3A%228BitDo%20Pro%203%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2F8bitdo-pro-3-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222025-10-24T16%3A21%3A45Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F2ViNbtNwhhNsspHfd3k2A5.jpg%22%2C%22strapline%22%3A%22My%20new%20everyday%20controller%2C%20despite%20its%20flaws.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22controller%22%2C%22wireless%20controller%22%2C%228bitdo%22%2C%228BitDo%20Pro%203%22%2C%22PC%20controller%22%5D%2C%22score%22%3A76%2C%22summary%22%3A%22My%20new%20everyday%20controller%2C%20despite%20its%20flaws.%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 55;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Controller Widget"></iframe></div><h2 class="article-body__section" id="section-prime-day-controller-deals"><span>Prime Day controller deals </span></h2><div class="product"><a data-dimension112="ed21522a-b8e6-11f1-aad1-9d421446b232" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="$19.89" href="https://www.walmart.com/ip/GameSir-Nova-Lite-USB-Gamepad-Wireless-Bluetooth-Joystick-for-Apple-Arcade-Games/5394301595" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:425px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qrNkN3FB5J5tnFHGYuiYtE" name="Nova Lite" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qrNkN3FB5J5tnFHGYuiYtE-1920-80.jpg" mos="" align="middle" fullscreen="" width="425" height="425" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>It's incredible to think you can spend so little and get a stick drift-resistant wireless controller that doesn't completely suck. Luckily for the GameSir Nova Lite, it does all of the above and manages to feel good and light in the hands, too. </p><p><strong>Key specs: Wireless (Bluetooth and 2.4 GHz) | Asymmetric | Hall effect</strong><a class="view-deal button" href="https://www.walmart.com/ip/GameSir-Nova-Lite-USB-Gamepad-Wireless-Bluetooth-Joystick-for-Apple-Arcade-Games/5394301595" target="_blank" rel="nofollow" data-dimension112="ed21522a-b8e6-11f1-aad1-9d421446b232" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="$19.89">View Deal</a></p></div><div class="product"><a data-dimension112="ed2152f2-b8e6-11f1-afae-61ffb3df8d38" data-action="Deal Block" data-label="Ultimate 2C" data-dimension48="Ultimate 2C" data-dimension25="$29.99" href="https://www.amazon.com/dp/B0D736BCNM/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="VzGnuWAwAyES8AAmGqAW9d" name="8BitDo Ultimate 2C Wireless Controller.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VzGnuWAwAyES8AAmGqAW9d-1920-80.jpg" mos="" align="middle" fullscreen="" width="200" height="200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0D736BCNM/?th=1" target="_blank" rel="nofollow" data-dimension112="ed2152f2-b8e6-11f1-afae-61ffb3df8d38" data-action="Deal Block" data-label="Ultimate 2C" data-dimension48="Ultimate 2C" data-dimension25="$29.99">Ultimate 2C: $29.99</a></strong><br>We've already raved about Hall effect joysticks and how they spell the end for the dreaded stick drift. In this wireless gaming controller, they're a welcome feature, but this handful of gaming hardware packs a few quirky surprises too. For instance, there are <em>extra </em>bumper buttons.</p><p><strong>Key specs: Hall effect sticks, triggers | 2.4G wireless | 19 h battery</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0D736BCNM/?th=1" target="_blank" rel="nofollow" data-dimension112="ed2152f2-b8e6-11f1-afae-61ffb3df8d38" data-action="Deal Block" data-label="Ultimate 2C" data-dimension48="Ultimate 2C" data-dimension25="$29.99">View Deal</a></p></div><div class="product"><a data-dimension112="30a0b714-c168-11f1-b9f2-fbacd14b8b5f" data-action="Deal Block" data-label="X05 Pro" data-dimension48="X05 Pro" data-dimension25="$43.69" href="https://www.amazon.com/EasySMX-X05Pro-Wireless-Gaming-Controller-Charging/dp/B0GVS7HTWZ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:425px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="3eZyZnfyR9iAHvwpLaYTFo" name="D05" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/3eZyZnfyR9iAHvwpLaYTFo-1920-80.jpg" mos="" align="middle" fullscreen="" width="425" height="425" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The X05 Pro doesn't look like a budget controller. It uses Hall effect for the thumbsticks, which makes it resistant to stick drift. Moreover, it's wireless and comes with a charging dock. It's an easy pick even at full price.</p><p><strong>Key specs: Wireless (2.4 + Bluetooth) | HE sticks </strong><a class="view-deal button" href="https://www.amazon.com/EasySMX-X05Pro-Wireless-Gaming-Controller-Charging/dp/B0GVS7HTWZ" target="_blank" rel="nofollow" data-dimension112="30a0b714-c168-11f1-b9f2-fbacd14b8b5f" data-action="Deal Block" data-label="X05 Pro" data-dimension48="X05 Pro" data-dimension25="$43.69">View Deal</a></p></div><div class="product"><a data-dimension112="ed215428-b8e6-11f1-941d-3f082096f317" data-action="Deal Block" data-label="Wireless controller" data-dimension48="Wireless controller" data-dimension25="$49.49" href="https://www.walmart.com/ip/Microsoft-Xbox-Wireless-Controller-Carbon-Black/15060559533?classType=VARIANT&athbdg=L1200&from=/search" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="YTRwUu9W6d8x3mJzaimi69" name="1781604007.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YTRwUu9W6d8x3mJzaimi69-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="2000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/Microsoft-Xbox-Wireless-Controller-Carbon-Black/15060559533?classType=VARIANT&athbdg=L1200&from=/search" target="_blank" rel="nofollow" data-dimension112="ed215428-b8e6-11f1-941d-3f082096f317" data-action="Deal Block" data-label="Wireless controller" data-dimension48="Wireless controller" data-dimension25="$49.49">Wireless controller: was $64 now $49.49</a></strong><br>It may be vulnerable to stick drift (and that's a big downside), but it's hard to deny the quality on show with Microsoft's Xbox controller. Textured grips, clicky buttons, a nice weight and feel: it's got everything you need, ergonomically speaking.</p><p><strong>Key specs: Wireless | Asymmetric sticks </strong></p><p><strong>Price watch: </strong><a href="https://www.bestbuy.com/product/microsoft-xbox-wireless-controller-for-xbox-series-x-xbox-series-s-xbox-one-pcs-and-cloud-enabled-devices-deep-pink/JJGXPXQ257" target="_blank">Best Buy $69.99</a><strong> </strong>| <a href="https://www.amazon.com/Xbox-Wireless-Gaming-Controller-Headsets-Console/dp/B0F1J12R6N/ref=sr_1_3" target="_blank">Amazon $54</a></p></div><div class="product"><a data-dimension112="ed215554-b8e6-11f1-be46-59b14b2c9a3c" data-action="Deal Block" data-label="Valor Pro (wired)" data-dimension48="Valor Pro (wired)" data-dimension25="$69.99" href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-black" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:602px;"><p class="vanilla-image-block" style="padding-top:99.83%;"><img id="drjqSuWFdQCkPHb5yYa4uK" name="Valor Pro (wired)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/drjqSuWFdQCkPHb5yYa4uK-1920-80.png" mos="" align="middle" fullscreen="" width="602" height="601" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-black" target="_blank" rel="nofollow" data-dimension112="ed215554-b8e6-11f1-be46-59b14b2c9a3c" data-action="Deal Block" data-label="Valor Pro (wired)" data-dimension48="Valor Pro (wired)" data-dimension25="$69.99">Valor Pro (wired): was $99.99 now $69.99</a></strong><br>This is the <a href="https://www.pcgamer.com/best-controller-for-pc-gaming/#section-the-best-wired-controller" target="_blank">best wired controller for PC gaming</a> because it's just so damn satisfying to use. Everything about it screams quality, from the clicky DPAD to thunky back paddles. And it's fairly modular and customizable, too.</p><p><strong>Key specs: Wired (USB-C) | Hall effect thumbsticks | 260 g</strong></p><p><strong>Price check: </strong><a href="https://www.amazon.com/gp/aw/d/B0DTB3F17W" target="_blank">Amazon $99.99</a><a class="view-deal button" href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-black" target="_blank" rel="nofollow" data-dimension112="ed215554-b8e6-11f1-be46-59b14b2c9a3c" data-action="Deal Block" data-label="Valor Pro (wired)" data-dimension48="Valor Pro (wired)" data-dimension25="$69.99">View Deal</a></p></div><div class="product"><a data-dimension112="ed21561c-b8e6-11f1-873d-1b17d12f5b27" data-action="Deal Block" data-label="Valor Pro (wireless)" data-dimension48="Valor Pro (wireless)" data-dimension25="$129.99" href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-wireless-smoke" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:909px;"><p class="vanilla-image-block" style="padding-top:98.90%;"><img id="aekqUpXBiYxL4jfFq7SoSm" name="1782128336.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/aekqUpXBiYxL4jfFq7SoSm-1920-80.jpg" mos="" align="middle" fullscreen="" width="909" height="899" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-wireless-smoke" target="_blank" rel="nofollow" data-dimension112="ed21561c-b8e6-11f1-873d-1b17d12f5b27" data-action="Deal Block" data-label="Valor Pro (wireless)" data-dimension48="Valor Pro (wireless)" data-dimension25="$129.99">Valor Pro (wireless): was $189.99 now $129.99</a></strong><br>We had a lot of good things to say about the <a href="https://www.pcgamer.com/hardware/game-pads/scuf-valor-pro-review/" target="_blank">Scuf Valor Pro in our review</a>. From its comfortable shape to its customizable design. That said, we didn't like the price much, though this deal sure helps.</p><p><strong>Key specs: 2.4 GHz wireless, Bluetooth, Wired | Hall effect thumbsticks | 260 g</strong></p><p><strong>Price check: </strong><a href="https://www.amazon.com/VALOR-Wireless-Performance-Controller-Gaming-Console/dp/B0FPXJYFRQ?th=1" target="_blank">Amazon $139.99</a> | <a href="https://www.bestbuy.com/product/scuf-valor-pro-wireless-performance-controller-for-xbox-series-xs-xbox-one-and-pc-black/J39T25KR67" target="_blank">Best Buy $139.99</a><a class="view-deal button" href="https://www.scufgaming.com/us/en/p/scuf-valor-pro-wireless-smoke" target="_blank" rel="nofollow" data-dimension112="ed21561c-b8e6-11f1-873d-1b17d12f5b27" data-action="Deal Block" data-label="Valor Pro (wireless)" data-dimension48="Valor Pro (wireless)" data-dimension25="$129.99">View Deal</a></p></div><div class="product"><a data-dimension112="9ad2c23a-c163-11f1-9647-1f2dbcd820a7" data-action="Deal Block" data-label="Wolverine V3 Pro 8K" data-dimension48="Wolverine V3 Pro 8K" data-dimension25="$151.99" href="https://www.amazon.com/dp/B0FC9DTDJ3" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="oyWyECCjM2npsCm4FAktzU" name="PCGamer Deal Block (9)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oyWyECCjM2npsCm4FAktzU-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>With a great feel, superb specs, and a bunch of remappable buttons, the Wolverine V3 Pro 8K is not only viable as a competitive choice, but comfy enough for everyday use. </p><p><strong>Key specs: Up to 8,000 Hz | TMR thumbsticks | Hall effect triggers |</strong> <strong>included carry case | Wireless and wired | 20 hour battery life (with 1,000 Hz polling)</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FC9DTDJ3" target="_blank" rel="nofollow" data-dimension112="9ad2c23a-c163-11f1-9647-1f2dbcd820a7" data-action="Deal Block" data-label="Wolverine V3 Pro 8K" data-dimension48="Wolverine V3 Pro 8K" data-dimension25="$151.99">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><div class="vizualizer-embed"><fc-author-commerce-widget data-fcaw-version="1" data-fcaw-full-bleed="false">  <style data-fcaw-host-protection>fc-author-commerce-widget[data-fcaw-version="1"] {  display: block !important;  width: 100% !important;  min-width: 0 !important;  max-width: none !important;  isolation: isolate !important;  contain: style !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]{  width: min(    1200px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1200px !important;  margin-left: var(    --fcaw-full-bleed-offset,    calc(50% - min(600px, 50vw))  ) !important;  margin-right: 0 !important;  position: relative !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]  #tg-df-spreadsheet-filters {  width: min(    1500px,    var(--fcaw-viewport-width, 100vw)  ) !important;  max-width: 1500px !important;  margin-left: calc(    (      100% -      min(1500px, var(--fcaw-viewport-width, 100vw))    ) / 2  ) !important;  margin-right: 0 !important;}fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::before,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::after {  box-sizing: border-box;}</style>  <div data-fcaw-fallback class="fcaw-v1-fallback">    <style>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with 'tg-df-' to prevent CMS style leakage.    */    .tg-df-container { user-select: text; -webkit-user-select: text;      container-type: inline-size;      container-name: tg-df;                  --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]    {      width: min(        1200px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1200px !important;      margin-left: calc(        (          100% -          min(1200px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;      position: relative !important;    }    .tg-df-widget-host[data-tg-df-full-bleed="true"]      #tg-df-spreadsheet-filters {      width: min(        1500px,        var(--fcaw-viewport-width, 100vw)      ) !important;      max-width: 1500px !important;      margin-left: calc(        (          100% -          min(1500px, var(--fcaw-viewport-width, 100vw))        ) / 2      ) !important;      margin-right: 0 !important;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: var(--tg-df-blue);    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }        .tg-df-filters {      display: flex;      justify-content: center;      width: 100%;      gap: 12px;      margin: 0 auto;      max-width: 42rem;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;      max-width: 280px;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    .tg-df-scroll-btn {      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 4px;    }    .tg-df-scroll-btn.right {      right: 4px;    }    @container tg-df (max-width: 768px) {      .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 42rem;      margin: 0 auto;    }    .tg-df-filters {        justify-content: center;        width: 100%;        margin: 0 auto;        margin-bottom: -320px;        padding: 0 0 320px 0;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: calc(100% + 32px);      max-width: none;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;      margin: 0 -16px -16px -16px;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }    .tg-df-buying-guide-badge {      left: auto;      right: 12px;      max-width: calc(100% - 24px);      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges { position: absolute; bottom: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; z-index: 10; }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-card-listings {      margin: 0 0 12px;    }    .tg-df-card-listings-title {      display: block;      color: var(--tg-df-text-muted);      font-size: 11px;      font-weight: 700;      letter-spacing: 0.45px;      line-height: 1.2;      margin-bottom: 4px;      text-transform: uppercase;    }    .tg-df-card-listings-links {      border-top: 1px solid var(--tg-df-border);    }    .tg-df-container .tg-df-card-listing-link {      align-items: center;      border-bottom: 1px solid var(--tg-df-border);      box-sizing: border-box;      color: var(--tg-df-blue);      display: flex;      font-size: 13px;      font-weight: 700;      justify-content: space-between;      line-height: 1.2;      min-height: 34px;      padding: 5px 2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-listing-link::after {      content: '↗';      font-size: 14px;      font-weight: 600;      margin-left: 8px;    }    .tg-df-container .tg-df-card-listing-link:hover,    .tg-df-container .tg-df-card-listing-link:focus-visible {      background: #f8fafc;      color: var(--tg-df-blue);      outline: 2px solid var(--tg-df-blue);      outline-offset: -2px;      text-decoration: none;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: calc(100% + 32px);      max-width: none;      box-sizing: border-box;      background-color: var(--tg-df-blue);      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;      margin: 0 -16px -16px -16px;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      filter: brightness(0.85);    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /* Optional mobile 2x2 filter grid */    .tg-df-mobile-2x2-container {      display: none;      width: 100%;      margin: 0 0 16px 0;      position: relative;      z-index: 30;    }    .tg-df-mobile-2x2-grid {      display: grid;      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);      width: 100%;      border: 1px solid var(--tg-df-border, #e2e8f0);      background: var(--tg-df-bg, #ffffff);    }    .tg-df-container .tg-df-mobile-grid-cell {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      min-width: 0;      padding: 12px 14px;      font-family: inherit;      font-size: 11px;      font-weight: 600;      line-height: 1.2;      text-transform: uppercase;      letter-spacing: 0.5px;      text-align: left;      color: var(--tg-df-text-muted, #64748b);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-mobile-grid-cell > span {      overflow: hidden;      text-overflow: ellipsis;      white-space: nowrap;    }    .tg-df-mobile-grid-cell > svg {      flex: 0 0 auto;      margin-left: 8px;      transition: transform 0.15s ease;    }    .tg-df-mobile-grid-cell > svg.is-open {      transform: rotate(180deg);    }    .tg-df-mobile-grid-cell {      border-bottom: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-grid-cell:nth-child(odd) {      border-right: 1px solid var(--tg-df-border, #e2e8f0);    }    .tg-df-mobile-2x2-grid--even .tg-df-mobile-grid-cell:nth-last-child(-n + 2) {      border-bottom: 0;    }    .tg-df-mobile-2x2-grid--odd .tg-df-mobile-grid-cell:last-child {      grid-column: 1 / -1;      border-right: 0;      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-grid-cell.active,    .tg-df-container .tg-df-mobile-grid-cell:hover {      background: var(--tg-df-bg-secondary, #f8fafc);      color: var(--tg-df-text, #0f172a);    }    .tg-df-container .tg-df-mobile-grid-cell.has-active-filter {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;    }    .tg-df-mobile-menu-drawer {      width: 100%;      max-height: 260px;      overflow-y: auto;      overscroll-behavior: contain;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-top: 0;      background: var(--tg-df-bg, #ffffff);      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);    }    .tg-df-container .tg-df-mobile-menu-item {      appearance: none;      display: flex;      align-items: center;      justify-content: space-between;      width: 100%;      min-height: 42px;      padding: 12px 16px;      font-family: inherit;      font-size: 12px;      font-weight: 500;      line-height: 1.3;      text-align: left;      color: var(--tg-df-text, #0f172a);      background: var(--tg-df-bg, #ffffff);      border: 0;      border-bottom: 1px solid #f1f5f9;      border-radius: 0;      cursor: pointer;      box-shadow: none;    }    .tg-df-container .tg-df-mobile-menu-item:last-child {      border-bottom: 0;    }    .tg-df-container .tg-df-mobile-menu-item.selected {      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.08);      font-weight: 600;    }    .tg-df-container .tg-df-mobile-menu-item:hover {      background: var(--tg-df-bg-secondary, #f8fafc);    }    .tg-df-mobile-cell-badge {      display: inline-flex;      align-items: center;      justify-content: center;      padding: 2px 6px;      margin-left: 4px;      color: var(--tg-df-blue, #1f69ff);      background: rgba(31, 105, 255, 0.1);      border-radius: 9999px;      font-size: 10px;      font-weight: 700;    }    @container tg-df (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    @media (max-width: 599px) {      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-mobile-2x2-container {        display: block !important;        z-index: 50;        background: var(--tg-df-bg, #ffffff);        box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"]        .tg-df-mobile-2x2-container {        position: sticky !important;        top: var(--fcaw-mobile-sticky-offset, 0px);      }      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"]        .tg-df-controls {        display: none !important;      }    }    /* A non-full-bleed desktop embed is constrained to the article column.       Reuse the compact filter grid there instead of squeezing the rails. */    @container tg-df (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    @media (min-width: 600px) {      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-mobile-2x2-container {        display: block !important;      }      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-categories-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-freeform-tags-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-brands-row-container,      .tg-df-widget-host[data-tg-df-full-bleed="false"]        .tg-df-controls {        display: none !important;      }    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-mobile-authors { gap: 16px !important; }      .tg-df-mobile-authors .tg-df-author-row-item { width: 56px !important; }      .tg-df-mobile-authors .tg-df-author-img-wrapper { width: 48px !important; height: 48px !important; }      .tg-df-mobile-authors .tg-df-author-brand-logo { width: 18px !important; height: 18px !important; bottom: -2px !important; right: -2px !important; }      .tg-df-mobile-authors .tg-df-author-row-name { font-size: 11px !important; }      .tg-df-mobile-authors .tg-df-author-row-role { font-size: 10px !important; }            .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; }      .tg-df-controls {        padding: 16px 0 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 8px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    @media (max-width: 599px) {      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 5px 12px !important;        font-size: 11px !important;        height: 30px !important;        min-height: 30px !important;        border-radius: 0 !important;        flex: 0 0 auto;        text-align: center;        white-space: nowrap;        line-height: 1.2;        margin: 8px 0 0;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }        .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: var(--tg-df-blue);      position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }      .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: var(--tg-df-blue);      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }        .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;      scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-scroll-left {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: rgba(255, 255, 255, 0.4);      color: var(--tg-df-blue);      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);      border: none;      cursor: pointer;      transition: background-color 0.2s;      margin-top: -4px;      z-index: 10;    }    .tg-df-container .tg-df-carousel-scroll-right {      right: 0;    }    .tg-df-container .tg-df-carousel-scroll-left {      left: 0;    }    .tg-df-container .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-scroll-left:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left {       height: 30px;       width: 30px;       background-color: rgba(255, 255, 255, 0.8);       box-shadow: 0 2px 4px rgba(0,0,0,0.1);       margin-top: 0;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right:hover,    .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left:hover {       background-color: white;    }    .tg-df-container .tg-df-grid-wrapper {       position: relative;    }    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-right,    .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-left {       background-color: white;       box-shadow: 0 4px 12px rgba(0,0,0,0.15);       top: 40%;       width: 44px;       height: 44px;       color: #0f4098;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue);    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }            .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover, .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      width: calc(100% + 24px);      border-radius: 0;      padding: 8px 10px;      margin: auto -12px -12px -12px;      background-color: var(--tg-df-blue);    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; padding-right: 12px; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @media (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }      .tg-df-container .hawk-deal-widget-title-product-title,      .tg-df-container .hawk-deal-widget-title-price,      .tg-df-container .hawk-deal-widget-title-retailer {        font-size: 14px !important;        line-height: 1.35 !important;        font-weight: 700 !important;      }      .tg-df-container .hawk-deal-widget-title-was-price {        font-size: 13px !important;        line-height: 1.35 !important;      }      .tg-df-container .hawk-deal-widget-text-body-main {        font-size: 14px !important;        line-height: 1.35 !important;        margin-bottom: 8px !important;      }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    /* BESPOKE AUTHOR HEADER STYLES - MAX ISOLATION PROTECTION */    .tg-df-author-embed {      width: 100% !important;      font-family: inherit !important;      background: transparent !important;      margin: 0 !important;      padding: 0 !important;      border: none !important;    }    .tg-df-author-section {      display: block !important;      width: 100% !important;      max-width: 100% !important;      opacity: 1 !important;      overflow: visible !important;      background: transparent !important;      border: none !important;      margin: 0 auto !important;      padding: 0 !important;      box-shadow: none !important;    }    .tg-df-author-card {      text-align: center !important;      padding: 1.75rem 1rem 1.25rem 1rem !important;      margin: 0 auto !important;      max-width: 48rem !important;      background: transparent !important;      border: none !important;      border-radius: 0 !important;      box-sizing: border-box !important;      box-shadow: none !important;    }    .tg-df-author-image {      width: 180px !important;      height: 180px !important;      border-radius: 50% !important;      object-fit: cover !important;      margin: 0 auto 0.75rem auto !important;      display: block !important;      border: none !important;      box-shadow: none !important;      max-width: 100% !important;    }    .tg-df-author-media-slot {      width: 100% !important;      height: 180px !important;      min-height: 180px !important;      margin: 0 auto 0.75rem auto !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;    }    .tg-df-author-media-slot .tg-df-author-image {      margin: 0 auto !important;    }    .tg-df-author-profile-image-wrapper {      position: relative !important;      width: 180px !important;      height: 180px !important;      margin: 0 auto 0.75rem auto !important;      flex: 0 0 auto !important;    }    .tg-df-author-profile-brand-logo {      position: absolute !important;      right: 12px !important;      bottom: 12px !important;      width: 42px !important;      height: 42px !important;      padding: 0 !important;      border: 3px solid var(--tg-df-bg, #fff) !important;      border-radius: 50% !important;      background: #000 !important;      object-fit: contain !important;      box-sizing: border-box !important;    }    .tg-df-author-curated-by {      font-size: 0.875rem !important;      color: #6B7280 !important;      font-style: normal !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      line-height: 1.4 !important;    }    .tg-df-author-name {      font-size: 2rem !important;      font-weight: 300 !important;      color: #111827 !important;      margin: 0 0 0.25rem 0 !important;      padding: 0 !important;      line-height: 1.1 !important;      letter-spacing: -0.02em !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-role {      font-size: 0.9375rem !important;      font-weight: 500 !important;      color: var(--tg-df-blue, #1F69FF) !important;      margin: 0 0 1.25rem 0 !important;      padding: 0 !important;      line-height: 1.3 !important;      border: none !important;      background: none !important;      font-family: inherit !important;      text-transform: none !important;    }    .tg-df-author-meta-slot {      width: 100% !important;      min-height: 88px !important;      display: flex !important;      flex-direction: column !important;      align-items: center !important;      justify-content: flex-start !important;    }    .tg-df-author-meta-slot--site {      padding-top: 1rem !important;    }    .tg-df-author-meta-slot--no-social {      min-height: 0 !important;    }    .tg-df-author-meta-slot--no-social .tg-df-author-role {      margin-bottom: 0.5rem !important;    }    .tg-df-author-social-links {      display: flex !important;      flex-wrap: wrap !important;      align-items: center !important;      justify-content: center !important;      gap: 1rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 !important;      max-width: 42rem !important;      width: 100% !important;      list-style: none !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-social-btn {      display: inline-flex !important;      align-items: center !important;      justify-content: center !important;      padding: 0 !important;      border-radius: 50% !important;      background-color: #f2f2f2 !important;      color: #111111 !important;      font-size: 0.8125rem !important;      font-weight: 500 !important;      text-decoration: none !important;      transition: all 0.2s ease !important;      border: 0 !important;      line-height: 1 !important;      box-shadow: none !important;      cursor: pointer !important;      outline: none !important;      margin: 0 !important;      height: 34px !important;      width: 34px !important;      min-width: 34px !important;      box-sizing: border-box !important;    }    .tg-df-author-social-btn:hover {      background-color: #dedede !important;      color: #111111 !important;      transform: translateY(-1px) !important;    }    .tg-df-author-social-btn > svg {      width: 19px !important;      height: 19px !important;      flex-shrink: 0 !important;      display: block !important;      margin: 0 !important;    }    .tg-df-author-social-btn[data-social-key="facebook"] > svg {      transform: scale(1.25) !important;    }    .tg-df-author-social-btn[data-social-key="pinterest"] > svg,    .tg-df-author-social-btn[data-social-key="tiktok"] > svg {      transform: scale(1.2) !important;    }    .tg-df-author-bio {      max-width: 42rem !important;      margin: 0 auto 1.25rem auto !important;      padding: 0 0.5rem !important;      color: #4b5563 !important;      line-height: 1.6 !important;      font-weight: 300 !important;      font-size: 0.9375rem !important;      text-align: center !important;      background: none !important;      border: none !important;      border-radius: 0 !important;      box-shadow: none !important;      display: block !important;      height: auto !important;      overflow: visible !important;    }    .tg-df-author-bio-shell--stable {      width: 100% !important;      box-sizing: border-box !important;    }    .tg-df-author-bio--clamped {      min-height: 4.8em !important;      height: 4.8em !important;      max-height: 4.8em !important;      display: -webkit-box !important;      -webkit-box-orient: vertical !important;      -webkit-line-clamp: 3 !important;      overflow: hidden !important;    }    .tg-df-author-bio--expanded {      min-height: 4.8em !important;      height: auto !important;      max-height: none !important;      display: block !important;      overflow: visible !important;    }    .tg-df-author-bio--static,    .tg-df-author-bio--static:hover,    .tg-df-author-bio--static:focus,    .tg-df-author-bio--static:focus-visible {      outline: none !important;      box-shadow: none !important;      cursor: default !important;    }    .tg-df-author-bio-toggle-slot {      height: 28px !important;      display: flex !important;      align-items: center !important;      justify-content: center !important;      margin: 0.125rem 0 0 !important;    }    .tg-df-author-bio-toggle {      appearance: none !important;      border: 0 !important;      border-bottom: 1px solid currentColor !important;      border-radius: 0 !important;      padding: 0.125rem 0 !important;      margin: 0 !important;      background: transparent !important;      color: #4b5563 !important;      box-shadow: none !important;      font: inherit !important;      font-size: 0.75rem !important;      font-weight: 600 !important;      line-height: 1.2 !important;      text-decoration: none !important;      text-transform: none !important;      cursor: pointer !important;    }    .tg-df-author-bio a {      color: var(--tg-df-blue, #1F69FF) !important;      text-decoration: underline !important;      font-weight: 400 !important;      background: none !important;      border: none !important;      padding: 0 !important;      margin: 0 !important;      border-radius: 0 !important;      display: inline !important;      box-shadow: none !important;    }    .tg-df-author-bio p,    .tg-df-author-bio div,    .tg-df-author-bio span {      margin: 0 !important;      padding: 0 !important;      color: inherit !important;      font: inherit !important;      line-height: inherit !important;      text-align: inherit !important;      text-transform: none !important;      letter-spacing: normal !important;      background: none !important;      border: none !important;      box-shadow: none !important;    }    .tg-df-author-bio strong,    .tg-df-author-bio b {      font-weight: 600 !important;    }    .tg-df-author-bio em,    .tg-df-author-bio i {      font-style: italic !important;    }    @container tg-df (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @media (min-width: 600px) {      .tg-df-author-image {        width: 180px !important;        height: 180px !important;      }      .tg-df-author-name {        font-size: 2.5rem !important;      }    }    @container tg-df (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @media (max-width: 768px) {      .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; }    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }    @media (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; }      .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; }      .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; }      .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; }      .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; }    }        .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button {      align-items: center; background-color: var(--tg-df-blue); box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;    }    .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button:hover { filter: brightness(0.85); text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-active-badges-row {      display: flex;      flex-wrap: wrap;      gap: 8px;      align-items: center;      margin-top: 12px;      margin-bottom: 16px;      width: 100%;    }    .tg-df-active-badge {      display: inline-flex;      align-items: center;      gap: 6px;      padding: 8px 14px;      background-color: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border: 1px solid var(--tg-df-blue, #1f69ff);      border-radius: 0px;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;    }    .tg-df-badge-remove {      display: inline-flex;      align-items: center;      justify-content: center;      width: 16px;      height: 16px;      border-radius: 0px;      border: none;      background: rgba(255, 255, 255, 0.25);      color: #ffffff;      cursor: pointer;      padding: 0;      margin-left: 4px;      transition: background-color 0.15s, color 0.15s;    }    .tg-df-badge-remove:hover {      background: rgba(255, 255, 255, 0.45);      color: #ffffff;    }    .tg-df-badge-clear-all {      display: inline-flex;      align-items: center;      justify-content: center;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      line-height: 1;      padding: 8px 14px;      color: var(--tg-df-text-muted, #64748b);      cursor: pointer;      background: #ffffff;      border: 1px solid var(--tg-df-border, #e2e8f0);      border-radius: 0px;      transition: all 0.15s ease;    }    .tg-df-badge-clear-all:hover {      background: var(--tg-df-blue, #1f69ff);      color: #ffffff;      border-color: var(--tg-df-blue, #1f69ff);    }    .tg-df-savings-squad-header {      margin-bottom: 24px;      text-align: center;    }    .tg-df-banner-img-desktop {      display: block;      width: 100%;      height: auto;      margin-bottom: 32px;    }    .tg-df-banner-img-mobile {      display: none;      width: 100%;      height: auto;      margin-bottom: 32px;    }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop {        display: none;      }      .tg-df-banner-img-mobile {        display: block;      }    }    .tg-df-header-title {      font-size: 28px;      font-weight: 700;      color: var(--tg-df-text);      margin: 32px 0 12px 0;      line-height: 1.3;    }    .tg-df-header-subtitle {      font-size: 16px;      color: var(--tg-df-text-muted);      margin: 0 0 32px 0;      line-height: 1.5;    }    @container tg-df (max-width: 599px) {      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    @media (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-filters-container { display: none !important; }      #tg-df-controls { display: none !important; }      .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; }      .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; }      .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; }    }    /* Article Intro Content Styling */    .tg-df-article-content {      font-size: 1rem;      line-height: 1.7;      color: #334155;    }    .tg-df-article-content p {      margin-bottom: 1.25rem;      line-height: 1.7;      font-size: 1rem;      color: #334155;    }    .tg-df-article-content > p:first-of-type::first-letter {      font-size: 3.25rem;      font-weight: 700;      float: left;      line-height: 0.85;      margin-right: 0.5rem;      margin-top: 0.15rem;      color: #0f172a;      font-family: inherit;    }    .tg-df-article-content a {      color: #0066cc;      text-decoration: underline;      font-weight: 500;    }    .tg-df-article-content a:hover {      color: #004499;    }    .tg-df-article-content strong, .tg-df-article-content b {      font-weight: 700;      color: #0f172a;    }    .tg-df-article-section-banner {      border-bottom: 2px solid #e6007e;      margin: 2.25rem 0 1.25rem 0;      position: relative;      clear: both;    }    .tg-df-article-section-banner span {      background-color: #e6007e;      color: #ffffff;      padding: 6px 16px;      font-weight: 700;      font-size: 0.875rem;      text-transform: uppercase;      letter-spacing: 0.05em;      display: inline-block;    }  </style><div class="tg-df-widget-host" data-vizualizer-embed="true" data-tg-df-full-bleed="false" data-tg-df-mobile-dropdowns="true" data-tg-df-sticky-mobile-filters="false" style="--tg-df-blue: #DC191B;"><div class="tg-df-container article-body" style="background-color: transparent;"><div id="tg-df-spreadsheet-filters" style="display: block; margin-bottom: 16px;"><div class="tg-df-categories-row-container" style="border-bottom: 1px solid var(--tg-df-border); position: relative;"><button aria-label="Scroll left" class="tg-df-scroll-btn left tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 18l-6-6 6-6"></path></svg></button><button aria-label="Scroll right" class="tg-df-scroll-btn right tg-df-desktop-only" type="button" style="display: none;"><svg aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-categories-row" style="display: flex; overflow-x: auto; scrollbar-width: none;"><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Hardware <span style="color: var(--tg-df-blue); font-size: 10px;">66</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Monitors <span style="color: var(--tg-df-blue); font-size: 10px;">9</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming PCs <span style="color: var(--tg-df-blue); font-size: 10px;">7</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Mice <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Headsets <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Audio <span style="color: var(--tg-df-blue); font-size: 10px;">6</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">SSDs <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Storage <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Gaming Laptops <span style="color: var(--tg-df-blue); font-size: 10px;">4</span></button><button class="tg-df-category-row-item" style="border-top-width: medium; border-right: 1px solid var(--tg-df-border); border-bottom-width: medium; border-left-width: medium; border-top-style: none; border-bottom-style: none; border-left-style: none; border-top-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; padding: 12px 20px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 6px; background: var(--tg-df-bg); color: var(--tg-df-text-muted); font-weight: 500;">Controllers <span style="color: var(--tg-df-blue); font-size: 10px;">1</span></button></div></div></div><div class="tg-df-mobile-2x2-container"><div class="tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--odd"><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>CATEGORIES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell" aria-expanded="false"><span>PRICES</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button><button type="button" class="tg-df-mobile-grid-cell has-active-filter" aria-expanded="false"><span>DISCOUNTS (25%+)</span><svg aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"></path></svg></button></div></div><div class="tg-df-controls" id="tg-df-controls" style="display: flex; margin-top: 12px; margin-bottom: 16px; justify-content: center;"><div class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0px auto;"><button class="tg-df-scroll-btn left" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 18l-6-6 6-6"></path></svg></button><button class="tg-df-scroll-btn right" style="display: none;"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"></path></svg></button><div class="tg-df-filters"><div class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices"><option value="all">All Prices</option><option value="under50">Under $50</option><option value="50_100">$50 - $100</option><option value="100_200">$100 - $200</option><option value="200_500">$200 - $500</option><option value="over500">Over $500</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper" style="display: flex;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><select class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount"><option value="all">Any discount</option><option value="5">Min 5%</option><option value="10">Min 10%</option><option value="15">Min 15%</option><option value="20">Min 20%</option><option value="25">Min 25%</option><option value="30">Min 30%</option><option value="40">Min 40%</option><option value="50">Min 50%</option><option value="60">Min 60%</option><option value="70">Min 70%</option></select></div><div class="tg-df-sort-wrapper" id="tg-df-review-sort-wrapper" style="display: none;"><svg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 7h16M7 12h10m-7 5h4"></path></svg><select class="tg-df-filter-select" id="tg-df-review-sort" aria-label="Sort Reviews"><option value="date_desc">Most recent</option><option value="rating_desc">Highest rating</option><option value="scored_first">Scored products first</option></select></div></div></div></div><div class="tg-df-active-badges-row" style="display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 10px; margin-bottom: 16px;"><span class="tg-df-active-badge">Min 25% off<button type="button" class="tg-df-badge-remove" aria-label="Remove Min 25% off"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></span></div><div class="tg-df-grid-wrapper"><div class="tg-df-grid article-body tg-df-grid-auto" id="tg-df-grid"><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-0" data-merchant="Amazon" data-previous-price="34.99" data-price="25.99" data-product-name="G203 | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $9</span><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G203 | Wired" class="tg-df-card-image" loading="lazy" src="http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G203 | Wired"><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G203 | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>25.99</span></span><span class="tg-df-card-msrp">$34.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Glorious" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-0" data-merchant="Amazon" data-previous-price="59.99" data-price="26.31" data-product-name="GHS Eternal | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33.68</span><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="GHS Eternal | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="GHS Eternal | 40 mm drivers"><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Glorious GHS Eternal | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>26.31</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-1" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed | Wireless"><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-86" data-merchant="Amazon" data-previous-price="49.99" data-price="29.99" data-product-name="G305 Lightspeed"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G305 Lightspeed" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G305 Lightspeed"><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G305 Lightspeed</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>29.99</span></span><span class="tg-df-card-msrp">$49.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B07CMS5Q6P" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-87" data-merchant="Bestbuy" data-previous-price="69.99" data-price="34.98" data-product-name="Basilisk V3"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35.01</span><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Basilisk V3" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Basilisk V3"><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Basilisk V3</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>34.98</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-3" data-merchant="Amazon" data-previous-price="69.99" data-price="37.99" data-product-name="G502 Hero | Wired"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $32</span><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G502 Hero | Wired" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G502 Hero | Wired"><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G502 Hero | Wired</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>37.99</span></span><span class="tg-df-card-msrp">$69.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-80" data-merchant="Amazon" data-previous-price="59.99" data-price="39.79" data-product-name="BlackShark V2 X"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20.2</span><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="BlackShark V2 X" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="BlackShark V2 X"><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer BlackShark V2 X</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.79</span></span><span class="tg-df-card-msrp">$59.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Logitech" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-1" data-merchant="Amazon" data-previous-price="79.99" data-price="39.99" data-product-name="G432 | 50 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $40</span><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="G432 | 50 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="G432 | 50 mm drivers"><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Logitech G432 | 50 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>39.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Razer" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-2" data-merchant="Amazon" data-previous-price="79.99" data-price="44.99" data-product-name="Kraken V4 X | 40 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $35</span><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Kraken V4 X | 40 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Kraken V4 X | 40 mm drivers"><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Razer Kraken V4 X | 40 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>44.99</span></span><span class="tg-df-card-msrp">$79.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Turtle Beach" data-currency="$" data-deal-id="airedale-DpQ8P8QRZKyquhjyAvtzVT-5" data-merchant="Amazon" data-previous-price="99.99" data-price="54.99" data-product-name="Burst II Air | Wireless"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $45</span><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Burst II Air | Wireless" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Burst II Air | Wireless"><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Turtle Beach Burst II Air | Wireless</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>54.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Dave James" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Dave James</a></strong> • Editor-in-Chief, Hardware<span style="color: var(--tg-df-text-muted);"> • 56 mins ago</span></div></div></div></div><a href="https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="HyperX" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-5" data-merchant="Amazon" data-previous-price="99.99" data-price="57.99" data-product-name="Cloud III | 53 mm drivers"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $42</span><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Cloud III | 53 mm drivers" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Cloud III | 53 mm drivers"><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>HyperX Cloud III | 53 mm drivers</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>57.99</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Nothing" data-currency="$" data-deal-id="airedale-3XCZfpsYgsNo9mNRWv4oSg-15" data-merchant="Amazon" data-previous-price="79" data-price="59" data-product-name="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $20</span><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)"><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Nothing Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>59</span></span><span class="tg-df-card-msrp">$79</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Andy Edser" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Andy Edser</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="KTC" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-40" data-merchant="Newegg" data-previous-price="99.99" data-price="62.49" data-product-name="H24V27"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $37.5</span><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="H24V27" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="H24V27"><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>KTC H24V27</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code &quot;LDSF246&quot; for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>62.49</span></span><span class="tg-df-card-msrp">$99.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/3D4-007C-00016" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Scuf" data-currency="$" data-deal-id="airedale-A97h9Ug45WeF5xPLdcoJyf-0" data-merchant="Amazon" data-previous-price="109.99" data-price="76.99" data-product-name="Valor Pro"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $33</span><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="Valor Pro" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="Valor Pro"><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Scuf Valor Pro</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>76.99</span></span><span class="tg-df-card-msrp">$109.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="Jess Kinghorn" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/hardware/controllers/the-best-wired-pc-controller-has-been-knocked-down-to-usd77-so-long-as-you-dont-mind-it-in-white" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">Jess Kinghorn</a></strong> • Hardware Writer<span style="color: var(--tg-df-text-muted);"> • 24 days ago</span></div></div></div></div><a href="https://www.amazon.com/dp/B0DTB3QCS5" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Acer" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-41" data-merchant="Newegg" data-previous-price="129.99" data-price="79.99" data-product-name="AOpen 24KG1Y X3bip"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="AOpen 24KG1Y X3bip" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="AOpen 24KG1Y X3bip"><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Acer AOpen 24KG1Y X3bip</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Newegg</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.newegg.com/p/N82E16824011533" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="Asus" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-82" data-merchant="Amazon" data-previous-price="129.99" data-price="79.99" data-product-name="ROG Pelta"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50</span><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="ROG Pelta" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="ROG Pelta"><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>Asus ROG Pelta</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>79.99</span></span><span class="tg-df-card-msrp">$129.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Amazon</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-vCxWr8kxLPhtdqNjq9cgjZ-43" data-merchant="Bestbuy" data-previous-price="149.99" data-price="97.49" data-product-name="MAG 244F"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $52.5</span><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 244F" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 244F"><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 244F</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>97.49</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Bestbuy</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/labor-day-pc-gaming-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 21 days ago</span></div></div></div></div><a href="https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-card" data-brand="MSI" data-currency="$" data-deal-id="airedale-UBBZiFU9BXsLfvbZ8d4awf-1" data-merchant="Walmart" data-previous-price="149.99" data-price="99" data-product-name="MAG 255XFV"><div class="tg-df-card-image-box"><span class="tg-df-card-discount-badge">Save $50.99</span><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-deal-widget" target="_blank" rel="sponsored nofollow noopener" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"><img alt="MAG 255XFV" class="tg-df-card-image" loading="lazy" src="https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg"></a><div class="tg-df-card-badges"></div></div><div class="tg-df-card-body"><h3 class="tg-df-card-title" title="MAG 255XFV"><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" class="hawk-affiliate-link-container" target="_blank" rel="sponsored nofollow noopener" style="text-decoration: none; color: inherit;"><strong>MSI MAG 255XFV</strong></a></h3><div style="margin-bottom: 12px; position: relative;"><p style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS</p><button type="button" style="display: block; appearance: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0px; background: linear-gradient(to right, transparent, rgb(255, 255, 255) 20%, rgb(255, 255, 255)); padding: 0px 0px 0px 16px;">READ MORE</button></div><div class="tg-df-card-footer"><div class="tg-df-card-price-group"><span class="tg-df-card-price">$<span>99</span></span><span class="tg-df-card-msrp">$149.99</span></div><div class="tg-df-author-line-desktop" style="padding: 0px 0px 12px;"><div style="display: flex; align-items: center; gap: 10px;"><img alt="James Bentley" class="tg-df-author-img" width="36" height="36" src="https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-480-80.png" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;"><div style="display: flex; flex-direction: column;"><div style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;"><span style="color: rgb(255, 102, 0);">Walmart</span> deal recommended by:</div><div style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;"><strong><a href="https://www.pcgamer.com/amazon-prime-day-gaming-monitor-deals" target="_blank" rel="noopener" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">James Bentley</a></strong> • Hardware writer<span style="color: var(--tg-df-text-muted);"> • 2 hrs ago</span></div></div></div></div><a href="https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174" data-fcaw-affiliate-link="" target="_blank" rel="sponsored nofollow noopener" class="tg-df-card-cta hawk-affiliate-link-deal-button" style="text-decoration: none;">VIEW DEAL</a></div></div></div><div class="tg-df-load-more-control" style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1; overflow-anchor: none;"><button type="button" class="tg-df-tag-outline" aria-busy="false" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More</button></div><script type="application/ld+json">{"@context":"https://schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Product","name":"G203 | Wired","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":25.99,"url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":2,"item":{"@type":"Product","name":"GHS Eternal | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","brand":{"@type":"Brand","name":"Glorious"},"offers":{"@type":"Offer","priceCurrency":"USD","price":26.31,"url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":3,"item":{"@type":"Product","name":"G305 Lightspeed | Wireless","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":4,"item":{"@type":"Product","name":"G305 Lightspeed","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":29.99,"url":"https://www.amazon.com/dp/B07CMS5Q6P","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":5,"item":{"@type":"Product","name":"Basilisk V3","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":34.98,"url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":6,"item":{"@type":"Product","name":"G502 Hero | Wired","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":37.99,"url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":7,"item":{"@type":"Product","name":"BlackShark V2 X","image":"https://cdn.mos.cms.futurecdn.net/iyz3iXLiJcKt88PnaWDqFi.jpg","description":"The Razer BlackShark V2 X is a remarkably good gaming headset, so much so that we'd say it was absolutely worth its full asking price, never mind the $20 discount you'll find here. Razer's 50 mm titanium drivers are nicely punchy and capable of plenty of volume without distortion, it's well-made, comfortable to wear all day, and the mic is pretty good, too. Plus, it's got a green cable, and we all know that pop of colour makes wired gaming headsets better by default. Key specs:50 mm drivers | Wired | Cardioid microphone","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.79,"url":"https://www.amazon.com/Razer-BlackShark-V2-Gaming-Headset/dp/B086PKMZ21/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":8,"item":{"@type":"Product","name":"G432 | 50 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y.jpg","description":"Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash. Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $49.99","brand":{"@type":"Brand","name":"Logitech"},"offers":{"@type":"Offer","priceCurrency":"USD","price":39.99,"url":"https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":9,"item":{"@type":"Product","name":"Kraken V4 X | 40 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe.jpg","description":"If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too. Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired Price check: Best Buy $59.99","brand":{"@type":"Brand","name":"Razer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":44.99,"url":"https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":10,"item":{"@type":"Product","name":"Burst II Air | Wireless","image":"https://cdn.mos.cms.futurecdn.net/oHpVvSDqMgFC5rnRe2pUnQ.jpg","description":"We gave this mouse an 85% in our review, praising its very low weight, huge battery life, and super-responsive feel. It doesn't have quite as many fun extras as competitors and can be a bit of a fingerprint magnet, but it is a super solid choice at this price. Key specs: Wireless | 26,000 DPI | Symmetrical Price check:Best Buy $99.99","brand":{"@type":"Brand","name":"Turtle Beach"},"offers":{"@type":"Offer","priceCurrency":"USD","price":54.99,"url":"https://www.amazon.com/Turtle-Beach-Burst-Air-Lightweight/dp/B0D1CS6C2L/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":11,"item":{"@type":"Product","name":"Cloud III | 53 mm drivers","image":"https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3.jpg","description":"We found this headset to be very comfy in our review, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look. Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired Price check: Best Buy $57.99","brand":{"@type":"Brand","name":"HyperX"},"offers":{"@type":"Offer","priceCurrency":"USD","price":57.99,"url":"https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":12,"item":{"@type":"Product","name":"Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)","image":"https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z.png","description":"These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too. Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response","brand":{"@type":"Brand","name":"Nothing"},"offers":{"@type":"Offer","priceCurrency":"USD","price":59,"url":"https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":13,"item":{"@type":"Product","name":"H24V27","image":"https://cdn.mos.cms.futurecdn.net/Zn2NZDLM6QnkGJ9n4JBG8E.png","description":"This KTC pick is a budget pick, and it knows it. The 100 Hz refresh rate is just okay; a VA panel means less good viewing angles and color accuracy, but it's a solid enough gaming monitor, and the cheapest I'd actually recommend right now. Remember to use the code "LDSF246" for the full discount Key specs: 24-inch | 100 Hz | 1 ms | VA","brand":{"@type":"Brand","name":"KTC"},"offers":{"@type":"Offer","priceCurrency":"USD","price":62.49,"url":"https://www.newegg.com/p/3D4-007C-00016","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":14,"item":{"@type":"Product","name":"Valor Pro","image":"https://cdn.mos.cms.futurecdn.net/vgsaXpAMZKbxs9u6HUFV2W.png","description":"This controller is comfy, responsive, and all its various buttons, sticks, and triggers feel very high-quality. There's little to dislike about the Valor Pro unless you really don't want to keep that cable. This is a great price for a Scuf controller, too. Key Specs: Wired USB Type-C | Xbox, Windows | Hall effect thumbsticks","brand":{"@type":"Brand","name":"Scuf"},"offers":{"@type":"Offer","priceCurrency":"USD","price":76.99,"url":"https://www.amazon.com/dp/B0DTB3QCS5","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":15,"item":{"@type":"Product","name":"AOpen 24KG1Y X3bip","image":"https://cdn.mos.cms.futurecdn.net/fqL7czYaKKB7Rk7rmTQe5C.png","description":"With a $50 discount, this is the highest refresh rate 1080p monitor you will find at its price point. It's also IPS, which offers better viewing angles and colours than VA and comes with a solid response time too. Key specs: 23.8-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"Acer"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.newegg.com/p/N82E16824011533","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":16,"item":{"@type":"Product","name":"ROG Pelta","image":"https://cdn.mos.cms.futurecdn.net/BvSb9rkRtpTSDDSBFEv84V.jpg","description":"With a strong battery life, super comfortable fit, and nice, airy materials, the Asus ROG Pelta is a bit of a belter. At its usual price, it's still a very good offering, but $45 off makes it an instant recommendation. Key specs: 2.4 GHz, Bluetooth, and USB-C connectivity | 90-hour battery life","brand":{"@type":"Brand","name":"Asus"},"offers":{"@type":"Offer","priceCurrency":"USD","price":79.99,"url":"https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/?th=1","seller":{"@type":"Organization","name":"Amazon"}}}},{"@type":"ListItem","position":17,"item":{"@type":"Product","name":"MAG 244F","image":"https://cdn.mos.cms.futurecdn.net/mYqdsr7LKubQtfmTBy5XL7.png","description":"With a hurtling-fast refresh rate and snappy response rate, this IPS panel from MSI is a solid competitive pick for just under $100. Key specs: 24-inch | 200 Hz | 0.5 ms | IPS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":97.49,"url":"https://www.bestbuy.com/product/msi-mag-244f-24-fhd-rapid-ips-200hz-0-5ms-gaming-monitor-with-freesync-premium-and-hdr-ready-hdmi-displayport-metallic-black/J3P7TX95RK/sku/11064910","seller":{"@type":"Organization","name":"Bestbuy"}}}},{"@type":"ListItem","position":18,"item":{"@type":"Product","name":"MAG 255XFV","image":"https://cdn.mos.cms.futurecdn.net/SdhjSd7YdmiehGuzvXtiwU.jpg","description":"You might not like the VA panel and its low brightness, but you'll surely like the speed and price tag. 250 Hz, 0.5 ms pixel time, and adaptive sync will all help to ensure you get super-silky gaming. Key specs: 25-inch | 250 Hz | 0.5 ms | VA Price check: Best Buy OOS | Micro Centre OOS","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":99,"url":"https://www.walmart.com/ip/MSI-MAG-255XFV-25-Class-Full-HD-Gaming-LED-Monitor-16-9-Metallic-Black-24-5-Viewable-Rapid-Vertical-Alignment-VA-LED-Backlight-1920-x-1080-16-7-Milli/6933451174","seller":{"@type":"Organization","name":"Walmart"}}}}]}</script></div></div><div class="tg-df-modal-backdrop "><div class="tg-df-modal"><div class="tg-df-modal-header"><h3 class="tg-df-modal-title">Available Coupons & Deals</h3><button class="tg-df-modal-close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="tg-df-modal-body"><div class="tg-df-message">No active vouchers found for .</div></div></div></div></div></div>  </div>  <script type="application/json" data-fcaw-config>{"authorBioLength":"short","authorFullBleed":false,"authorHandle":"all-authors","authorName":"All authors","backgroundColor":"transparent","customBio":"","discountAmount":"25","editorMode":false,"editorialMaxAgeMonths":"0","includeBuyingGuideProducts":false,"includeCollections":false,"includeDeals":true,"includeReviewProducts":false,"mobileDropdowns":true,"stickyMobileFilters":false,"offerType":"","preloadReviewInventory":false,"lightweightReviewDelivery":false,"hideHawkPrices":false,"prioritiseCommercialProducts":true,"priceRange":"all","productSelection":"mix","query":"","region":"auto","resultCount":"6","retailer":"","selectedBrands":[],"showAuthorBio":false,"showAuthorCounters":true,"showAuthorIdentity":false,"showAuthorRail":false,"showBrandRail":false,"showCategoryRail":true,"showCollectionsDropdown":false,"showPriceDiscountFilters":true,"showReviewSort":false,"showSocialButtons":false,"showCountdown":false,"showHeaderDetails":true,"showFreeformTagRail":false,"sort":"price_asc","viewMode":"author","website":"pcgamer","widgetSubtitle":"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.","widgetTitle":"Top Deals Handpicked by Our Editors","brands":[],"shortenedHeadlines":{},"compactEmbed":true}</script>  <script type="application/json" data-fcaw-preload>{"authors":[{"bioLong":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","bioShort":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","name":"James","fullName":"James Bentley","handle":"james-bentley","role":"Hardware writer","image":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","brandKey":"pcgamer"},{"bioLong":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","bioShort":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","name":"Dave","fullName":"Dave James","handle":"dave-james","role":"Editor-in-Chief, Hardware","image":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/not_the_gk","label":"X (Twitter)"},{"key":"email","href":"mailto:dave.james@futurenet.com","label":"Email"}]},{"bioLong":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","bioShort":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","name":"Jacob","fullName":"Jacob Fox","handle":"jacob-fox","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","brandKey":"pcgamer"},{"bioLong":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","bioShort":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","name":"Andy","fullName":"Andy Edser","handle":"andy-edser","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","brandKey":"pcgamer"},{"bioLong":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","bioShort":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","name":"Jess","fullName":"Jess Kinghorn","handle":"jess-kinghorn","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/KoeniginKatze","label":"X (Twitter)"},{"key":"linkedin","href":"https://www.linkedin.com/in/jess-kinghorn","label":"LinkedIn"}]}],"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"activeDealTag":null,"activeFreeformTag":null,"activeFreeformTags":[],"couponMap":{"Amazon":"has","Bestbuy":"none","Newegg":"none","Walmart":"none"},"totalAuthorCount":5,"totalDealCount":56,"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"reviewInventoryBaked":false,"regionalDealManifests":{"US":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-0","url":"https://www.amazon.com/Logitech-LIGHTSYNC-Wired-Gaming-Mouse/dp/B07YN82X3B/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":25.99,"rawMsrp":34.99,"price":"25.99","msrp":"34.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $9","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed Price check:Best Buy $39.99","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g203-lightsync-wired-optical-gaming-mouse-with-8000-dpi-sensor-white/6409362.p?skuId=6409362\" target=\"_blank\"\u003eBest Buy $39.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-0","url":"https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1","image":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9.png","title":"GHS Eternal | 40 mm drivers","brand":"Glorious","productName":"GHS Eternal | 40 mm drivers","merchant":"Amazon","rawPrice":26.31,"rawMsrp":59.99,"price":"26.31","msrp":"59.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $33.68","savingType":"amount","isPrime":false,"starRating":null,"description":"With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g","text":"\u003cp\u003eWith a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20 hz - 20 kHz | 255 g\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-1","url":"https://www.amazon.com/Logitech-LIGHTSPEED-Wireless-Gaming-Mouse/dp/B07CMS5Q6P/?th=1","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite budget wireless mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills. Key specs: Wireless | 12,000 DPI | Right-handed Price check: Best Buy $49.99","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite budget wireless mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/product/logitech-g305-lightspeed-wireless-optical-6-programmable-button-gaming-mouse-with-12000-dpi-hero-sensor-wireless-white/J7H7ZY2ZYR\" target=\"_blank\"\u003eBest Buy $49.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-86","url":"https://www.amazon.com/dp/B07CMS5Q6P","image":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/dpuXF5Uxu6UiYvVTFQgMMT.png","title":"G305 Lightspeed","brand":"Logitech","productName":"G305 Lightspeed","merchant":"Amazon","rawPrice":29.99,"rawMsrp":49.99,"price":"29.99","msrp":"49.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $20","savingType":"amount","isPrime":false,"starRating":null,"description":"Already reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason. Key specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life","text":"\u003cp\u003eAlready reasonably priced, who could say no to this charming rodent at a deep discount? Offering precision and durability with buttons rated for 10 million clicks—plus an array of fetching colours—this remains a great budget pick for good reason.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless gaming mouse | Hero sensor | 12K CPI | 5 programmable buttons | 99 g weight | 200 hour battery life\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-vCxWr8kxLPhtdqNjq9cgjZ-87","url":"https://www.bestbuy.com/product/razer-basilisk-v3-optical-gaming-mouse-with-chroma-rbg-lighting-wired-black/J3GTVWWXLS","image":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/N9iH8xZ8SztLJ9SyQsufAP.jpg","title":"Basilisk V3","brand":"Razer","productName":"Basilisk V3","merchant":"Bestbuy","rawPrice":34.98,"rawMsrp":69.99,"price":"34.98","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $35.01","savingType":"amount","isPrime":false,"starRating":null,"description":"This mouse might be a few years old, but we scored it highly in our review in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to tempt even those who usually hate RGB lighting. Key specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g","text":"\u003cp\u003eThis mouse might be a few years old, but we scored it highly in \u003ca href=\"https://www.pcgamer.com/razer-basilisk-v3-gaming-mouse-review/\" target=\"_blank\"\u003eour review\u003c/a\u003e in part thanks to that lovely ergonomic design. It also has some lush underglow RGB that's sure to \u003ca href=\"https://www.pcgamer.com/hardware/im-ashamed-to-say-that-this-razer-mouse-has-made-me-actually-take-a-shine-to-rgb-and-now-you-can-be-persuaded-too-for-almost-50-percent-off/\" target=\"_blank\"\u003etempt even those who usually hate RGB lighting\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired gaming mouse | 26K DPI | 11 buttons | 100 g\u003c/strong\u003e\u003c/p\u003e","authorName":"James Bentley","authorRole":"Hardware writer","authorImage":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","documentUrl":"labor-day-pc-gaming-deals","modifiedDate":"2026-09-07T11:22:09Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-3","url":"https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":37.99,"rawMsrp":69.99,"price":"37.99","msrp":"69.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $32","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. Key specs: Wired | 25,600 DPI | Right-handed Price check:Best Buy $69.99","text":"\u003cp\u003eThis is a substantial discount on a tried and tested Logitech gaming mouse, with a large amount of customisation. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customizable buttons, and comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check:\u003c/strong\u003e\u003ca href=\"https://www.bestbuy.com/site/logitech-g502-hero-wired-optical-gaming-mouse-with-rgb-lighting-black/6265133.p?skuId=6265133\" target=\"_blank\"\u003eBest Buy $69.99\u003c/a\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true}],"GB":[{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-10","url":"https://www.amazon.co.uk/Logitech-Lightsync-Customizable-Lighting-Programmable/dp/B07W5JKFQC/","image":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","fallbackImage":"http://cdn.mos.cms.futurecdn.net/qgFqUinn2HCKHEThJ47QpC.jpg","title":"G203 | Wired","brand":"Logitech","productName":"G203 | Wired","merchant":"Amazon","rawPrice":19.99,"rawMsrp":30.99,"price":"19.99","msrp":"30.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £11","savingType":"amount","isPrime":false,"starRating":null,"description":"Perfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral. Key specs: Wired | 8,000 DPI | Right-handed","text":"\u003cp\u003ePerfect as a starter or low-budget option with a list of useful features like 6 programmable buttons, Lightsync RGB effects and a ton of customisation via Logitech's G Hub software, this mouse proves that you don't need to go fancy to get a great gaming peripheral.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 8,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-11","url":"https://www.amazon.co.uk/Logitech-Wireless-Lightweight-Programmable-compatible/dp/B07CGPZ3ZQ","image":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/krHdzSvvW5EskC6Keg74P9.jpg","title":"G305 Lightspeed | Wireless","brand":"Logitech","productName":"G305 Lightspeed | Wireless","merchant":"Amazon","rawPrice":19.99,"rawMsrp":27.99,"price":"19.99","msrp":"27.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £8","savingType":"amount","isPrime":false,"starRating":null,"description":"The Logitech G305 Lightspeed is our favorite wireless budget mouse—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays. Key specs: Wireless | 12,000 DPI | Right-handed","text":"\u003cp\u003eThe Logitech G305 Lightspeed is our\u003ca href=\"https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-budget-wireless-gaming-mouse\" target=\"_blank\"\u003e favorite wireless budget mouse\u003c/a\u003e—it's nothing fancy, but it's lightweight, has great battery life, and uses a killer sensor. The only thing to note is that this deal isn't necessarily that out of left field—the G305 hasn't been at full price for a while, but it's still worth snagging if you need a nice budget option with no frills in time for the holidays.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wireless | 12,000 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-19","url":"https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/","image":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb.jpg","title":"Quantum 100 | 40 mm drivers","brand":"JBL","productName":"Quantum 100 | 40 mm drivers","merchant":"Amazon","rawPrice":19.99,"rawMsrp":29.99,"price":"19.99","msrp":"29.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £10","savingType":"amount","isPrime":false,"starRating":null,"description":"JBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired","text":"\u003cp\u003eJBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's \u0026quot;Quantum Sound Signature\u0026quot;, memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-DpQ8P8QRZKyquhjyAvtzVT-12","url":"https://www.amazon.co.uk/Logitech-Programmable-Buttons-Computer-Adjustable/dp/B07GS6ZB7T/","image":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/SaXBHtPWoMGvzcyvsLNQQX.jpg","title":"G502 Hero | Wired","brand":"Logitech","productName":"G502 Hero | Wired","merchant":"Amazon","rawPrice":22.01,"rawMsrp":37.79,"price":"22.01","msrp":"37.79","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £15.78","savingType":"amount","isPrime":false,"starRating":null,"description":"This is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness. Key specs: Wired | 25,600 DPI | Right-handed","text":"\u003cp\u003eThis is a tried and tested Logitech gaming mouse, with an astonishing amount of customisation potential. The G502 Hero uses the Hero 25K sensor for accuracy, 11 customisable buttons with onboard memory, and even comes with five removable weights to adjust the feel for even the pickiest of competitive gamers. The two main buttons use mechanical switch tensioning to make every click feel satisfying, and the programmable RGB lighting finishes off this comprehensive package of gaming mouse goodness.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Wired | 25,600 DPI | Right-handed\u003c/strong\u003e\u003c/p\u003e","authorName":"Dave James","authorRole":"Editor-in-Chief, Hardware","authorImage":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","documentUrl":"hardware/gaming-mice/best-october-prime-day-gaming-mouse-deals","modifiedDate":"2026-09-28T13:33:10Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-23","url":"https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1","image":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z.jpg","title":"G321 Lightspeed | 40 mm drivers","brand":"Logitech","productName":"G321 Lightspeed | 40 mm drivers","merchant":"Amazon","rawPrice":32.99,"rawMsrp":59.99,"price":"32.99","msrp":"59.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £27","savingType":"amount","isPrime":false,"starRating":null,"description":"This very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in his review. It won't blow you away with bass or features, but at this price it's still worth considering. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless Price check: Currys £42.99","text":"\u003cp\u003eThis very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in \u003ca href=\"https://www.pcgamer.com/hardware/gaming-headsets/logitech-g321-lightspeed-review/\" target=\"_blank\"\u003ehis review\u003c/a\u003e. It won't blow you away with bass or features, but at this price it's still worth considering.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless \u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g321-lightspeed-wireless-bluetooth-gaming-headset-black-10289632.html\" target=\"_blank\"\u003eCurrys £42.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-3XCZfpsYgsNo9mNRWv4oSg-20","url":"https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/","image":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa.jpg","title":"G335 | 40 mm drivers","brand":"Logitech","productName":"G335 | 40 mm drivers","merchant":"Amazon","rawPrice":34.99,"rawMsrp":64.99,"price":"34.99","msrp":"64.99","currency":"£","isoCurrency":"GBP","isCheckPrice":false,"savingLabel":"Save £30","savingType":"amount","isPrime":false,"starRating":null,"description":"This Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans. Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired Price check: Currys £34.99","text":"\u003cp\u003eThis Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.currys.co.uk/products/logitech-g335-gaming-headset-black-10227173.html\" target=\"_blank\"\u003eCurrys £34.99\u003c/a\u003e\u003c/p\u003e","authorName":"Andy Edser","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","documentUrl":"hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices","modifiedDate":"2026-09-28T12:20:35Z","isFeatured":false,"hasCommerceOffer":true}],"AU":[{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-5","url":"https://www.amazon.com.au/JBL-QuantumSOUND-Signature-Comfortable-Breathable/dp/B0D6NLHV8N","image":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cvnYTUETxZSPZrZFK8PUMG.jpg","title":"Quantum 100M2","brand":"JBL","productName":"Quantum 100M2","merchant":"Amazon","rawPrice":29,"rawMsrp":59.95,"price":"29","msrp":"59.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$30.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.","text":"\u003cp\u003eIf you're hell bent on keeping costs low, JBL’s Quantum 100M2 is cheap as chips—especially if you happen to be buying AU$29 worth of chips. These aren't fancy but they do work, with a boom mic, breathable ear cushions, and a stripped-back design.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-1","url":"https://www.amazon.com.au/dp/B0CMCPY4VG","image":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR.jpg","title":"Nova Lite","brand":"GameSir","productName":"Nova Lite","merchant":"Amazon","rawPrice":32,"rawMsrp":45,"price":"32","msrp":"45","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$13","savingType":"amount","isPrime":false,"starRating":null,"description":"Our favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.","text":"\u003cp\u003eOur favourite budget PC controller gets a discount that brings it into impulse-buy territory. There's a lot to love at this price point: 2.4Ghz wireless connectivity, Bluetooth, a wired option via the Type-C port, and ten hours of battery life. The build quality isn't the sturdiest going around, and there's no audio jack, but this is a great piece of kit for well under AU$50.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-15","url":"https://www.amazon.com.au/dp/B07MG5547J","image":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/CpEke9LRsjxAHdxrhG7A8X.jpg","title":"G502 Hero","brand":"Logitech","productName":"G502 Hero","merchant":"Amazon","rawPrice":55.99,"rawMsrp":149.95,"price":"55.99","msrp":"149.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$93.96","savingType":"amount","isPrime":false,"starRating":null,"description":"Logitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;","text":"\u003cp\u003eLogitech's 502 series is extremely well regarded, and this Hero version saw an upgrade to the sensor. They're famed for their reliability and flawless operation. They also look glorious, eschewing today's minimalist looks for a statement that says \u0026quot;that's right, I'm dangerous.\u0026quot;\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-8","url":"https://www.amazon.com.au/CORSAIR-Membrane-Wired-Gaming-Keyboard/dp/B0CP6BR96G","image":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/hCzSayyAe4ZYCjzREFjJYF.jpg","title":"K55 Core Membrane","brand":"Corsair","productName":"K55 Core Membrane","merchant":"Amazon","rawPrice":59,"rawMsrp":79.95,"price":"59","msrp":"79.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$20.95","savingType":"amount","isPrime":false,"starRating":null,"description":"This discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.","text":"\u003cp\u003eThis discount makes an affordable keyboard much more so, dipping it into impulse buy territory. Membrane keyboards aren't for everyone - they lack the gratifying tactility of their mechanical siblings—but if you like 'em, or are curious, this is a trick. It's a wired affair with ten-zone RGB, spill resistance, and—naturally unusually quiet button presses.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-11","url":"https://www.amazon.com.au/dp/B01K48R5V4","image":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","fallbackImage":"https://cdn.mos.cms.futurecdn.net/ZcBJ4EUisHsNDt77uYcuWK.webp","title":"G G213 Prodigy","brand":"Logitech","productName":"G G213 Prodigy","merchant":"Amazon","rawPrice":72,"rawMsrp":129.95,"price":"72","msrp":"129.95","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$57.95","savingType":"amount","isPrime":false,"starRating":null,"description":"If you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.","text":"\u003cp\u003eIf you fancy a new keyboard but are averse to spending more than AU$100, this Logitech slab will prove mighty irresistible. We haven't reviewed it, but we've tested tonnes of great Logitech gear, and at this price you're getting some great features including \u0026quot;spill resistance\u0026quot; and the full RGB experience.\u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-KZZhYzyEWnMMHMP5SjoAbU-13","url":"https://www.amazon.com.au/CORSAIR-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8/","image":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","fallbackImage":"https://cdn.mos.cms.futurecdn.net/cW72DJwAyNRGpScgFDYEWg.jpg","title":"Sabre v2 Pro","brand":"Corsair","productName":"Sabre v2 Pro","merchant":"Amazon","rawPrice":79,"rawMsrp":169,"price":"79","msrp":"169","currency":"A$","isoCurrency":"AUD","isCheckPrice":false,"savingLabel":"Save A$90","savingType":"amount","isPrime":false,"starRating":null,"description":"The Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox loved its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life.","text":"\u003cp\u003eThe Corsair Sabre V2 Pro is one of PC Gamer's best reviewed gaming mice of 2025. Jacob Fox \u003ca href=\"https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/\"\u003eloved\u003c/a\u003e its near-impossible lightness (36g!), app-free ease of use, brilliant sensor and robust build, though didn't like that it can only store one onboard profile. Look at the specs: 8,000Hz Hyper-Polling, 33,000 DPI, and up to 70 hours of battery life. \u003c/p\u003e","authorName":"Shaun Prescott","authorRole":"Australian Editor","authorImage":"https://cdn.mos.cms.futurecdn.net/W7q4asCziYRHUEennZcpyC.png","documentUrl":"best-amazon-prime-day-pc-gaming-deals-in-australia","modifiedDate":"2026-09-28T04:01:12Z","isFeatured":false,"hasCommerceOffer":true}]},"regionalDealRailData":{"US":{"brands":[{"formatted_value":"Acer","count":13},{"formatted_value":"Samsung","count":12},{"formatted_value":"MSI","count":11},{"formatted_value":"Logitech","count":7},{"formatted_value":"HyperX","count":5},{"formatted_value":"LG","count":5},{"formatted_value":"Razer","count":4},{"formatted_value":"Yawyore","count":3},{"formatted_value":"Koorui","count":3},{"formatted_value":"ASRock","count":3},{"formatted_value":"Kingston","count":2},{"formatted_value":"Crucial","count":2},{"formatted_value":"Team Group","count":2},{"formatted_value":"Lenovo","count":2},{"formatted_value":"Skytech","count":2},{"formatted_value":"Gigabyte","count":2},{"formatted_value":"Asus","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"Glorious","count":1},{"formatted_value":"Nothing","count":1},{"formatted_value":"HP","count":1},{"formatted_value":"KTC","count":1},{"formatted_value":"Innocn","count":1},{"formatted_value":"Corsair","count":1},{"formatted_value":"SteelSeries","count":1},{"formatted_value":"Scuf","count":1}],"freeformTagCounts":{"hardware":66,"mouse":6,"gaming-mouse":6,"prime-day":6,"amazon-prime-day-2026":12,"amazon-prime-day":30,"prime-day-deals":24,"deals":31,"deal":32,"big-deal-days":30,"gaming-headset":6,"amazon-prime":18,"ssd":4,"pc-deals":18,"gaming-laptops":4,"intel":6,"nvidia":4,"radeon":2,"gaming-pc":3,"gaming-monitor":9,"ryzen":2,"monitors":8,"solid-state-drive":4,"solid-state":4,"hdd":4,"hard-drive":4,"storage":4,"gaming-laptop":4,"budget":4,"cheap":4,"labor-day":38,"gaming-pc-deals":1,"collections":1,"control-pad":1,"gamepad":1,"scuf-gaming":1,"scuf-valor-pro":1,"scuf-valor-pro-wired":1,"wired":1,"wired-controller":1,"scuf":1,"wired-gamepad":1,"pc-controller":1,"monitor":1,"monitor-deals":1,"4k-monitor":1,"gaming-monitor-deal":1,"4k":1,"4k-gaming":1,"acer":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"labor-day","label":"labor day","requestValue":"labor day"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"gaming-laptops","label":"gaming laptops","requestValue":"gaming laptops"},{"handle":"nvidia","label":"Nvidia","requestValue":"Nvidia"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"radeon","label":"Radeon","requestValue":"Radeon"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"collections","label":"collections","requestValue":"collections"},{"handle":"control-pad","label":"control pad","requestValue":"control pad"},{"handle":"gamepad","label":"gamepad","requestValue":"gamepad"},{"handle":"scuf-gaming","label":"Scuf Gaming","requestValue":"Scuf Gaming"},{"handle":"scuf-valor-pro","label":"Scuf Valor Pro","requestValue":"Scuf Valor Pro"},{"handle":"scuf-valor-pro-wired","label":"Scuf Valor Pro wired","requestValue":"Scuf Valor Pro wired"},{"handle":"wired","label":"wired","requestValue":"wired"},{"handle":"wired-controller","label":"wired controller","requestValue":"wired controller"},{"handle":"scuf","label":"Scuf","requestValue":"Scuf"},{"handle":"wired-gamepad","label":"wired gamepad","requestValue":"wired gamepad"},{"handle":"pc-controller","label":"PC controller","requestValue":"PC controller"},{"handle":"monitor","label":"monitor","requestValue":"monitor"},{"handle":"monitor-deals","label":"Monitor deals","requestValue":"Monitor deals"},{"handle":"4k-monitor","label":"4K monitor","requestValue":"4K monitor"},{"handle":"gaming-monitor-deal","label":"Gaming Monitor deal","requestValue":"Gaming Monitor deal"},{"handle":"4k","label":"4K","requestValue":"4K"},{"handle":"4k-gaming","label":"4K gaming","requestValue":"4K gaming"},{"handle":"acer","label":"Acer","requestValue":"Acer"}],"tagCounts":{"Gaming Mice":6,"Hardware":66,"Gaming Headsets":6,"Gaming Audio":6,"SSDs":4,"Storage":4,"Gaming Laptops":4,"Gaming PCs":7,"Gaming Monitors":9,"Controllers":1},"tags":["Hardware","Gaming Monitors","Gaming PCs","Gaming Mice","Gaming Headsets","Gaming Audio","SSDs","Storage","Gaming Laptops","Controllers"],"totalAuthorCount":5,"totalDealCount":56},"GB":{"brands":[{"formatted_value":"Logitech","count":6},{"formatted_value":"Steelseries","count":2},{"formatted_value":"EarFun","count":2},{"formatted_value":"Lexar","count":2},{"formatted_value":"AOC","count":2},{"formatted_value":"MSI","count":2},{"formatted_value":"JBL","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Turtle Beach","count":1}],"freeformTagCounts":{"hardware":17,"mouse":5,"gaming-mouse":5,"prime-day":5,"amazon-prime-day-2026":14,"amazon-prime-day":17,"prime-day-deals":8,"deals":17,"deal":17,"big-deal-days":17,"gaming-headset":9,"amazon-prime":3,"ssd":1,"pc-deals":3,"gaming-monitor":2,"monitors":2,"solid-state-drive":1,"solid-state":1,"hdd":1,"hard-drive":1,"storage":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime-day","label":"Amazon Prime Day","requestValue":"Amazon Prime Day"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"big-deal-days","label":"Big Deal Days","requestValue":"Big Deal Days"},{"handle":"amazon-prime-day-2026","label":"Amazon Prime Day 2026","requestValue":"Amazon Prime Day 2026"},{"handle":"gaming-headset","label":"gaming headset","requestValue":"gaming headset"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"},{"handle":"mouse","label":"mouse","requestValue":"mouse"},{"handle":"gaming-mouse","label":"gaming mouse","requestValue":"gaming mouse"},{"handle":"prime-day","label":"Prime Day","requestValue":"Prime Day"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"gaming-monitor","label":"gaming monitor","requestValue":"gaming monitor"},{"handle":"monitors","label":"monitors","requestValue":"monitors"},{"handle":"ssd","label":"SSD","requestValue":"SSD"},{"handle":"solid-state-drive","label":"solid state drive","requestValue":"solid state drive"},{"handle":"solid-state","label":"solid state","requestValue":"solid state"},{"handle":"hdd","label":"HDD","requestValue":"HDD"},{"handle":"hard-drive","label":"Hard Drive","requestValue":"Hard Drive"},{"handle":"storage","label":"storage","requestValue":"storage"}],"tagCounts":{"Gaming Mice":5,"Hardware":17,"Gaming Headsets":9,"Gaming Audio":9,"SSDs":1,"Storage":1,"Gaming Monitors":2},"tags":["Hardware","Gaming Headsets","Gaming Audio","Gaming Mice","Gaming Monitors","SSDs","Storage"],"totalAuthorCount":4,"totalDealCount":17},"AU":{"brands":[{"formatted_value":"Logitech","count":7},{"formatted_value":"Corsair","count":4},{"formatted_value":"JBL","count":2},{"formatted_value":"Turtle Beach","count":1},{"formatted_value":"GameSir","count":1},{"formatted_value":"8BitDo","count":1},{"formatted_value":"HyperX","count":1},{"formatted_value":"Asus","count":1},{"formatted_value":"Razer","count":1},{"formatted_value":"SteelSeries","count":1}],"freeformTagCounts":{"hardware":20,"amazon-prime":20,"pc-deals":20,"deals":20,"prime-day-deals":20},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"amazon-prime","label":"Amazon Prime","requestValue":"Amazon Prime"},{"handle":"pc-deals","label":"PC deals","requestValue":"PC deals"},{"handle":"deals","label":"Deals","requestValue":"Deals"},{"handle":"prime-day-deals","label":"prime day deals","requestValue":"prime day deals"}],"tagCounts":{"Hardware":20},"tags":["Hardware"],"totalAuthorCount":1,"totalDealCount":20}}}</script></fc-author-commerce-widget><script>(()=>{var Z1=Object.create;var cg=Object.defineProperty;var W1=Object.getOwnPropertyDescriptor;var I1=Object.getOwnPropertyNames;var J1=Object.getPrototypeOf,$1=Object.prototype.hasOwnProperty;var un=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var eb=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of I1(t))!$1.call(e,l)&&l!==n&&cg(e,l,{get:()=>t[l],enumerable:!(a=W1(t,l))||a.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Z1(J1(e)):{},eb(t||!e||!e.__esModule?cg(n,"default",{value:e,enumerable:!0}):n,e));var Ag=un(z=>{"use strict";var Tc=Symbol.for("react.transitional.element"),tb=Symbol.for("react.portal"),nb=Symbol.for("react.fragment"),ab=Symbol.for("react.strict_mode"),lb=Symbol.for("react.profiler"),ib=Symbol.for("react.consumer"),rb=Symbol.for("react.context"),ob=Symbol.for("react.forward_ref"),ub=Symbol.for("react.suspense"),cb=Symbol.for("react.memo"),mg=Symbol.for("react.lazy"),sb=Symbol.for("react.activity"),sg=Symbol.iterator;function db(e){return e===null||typeof e!="object"?null:(e=sg&&e[sg]||e["@@iterator"],typeof e=="function"?e:null)}var hg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pg=Object.assign,yg={};function ml(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}ml.prototype.isReactComponent={};ml.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ml.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function vg(){}vg.prototype=ml.prototype;function Ec(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}var Dc=Ec.prototype=new vg;Dc.constructor=Ec;pg(Dc,ml.prototype);Dc.isPureReactComponent=!0;var dg=Array.isArray;function Rc(){}var he={H:null,A:null,T:null,S:null},bg=Object.prototype.hasOwnProperty;function xc(e,t,n){var a=n.ref;return{$$typeof:Tc,type:e,key:t,ref:a!==void 0?a:null,props:n}}function fb(e,t){return xc(e.type,t,e.props)}function Mc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function gb(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var fg=/\/+/g;function Cc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?gb(""+e.key):t.toString(36)}function mb(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Rc,Rc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function gl(e,t,n,a,l){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var r=!1;if(e===null)r=!0;else switch(i){case"bigint":case"string":case"number":r=!0;break;case"object":switch(e.$$typeof){case Tc:case tb:r=!0;break;case mg:return r=e._init,gl(r(e._payload),t,n,a,l)}}if(r)return l=l(e),r=a===""?"."+Cc(e,0):a,dg(l)?(n="",r!=null&&(n=r.replace(fg,"$&/")+"/"),gl(l,t,n,"",function(c){return c})):l!=null&&(Mc(l)&&(l=fb(l,n+(l.key==null||e&&e.key===l.key?"":(""+l.key).replace(fg,"$&/")+"/")+r)),t.push(l)),1;r=0;var o=a===""?".":a+":";if(dg(e))for(var u=0;u<e.length;u++)a=e[u],i=o+Cc(a,u),r+=gl(a,t,n,i,l);else if(u=db(e),typeof u=="function")for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,i=o+Cc(a,u++),r+=gl(a,t,n,i,l);else if(i==="object"){if(typeof e.then=="function")return gl(mb(e),t,n,a,l);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return r}function ro(e,t,n){if(e==null)return e;var a=[],l=0;return gl(e,a,"","",function(i){return t.call(n,i,l++)}),a}function hb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var gg=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},pb={map:ro,forEach:function(e,t,n){ro(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ro(e,function(){t++}),t},toArray:function(e){return ro(e,function(t){return t})||[]},only:function(e){if(!Mc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};z.Activity=sb;z.Children=pb;z.Component=ml;z.Fragment=nb;z.Profiler=lb;z.PureComponent=Ec;z.StrictMode=ab;z.Suspense=ub;z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=he;z.__COMPILER_RUNTIME={__proto__:null,c:function(e){return he.H.useMemoCache(e)}};z.cache=function(e){return function(){return e.apply(null,arguments)}};z.cacheSignal=function(){return null};z.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=pg({},e.props),l=e.key;if(t!=null)for(i in t.key!==void 0&&(l=""+t.key),t)!bg.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(a[i]=t[i]);var i=arguments.length-2;if(i===1)a.children=n;else if(1<i){for(var r=Array(i),o=0;o<i;o++)r[o]=arguments[o+2];a.children=r}return xc(e.type,l,a)};z.createContext=function(e){return e={$$typeof:rb,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:ib,_context:e},e};z.createElement=function(e,t,n){var a,l={},i=null;if(t!=null)for(a in t.key!==void 0&&(i=""+t.key),t)bg.call(t,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(l[a]=t[a]);var r=arguments.length-2;if(r===1)l.children=n;else if(1<r){for(var o=Array(r),u=0;u<r;u++)o[u]=arguments[u+2];l.children=o}if(e&&e.defaultProps)for(a in r=e.defaultProps,r)l[a]===void 0&&(l[a]=r[a]);return xc(e,i,l)};z.createRef=function(){return{current:null}};z.forwardRef=function(e){return{$$typeof:ob,render:e}};z.isValidElement=Mc;z.lazy=function(e){return{$$typeof:mg,_payload:{_status:-1,_result:e},_init:hb}};z.memo=function(e,t){return{$$typeof:cb,type:e,compare:t===void 0?null:t}};z.startTransition=function(e){var t=he.T,n={};he.T=n;try{var a=e(),l=he.S;l!==null&&l(n,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Rc,gg)}catch(i){gg(i)}finally{t!==null&&n.types!==null&&(t.types=n.types),he.T=t}};z.unstable_useCacheRefresh=function(){return he.H.useCacheRefresh()};z.use=function(e){return he.H.use(e)};z.useActionState=function(e,t,n){return he.H.useActionState(e,t,n)};z.useCallback=function(e,t){return he.H.useCallback(e,t)};z.useContext=function(e){return he.H.useContext(e)};z.useDebugValue=function(){};z.useDeferredValue=function(e,t){return he.H.useDeferredValue(e,t)};z.useEffect=function(e,t){return he.H.useEffect(e,t)};z.useEffectEvent=function(e){return he.H.useEffectEvent(e)};z.useId=function(){return he.H.useId()};z.useImperativeHandle=function(e,t,n){return he.H.useImperativeHandle(e,t,n)};z.useInsertionEffect=function(e,t){return he.H.useInsertionEffect(e,t)};z.useLayoutEffect=function(e,t){return he.H.useLayoutEffect(e,t)};z.useMemo=function(e,t){return he.H.useMemo(e,t)};z.useOptimistic=function(e,t){return he.H.useOptimistic(e,t)};z.useReducer=function(e,t,n){return he.H.useReducer(e,t,n)};z.useRef=function(e){return he.H.useRef(e)};z.useState=function(e){return he.H.useState(e)};z.useSyncExternalStore=function(e,t,n){return he.H.useSyncExternalStore(e,t,n)};z.useTransition=function(){return he.H.useTransition()};z.version="19.2.8"});var ft=un((zS,wg)=>{"use strict";wg.exports=Ag()});var Bg=un(Se=>{"use strict";function Oc(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,l=e[a];if(0<oo(l,t))e[a]=t,e[n]=l,n=a;else break e}}function cn(e){return e.length===0?null:e[0]}function co(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,l=e.length,i=l>>>1;a<i;){var r=2*(a+1)-1,o=e[r],u=r+1,c=e[u];if(0>oo(o,n))u<l&&0>oo(c,o)?(e[a]=c,e[u]=n,a=u):(e[a]=o,e[r]=n,a=r);else if(u<l&&0>oo(c,n))e[a]=c,e[u]=n,a=u;else break e}}return t}function oo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Se.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Sg=performance,Se.unstable_now=function(){return Sg.now()}):(_c=Date,Cg=_c.now(),Se.unstable_now=function(){return _c.now()-Cg});var Sg,_c,Cg,wn=[],Qn=[],yb=1,Ut=null,et=3,kc=!1,Mi=!1,_i=!1,Lc=!1,Eg=typeof setTimeout=="function"?setTimeout:null,Dg=typeof clearTimeout=="function"?clearTimeout:null,Rg=typeof setImmediate<"u"?setImmediate:null;function uo(e){for(var t=cn(Qn);t!==null;){if(t.callback===null)co(Qn);else if(t.startTime<=e)co(Qn),t.sortIndex=t.expirationTime,Oc(wn,t);else break;t=cn(Qn)}}function Hc(e){if(_i=!1,uo(e),!Mi)if(cn(wn)!==null)Mi=!0,pl||(pl=!0,hl());else{var t=cn(Qn);t!==null&&zc(Hc,t.startTime-e)}}var pl=!1,Bi=-1,xg=5,Mg=-1;function _g(){return Lc?!0:!(Se.unstable_now()-Mg<xg)}function Bc(){if(Lc=!1,pl){var e=Se.unstable_now();Mg=e;var t=!0;try{e:{Mi=!1,_i&&(_i=!1,Dg(Bi),Bi=-1),kc=!0;var n=et;try{t:{for(uo(e),Ut=cn(wn);Ut!==null&&!(Ut.expirationTime>e&&_g());){var a=Ut.callback;if(typeof a=="function"){Ut.callback=null,et=Ut.priorityLevel;var l=a(Ut.expirationTime<=e);if(e=Se.unstable_now(),typeof l=="function"){Ut.callback=l,uo(e),t=!0;break t}Ut===cn(wn)&&co(wn),uo(e)}else co(wn);Ut=cn(wn)}if(Ut!==null)t=!0;else{var i=cn(Qn);i!==null&&zc(Hc,i.startTime-e),t=!1}}break e}finally{Ut=null,et=n,kc=!1}t=void 0}}finally{t?hl():pl=!1}}}var hl;typeof Rg=="function"?hl=function(){Rg(Bc)}:typeof MessageChannel<"u"?(Nc=new MessageChannel,Tg=Nc.port2,Nc.port1.onmessage=Bc,hl=function(){Tg.postMessage(null)}):hl=function(){Eg(Bc,0)};var Nc,Tg;function zc(e,t){Bi=Eg(function(){e(Se.unstable_now())},t)}Se.unstable_IdlePriority=5;Se.unstable_ImmediatePriority=1;Se.unstable_LowPriority=4;Se.unstable_NormalPriority=3;Se.unstable_Profiling=null;Se.unstable_UserBlockingPriority=2;Se.unstable_cancelCallback=function(e){e.callback=null};Se.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):xg=0<e?Math.floor(1e3/e):5};Se.unstable_getCurrentPriorityLevel=function(){return et};Se.unstable_next=function(e){switch(et){case 1:case 2:case 3:var t=3;break;default:t=et}var n=et;et=t;try{return e()}finally{et=n}};Se.unstable_requestPaint=function(){Lc=!0};Se.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=et;et=e;try{return t()}finally{et=n}};Se.unstable_scheduleCallback=function(e,t,n){var a=Se.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?a+n:a):n=a,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return l=n+l,e={id:yb++,callback:t,priorityLevel:e,startTime:n,expirationTime:l,sortIndex:-1},n>a?(e.sortIndex=n,Oc(Qn,e),cn(wn)===null&&e===cn(Qn)&&(_i?(Dg(Bi),Bi=-1):_i=!0,zc(Hc,n-a))):(e.sortIndex=l,Oc(wn,e),Mi||kc||(Mi=!0,pl||(pl=!0,hl()))),e};Se.unstable_shouldYield=_g;Se.unstable_wrapCallback=function(e){var t=et;return function(){var n=et;et=t;try{return e.apply(this,arguments)}finally{et=n}}}});var Og=un((GS,Ng)=>{"use strict";Ng.exports=Bg()});var Lg=un(ot=>{"use strict";var vb=ft();function kg(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Kn(){}var rt={d:{f:Kn,r:function(){throw Error(kg(522))},D:Kn,C:Kn,L:Kn,m:Kn,X:Kn,S:Kn,M:Kn},p:0,findDOMNode:null},bb=Symbol.for("react.portal");function Ab(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:bb,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}var Ni=vb.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function so(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ot.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=rt;ot.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(kg(299));return Ab(e,t,null,n)};ot.flushSync=function(e){var t=Ni.T,n=rt.p;try{if(Ni.T=null,rt.p=2,e)return e()}finally{Ni.T=t,rt.p=n,rt.d.f()}};ot.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,rt.d.C(e,t))};ot.prefetchDNS=function(e){typeof e=="string"&&rt.d.D(e)};ot.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin),l=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?rt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:l,fetchPriority:i}):n==="script"&&rt.d.X(e,{crossOrigin:a,integrity:l,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ot.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=so(t.as,t.crossOrigin);rt.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&rt.d.M(e)};ot.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,a=so(n,t.crossOrigin);rt.d.L(e,n,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};ot.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=so(t.as,t.crossOrigin);rt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else rt.d.m(e)};ot.requestFormReset=function(e){rt.d.r(e)};ot.unstable_batchedUpdates=function(e,t){return e(t)};ot.useFormState=function(e,t,n){return Ni.H.useFormState(e,t,n)};ot.useFormStatus=function(){return Ni.H.useHostTransitionStatus()};ot.version="19.2.8"});var Ug=un((qS,zg)=>{"use strict";function Hg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Hg)}catch(e){console.error(e)}}Hg(),zg.exports=Lg()});var Wy=un(Hu=>{"use strict";var Ge=Og(),sh=ft(),wb=Ug();function S(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function dh(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function vr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function fh(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function gh(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Gg(e){if(vr(e)!==e)throw Error(S(188))}function Sb(e){var t=e.alternate;if(!t){if(t=vr(e),t===null)throw Error(S(188));return t!==e?null:e}for(var n=e,a=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(a=l.return,a!==null){n=a;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return Gg(l),e;if(i===a)return Gg(l),t;i=i.sibling}throw Error(S(188))}if(n.return!==a.return)n=l,a=i;else{for(var r=!1,o=l.child;o;){if(o===n){r=!0,n=l,a=i;break}if(o===a){r=!0,a=l,n=i;break}o=o.sibling}if(!r){for(o=i.child;o;){if(o===n){r=!0,n=i,a=l;break}if(o===a){r=!0,a=i,n=l;break}o=o.sibling}if(!r)throw Error(S(189))}}if(n.alternate!==a)throw Error(S(190))}if(n.tag!==3)throw Error(S(188));return n.stateNode.current===n?e:t}function mh(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=mh(e),t!==null)return t;e=e.sibling}return null}var ve=Object.assign,Cb=Symbol.for("react.element"),fo=Symbol.for("react.transitional.element"),Pi=Symbol.for("react.portal"),Sl=Symbol.for("react.fragment"),hh=Symbol.for("react.strict_mode"),ys=Symbol.for("react.profiler"),ph=Symbol.for("react.consumer"),Mn=Symbol.for("react.context"),fd=Symbol.for("react.forward_ref"),vs=Symbol.for("react.suspense"),bs=Symbol.for("react.suspense_list"),gd=Symbol.for("react.memo"),Zn=Symbol.for("react.lazy");Symbol.for("react.scope");var As=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var Rb=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var Pg=Symbol.iterator;function Oi(e){return e===null||typeof e!="object"?null:(e=Pg&&e[Pg]||e["@@iterator"],typeof e=="function"?e:null)}var Tb=Symbol.for("react.client.reference");function ws(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Tb?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Sl:return"Fragment";case ys:return"Profiler";case hh:return"StrictMode";case vs:return"Suspense";case bs:return"SuspenseList";case As:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Pi:return"Portal";case Mn:return e.displayName||"Context";case ph:return(e._context.displayName||"Context")+".Consumer";case fd:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gd:return t=e.displayName||null,t!==null?t:ws(e.type)||"Memo";case Zn:t=e._payload,e=e._init;try{return ws(e(t))}catch{}}return null}var qi=Array.isArray,L=sh.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=wb.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,za={pending:!1,data:null,method:null,action:null},Ss=[],Cl=-1;function mn(e){return{current:e}}function Fe(e){0>Cl||(e.current=Ss[Cl],Ss[Cl]=null,Cl--)}function ge(e,t){Cl++,Ss[Cl]=e.current,e.current=t}var gn=mn(null),lr=mn(null),ra=mn(null),Vo=mn(null);function Xo(e,t){switch(ge(ra,t),ge(lr,e),ge(gn,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qm(t),e=Hy(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Fe(gn),ge(gn,e)}function ql(){Fe(gn),Fe(lr),Fe(ra)}function Cs(e){e.memoizedState!==null&&ge(Vo,e);var t=gn.current,n=Hy(t,e.type);t!==n&&(ge(lr,e),ge(gn,n))}function Qo(e){lr.current===e&&(Fe(gn),Fe(lr)),Vo.current===e&&(Fe(Vo),hr._currentValue=za)}var Uc,qg;function Oa(e){if(Uc===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Uc=t&&t[1]||"",qg=-1<n.stack.indexOf(`    at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return``+Uc+e+qg}var Gc=!1;function Pc(e,t){if(!e||Gc)return"";Gc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(m){var d=m}Reflect.construct(e,[],f)}else{try{f.call()}catch(m){d=m}e.call(f.prototype)}}else{try{throw Error()}catch(m){d=m}(f=e())&&typeof f.catch=="function"&&f.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),r=i[0],o=i[1];if(r&&o){var u=r.split(``),c=o.split(``);for(l=a=0;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;for(;l<c.length&&!c[l].includes("DetermineComponentFrameRoot");)l++;if(a===u.length||l===c.length)for(a=u.length-1,l=c.length-1;1<=a&&0<=l&&u[a]!==c[l];)l--;for(;1<=a&&0<=l;a--,l--)if(u[a]!==c[l]){if(a!==1||l!==1)do if(a--,l--,0>l||u[a]!==c[l]){var s=``+u[a].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=a&&0<=l);break}}}finally{Gc=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Oa(n):""}function Eb(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return Pc(e.type,!1);case 11:return Pc(e.type.render,!1);case 1:return Pc(e.type,!0);case 31:return Oa("Activity");default:return""}}function Fg(e){try{var t="",n=null;do t+=Eb(e,n),n=e,e=e.return;while(e);return t}catch(a){return`Error generating stack: `+a.message+``+a.stack}}var Rs=Object.prototype.hasOwnProperty,md=Ge.unstable_scheduleCallback,qc=Ge.unstable_cancelCallback,Db=Ge.unstable_shouldYield,xb=Ge.unstable_requestPaint,Dt=Ge.unstable_now,Mb=Ge.unstable_getCurrentPriorityLevel,yh=Ge.unstable_ImmediatePriority,vh=Ge.unstable_UserBlockingPriority,Ko=Ge.unstable_NormalPriority,_b=Ge.unstable_LowPriority,bh=Ge.unstable_IdlePriority,Bb=Ge.log,Nb=Ge.unstable_setDisableYieldValue,br=null,xt=null;function ta(e){if(typeof Bb=="function"&&Nb(e),xt&&typeof xt.setStrictMode=="function")try{xt.setStrictMode(br,e)}catch{}}var Mt=Math.clz32?Math.clz32:Lb,Ob=Math.log,kb=Math.LN2;function Lb(e){return e>>>=0,e===0?32:31-(Ob(e)/kb|0)|0}var go=256,mo=262144,ho=4194304;function ka(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Au(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var o=a&134217727;return o!==0?(a=o&~i,a!==0?l=ka(a):(r&=o,r!==0?l=ka(r):n||(n=o&~e,n!==0&&(l=ka(n))))):(o=a&~i,o!==0?l=ka(o):r!==0?l=ka(r):n||(n=a&~e,n!==0&&(l=ka(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function Ar(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Hb(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ah(){var e=ho;return ho<<=1,(ho&62914560)===0&&(ho=4194304),e}function Fc(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wr(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function zb(e,t,n,a,l,i){var r=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,u=e.expirationTimes,c=e.hiddenUpdates;for(n=r&~n;0<n;){var s=31-Mt(n),f=1<<s;o[s]=0,u[s]=-1;var d=c[s];if(d!==null)for(c[s]=null,s=0;s<d.length;s++){var m=d[s];m!==null&&(m.lane&=-536870913)}n&=~f}a!==0&&wh(e,a,0),i!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=i&~(r&~t))}function wh(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Mt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function Sh(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Mt(n),l=1<<a;l&t|e[a]&t&&(e[a]|=t),n&=~l}}function Ch(e,t){var n=t&-t;return n=(n&42)!==0?1:hd(n),(n&(e.suspendedLanes|t))!==0?0:n}function hd(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function pd(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Rh(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:Qy(e.type))}function jg(e,t){var n=$.p;try{return $.p=e,t()}finally{$.p=n}}var ba=Math.random().toString(36).slice(2),Ve="__reactFiber$"+ba,vt="__reactProps$"+ba,Jl="__reactContainer$"+ba,Ts="__reactEvents$"+ba,Ub="__reactListeners$"+ba,Gb="__reactHandles$"+ba,Yg="__reactResources$"+ba,Sr="__reactMarker$"+ba;function yd(e){delete e[Ve],delete e[vt],delete e[Ts],delete e[Ub],delete e[Gb]}function Rl(e){var t=e[Ve];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jl]||n[Ve]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Jm(e);e!==null;){if(n=e[Ve])return n;e=Jm(e)}return t}e=n,n=e.parentNode}return null}function $l(e){if(e=e[Ve]||e[Jl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Fi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(S(33))}function kl(e){var t=e[Yg];return t||(t=e[Yg]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function qe(e){e[Sr]=!0}var Th=new Set,Eh={};function Qa(e,t){Fl(e,t),Fl(e+"Capture",t)}function Fl(e,t){for(Eh[e]=t,e=0;e<t.length;e++)Th.add(t[e])}var Pb=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Vg={},Xg={};function qb(e){return Rs.call(Xg,e)?!0:Rs.call(Vg,e)?!1:Pb.test(e)?Xg[e]=!0:(Vg[e]=!0,!1)}function _o(e,t,n){if(qb(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function po(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function Sn(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+a)}}function Pt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fb(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,i=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(r){n=""+r,i.call(this,r)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){if(!e._valueTracker){var t=Dh(e)?"checked":"value";e._valueTracker=Fb(e,t,""+e[t])}}function xh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=Dh(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Zo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var jb=/[\n"\\]/g;function jt(e){return e.replace(jb,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ds(e,t,n,a,l,i,r,o){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pt(t)):e.value!==""+Pt(t)&&(e.value=""+Pt(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?xs(e,r,Pt(t)):n!=null?xs(e,r,Pt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+Pt(o):e.removeAttribute("name")}function Mh(e,t,n,a,l,i,r,o){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Es(e);return}n=n!=null?""+Pt(n):"",t=t!=null?""+Pt(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=o?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),Es(e)}function xs(e,t,n){t==="number"&&Zo(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ll(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&a&&(e[n].defaultSelected=!0)}else{for(n=""+Pt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,a&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function _h(e,t,n){if(t!=null&&(t=""+Pt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Pt(n):""}function Bh(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(S(92));if(qi(a)){if(1<a.length)throw Error(S(93));a=a[0]}n=a}n==null&&(n=""),t=n}n=Pt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==""&&a!==null&&(e.value=a),Es(e)}function jl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Qg(e,t,n){var a=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,n):typeof n!="number"||n===0||Yb.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Nh(e,t,n){if(t!=null&&typeof t!="object")throw Error(S(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var l in t)a=t[l],t.hasOwnProperty(l)&&n[l]!==a&&Qg(e,l,a)}else for(var i in t)t.hasOwnProperty(i)&&Qg(e,i,t[i])}function vd(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Xb=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Bo(e){return Xb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function _n(){}var Ms=null;function bd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Tl=null,Hl=null;function Kg(e){var t=$l(e);if(t&&(e=t.stateNode)){var n=e[vt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Ds(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+jt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var l=a[vt]||null;if(!l)throw Error(S(90));Ds(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&xh(a)}break e;case"textarea":_h(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ll(e,!!n.multiple,t,!1)}}}var jc=!1;function Oh(e,t,n){if(jc)return e(t,n);jc=!0;try{var a=e(t);return a}finally{if(jc=!1,(Tl!==null||Hl!==null)&&(Nu(),Tl&&(t=Tl,e=Hl,Hl=Tl=null,Kg(t),e)))for(t=0;t<e.length;t++)Kg(e[t])}}function ir(e,t){var n=e.stateNode;if(n===null)return null;var a=n[vt]||null;if(a===null)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(S(231,t,typeof n));return n}var Ln=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_s=!1;if(Ln)try{yl={},Object.defineProperty(yl,"passive",{get:function(){_s=!0}}),window.addEventListener("test",yl,yl),window.removeEventListener("test",yl,yl)}catch{_s=!1}var yl,na=null,Ad=null,No=null;function kh(){if(No)return No;var e,t=Ad,n=t.length,a,l="value"in na?na.value:na.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var r=n-e;for(a=1;a<=r&&t[n-a]===l[i-a];a++);return No=l.slice(e,1<a?1-a:void 0)}function Oo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yo(){return!0}function Zg(){return!1}function bt(e){function t(n,a,l,i,r){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=i,this.target=r,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?yo:Zg,this.isPropagationStopped=Zg,this}return ve(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=yo)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var Ka={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},wu=bt(Ka),Cr=ve({},Ka,{view:0,detail:0}),Qb=bt(Cr),Yc,Vc,ki,Su=ve({},Cr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wd,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ki&&(ki&&e.type==="mousemove"?(Yc=e.screenX-ki.screenX,Vc=e.screenY-ki.screenY):Vc=Yc=0,ki=e),Yc)},movementY:function(e){return"movementY"in e?e.movementY:Vc}}),Wg=bt(Su),Kb=ve({},Su,{dataTransfer:0}),Zb=bt(Kb),Wb=ve({},Cr,{relatedTarget:0}),Xc=bt(Wb),Ib=ve({},Ka,{animationName:0,elapsedTime:0,pseudoElement:0}),Jb=bt(Ib),$b=ve({},Ka,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),eA=bt($b),tA=ve({},Ka,{data:0}),Ig=bt(tA),nA={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},aA={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},lA={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function iA(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=lA[e])?!!t[e]:!1}function wd(){return iA}var rA=ve({},Cr,{key:function(e){if(e.key){var t=nA[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Oo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?aA[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wd,charCode:function(e){return e.type==="keypress"?Oo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Oo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),oA=bt(rA),uA=ve({},Su,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jg=bt(uA),cA=ve({},Cr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wd}),sA=bt(cA),dA=ve({},Ka,{propertyName:0,elapsedTime:0,pseudoElement:0}),fA=bt(dA),gA=ve({},Su,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mA=bt(gA),hA=ve({},Ka,{newState:0,oldState:0}),pA=bt(hA),yA=[9,13,27,32],Sd=Ln&&"CompositionEvent"in window,Vi=null;Ln&&"documentMode"in document&&(Vi=document.documentMode);var vA=Ln&&"TextEvent"in window&&!Vi,Lh=Ln&&(!Sd||Vi&&8<Vi&&11>=Vi),$g=" ",em=!1;function Hh(e,t){switch(e){case"keyup":return yA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var El=!1;function bA(e,t){switch(e){case"compositionend":return zh(t);case"keypress":return t.which!==32?null:(em=!0,$g);case"textInput":return e=t.data,e===$g&&em?null:e;default:return null}}function AA(e,t){if(El)return e==="compositionend"||!Sd&&Hh(e,t)?(e=kh(),No=Ad=na=null,El=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Lh&&t.locale!=="ko"?null:t.data;default:return null}}var wA={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tm(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!wA[e.type]:t==="textarea"}function Uh(e,t,n,a){Tl?Hl?Hl.push(a):Hl=[a]:Tl=a,t=gu(t,"onChange"),0<t.length&&(n=new wu("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Xi=null,rr=null;function SA(e){Oy(e,0)}function Cu(e){var t=Fi(e);if(xh(t))return e}function nm(e,t){if(e==="change")return t}var Gh=!1;Ln&&(Ln?(bo="oninput"in document,bo||(Qc=document.createElement("div"),Qc.setAttribute("oninput","return;"),bo=typeof Qc.oninput=="function"),vo=bo):vo=!1,Gh=vo&&(!document.documentMode||9<document.documentMode));var vo,bo,Qc;function am(){Xi&&(Xi.detachEvent("onpropertychange",Ph),rr=Xi=null)}function Ph(e){if(e.propertyName==="value"&&Cu(rr)){var t=[];Uh(t,rr,e,bd(e)),Oh(SA,t)}}function CA(e,t,n){e==="focusin"?(am(),Xi=t,rr=n,Xi.attachEvent("onpropertychange",Ph)):e==="focusout"&&am()}function RA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Cu(rr)}function TA(e,t){if(e==="click")return Cu(t)}function EA(e,t){if(e==="input"||e==="change")return Cu(t)}function DA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bt=typeof Object.is=="function"?Object.is:DA;function or(e,t){if(Bt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!Rs.call(t,l)||!Bt(e[l],t[l]))return!1}return!0}function lm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function im(e,t){var n=lm(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lm(n)}}function qh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Zo(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Zo(e.document)}return t}function Cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var xA=Ln&&"documentMode"in document&&11>=document.documentMode,Dl=null,Bs=null,Qi=null,Ns=!1;function rm(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ns||Dl==null||Dl!==Zo(a)||(a=Dl,"selectionStart"in a&&Cd(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Qi&&or(Qi,a)||(Qi=a,a=gu(Bs,"onSelect"),0<a.length&&(t=new wu("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=Dl)))}function Na(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xl={animationend:Na("Animation","AnimationEnd"),animationiteration:Na("Animation","AnimationIteration"),animationstart:Na("Animation","AnimationStart"),transitionrun:Na("Transition","TransitionRun"),transitionstart:Na("Transition","TransitionStart"),transitioncancel:Na("Transition","TransitionCancel"),transitionend:Na("Transition","TransitionEnd")},Kc={},jh={};Ln&&(jh=document.createElement("div").style,"AnimationEvent"in window||(delete xl.animationend.animation,delete xl.animationiteration.animation,delete xl.animationstart.animation),"TransitionEvent"in window||delete xl.transitionend.transition);function Za(e){if(Kc[e])return Kc[e];if(!xl[e])return e;var t=xl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in jh)return Kc[e]=t[n];return e}var Yh=Za("animationend"),Vh=Za("animationiteration"),Xh=Za("animationstart"),MA=Za("transitionrun"),_A=Za("transitionstart"),BA=Za("transitioncancel"),Qh=Za("transitionend"),Kh=new Map,Os="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Os.push("scrollEnd");function tn(e,t){Kh.set(e,t),Qa(t,[e])}var Wo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Gt=[],Ml=0,Rd=0;function Ru(){for(var e=Ml,t=Rd=Ml=0;t<e;){var n=Gt[t];Gt[t++]=null;var a=Gt[t];Gt[t++]=null;var l=Gt[t];Gt[t++]=null;var i=Gt[t];if(Gt[t++]=null,a!==null&&l!==null){var r=a.pending;r===null?l.next=l:(l.next=r.next,r.next=l),a.pending=l}i!==0&&Zh(n,l,i)}}function Tu(e,t,n,a){Gt[Ml++]=e,Gt[Ml++]=t,Gt[Ml++]=n,Gt[Ml++]=a,Rd|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function Td(e,t,n,a){return Tu(e,t,n,a),Io(e)}function Wa(e,t){return Tu(e,null,null,t),Io(e)}function Zh(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var l=!1,i=e.return;i!==null;)i.childLanes|=n,a=i.alternate,a!==null&&(a.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(l=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,l&&t!==null&&(l=31-Mt(n),e=i.hiddenUpdates,a=e[l],a===null?e[l]=[t]:a.push(t),t.lane=n|536870912),i):null}function Io(e){if(50<nr)throw nr=0,ed=null,Error(S(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var _l={};function NA(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(e,t,n,a){return new NA(e,t,n,a)}function Ed(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nn(e,t){var n=e.alternate;return n===null?(n=Tt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Wh(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ko(e,t,n,a,l,i){var r=0;if(a=e,typeof e=="function")Ed(e)&&(r=1);else if(typeof e=="string")r=Lw(e,n,gn.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case As:return e=Tt(31,n,t,l),e.elementType=As,e.lanes=i,e;case Sl:return Ua(n.children,l,i,t);case hh:r=8,l|=24;break;case ys:return e=Tt(12,n,t,l|2),e.elementType=ys,e.lanes=i,e;case vs:return e=Tt(13,n,t,l),e.elementType=vs,e.lanes=i,e;case bs:return e=Tt(19,n,t,l),e.elementType=bs,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Mn:r=10;break e;case ph:r=9;break e;case fd:r=11;break e;case gd:r=14;break e;case Zn:r=16,a=null;break e}r=29,n=Error(S(130,e===null?"null":typeof e,"")),a=null}return t=Tt(r,n,t,l),t.elementType=e,t.type=a,t.lanes=i,t}function Ua(e,t,n,a){return e=Tt(7,e,a,t),e.lanes=n,e}function Zc(e,t,n){return e=Tt(6,e,null,t),e.lanes=n,e}function Ih(e){var t=Tt(18,null,null,0);return t.stateNode=e,t}function Wc(e,t,n){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var om=new WeakMap;function Yt(e,t){if(typeof e=="object"&&e!==null){var n=om.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Fg(t)},om.set(e,t),t)}return{value:e,source:t,stack:Fg(t)}}var Bl=[],Nl=0,Jo=null,ur=0,qt=[],Ft=0,ha=null,sn=1,dn="";function Dn(e,t){Bl[Nl++]=ur,Bl[Nl++]=Jo,Jo=e,ur=t}function Jh(e,t,n){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,ha=e;var a=sn;e=dn;var l=32-Mt(a)-1;a&=~(1<<l),n+=1;var i=32-Mt(t)+l;if(30<i){var r=l-l%5;i=(a&(1<<r)-1).toString(32),a>>=r,l-=r,sn=1<<32-Mt(t)+l|n<<l|a,dn=i+e}else sn=1<<i|n<<l|a,dn=e}function Dd(e){e.return!==null&&(Dn(e,1),Jh(e,1,0))}function xd(e){for(;e===Jo;)Jo=Bl[--Nl],Bl[Nl]=null,ur=Bl[--Nl],Bl[Nl]=null;for(;e===ha;)ha=qt[--Ft],qt[Ft]=null,dn=qt[--Ft],qt[Ft]=null,sn=qt[--Ft],qt[Ft]=null}function $h(e,t){qt[Ft++]=sn,qt[Ft++]=dn,qt[Ft++]=ha,sn=t.id,dn=t.overflow,ha=e}var Xe=null,ye=null,V=!1,oa=null,Vt=!1,ks=Error(S(519));function pa(e){var t=Error(S(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw cr(Yt(t,e)),ks}function um(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[Ve]=e,t[vt]=a,n){case"dialog":q("cancel",t),q("close",t);break;case"iframe":case"object":case"embed":q("load",t);break;case"video":case"audio":for(n=0;n<gr.length;n++)q(gr[n],t);break;case"source":q("error",t);break;case"img":case"image":case"link":q("error",t),q("load",t);break;case"details":q("toggle",t);break;case"input":q("invalid",t),Mh(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":q("invalid",t);break;case"textarea":q("invalid",t),Bh(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||a.suppressHydrationWarning===!0||Ly(t.textContent,n)?(a.popover!=null&&(q("beforetoggle",t),q("toggle",t)),a.onScroll!=null&&q("scroll",t),a.onScrollEnd!=null&&q("scrollend",t),a.onClick!=null&&(t.onclick=_n),t=!0):t=!1,t||pa(e,!0)}function cm(e){for(Xe=e.return;Xe;)switch(Xe.tag){case 5:case 31:case 13:Vt=!1;return;case 27:case 3:Vt=!0;return;default:Xe=Xe.return}}function vl(e){if(e!==Xe)return!1;if(!V)return cm(e),V=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||id(e.type,e.memoizedProps)),n=!n),n&&ye&&pa(e),cm(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(317));ye=Im(e)}else t===27?(t=ye,Aa(e.type)?(e=cd,cd=null,ye=e):ye=t):ye=Xe?Qt(e.stateNode.nextSibling):null;return!0}function Fa(){ye=Xe=null,V=!1}function Ic(){var e=oa;return e!==null&&(pt===null?pt=e:pt.push.apply(pt,e),oa=null),e}function cr(e){oa===null?oa=[e]:oa.push(e)}var Ls=mn(null),Ia=null,Bn=null;function In(e,t,n){ge(Ls,t._currentValue),t._currentValue=n}function On(e){e._currentValue=Ls.current,Fe(Ls)}function Hs(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function zs(e,t,n,a){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var i=l.dependencies;if(i!==null){var r=l.child;i=i.firstContext;e:for(;i!==null;){var o=i;i=l;for(var u=0;u<t.length;u++)if(o.context===t[u]){i.lanes|=n,o=i.alternate,o!==null&&(o.lanes|=n),Hs(i.return,n,e),a||(r=null);break e}i=o.next}}else if(l.tag===18){if(r=l.return,r===null)throw Error(S(341));r.lanes|=n,i=r.alternate,i!==null&&(i.lanes|=n),Hs(r,n,e),r=null}else r=l.child;if(r!==null)r.return=l;else for(r=l;r!==null;){if(r===e){r=null;break}if(l=r.sibling,l!==null){l.return=r.return,r=l;break}r=r.return}l=r}}function ei(e,t,n,a){e=null;for(var l=t,i=!1;l!==null;){if(!i){if((l.flags&524288)!==0)i=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var r=l.alternate;if(r===null)throw Error(S(387));if(r=r.memoizedProps,r!==null){var o=l.type;Bt(l.pendingProps.value,r.value)||(e!==null?e.push(o):e=[o])}}else if(l===Vo.current){if(r=l.alternate,r===null)throw Error(S(387));r.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(hr):e=[hr])}l=l.return}e!==null&&zs(t,e,n,a),t.flags|=262144}function $o(e){for(e=e.firstContext;e!==null;){if(!Bt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ja(e){Ia=e,Bn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Qe(e){return ep(Ia,e)}function Ao(e,t){return Ia===null&&ja(e),ep(e,t)}function ep(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Bn===null){if(e===null)throw Error(S(308));Bn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Bn=Bn.next=t;return n}var OA=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},kA=Ge.unstable_scheduleCallback,LA=Ge.unstable_NormalPriority,ke={$$typeof:Mn,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Md(){return{controller:new OA,data:new Map,refCount:0}}function Rr(e){e.refCount--,e.refCount===0&&kA(LA,function(){e.controller.abort()})}var Ki=null,Us=0,Yl=0,zl=null;function HA(e,t){if(Ki===null){var n=Ki=[];Us=0,Yl=ef(),zl={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Us++,t.then(sm,sm),t}function sm(){if(--Us===0&&Ki!==null){zl!==null&&(zl.status="fulfilled");var e=Ki;Ki=null,Yl=0,zl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function zA(e,t){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var l=0;l<n.length;l++)(0,n[l])(t)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var dm=L.S;L.S=function(e,t){my=Dt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&HA(e,t),dm!==null&&dm(e,t)};var Ga=mn(null);function _d(){var e=Ga.current;return e!==null?e:ue.pooledCache}function Lo(e,t){t===null?ge(Ga,Ga.current):ge(Ga,t.pool)}function tp(){var e=_d();return e===null?null:{parent:ke._currentValue,pool:e}}var ti=Error(S(460)),Bd=Error(S(474)),Eu=Error(S(542)),eu={then:function(){}};function fm(e){return e=e.status,e==="fulfilled"||e==="rejected"}function np(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(_n,_n),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e;default:if(typeof t.status=="string")t.then(_n,_n);else{if(e=ue,e!==null&&100<e.shellSuspendCounter)throw Error(S(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=a}},function(a){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mm(e),e}throw Pa=t,ti}}function La(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Pa=n,ti):n}}var Pa=null;function gm(){if(Pa===null)throw Error(S(459));var e=Pa;return Pa=null,e}function mm(e){if(e===ti||e===Eu)throw Error(S(483))}var Ul=null,sr=0;function wo(e){var t=sr;return sr+=1,Ul===null&&(Ul=[]),np(Ul,e,t)}function Li(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function So(e,t){throw t.$$typeof===Cb?Error(S(525)):(e=Object.prototype.toString.call(t),Error(S(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ap(e){function t(h,g){if(e){var p=h.deletions;p===null?(h.deletions=[g],h.flags|=16):p.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function a(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function l(h,g){return h=Nn(h,g),h.index=0,h.sibling=null,h}function i(h,g,p){return h.index=p,e?(p=h.alternate,p!==null?(p=p.index,p<g?(h.flags|=67108866,g):p):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function r(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function o(h,g,p,y){return g===null||g.tag!==6?(g=Zc(p,h.mode,y),g.return=h,g):(g=l(g,p),g.return=h,g)}function u(h,g,p,y){var C=p.type;return C===Sl?s(h,g,p.props.children,y,p.key):g!==null&&(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type)?(g=l(g,p.props),Li(g,p),g.return=h,g):(g=ko(p.type,p.key,p.props,null,h.mode,y),Li(g,p),g.return=h,g)}function c(h,g,p,y){return g===null||g.tag!==4||g.stateNode.containerInfo!==p.containerInfo||g.stateNode.implementation!==p.implementation?(g=Wc(p,h.mode,y),g.return=h,g):(g=l(g,p.children||[]),g.return=h,g)}function s(h,g,p,y,C){return g===null||g.tag!==7?(g=Ua(p,h.mode,y,C),g.return=h,g):(g=l(g,p),g.return=h,g)}function f(h,g,p){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Zc(""+g,h.mode,p),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case fo:return p=ko(g.type,g.key,g.props,null,h.mode,p),Li(p,g),p.return=h,p;case Pi:return g=Wc(g,h.mode,p),g.return=h,g;case Zn:return g=La(g),f(h,g,p)}if(qi(g)||Oi(g))return g=Ua(g,h.mode,p,null),g.return=h,g;if(typeof g.then=="function")return f(h,wo(g),p);if(g.$$typeof===Mn)return f(h,Ao(h,g),p);So(h,g)}return null}function d(h,g,p,y){var C=g!==null?g.key:null;if(typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint")return C!==null?null:o(h,g,""+p,y);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:return p.key===C?u(h,g,p,y):null;case Pi:return p.key===C?c(h,g,p,y):null;case Zn:return p=La(p),d(h,g,p,y)}if(qi(p)||Oi(p))return C!==null?null:s(h,g,p,y,null);if(typeof p.then=="function")return d(h,g,wo(p),y);if(p.$$typeof===Mn)return d(h,g,Ao(h,p),y);So(h,p)}return null}function m(h,g,p,y,C){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return h=h.get(p)||null,o(g,h,""+y,C);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case fo:return h=h.get(y.key===null?p:y.key)||null,u(g,h,y,C);case Pi:return h=h.get(y.key===null?p:y.key)||null,c(g,h,y,C);case Zn:return y=La(y),m(h,g,p,y,C)}if(qi(y)||Oi(y))return h=h.get(p)||null,s(g,h,y,C,null);if(typeof y.then=="function")return m(h,g,p,wo(y),C);if(y.$$typeof===Mn)return m(h,g,p,Ao(g,y),C);So(g,y)}return null}function v(h,g,p,y){for(var C=null,R=null,T=g,M=g=0,w=null;T!==null&&M<p.length;M++){T.index>M?(w=T,T=null):w=T.sibling;var D=d(h,T,p[M],y);if(D===null){T===null&&(T=w);break}e&&T&&D.alternate===null&&t(h,T),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D,T=w}if(M===p.length)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;M<p.length;M++)T=f(h,p[M],y),T!==null&&(g=i(T,g,M),R===null?C=T:R.sibling=T,R=T);return V&&Dn(h,M),C}for(T=a(T);M<p.length;M++)w=m(T,h,M,p[M],y),w!==null&&(e&&w.alternate!==null&&T.delete(w.key===null?M:w.key),g=i(w,g,M),R===null?C=w:R.sibling=w,R=w);return e&&T.forEach(function(k){return t(h,k)}),V&&Dn(h,M),C}function A(h,g,p,y){if(p==null)throw Error(S(151));for(var C=null,R=null,T=g,M=g=0,w=null,D=p.next();T!==null&&!D.done;M++,D=p.next()){T.index>M?(w=T,T=null):w=T.sibling;var k=d(h,T,D.value,y);if(k===null){T===null&&(T=w);break}e&&T&&k.alternate===null&&t(h,T),g=i(k,g,M),R===null?C=k:R.sibling=k,R=k,T=w}if(D.done)return n(h,T),V&&Dn(h,M),C;if(T===null){for(;!D.done;M++,D=p.next())D=f(h,D.value,y),D!==null&&(g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return V&&Dn(h,M),C}for(T=a(T);!D.done;M++,D=p.next())D=m(T,h,M,D.value,y),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?M:D.key),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return e&&T.forEach(function(se){return t(h,se)}),V&&Dn(h,M),C}function b(h,g,p,y){if(typeof p=="object"&&p!==null&&p.type===Sl&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case fo:e:{for(var C=p.key;g!==null;){if(g.key===C){if(C=p.type,C===Sl){if(g.tag===7){n(h,g.sibling),y=l(g,p.props.children),y.return=h,h=y;break e}}else if(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Zn&&La(C)===g.type){n(h,g.sibling),y=l(g,p.props),Li(y,p),y.return=h,h=y;break e}n(h,g);break}else t(h,g);g=g.sibling}p.type===Sl?(y=Ua(p.props.children,h.mode,y,p.key),y.return=h,h=y):(y=ko(p.type,p.key,p.props,null,h.mode,y),Li(y,p),y.return=h,h=y)}return r(h);case Pi:e:{for(C=p.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===p.containerInfo&&g.stateNode.implementation===p.implementation){n(h,g.sibling),y=l(g,p.children||[]),y.return=h,h=y;break e}else{n(h,g);break}else t(h,g);g=g.sibling}y=Wc(p,h.mode,y),y.return=h,h=y}return r(h);case Zn:return p=La(p),b(h,g,p,y)}if(qi(p))return v(h,g,p,y);if(Oi(p)){if(C=Oi(p),typeof C!="function")throw Error(S(150));return p=C.call(p),A(h,g,p,y)}if(typeof p.then=="function")return b(h,g,wo(p),y);if(p.$$typeof===Mn)return b(h,g,Ao(h,p),y);So(h,p)}return typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint"?(p=""+p,g!==null&&g.tag===6?(n(h,g.sibling),y=l(g,p),y.return=h,h=y):(n(h,g),y=Zc(p,h.mode,y),y.return=h,h=y),r(h)):n(h,g)}return function(h,g,p,y){try{sr=0;var C=b(h,g,p,y);return Ul=null,C}catch(T){if(T===ti||T===Eu)throw T;var R=Tt(29,T,null,h.mode);return R.lanes=y,R.return=h,R}finally{}}}var Ya=ap(!0),lp=ap(!1),Wn=!1;function Nd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gs(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ca(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(J&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=Io(e),Zh(e,null,n),t}return Tu(e,a,t,n),Io(e)}function Zi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}function Jc(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var r={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=r:i=i.next=r,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ps=!1;function Wi(){if(Ps){var e=zl;if(e!==null)throw e}}function Ii(e,t,n,a){Ps=!1;var l=e.updateQueue;Wn=!1;var i=l.firstBaseUpdate,r=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var u=o,c=u.next;u.next=null,r===null?i=c:r.next=c,r=u;var s=e.alternate;s!==null&&(s=s.updateQueue,o=s.lastBaseUpdate,o!==r&&(o===null?s.firstBaseUpdate=c:o.next=c,s.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;r=0,s=c=u=null,o=i;do{var d=o.lane&-536870913,m=d!==o.lane;if(m?(Y&d)===d:(a&d)===d){d!==0&&d===Yl&&(Ps=!0),s!==null&&(s=s.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var v=e,A=o;d=t;var b=n;switch(A.tag){case 1:if(v=A.payload,typeof v=="function"){f=v.call(b,f,d);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=A.payload,d=typeof v=="function"?v.call(b,f,d):v,d==null)break e;f=ve({},f,d);break e;case 2:Wn=!0}}d=o.callback,d!==null&&(e.flags|=64,m&&(e.flags|=8192),m=l.callbacks,m===null?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:o.tag,payload:o.payload,callback:o.callback,next:null},s===null?(c=s=m,u=f):s=s.next=m,r|=d;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;m=o,o=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);s===null&&(u=f),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=s,i===null&&(l.shared.lanes=0),va|=r,e.lanes=r,e.memoizedState=f}}function ip(e,t){if(typeof e!="function")throw Error(S(191,e));e.call(t)}function rp(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ip(n[e],t)}var Vl=mn(null),tu=mn(0);function hm(e,t){e=Gn,ge(tu,e),ge(Vl,t),Gn=e|t.baseLanes}function qs(){ge(tu,Gn),ge(Vl,Vl.current)}function Od(){Gn=tu.current,Fe(Vl),Fe(tu)}var Nt=mn(null),Xt=null;function Jn(e){var t=e.alternate;ge(xe,xe.current&1),ge(Nt,e),Xt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Xt=e)}function Fs(e){ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)}function op(e){e.tag===22?(ge(xe,xe.current),ge(Nt,e),Xt===null&&(Xt=e)):$n(e)}function $n(){ge(xe,xe.current),ge(Nt,Nt.current)}function Rt(e){Fe(Nt),Xt===e&&(Xt=null),Fe(xe)}var xe=mn(0);function nu(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||od(n)||ud(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hn=0,G=null,re=null,Ne=null,au=!1,Gl=!1,Va=!1,lu=0,dr=0,Pl=null,UA=0;function Re(){throw Error(S(321))}function kd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Bt(e[n],t[n]))return!1;return!0}function Ld(e,t,n,a,l,i){return Hn=i,G=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=e===null||e.memoizedState===null?Up:Xd,Va=!1,i=n(a,l),Va=!1,Gl&&(i=cp(t,n,a,l)),up(e),i}function up(e){L.H=fr;var t=re!==null&&re.next!==null;if(Hn=0,Ne=re=G=null,au=!1,dr=0,Pl=null,t)throw Error(S(300));e===null||Le||(e=e.dependencies,e!==null&&$o(e)&&(Le=!0))}function cp(e,t,n,a){G=e;var l=0;do{if(Gl&&(Pl=null),dr=0,Gl=!1,25<=l)throw Error(S(301));if(l+=1,Ne=re=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}L.H=Gp,i=t(n,a)}while(Gl);return i}function GA(){var e=L.H,t=e.useState()[0];return t=typeof t.then=="function"?Tr(t):t,e=e.useState()[0],(re!==null?re.memoizedState:null)!==e&&(G.flags|=1024),t}function Hd(){var e=lu!==0;return lu=0,e}function zd(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ud(e){if(au){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}au=!1}Hn=0,Ne=re=G=null,Gl=!1,dr=lu=0,Pl=null}function ut(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e,Ne}function Me(){if(re===null){var e=G.alternate;e=e!==null?e.memoizedState:null}else e=re.next;var t=Ne===null?G.memoizedState:Ne.next;if(t!==null)Ne=t,re=e;else{if(e===null)throw G.alternate===null?Error(S(467)):Error(S(310));re=e,e={memoizedState:re.memoizedState,baseState:re.baseState,baseQueue:re.baseQueue,queue:re.queue,next:null},Ne===null?G.memoizedState=Ne=e:Ne=Ne.next=e}return Ne}function Du(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Tr(e){var t=dr;return dr+=1,Pl===null&&(Pl=[]),e=np(Pl,e,t),t=G,(Ne===null?t.memoizedState:Ne.next)===null&&(t=t.alternate,L.H=t===null||t.memoizedState===null?Up:Xd),e}function xu(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Tr(e);if(e.$$typeof===Mn)return Qe(e)}throw Error(S(438,String(e)))}function Gd(e){var t=null,n=G.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=G.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Du(),G.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=Rb;return t.index++,n}function zn(e,t){return typeof t=="function"?t(e):t}function Ho(e){var t=Me();return Pd(t,re,e)}function Pd(e,t,n){var a=e.queue;if(a===null)throw Error(S(311));a.lastRenderedReducer=n;var l=e.baseQueue,i=a.pending;if(i!==null){if(l!==null){var r=l.next;l.next=i.next,i.next=r}t.baseQueue=l=i,a.pending=null}if(i=e.baseState,l===null)e.memoizedState=i;else{t=l.next;var o=r=null,u=null,c=t,s=!1;do{var f=c.lane&-536870913;if(f!==c.lane?(Y&f)===f:(Hn&f)===f){var d=c.revertLane;if(d===0)u!==null&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===Yl&&(s=!0);else if((Hn&d)===d){c=c.next,d===Yl&&(s=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=f,r=i):u=u.next=f,G.lanes|=d,va|=d;f=c.action,Va&&n(i,f),i=c.hasEagerState?c.eagerState:n(i,f)}else d={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=d,r=i):u=u.next=d,G.lanes|=f,va|=f;c=c.next}while(c!==null&&c!==t);if(u===null?r=i:u.next=o,!Bt(i,e.memoizedState)&&(Le=!0,s&&(n=zl,n!==null)))throw n;e.memoizedState=i,e.baseState=r,e.baseQueue=u,a.lastRenderedState=i}return l===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function $c(e){var t=Me(),n=t.queue;if(n===null)throw Error(S(311));n.lastRenderedReducer=e;var a=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var r=l=l.next;do i=e(i,r.action),r=r.next;while(r!==l);Bt(i,t.memoizedState)||(Le=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function sp(e,t,n){var a=G,l=Me(),i=V;if(i){if(n===void 0)throw Error(S(407));n=n()}else n=t();var r=!Bt((re||l).memoizedState,n);if(r&&(l.memoizedState=n,Le=!0),l=l.queue,qd(gp.bind(null,a,l,e),[e]),l.getSnapshot!==t||r||Ne!==null&&Ne.memoizedState.tag&1){if(a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,l,n,t),null),ue===null)throw Error(S(349));i||(Hn&127)!==0||dp(a,t,n)}return n}function dp(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=G.updateQueue,t===null?(t=Du(),G.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function fp(e,t,n,a){t.value=n,t.getSnapshot=a,mp(t)&&hp(e)}function gp(e,t,n){return n(function(){mp(t)&&hp(e)})}function mp(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Bt(e,n)}catch{return!0}}function hp(e){var t=Wa(e,2);t!==null&&yt(t,e,2)}function js(e){var t=ut();if(typeof e=="function"){var n=e;if(e=n(),Va){ta(!0);try{n()}finally{ta(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:e},t}function pp(e,t,n,a){return e.baseState=n,Pd(e,re,typeof a=="function"?a:zn)}function PA(e,t,n,a,l){if(_u(e))throw Error(S(485));if(e=t.action,e!==null){var i={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){i.listeners.push(r)}};L.T!==null?n(!0):i.isTransition=!1,a(i),n=t.pending,n===null?(i.next=t.pending=i,yp(t,i)):(i.next=n.next,t.pending=n.next=i)}}function yp(e,t){var n=t.action,a=t.payload,l=e.state;if(t.isTransition){var i=L.T,r={};L.T=r;try{var o=n(l,a),u=L.S;u!==null&&u(r,o),pm(e,t,o)}catch(c){Ys(e,t,c)}finally{i!==null&&r.types!==null&&(i.types=r.types),L.T=i}}else try{i=n(l,a),pm(e,t,i)}catch(c){Ys(e,t,c)}}function pm(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){ym(e,t,a)},function(a){return Ys(e,t,a)}):ym(e,t,n)}function ym(e,t,n){t.status="fulfilled",t.value=n,vp(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,yp(e,n)))}function Ys(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=n,vp(t),t=t.next;while(t!==a)}e.action=null}function vp(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function bp(e,t){return t}function vm(e,t){if(V){var n=ue.formState;if(n!==null){e:{var a=G;if(V){if(ye){t:{for(var l=ye,i=Vt;l.nodeType!==8;){if(!i){l=null;break t}if(l=Qt(l.nextSibling),l===null){l=null;break t}}i=l.data,l=i==="F!"||i==="F"?l:null}if(l){ye=Qt(l.nextSibling),a=l.data==="F!";break e}}pa(a)}a=!1}a&&(t=n[0])}}return n=ut(),n.memoizedState=n.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bp,lastRenderedState:t},n.queue=a,n=Lp.bind(null,G,a),a.dispatch=n,a=js(!1),i=Vd.bind(null,G,!1,a.queue),a=ut(),l={state:t,dispatch:null,action:e,pending:null},a.queue=l,n=PA.bind(null,G,l,i,n),l.dispatch=n,a.memoizedState=e,[t,n,!1]}function bm(e){var t=Me();return Ap(t,re,e)}function Ap(e,t,n){if(t=Pd(e,t,bp)[0],e=Ho(zn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=Tr(t)}catch(r){throw r===ti?Eu:r}else a=t;t=Me();var l=t.queue,i=l.dispatch;return n!==t.memoizedState&&(G.flags|=2048,Xl(9,{destroy:void 0},qA.bind(null,l,n),null)),[a,i,e]}function qA(e,t){e.action=t}function Am(e){var t=Me(),n=re;if(n!==null)return Ap(t,n,e);Me(),t=t.memoizedState,n=Me();var a=n.queue.dispatch;return n.memoizedState=e,[t,a,!1]}function Xl(e,t,n,a){return e={tag:e,create:n,deps:a,inst:t,next:null},t=G.updateQueue,t===null&&(t=Du(),G.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function wp(){return Me().memoizedState}function zo(e,t,n,a){var l=ut();G.flags|=e,l.memoizedState=Xl(1|t,{destroy:void 0},n,a===void 0?null:a)}function Mu(e,t,n,a){var l=Me();a=a===void 0?null:a;var i=l.memoizedState.inst;re!==null&&a!==null&&kd(a,re.memoizedState.deps)?l.memoizedState=Xl(t,i,n,a):(G.flags|=e,l.memoizedState=Xl(1|t,i,n,a))}function wm(e,t){zo(8390656,8,e,t)}function qd(e,t){Mu(2048,8,e,t)}function FA(e){G.flags|=4;var t=G.updateQueue;if(t===null)t=Du(),G.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Sp(e){var t=Me().memoizedState;return FA({ref:t,nextImpl:e}),function(){if((J&2)!==0)throw Error(S(440));return t.impl.apply(void 0,arguments)}}function Cp(e,t){return Mu(4,2,e,t)}function Rp(e,t){return Mu(4,4,e,t)}function Tp(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ep(e,t,n){n=n!=null?n.concat([e]):null,Mu(4,4,Tp.bind(null,t,e),n)}function Fd(){}function Dp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;return t!==null&&kd(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function xp(e,t){var n=Me();t=t===void 0?null:t;var a=n.memoizedState;if(t!==null&&kd(t,a[1]))return a[0];if(a=e(),Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a}function jd(e,t,n){return n===void 0||(Hn&1073741824)!==0&&(Y&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=py(),G.lanes|=e,va|=e,n)}function Mp(e,t,n,a){return Bt(n,t)?n:Vl.current!==null?(e=jd(e,n,a),Bt(e,t)||(Le=!0),e):(Hn&42)===0||(Hn&1073741824)!==0&&(Y&261930)===0?(Le=!0,e.memoizedState=n):(e=py(),G.lanes|=e,va|=e,t)}function _p(e,t,n,a,l){var i=$.p;$.p=i!==0&&8>i?i:8;var r=L.T,o={};L.T=o,Vd(e,!1,t,n);try{var u=l(),c=L.S;if(c!==null&&c(o,u),u!==null&&typeof u=="object"&&typeof u.then=="function"){var s=zA(u,a);Ji(e,t,s,_t(e))}else Ji(e,t,a,_t(e))}catch(f){Ji(e,t,{then:function(){},status:"rejected",reason:f},_t())}finally{$.p=i,r!==null&&o.types!==null&&(r.types=o.types),L.T=r}}function jA(){}function Vs(e,t,n,a){if(e.tag!==5)throw Error(S(476));var l=Bp(e).queue;_p(e,l,t,za,n===null?jA:function(){return Np(e),n(a)})}function Bp(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:za,baseState:za,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:za},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:zn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Np(e){var t=Bp(e);t.next===null&&(t=e.alternate.memoizedState),Ji(e,t.next.queue,{},_t())}function Yd(){return Qe(hr)}function Op(){return Me().memoizedState}function kp(){return Me().memoizedState}function YA(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_t();e=ua(n);var a=ca(t,e,n);a!==null&&(yt(a,t,n),Zi(a,t,n)),t={cache:Md()},e.payload=t;return}t=t.return}}function VA(e,t,n){var a=_t();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},_u(e)?Hp(t,n):(n=Td(e,t,n,a),n!==null&&(yt(n,e,a),zp(n,t,a)))}function Lp(e,t,n){var a=_t();Ji(e,t,n,a)}function Ji(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(_u(e))Hp(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,o=i(r,n);if(l.hasEagerState=!0,l.eagerState=o,Bt(o,r))return Tu(e,t,l,0),ue===null&&Ru(),!1}catch{}finally{}if(n=Td(e,t,l,a),n!==null)return yt(n,e,a),zp(n,t,a),!0}return!1}function Vd(e,t,n,a){if(a={lane:2,revertLane:ef(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},_u(e)){if(t)throw Error(S(479))}else t=Td(e,n,a,2),t!==null&&yt(t,e,2)}function _u(e){var t=e.alternate;return e===G||t!==null&&t===G}function Hp(e,t){Gl=au=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zp(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Sh(e,n)}}var fr={readContext:Qe,use:xu,useCallback:Re,useContext:Re,useEffect:Re,useImperativeHandle:Re,useLayoutEffect:Re,useInsertionEffect:Re,useMemo:Re,useReducer:Re,useRef:Re,useState:Re,useDebugValue:Re,useDeferredValue:Re,useTransition:Re,useSyncExternalStore:Re,useId:Re,useHostTransitionStatus:Re,useFormState:Re,useActionState:Re,useOptimistic:Re,useMemoCache:Re,useCacheRefresh:Re};fr.useEffectEvent=Re;var Up={readContext:Qe,use:xu,useCallback:function(e,t){return ut().memoizedState=[e,t===void 0?null:t],e},useContext:Qe,useEffect:wm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,zo(4194308,4,Tp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zo(4194308,4,e,t)},useInsertionEffect:function(e,t){zo(4,2,e,t)},useMemo:function(e,t){var n=ut();t=t===void 0?null:t;var a=e();if(Va){ta(!0);try{e()}finally{ta(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=ut();if(n!==void 0){var l=n(t);if(Va){ta(!0);try{n(t)}finally{ta(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=VA.bind(null,G,e),[a.memoizedState,e]},useRef:function(e){var t=ut();return e={current:e},t.memoizedState=e},useState:function(e){e=js(e);var t=e.queue,n=Lp.bind(null,G,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Fd,useDeferredValue:function(e,t){var n=ut();return jd(n,e,t)},useTransition:function(){var e=js(!1);return e=_p.bind(null,G,e.queue,!0,!1),ut().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=G,l=ut();if(V){if(n===void 0)throw Error(S(407));n=n()}else{if(n=t(),ue===null)throw Error(S(349));(Y&127)!==0||dp(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,wm(gp.bind(null,a,i,e),[e]),a.flags|=2048,Xl(9,{destroy:void 0},fp.bind(null,a,i,n,t),null),n},useId:function(){var e=ut(),t=ue.identifierPrefix;if(V){var n=dn,a=sn;n=(a&~(1<<32-Mt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=lu++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=UA++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Yd,useFormState:vm,useActionState:vm,useOptimistic:function(e){var t=ut();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Vd.bind(null,G,!0,n),n.dispatch=t,[e,t]},useMemoCache:Gd,useCacheRefresh:function(){return ut().memoizedState=YA.bind(null,G)},useEffectEvent:function(e){var t=ut(),n={impl:e};return t.memoizedState=n,function(){if((J&2)!==0)throw Error(S(440));return n.impl.apply(void 0,arguments)}}},Xd={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:Ho,useRef:wp,useState:function(){return Ho(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=Ho(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:bm,useActionState:bm,useOptimistic:function(e,t){var n=Me();return pp(n,re,e,t)},useMemoCache:Gd,useCacheRefresh:kp};Xd.useEffectEvent=Sp;var Gp={readContext:Qe,use:xu,useCallback:Dp,useContext:Qe,useEffect:qd,useImperativeHandle:Ep,useInsertionEffect:Cp,useLayoutEffect:Rp,useMemo:xp,useReducer:$c,useRef:wp,useState:function(){return $c(zn)},useDebugValue:Fd,useDeferredValue:function(e,t){var n=Me();return re===null?jd(n,e,t):Mp(n,re.memoizedState,e,t)},useTransition:function(){var e=$c(zn)[0],t=Me().memoizedState;return[typeof e=="boolean"?e:Tr(e),t]},useSyncExternalStore:sp,useId:Op,useHostTransitionStatus:Yd,useFormState:Am,useActionState:Am,useOptimistic:function(e,t){var n=Me();return re!==null?pp(n,re,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Gd,useCacheRefresh:kp};Gp.useEffectEvent=Sp;function es(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:ve({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xs={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=_t(),l=ua(a);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=ca(e,l,a),t!==null&&(yt(t,e,a),Zi(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=_t(),a=ua(n);a.tag=2,t!=null&&(a.callback=t),t=ca(e,a,n),t!==null&&(yt(t,e,n),Zi(t,e,n))}};function Sm(e,t,n,a,l,i,r){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,r):t.prototype&&t.prototype.isPureReactComponent?!or(n,a)||!or(l,i):!0}function Cm(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Xs.enqueueReplaceState(t,t.state,null)}function Xa(e,t){var n=t;if("ref"in t){n={};for(var a in t)a!=="ref"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=ve({},n));for(var l in e)n[l]===void 0&&(n[l]=e[l])}return n}function Pp(e){Wo(e)}function qp(e){console.error(e)}function Fp(e){Wo(e)}function iu(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function Rm(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Qs(e,t,n){return n=ua(n),n.tag=3,n.payload={element:null},n.callback=function(){iu(e,t)},n}function jp(e){return e=ua(e),e.tag=3,e}function Yp(e,t,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var i=a.value;e.payload=function(){return l(i)},e.callback=function(){Rm(t,n,a)}}var r=n.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){Rm(t,n,a),typeof l!="function"&&(sa===null?sa=new Set([this]):sa.add(this));var o=a.stack;this.componentDidCatch(a.value,{componentStack:o!==null?o:""})})}function XA(e,t,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=n.alternate,t!==null&&ei(t,n,l,!0),n=Nt.current,n!==null){switch(n.tag){case 31:case 13:return Xt===null?su():n.alternate===null&&Te===0&&(Te=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),ds(e,a,l)),!1;case 22:return n.flags|=65536,a===eu?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),ds(e,a,l)),!1}throw Error(S(435,n.tag))}return ds(e,a,l),su(),!1}if(V)return t=Nt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,a!==ks&&(e=Error(S(422),{cause:a}),cr(Yt(e,n)))):(a!==ks&&(t=Error(S(423),{cause:a}),cr(Yt(t,n))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,a=Yt(a,n),l=Qs(e.stateNode,a,l),Jc(e,l),Te!==4&&(Te=2)),!1;var i=Error(S(520),{cause:a});if(i=Yt(i,n),tr===null?tr=[i]:tr.push(i),Te!==4&&(Te=2),t===null)return!0;a=Yt(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=l&-l,n.lanes|=e,e=Qs(n.stateNode,a,e),Jc(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(sa===null||!sa.has(i))))return n.flags|=65536,l&=-l,n.lanes|=l,l=jp(l),Yp(l,e,n,a),Jc(n,l),!1}n=n.return}while(n!==null);return!1}var Qd=Error(S(461)),Le=!1;function Ye(e,t,n,a){t.child=e===null?lp(t,null,n,a):Ya(t,e.child,n,a)}function Tm(e,t,n,a,l){n=n.render;var i=t.ref;if("ref"in a){var r={};for(var o in a)o!=="ref"&&(r[o]=a[o])}else r=a;return ja(t),a=Ld(e,t,n,r,i,l),o=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&o&&Dd(t),t.flags|=1,Ye(e,t,a,l),t.child)}function Em(e,t,n,a,l){if(e===null){var i=n.type;return typeof i=="function"&&!Ed(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,Vp(e,t,i,a,l)):(e=ko(n.type,null,a,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Kd(e,l)){var r=i.memoizedProps;if(n=n.compare,n=n!==null?n:or,n(r,a)&&e.ref===t.ref)return Un(e,t,l)}return t.flags|=1,e=Nn(i,a),e.ref=t.ref,e.return=t,t.child=e}function Vp(e,t,n,a,l){if(e!==null){var i=e.memoizedProps;if(or(i,a)&&e.ref===t.ref)if(Le=!1,t.pendingProps=a=i,Kd(e,l))(e.flags&131072)!==0&&(Le=!0);else return t.lanes=e.lanes,Un(e,t,l)}return Ks(e,t,n,a,l)}function Xp(e,t,n,a){var l=a.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(a=t.child=e.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~i}else a=0,t.child=null;return Dm(e,t,i,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Lo(t,i!==null?i.cachePool:null),i!==null?hm(t,i):qs(),op(t);else return a=t.lanes=536870912,Dm(e,t,i!==null?i.baseLanes|n:n,n,a)}else i!==null?(Lo(t,i.cachePool),hm(t,i),$n(t),t.memoizedState=null):(e!==null&&Lo(t,null),qs(),$n(t));return Ye(e,t,l,n),t.child}function ji(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Dm(e,t,n,a,l){var i=_d();return i=i===null?null:{parent:ke._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Lo(t,null),qs(),op(t),e!==null&&ei(e,t,a,!0),t.childLanes=l,null}function Uo(e,t){return t=ru({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function xm(e,t,n){return Ya(t,e.child,null,n),e=Uo(t,t.pendingProps),e.flags|=2,Rt(t),t.memoizedState=null,e}function QA(e,t,n){var a=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(V){if(a.mode==="hidden")return e=Uo(t,a),t.lanes=536870912,ji(null,e);if(Fs(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return t.lanes=536870912,null}return Uo(t,a)}var i=e.memoizedState;if(i!==null){var r=i.dehydrated;if(Fs(t),l)if(t.flags&256)t.flags&=-257,t=xm(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(S(558));else if(Le||ei(e,t,n,!1),l=(n&e.childLanes)!==0,Le||l){if(a=ue,a!==null&&(r=Ch(a,n),r!==0&&r!==i.retryLane))throw i.retryLane=r,Wa(e,r),yt(a,e,r),Qd;su(),t=xm(e,t,n)}else e=i.treeContext,ye=Qt(r.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Uo(t,a),t.flags|=4096;return t}return e=Nn(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Go(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(S(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Ks(e,t,n,a,l){return ja(t),n=Ld(e,t,n,a,void 0,l),a=Hd(),e!==null&&!Le?(zd(e,t,l),Un(e,t,l)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,l),t.child)}function Mm(e,t,n,a,l,i){return ja(t),t.updateQueue=null,n=cp(t,a,n,l),up(e),a=Hd(),e!==null&&!Le?(zd(e,t,i),Un(e,t,i)):(V&&a&&Dd(t),t.flags|=1,Ye(e,t,n,i),t.child)}function _m(e,t,n,a,l){if(ja(t),t.stateNode===null){var i=_l,r=n.contextType;typeof r=="object"&&r!==null&&(i=Qe(r)),i=new n(a,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Xs,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=a,i.state=t.memoizedState,i.refs={},Nd(t),r=n.contextType,i.context=typeof r=="object"&&r!==null?Qe(r):_l,i.state=t.memoizedState,r=n.getDerivedStateFromProps,typeof r=="function"&&(es(t,n,r,a),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&Xs.enqueueReplaceState(i,i.state,null),Ii(t,a,i,l),Wi(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){i=t.stateNode;var o=t.memoizedProps,u=Xa(n,o);i.props=u;var c=i.context,s=n.contextType;r=_l,typeof s=="object"&&s!==null&&(r=Qe(s));var f=n.getDerivedStateFromProps;s=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function",o=t.pendingProps!==o,s||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o||c!==r)&&Cm(t,i,a,r),Wn=!1;var d=t.memoizedState;i.state=d,Ii(t,a,i,l),Wi(),c=t.memoizedState,o||d!==c||Wn?(typeof f=="function"&&(es(t,n,f,a),c=t.memoizedState),(u=Wn||Sm(t,n,u,a,d,c,r))?(s||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=r,a=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Gs(e,t),r=t.memoizedProps,s=Xa(n,r),i.props=s,f=t.pendingProps,d=i.context,c=n.contextType,u=_l,typeof c=="object"&&c!==null&&(u=Qe(c)),o=n.getDerivedStateFromProps,(c=typeof o=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r!==f||d!==u)&&Cm(t,i,a,u),Wn=!1,d=t.memoizedState,i.state=d,Ii(t,a,i,l),Wi();var m=t.memoizedState;r!==f||d!==m||Wn||e!==null&&e.dependencies!==null&&$o(e.dependencies)?(typeof o=="function"&&(es(t,n,o,a),m=t.memoizedState),(s=Wn||Sm(t,n,s,a,d,m,u)||e!==null&&e.dependencies!==null&&$o(e.dependencies))?(c||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(a,m,u),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(a,m,u)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=u,a=s):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return i=a,Go(e,t),a=(t.flags&128)!==0,i||a?(i=t.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&a?(t.child=Ya(t,e.child,null,l),t.child=Ya(t,null,n,l)):Ye(e,t,n,l),t.memoizedState=i.state,e=t.child):e=Un(e,t,l),e}function Bm(e,t,n,a){return Fa(),t.flags|=256,Ye(e,t,n,a),t.child}var ts={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ns(e){return{baseLanes:e,cachePool:tp()}}function as(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Et),e}function Qp(e,t,n){var a=t.pendingProps,l=!1,i=(t.flags&128)!==0,r;if((r=i)||(r=e!==null&&e.memoizedState===null?!1:(xe.current&2)!==0),r&&(l=!0,t.flags&=-129),r=(t.flags&32)!==0,t.flags&=-33,e===null){if(V){if(l?Jn(t):$n(t),(e=ye)?(e=Uy(e,Vt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ha!==null?{id:sn,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},n=Ih(e),n.return=t,t.child=n,Xe=t,ye=null)):e=null,e===null)throw pa(t);return ud(e)?t.lanes=32:t.lanes=536870912,null}var o=a.children;return a=a.fallback,l?($n(t),l=t.mode,o=ru({mode:"hidden",children:o},l),a=Ua(a,l,n,null),o.return=t,a.return=t,o.sibling=a,t.child=o,a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,ji(null,a)):(Jn(t),Zs(t,o))}var u=e.memoizedState;if(u!==null&&(o=u.dehydrated,o!==null)){if(i)t.flags&256?(Jn(t),t.flags&=-257,t=ls(e,t,n)):t.memoizedState!==null?($n(t),t.child=e.child,t.flags|=128,t=null):($n(t),o=a.fallback,l=t.mode,a=ru({mode:"visible",children:a.children},l),o=Ua(o,l,n,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,Ya(t,e.child,null,n),a=t.child,a.memoizedState=ns(n),a.childLanes=as(e,r,n),t.memoizedState=ts,t=ji(null,a));else if(Jn(t),ud(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var c=r.dgst;r=c,a=Error(S(419)),a.stack="",a.digest=r,cr({value:a,source:null,stack:null}),t=ls(e,t,n)}else if(Le||ei(e,t,n,!1),r=(n&e.childLanes)!==0,Le||r){if(r=ue,r!==null&&(a=Ch(r,n),a!==0&&a!==u.retryLane))throw u.retryLane=a,Wa(e,a),yt(r,e,a),Qd;od(o)||su(),t=ls(e,t,n)}else od(o)?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,ye=Qt(o.nextSibling),Xe=t,V=!0,oa=null,Vt=!1,e!==null&&$h(t,e),t=Zs(t,a.children),t.flags|=4096);return t}return l?($n(t),o=a.fallback,l=t.mode,u=e.child,c=u.sibling,a=Nn(u,{mode:"hidden",children:a.children}),a.subtreeFlags=u.subtreeFlags&65011712,c!==null?o=Nn(c,o):(o=Ua(o,l,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,ji(null,a),a=t.child,o=e.child.memoizedState,o===null?o=ns(n):(l=o.cachePool,l!==null?(u=ke._currentValue,l=l.parent!==u?{parent:u,pool:u}:l):l=tp(),o={baseLanes:o.baseLanes|n,cachePool:l}),a.memoizedState=o,a.childLanes=as(e,r,n),t.memoizedState=ts,ji(e.child,a)):(Jn(t),n=e.child,e=n.sibling,n=Nn(n,{mode:"visible",children:a.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Zs(e,t){return t=ru({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ru(e,t){return e=Tt(22,e,null,t),e.lanes=0,e}function ls(e,t,n){return Ya(t,e.child,null,n),e=Zs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nm(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Hs(e.return,t,n)}function is(e,t,n,a,l,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=l,r.treeForkCount=i)}function Kp(e,t,n){var a=t.pendingProps,l=a.revealOrder,i=a.tail;a=a.children;var r=xe.current,o=(r&2)!==0;if(o?(r=r&1|2,t.flags|=128):r&=1,ge(xe,r),Ye(e,t,a,n),a=V?ur:0,!o&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nm(e,n,t);else if(e.tag===19)Nm(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&nu(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),is(t,!1,l,n,i,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&nu(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}is(t,!0,n,null,i,a);break;case"together":is(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function Un(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),va|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ei(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(S(153));if(t.child!==null){for(e=t.child,n=Nn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Nn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Kd(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&$o(e)))}function KA(e,t,n){switch(t.tag){case 3:Xo(t,t.stateNode.containerInfo),In(t,ke,e.memoizedState.cache),Fa();break;case 27:case 5:Cs(t);break;case 4:Xo(t,t.stateNode.containerInfo);break;case 10:In(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Fs(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(Jn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Qp(e,t,n):(Jn(t),e=Un(e,t,n),e!==null?e.sibling:null);Jn(t);break;case 19:var l=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||(ei(e,t,n,!1),a=(n&t.childLanes)!==0),l){if(a)return Kp(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ge(xe,xe.current),a)break;return null;case 22:return t.lanes=0,Xp(e,t,n,t.pendingProps);case 24:In(t,ke,e.memoizedState.cache)}return Un(e,t,n)}function Zp(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Le=!0;else{if(!Kd(e,n)&&(t.flags&128)===0)return Le=!1,KA(e,t,n);Le=(e.flags&131072)!==0}else Le=!1,V&&(t.flags&1048576)!==0&&Jh(t,ur,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=La(t.elementType),t.type=e,typeof e=="function")Ed(e)?(a=Xa(e,a),t.tag=1,t=_m(null,t,e,a,n)):(t.tag=0,t=Ks(null,t,e,a,n));else{if(e!=null){var l=e.$$typeof;if(l===fd){t.tag=11,t=Tm(null,t,e,a,n);break e}else if(l===gd){t.tag=14,t=Em(null,t,e,a,n);break e}}throw t=ws(e)||e,Error(S(306,t,""))}}return t;case 0:return Ks(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,l=Xa(a,t.pendingProps),_m(e,t,a,l,n);case 3:e:{if(Xo(t,t.stateNode.containerInfo),e===null)throw Error(S(387));a=t.pendingProps;var i=t.memoizedState;l=i.element,Gs(e,t),Ii(t,a,null,n);var r=t.memoizedState;if(a=r.cache,In(t,ke,a),a!==i.cache&&zs(t,[ke],n,!0),Wi(),a=r.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:r.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Bm(e,t,a,n);break e}else if(a!==l){l=Yt(Error(S(424)),t),cr(l),t=Bm(e,t,a,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(ye=Qt(e.firstChild),Xe=t,V=!0,oa=null,Vt=!0,n=lp(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Fa(),a===l){t=Un(e,t,n);break e}Ye(e,t,a,n)}t=t.child}return t;case 26:return Go(e,t),e===null?(n=eh(t.type,null,t.pendingProps,null))?t.memoizedState=n:V||(n=t.type,e=t.pendingProps,a=mu(ra.current).createElement(n),a[Ve]=t,a[vt]=e,Ke(a,n,e),qe(a),t.stateNode=a):t.memoizedState=eh(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Cs(t),e===null&&V&&(a=t.stateNode=Gy(t.type,t.pendingProps,ra.current),Xe=t,Vt=!0,l=ye,Aa(t.type)?(cd=l,ye=Qt(a.firstChild)):ye=l),Ye(e,t,t.pendingProps.children,n),Go(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&V&&((l=a=ye)&&(a=Sw(a,t.type,t.pendingProps,Vt),a!==null?(t.stateNode=a,Xe=t,ye=Qt(a.firstChild),Vt=!1,l=!0):l=!1),l||pa(t)),Cs(t),l=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,a=i.children,id(l,i)?a=null:r!==null&&id(l,r)&&(t.flags|=32),t.memoizedState!==null&&(l=Ld(e,t,GA,null,null,n),hr._currentValue=l),Go(e,t),Ye(e,t,a,n),t.child;case 6:return e===null&&V&&((e=n=ye)&&(n=Cw(n,t.pendingProps,Vt),n!==null?(t.stateNode=n,Xe=t,ye=null,e=!0):e=!1),e||pa(t)),null;case 13:return Qp(e,t,n);case 4:return Xo(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ya(t,null,a,n):Ye(e,t,a,n),t.child;case 11:return Tm(e,t,t.type,t.pendingProps,n);case 7:return Ye(e,t,t.pendingProps,n),t.child;case 8:return Ye(e,t,t.pendingProps.children,n),t.child;case 12:return Ye(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,In(t,t.type,a.value),Ye(e,t,a.children,n),t.child;case 9:return l=t.type._context,a=t.pendingProps.children,ja(t),l=Qe(l),a=a(l),t.flags|=1,Ye(e,t,a,n),t.child;case 14:return Em(e,t,t.type,t.pendingProps,n);case 15:return Vp(e,t,t.type,t.pendingProps,n);case 19:return Kp(e,t,n);case 31:return QA(e,t,n);case 22:return Xp(e,t,n,t.pendingProps);case 24:return ja(t),a=Qe(ke),e===null?(l=_d(),l===null&&(l=ue,i=Md(),l.pooledCache=i,i.refCount++,i!==null&&(l.pooledCacheLanes|=n),l=i),t.memoizedState={parent:a,cache:l},Nd(t),In(t,ke,l)):((e.lanes&n)!==0&&(Gs(e,t),Ii(t,null,null,n),Wi()),l=e.memoizedState,i=t.memoizedState,l.parent!==a?(l={parent:a,cache:a},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),In(t,ke,a)):(a=i.cache,In(t,ke,a),a!==l.cache&&zs(t,[ke],n,!0))),Ye(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(S(156,t.tag))}function Cn(e){e.flags|=4}function rs(e,t,n,a,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(by())e.flags|=8192;else throw Pa=eu,Bd}else e.flags&=-16777217}function Om(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Fy(t))if(by())e.flags|=8192;else throw Pa=eu,Bd}function Co(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ah():536870912,e.lanes|=t,Ql|=t)}function Hi(e,t){if(!V)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function ZA(e,t,n){var a=t.pendingProps;switch(xd(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pe(t),null;case 1:return pe(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),On(ke),ql(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(vl(t)?Cn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Ic())),pe(t),null;case 26:var l=t.type,i=t.memoizedState;return e===null?(Cn(t),i!==null?(pe(t),Om(t,i)):(pe(t),rs(t,l,null,a,n))):i?i!==e.memoizedState?(Cn(t),pe(t),Om(t,i)):(pe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&Cn(t),pe(t),rs(t,l,e,a,n)),null;case 27:if(Qo(t),n=ra.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}e=gn.current,vl(t)?um(t,e):(e=Gy(l,a,n),t.stateNode=e,Cn(t))}return pe(t),null;case 5:if(Qo(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return pe(t),null}if(i=gn.current,vl(t))um(t,i);else{var r=mu(ra.current);switch(i){case 1:i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":i=r.createElement("div"),i.innerHTML="<script><\/scr"+"ipt>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?r.createElement(l,{is:a.is}):r.createElement(l)}}i[Ve]=t,i[vt]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(Ke(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Cn(t)}}return pe(t),rs(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Cn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(S(166));if(e=ra.current,vl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=Xe,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[Ve]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Ly(e.nodeValue,n)),e||pa(t,!0)}else e=mu(e).createTextNode(a),e[Ve]=t,t.stateNode=e}return pe(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=vl(t),n!==null){if(e===null){if(!a)throw Error(S(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(S(557));e[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),e=!1}else n=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Rt(t),t):(Rt(t),null);if((t.flags&128)!==0)throw Error(S(558))}return pe(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=vl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(S(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(317));l[Ve]=t}else Fa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;pe(t),l=!1}else l=Ic(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Rt(t),t):(Rt(t),null)}return Rt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Co(t,t.updateQueue),pe(t),null);case 4:return ql(),e===null&&tf(t.stateNode.containerInfo),pe(t),null;case 10:return On(t.type),pe(t),null;case 19:if(Fe(xe),a=t.memoizedState,a===null)return pe(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)Hi(a,!1);else{if(Te!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=nu(e),i!==null){for(t.flags|=128,Hi(a,!1),e=i.updateQueue,t.updateQueue=e,Co(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Wh(n,e),n=n.sibling;return ge(xe,xe.current&1|2),V&&Dn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Dt()>uu&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304)}else{if(!l)if(e=nu(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Co(t,e),Hi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!V)return pe(t),null}else 2*Dt()-a.renderingStartTime>uu&&n!==536870912&&(t.flags|=128,l=!0,Hi(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Dt(),e.sibling=null,n=xe.current,ge(xe,l?n&1|2:n&1),V&&Dn(t,a.treeForkCount),e):(pe(t),null);case 22:case 23:return Rt(t),Od(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(pe(t),t.subtreeFlags&6&&(t.flags|=8192)):pe(t),n=t.updateQueue,n!==null&&Co(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&Fe(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),On(ke),pe(t),null;case 25:return null;case 30:return null}throw Error(S(156,t.tag))}function WA(e,t){switch(xd(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return On(ke),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Qo(t),null;case 31:if(t.memoizedState!==null){if(Rt(t),t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Rt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fe(xe),null;case 4:return ql(),null;case 10:return On(t.type),null;case 22:case 23:return Rt(t),Od(),e!==null&&Fe(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return On(ke),null;case 25:return null;default:return null}}function Wp(e,t){switch(xd(t),t.tag){case 3:On(ke),ql();break;case 26:case 27:case 5:Qo(t);break;case 4:ql();break;case 31:t.memoizedState!==null&&Rt(t);break;case 13:Rt(t);break;case 19:Fe(xe);break;case 10:On(t.type);break;case 22:case 23:Rt(t),Od(),e!==null&&Fe(Ga);break;case 24:On(ke)}}function Er(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,r=n.inst;a=i(),r.destroy=a}n=n.next}while(n!==l)}}catch(o){le(t,t.return,o)}}function ya(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var r=a.inst,o=r.destroy;if(o!==void 0){r.destroy=void 0,l=t;var u=n,c=o;try{c()}catch(s){le(l,u,s)}}}a=a.next}while(a!==i)}}catch(s){le(t,t.return,s)}}function Ip(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{rp(t,n)}catch(a){le(e,e.return,a)}}}function Jp(e,t,n){n.props=Xa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){le(e,t,a)}}function $i(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){le(e,t,l)}}function fn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){le(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){le(e,t,l)}else n.current=null}function $p(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){le(e,e.return,l)}}function os(e,t,n){try{var a=e.stateNode;pw(a,e.type,n,t),a[vt]=t}catch(l){le(e,e.return,l)}}function ey(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Aa(e.type)||e.tag===4}function us(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ey(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Aa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ws(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=_n));else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Ws(e,t,n),e=e.sibling;e!==null;)Ws(e,t,n),e=e.sibling}function ou(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Aa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ou(e,t,n),e=e.sibling;e!==null;)ou(e,t,n),e=e.sibling}function ty(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);Ke(t,a,n),t[Ve]=e,t[vt]=n}catch(i){le(e,e.return,i)}}var xn=!1,Oe=!1,cs=!1,km=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function IA(e,t){if(e=e.containerInfo,ad=vu,e=Fh(e),Cd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var r=0,o=-1,u=-1,c=0,s=0,f=e,d=null;t:for(;;){for(var m;f!==n||l!==0&&f.nodeType!==3||(o=r+l),f!==i||a!==0&&f.nodeType!==3||(u=r+a),f.nodeType===3&&(r+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===n&&++c===l&&(o=r),d===i&&++s===a&&(u=r),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}n=o===-1||u===-1?null:{start:o,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ld={focusedElem:e,selectionRange:n},vu=!1,Pe=t;Pe!==null;)if(t=Pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Pe=e;else for(;Pe!==null;){switch(t=Pe,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)l=e[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,l=i.memoizedProps,i=i.memoizedState,a=n.stateNode;try{var v=Xa(n.type,l);e=a.getSnapshotBeforeUpdate(v,i),a.__reactInternalSnapshotBeforeUpdate=e}catch(A){le(n,n.return,A)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)rd(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":rd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(S(163))}if(e=t.sibling,e!==null){e.return=t.return,Pe=e;break}Pe=t.return}}function ny(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Tn(e,n),a&4&&Er(5,n);break;case 1:if(Tn(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(r){le(n,n.return,r)}else{var l=Xa(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(r){le(n,n.return,r)}}a&64&&Ip(n),a&512&&$i(n,n.return);break;case 3:if(Tn(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{rp(e,t)}catch(r){le(n,n.return,r)}}break;case 27:t===null&&a&4&&ty(n);case 26:case 5:Tn(e,n),t===null&&a&4&&$p(n),a&512&&$i(n,n.return);break;case 12:Tn(e,n);break;case 31:Tn(e,n),a&4&&iy(e,n);break;case 13:Tn(e,n),a&4&&ry(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=rw.bind(null,n),Rw(e,n))));break;case 22:if(a=n.memoizedState!==null||xn,!a){t=t!==null&&t.memoizedState!==null||Oe,l=xn;var i=Oe;xn=a,(Oe=t)&&!i?En(e,n,(n.subtreeFlags&8772)!==0):Tn(e,n),xn=l,Oe=i}break;case 30:break;default:Tn(e,n)}}function ay(e){var t=e.alternate;t!==null&&(e.alternate=null,ay(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&yd(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ce=null,ht=!1;function Rn(e,t,n){for(n=n.child;n!==null;)ly(e,t,n),n=n.sibling}function ly(e,t,n){if(xt&&typeof xt.onCommitFiberUnmount=="function")try{xt.onCommitFiberUnmount(br,n)}catch{}switch(n.tag){case 26:Oe||fn(n,t),Rn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Oe||fn(n,t);var a=Ce,l=ht;Aa(n.type)&&(Ce=n.stateNode,ht=!1),Rn(e,t,n),ar(n.stateNode),Ce=a,ht=l;break;case 5:Oe||fn(n,t);case 6:if(a=Ce,l=ht,Ce=null,Rn(e,t,n),Ce=a,ht=l,Ce!==null)if(ht)try{(Ce.nodeType===9?Ce.body:Ce.nodeName==="HTML"?Ce.ownerDocument.body:Ce).removeChild(n.stateNode)}catch(i){le(n,t,i)}else try{Ce.removeChild(n.stateNode)}catch(i){le(n,t,i)}break;case 18:Ce!==null&&(ht?(e=Ce,Zm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),Il(e)):Zm(Ce,n.stateNode));break;case 4:a=Ce,l=ht,Ce=n.stateNode.containerInfo,ht=!0,Rn(e,t,n),Ce=a,ht=l;break;case 0:case 11:case 14:case 15:ya(2,n,t),Oe||ya(4,n,t),Rn(e,t,n);break;case 1:Oe||(fn(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"&&Jp(n,t,a)),Rn(e,t,n);break;case 21:Rn(e,t,n);break;case 22:Oe=(a=Oe)||n.memoizedState!==null,Rn(e,t,n),Oe=a;break;default:Rn(e,t,n)}}function iy(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Il(e)}catch(n){le(t,t.return,n)}}}function ry(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Il(e)}catch(n){le(t,t.return,n)}}function JA(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new km),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new km),t;default:throw Error(S(435,e.tag))}}function Ro(e,t){var n=JA(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var l=ow.bind(null,e,a);a.then(l,l)}})}function gt(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var l=n[a],i=e,r=t,o=r;e:for(;o!==null;){switch(o.tag){case 27:if(Aa(o.type)){Ce=o.stateNode,ht=!1;break e}break;case 5:Ce=o.stateNode,ht=!1;break e;case 3:case 4:Ce=o.stateNode.containerInfo,ht=!0;break e}o=o.return}if(Ce===null)throw Error(S(160));ly(i,r,l),Ce=null,ht=!1,i=l.alternate,i!==null&&(i.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)oy(t,e),t=t.sibling}var en=null;function oy(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),mt(e),a&4&&(ya(3,e,e.return),Er(3,e),ya(5,e,e.return));break;case 1:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&64&&xn&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var l=en;if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),a&4){var i=n!==null?n.memoizedState:null;if(a=e.memoizedState,n===null)if(a===null)if(e.stateNode===null){e:{a=e.type,n=e.memoizedProps,l=l.ownerDocument||l;t:switch(a){case"title":i=l.getElementsByTagName("title")[0],(!i||i[Sr]||i[Ve]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=l.createElement(a),l.head.insertBefore(i,l.querySelector("head > title"))),Ke(i,a,n),i[Ve]=e,qe(i),a=i;break e;case"link":var r=nh("link","href",l).get(a+(n.href||""));if(r){for(var o=0;o<r.length;o++)if(i=r[o],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;case"meta":if(r=nh("meta","content",l).get(a+(n.content||""))){for(o=0;o<r.length;o++)if(i=r[o],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){r.splice(o,1);break t}}i=l.createElement(a),Ke(i,a,n),l.head.appendChild(i);break;default:throw Error(S(468,a))}i[Ve]=e,qe(i),a=i}e.stateNode=a}else ah(l,e.type,e.stateNode);else e.stateNode=th(l,a,e.memoizedProps);else i!==a?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count--,a===null?ah(l,e.type,e.stateNode):th(l,a,e.memoizedProps)):a===null&&e.stateNode!==null&&os(e,e.memoizedProps,n.memoizedProps)}break;case 27:gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),n!==null&&a&4&&os(e,e.memoizedProps,n.memoizedProps);break;case 5:if(gt(t,e),mt(e),a&512&&(Oe||n===null||fn(n,n.return)),e.flags&32){l=e.stateNode;try{jl(l,"")}catch(v){le(e,e.return,v)}}a&4&&e.stateNode!=null&&(l=e.memoizedProps,os(e,l,n!==null?n.memoizedProps:l)),a&1024&&(cs=!0);break;case 6:if(gt(t,e),mt(e),a&4){if(e.stateNode===null)throw Error(S(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(v){le(e,e.return,v)}}break;case 3:if(Fo=null,l=en,en=hu(t.containerInfo),gt(t,e),en=l,mt(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Il(t.containerInfo)}catch(v){le(e,e.return,v)}cs&&(cs=!1,uy(e));break;case 4:a=en,en=hu(e.stateNode.containerInfo),gt(t,e),mt(e),en=a;break;case 12:gt(t,e),mt(e);break;case 31:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 13:gt(t,e),mt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Bu=Dt()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 22:l=e.memoizedState!==null;var u=n!==null&&n.memoizedState!==null,c=xn,s=Oe;if(xn=c||l,Oe=s||u,gt(t,e),Oe=s,xn=c,mt(e),a&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(n===null||u||xn||Oe||Ha(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){u=n=t;try{if(i=u.stateNode,l)r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{o=u.stateNode;var f=u.memoizedProps.style,d=f!=null&&f.hasOwnProperty("display")?f.display:null;o.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(v){le(u,u.return,v)}}}else if(t.tag===6){if(n===null){u=t;try{u.stateNode.nodeValue=l?"":u.memoizedProps}catch(v){le(u,u.return,v)}}}else if(t.tag===18){if(n===null){u=t;try{var m=u.stateNode;l?Wm(m,!0):Wm(u.stateNode,!1)}catch(v){le(u,u.return,v)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,Ro(e,n))));break;case 19:gt(t,e),mt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,Ro(e,a)));break;case 30:break;case 21:break;default:gt(t,e),mt(e)}}function mt(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(ey(a)){n=a;break}a=a.return}if(n==null)throw Error(S(160));switch(n.tag){case 27:var l=n.stateNode,i=us(e);ou(e,i,l);break;case 5:var r=n.stateNode;n.flags&32&&(jl(r,""),n.flags&=-33);var o=us(e);ou(e,o,r);break;case 3:case 4:var u=n.stateNode.containerInfo,c=us(e);Ws(e,c,u);break;default:throw Error(S(161))}}catch(s){le(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function uy(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;uy(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Tn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ny(e,t.alternate,t),t=t.sibling}function Ha(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ya(4,t,t.return),Ha(t);break;case 1:fn(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Jp(t,t.return,n),Ha(t);break;case 27:ar(t.stateNode);case 26:case 5:fn(t,t.return),Ha(t);break;case 22:t.memoizedState===null&&Ha(t);break;case 30:Ha(t);break;default:Ha(t)}e=e.sibling}}function En(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,l=e,i=t,r=i.flags;switch(i.tag){case 0:case 11:case 15:En(l,i,n),Er(4,i);break;case 1:if(En(l,i,n),a=i,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(c){le(a,a.return,c)}if(a=i,l=a.updateQueue,l!==null){var o=a.stateNode;try{var u=l.shared.hiddenCallbacks;if(u!==null)for(l.shared.hiddenCallbacks=null,l=0;l<u.length;l++)ip(u[l],o)}catch(c){le(a,a.return,c)}}n&&r&64&&Ip(i),$i(i,i.return);break;case 27:ty(i);case 26:case 5:En(l,i,n),n&&a===null&&r&4&&$p(i),$i(i,i.return);break;case 12:En(l,i,n);break;case 31:En(l,i,n),n&&r&4&&iy(l,i);break;case 13:En(l,i,n),n&&r&4&&ry(l,i);break;case 22:i.memoizedState===null&&En(l,i,n),$i(i,i.return);break;case 30:break;default:En(l,i,n)}t=t.sibling}}function Zd(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Rr(n))}function Wd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e))}function $t(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)cy(e,t,n,a),t=t.sibling}function cy(e,t,n,a){var l=t.flags;switch(t.tag){case 0:case 11:case 15:$t(e,t,n,a),l&2048&&Er(9,t);break;case 1:$t(e,t,n,a);break;case 3:$t(e,t,n,a),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rr(e)));break;case 12:if(l&2048){$t(e,t,n,a),e=t.stateNode;try{var i=t.memoizedProps,r=i.id,o=i.onPostCommit;typeof o=="function"&&o(r,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(u){le(t,t.return,u)}}else $t(e,t,n,a);break;case 31:$t(e,t,n,a);break;case 13:$t(e,t,n,a);break;case 23:break;case 22:i=t.stateNode,r=t.alternate,t.memoizedState!==null?i._visibility&2?$t(e,t,n,a):er(e,t):i._visibility&2?$t(e,t,n,a):(i._visibility|=2,Al(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Zd(r,t);break;case 24:$t(e,t,n,a),l&2048&&Wd(t.alternate,t);break;default:$t(e,t,n,a)}}function Al(e,t,n,a,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,r=t,o=n,u=a,c=r.flags;switch(r.tag){case 0:case 11:case 15:Al(i,r,o,u,l),Er(8,r);break;case 23:break;case 22:var s=r.stateNode;r.memoizedState!==null?s._visibility&2?Al(i,r,o,u,l):er(i,r):(s._visibility|=2,Al(i,r,o,u,l)),l&&c&2048&&Zd(r.alternate,r);break;case 24:Al(i,r,o,u,l),l&&c&2048&&Wd(r.alternate,r);break;default:Al(i,r,o,u,l)}t=t.sibling}}function er(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,l=a.flags;switch(a.tag){case 22:er(n,a),l&2048&&Zd(a.alternate,a);break;case 24:er(n,a),l&2048&&Wd(a.alternate,a);break;default:er(n,a)}t=t.sibling}}var Yi=8192;function bl(e,t,n){if(e.subtreeFlags&Yi)for(e=e.child;e!==null;)sy(e,t,n),e=e.sibling}function sy(e,t,n){switch(e.tag){case 26:bl(e,t,n),e.flags&Yi&&e.memoizedState!==null&&Hw(n,en,e.memoizedState,e.memoizedProps);break;case 5:bl(e,t,n);break;case 3:case 4:var a=en;en=hu(e.stateNode.containerInfo),bl(e,t,n),en=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=Yi,Yi=16777216,bl(e,t,n),Yi=a):bl(e,t,n));break;default:bl(e,t,n)}}function dy(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function zi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)fy(e),e=e.sibling}function fy(e){switch(e.tag){case 0:case 11:case 15:zi(e),e.flags&2048&&ya(9,e,e.return);break;case 3:zi(e);break;case 12:zi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Po(e)):zi(e);break;default:zi(e)}}function Po(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,gy(a,e)}dy(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ya(8,t,t.return),Po(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Po(t));break;default:Po(t)}e=e.sibling}}function gy(e,t){for(;Pe!==null;){var n=Pe;switch(n.tag){case 0:case 11:case 15:ya(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Rr(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,Pe=a;else e:for(n=e;Pe!==null;){a=Pe;var l=a.sibling,i=a.return;if(ay(a),a===n){Pe=null;break e}if(l!==null){l.return=i,Pe=l;break e}Pe=i}}}var $A={getCacheForType:function(e){var t=Qe(ke),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Qe(ke).controller.signal}},ew=typeof WeakMap=="function"?WeakMap:Map,J=0,ue=null,F=null,Y=0,ae=0,Ct=null,aa=!1,ni=!1,Id=!1,Gn=0,Te=0,va=0,qa=0,Jd=0,Et=0,Ql=0,tr=null,pt=null,Is=!1,Bu=0,my=0,uu=1/0,cu=null,sa=null,Ue=0,da=null,Kl=null,kn=0,Js=0,$s=null,hy=null,nr=0,ed=null;function _t(){return(J&2)!==0&&Y!==0?Y&-Y:L.T!==null?ef():Rh()}function py(){if(Et===0)if((Y&536870912)===0||V){var e=mo;mo<<=1,(mo&3932160)===0&&(mo=262144),Et=e}else Et=536870912;return e=Nt.current,e!==null&&(e.flags|=32),Et}function yt(e,t,n){(e===ue&&(ae===2||ae===9)||e.cancelPendingCommit!==null)&&(Zl(e,0),la(e,Y,Et,!1)),wr(e,n),((J&2)===0||e!==ue)&&(e===ue&&((J&2)===0&&(qa|=n),Te===4&&la(e,Y,Et,!1)),hn(e))}function yy(e,t,n){if((J&6)!==0)throw Error(S(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Ar(e,t),l=a?aw(e,t):ss(e,t,!0),i=a;do{if(l===0){ni&&!a&&la(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!tw(n)){l=ss(e,t,!1),i=!1;continue}if(l===2){if(i=t,e.errorRecoveryDisabledLanes&i)var r=0;else r=e.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){t=r;e:{var o=e;l=tr;var u=o.current.memoizedState.isDehydrated;if(u&&(Zl(o,r).flags|=256),r=ss(o,r,!1),r!==2){if(Id&&!u){o.errorRecoveryDisabledLanes|=i,qa|=i,l=4;break e}i=pt,pt=l,i!==null&&(pt===null?pt=i:pt.push.apply(pt,i))}l=r}if(i=!1,l!==2)continue}}if(l===1){Zl(e,0),la(e,t,0,!0);break}e:{switch(a=e,i=l,i){case 0:case 1:throw Error(S(345));case 4:if((t&4194048)!==t)break;case 6:la(a,t,Et,!aa);break e;case 2:pt=null;break;case 3:case 5:break;default:throw Error(S(329))}if((t&62914560)===t&&(l=Bu+300-Dt(),10<l)){if(la(a,t,Et,!aa),Au(a,0,!0)!==0)break e;kn=t,a.timeoutHandle=zy(Lm.bind(null,a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,"Throttled",-0,0),l);break e}Lm(a,n,pt,cu,Is,t,Et,qa,Ql,aa,i,null,-0,0)}}break}while(!0);hn(e)}function Lm(e,t,n,a,l,i,r,o,u,c,s,f,d,m){if(e.timeoutHandle=-1,f=t.subtreeFlags,f&8192||(f&16785408)===16785408){f={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:_n},sy(t,i,f);var v=(i&62914560)===i?Bu-Dt():(i&4194048)===i?my-Dt():0;if(v=zw(f,v),v!==null){kn=i,e.cancelPendingCommit=v(zm.bind(null,e,t,i,n,a,l,r,o,u,s,f,null,d,m)),la(e,i,r,!c);return}}zm(e,t,i,n,a,l,r,o,u)}function tw(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],i=l.getSnapshot;l=l.value;try{if(!Bt(i(),l))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function la(e,t,n,a){t&=~Jd,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var l=t;0<l;){var i=31-Mt(l),r=1<<i;a[i]=-1,l&=~r}n!==0&&wh(e,n,t)}function Nu(){return(J&6)===0?(Dr(0,!1),!1):!0}function $d(){if(F!==null){if(ae===0)var e=F.return;else e=F,Bn=Ia=null,Ud(e),Ul=null,sr=0,e=F;for(;e!==null;)Wp(e.alternate,e),e=e.return;F=null}}function Zl(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,bw(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),kn=0,$d(),ue=e,F=n=Nn(e.current,null),Y=t,ae=0,Ct=null,aa=!1,ni=Ar(e,t),Id=!1,Ql=Et=Jd=qa=va=Te=0,pt=tr=null,Is=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var l=31-Mt(a),i=1<<l;t|=e[l],a&=~i}return Gn=t,Ru(),n}function vy(e,t){G=null,L.H=fr,t===ti||t===Eu?(t=gm(),ae=3):t===Bd?(t=gm(),ae=4):ae=t===Qd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ct=t,F===null&&(Te=1,iu(e,Yt(t,e.current)))}function by(){var e=Nt.current;return e===null?!0:(Y&4194048)===Y?Xt===null:(Y&62914560)===Y||(Y&536870912)!==0?e===Xt:!1}function Ay(){var e=L.H;return L.H=fr,e===null?fr:e}function wy(){var e=L.A;return L.A=$A,e}function su(){Te=4,aa||(Y&4194048)!==Y&&Nt.current!==null||(ni=!0),(va&134217727)===0&&(qa&134217727)===0||ue===null||la(ue,Y,Et,!1)}function ss(e,t,n){var a=J;J|=2;var l=Ay(),i=wy();(ue!==e||Y!==t)&&(cu=null,Zl(e,t)),t=!1;var r=Te;e:do try{if(ae!==0&&F!==null){var o=F,u=Ct;switch(ae){case 8:$d(),r=6;break e;case 3:case 2:case 9:case 6:Nt.current===null&&(t=!0);var c=ae;if(ae=0,Ct=null,Ol(e,o,u,c),n&&ni){r=0;break e}break;default:c=ae,ae=0,Ct=null,Ol(e,o,u,c)}}nw(),r=Te;break}catch(s){vy(e,s)}while(!0);return t&&e.shellSuspendCounter++,Bn=Ia=null,J=a,L.H=l,L.A=i,F===null&&(ue=null,Y=0,Ru()),r}function nw(){for(;F!==null;)Sy(F)}function aw(e,t){var n=J;J|=2;var a=Ay(),l=wy();ue!==e||Y!==t?(cu=null,uu=Dt()+500,Zl(e,t)):ni=Ar(e,t);e:do try{if(ae!==0&&F!==null){t=F;var i=Ct;t:switch(ae){case 1:ae=0,Ct=null,Ol(e,t,i,1);break;case 2:case 9:if(fm(i)){ae=0,Ct=null,Hm(t);break}t=function(){ae!==2&&ae!==9||ue!==e||(ae=7),hn(e)},i.then(t,t);break e;case 3:ae=7;break e;case 4:ae=5;break e;case 7:fm(i)?(ae=0,Ct=null,Hm(t)):(ae=0,Ct=null,Ol(e,t,i,7));break;case 5:var r=null;switch(F.tag){case 26:r=F.memoizedState;case 5:case 27:var o=F;if(r?Fy(r):o.stateNode.complete){ae=0,Ct=null;var u=o.sibling;if(u!==null)F=u;else{var c=o.return;c!==null?(F=c,Ou(c)):F=null}break t}}ae=0,Ct=null,Ol(e,t,i,5);break;case 6:ae=0,Ct=null,Ol(e,t,i,6);break;case 8:$d(),Te=6;break e;default:throw Error(S(462))}}lw();break}catch(s){vy(e,s)}while(!0);return Bn=Ia=null,L.H=a,L.A=l,J=n,F!==null?0:(ue=null,Y=0,Ru(),Te)}function lw(){for(;F!==null&&!Db();)Sy(F)}function Sy(e){var t=Zp(e.alternate,e,Gn);e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Hm(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Mm(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=Mm(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:Ud(t);default:Wp(n,t),t=F=Wh(t,Gn),t=Zp(n,t,Gn)}e.memoizedProps=e.pendingProps,t===null?Ou(e):F=t}function Ol(e,t,n,a){Bn=Ia=null,Ud(t),Ul=null,sr=0;var l=t.return;try{if(XA(e,l,t,n,Y)){Te=1,iu(e,Yt(n,e.current)),F=null;return}}catch(i){if(l!==null)throw F=l,i;Te=1,iu(e,Yt(n,e.current)),F=null;return}t.flags&32768?(V||a===1?e=!0:ni||(Y&536870912)!==0?e=!1:(aa=e=!0,(a===2||a===9||a===3||a===6)&&(a=Nt.current,a!==null&&a.tag===13&&(a.flags|=16384))),Cy(t,e)):Ou(t)}function Ou(e){var t=e;do{if((t.flags&32768)!==0){Cy(t,aa);return}e=t.return;var n=ZA(t.alternate,t,Gn);if(n!==null){F=n;return}if(t=t.sibling,t!==null){F=t;return}F=t=e}while(t!==null);Te===0&&(Te=5)}function Cy(e,t){do{var n=WA(e.alternate,e);if(n!==null){n.flags&=32767,F=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){F=e;return}F=e=n}while(e!==null);Te=6,F=null}function zm(e,t,n,a,l,i,r,o,u){e.cancelPendingCommit=null;do ku();while(Ue!==0);if((J&6)!==0)throw Error(S(327));if(t!==null){if(t===e.current)throw Error(S(177));if(i=t.lanes|t.childLanes,i|=Rd,zb(e,n,i,r,o,u),e===ue&&(F=ue=null,Y=0),Kl=t,da=e,kn=n,Js=i,$s=l,hy=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,uw(Ko,function(){return xy(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=L.T,L.T=null,l=$.p,$.p=2,r=J,J|=4;try{IA(e,t,n)}finally{J=r,$.p=l,L.T=a}}Ue=1,Ry(),Ty(),Ey()}}function Ry(){if(Ue===1){Ue=0;var e=da,t=Kl,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{oy(t,e);var i=ld,r=Fh(e.containerInfo),o=i.focusedElem,u=i.selectionRange;if(r!==o&&o&&o.ownerDocument&&qh(o.ownerDocument.documentElement,o)){if(u!==null&&Cd(o)){var c=u.start,s=u.end;if(s===void 0&&(s=c),"selectionStart"in o)o.selectionStart=c,o.selectionEnd=Math.min(s,o.value.length);else{var f=o.ownerDocument||document,d=f&&f.defaultView||window;if(d.getSelection){var m=d.getSelection(),v=o.textContent.length,A=Math.min(u.start,v),b=u.end===void 0?A:Math.min(u.end,v);!m.extend&&A>b&&(r=b,b=A,A=r);var h=im(o,A),g=im(o,b);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var p=f.createRange();p.setStart(h.node,h.offset),m.removeAllRanges(),A>b?(m.addRange(p),m.extend(g.node,g.offset)):(p.setEnd(g.node,g.offset),m.addRange(p))}}}}for(f=[],m=o;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<f.length;o++){var y=f[o];y.element.scrollLeft=y.left,y.element.scrollTop=y.top}}vu=!!ad,ld=ad=null}finally{J=l,$.p=a,L.T=n}}e.current=t,Ue=2}}function Ty(){if(Ue===2){Ue=0;var e=da,t=Kl,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=L.T,L.T=null;var a=$.p;$.p=2;var l=J;J|=4;try{ny(e,t.alternate,t)}finally{J=l,$.p=a,L.T=n}}Ue=3}}function Ey(){if(Ue===4||Ue===3){Ue=0,xb();var e=da,t=Kl,n=kn,a=hy;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ue=5:(Ue=0,Kl=da=null,Dy(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(sa=null),pd(n),t=t.stateNode,xt&&typeof xt.onCommitFiberRoot=="function")try{xt.onCommitFiberRoot(br,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=L.T,l=$.p,$.p=2,L.T=null;try{for(var i=e.onRecoverableError,r=0;r<a.length;r++){var o=a[r];i(o.value,{componentStack:o.stack})}}finally{L.T=t,$.p=l}}(kn&3)!==0&&ku(),hn(e),l=e.pendingLanes,(n&261930)!==0&&(l&42)!==0?e===ed?nr++:(nr=0,ed=e):nr=0,Dr(0,!1)}}function Dy(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Rr(t)))}function ku(){return Ry(),Ty(),Ey(),xy()}function xy(){if(Ue!==5)return!1;var e=da,t=Js;Js=0;var n=pd(kn),a=L.T,l=$.p;try{$.p=32>n?32:n,L.T=null,n=$s,$s=null;var i=da,r=kn;if(Ue=0,Kl=da=null,kn=0,(J&6)!==0)throw Error(S(331));var o=J;if(J|=4,fy(i.current),cy(i,i.current,r,n),J=o,Dr(0,!1),xt&&typeof xt.onPostCommitFiberRoot=="function")try{xt.onPostCommitFiberRoot(br,i)}catch{}return!0}finally{$.p=l,L.T=a,Dy(e,t)}}function Um(e,t,n){t=Yt(n,t),t=Qs(e.stateNode,t,2),e=ca(e,t,2),e!==null&&(wr(e,2),hn(e))}function le(e,t,n){if(e.tag===3)Um(e,e,n);else for(;t!==null;){if(t.tag===3){Um(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(sa===null||!sa.has(a))){e=Yt(n,e),n=jp(2),a=ca(t,n,2),a!==null&&(Yp(n,a,t,e),wr(a,2),hn(a));break}}t=t.return}}function ds(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new ew;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Id=!0,l.add(n),e=iw.bind(null,e,t,n),t.then(e,e))}function iw(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ue===e&&(Y&n)===n&&(Te===4||Te===3&&(Y&62914560)===Y&&300>Dt()-Bu?(J&2)===0&&Zl(e,0):Jd|=n,Ql===Y&&(Ql=0)),hn(e)}function My(e,t){t===0&&(t=Ah()),e=Wa(e,t),e!==null&&(wr(e,t),hn(e))}function rw(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),My(e,n)}function ow(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(S(314))}a!==null&&a.delete(t),My(e,n)}function uw(e,t){return md(e,t)}var du=null,wl=null,td=!1,fu=!1,fs=!1,ia=0;function hn(e){e!==wl&&e.next===null&&(wl===null?du=wl=e:wl=wl.next=e),fu=!0,td||(td=!0,sw())}function Dr(e,t){if(!fs&&fu){fs=!0;do for(var n=!1,a=du;a!==null;){if(!t)if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var r=a.suspendedLanes,o=a.pingedLanes;i=(1<<31-Mt(42|e)+1)-1,i&=l&~(r&~o),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,Gm(a,i))}else i=Y,i=Au(a,a===ue?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||Ar(a,i)||(n=!0,Gm(a,i));a=a.next}while(n);fs=!1}}function cw(){_y()}function _y(){fu=td=!1;var e=0;ia!==0&&vw()&&(e=ia);for(var t=Dt(),n=null,a=du;a!==null;){var l=a.next,i=By(a,t);i===0?(a.next=null,n===null?du=l:n.next=l,l===null&&(wl=n)):(n=a,(e!==0||(i&3)!==0)&&(fu=!0)),a=l}Ue!==0&&Ue!==5||Dr(e,!1),ia!==0&&(ia=0)}function By(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var r=31-Mt(i),o=1<<r,u=l[r];u===-1?((o&n)===0||(o&a)!==0)&&(l[r]=Hb(o,t)):u<=t&&(e.expiredLanes|=o),i&=~o}if(t=ue,n=Y,n=Au(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(ae===2||ae===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&qc(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Ar(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&qc(a),pd(n)){case 2:case 8:n=vh;break;case 32:n=Ko;break;case 268435456:n=bh;break;default:n=Ko}return a=Ny.bind(null,e),n=md(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&qc(a),e.callbackPriority=2,e.callbackNode=null,2}function Ny(e,t){if(Ue!==0&&Ue!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(ku()&&e.callbackNode!==n)return null;var a=Y;return a=Au(e,e===ue?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(yy(e,a,t),By(e,Dt()),e.callbackNode!=null&&e.callbackNode===n?Ny.bind(null,e):null)}function Gm(e,t){if(ku())return null;yy(e,t,!0)}function sw(){Aw(function(){(J&6)!==0?md(yh,cw):_y()})}function ef(){if(ia===0){var e=Yl;e===0&&(e=go,go<<=1,(go&261888)===0&&(go=256)),ia=e}return ia}function Pm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Bo(""+e)}function qm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function dw(e,t,n,a,l){if(t==="submit"&&n&&n.stateNode===l){var i=Pm((l[vt]||null).action),r=a.submitter;r&&(t=(t=r[vt]||null)?Pm(t.formAction):r.getAttribute("formAction"),t!==null&&(i=t,r=null));var o=new wu("action","action",null,a,l);e.push({event:o,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(ia!==0){var u=r?qm(l,r):new FormData(l);Vs(n,{pending:!0,data:u,method:l.method,action:i},null,u)}}else typeof i=="function"&&(o.preventDefault(),u=r?qm(l,r):new FormData(l),Vs(n,{pending:!0,data:u,method:l.method,action:i},i,u))},currentTarget:l}]})}}for(To=0;To<Os.length;To++)Eo=Os[To],Fm=Eo.toLowerCase(),jm=Eo[0].toUpperCase()+Eo.slice(1),tn(Fm,"on"+jm);var Eo,Fm,jm,To;tn(Yh,"onAnimationEnd");tn(Vh,"onAnimationIteration");tn(Xh,"onAnimationStart");tn("dblclick","onDoubleClick");tn("focusin","onFocus");tn("focusout","onBlur");tn(MA,"onTransitionRun");tn(_A,"onTransitionStart");tn(BA,"onTransitionCancel");tn(Qh,"onTransitionEnd");Fl("onMouseEnter",["mouseout","mouseover"]);Fl("onMouseLeave",["mouseout","mouseover"]);Fl("onPointerEnter",["pointerout","pointerover"]);Fl("onPointerLeave",["pointerout","pointerover"]);Qa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Qa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Qa("onBeforeInput",["compositionend","keypress","textInput","paste"]);Qa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Qa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),fw=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(gr));function Oy(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],l=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var r=a.length-1;0<=r;r--){var o=a[r],u=o.instance,c=o.currentTarget;if(o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}else for(r=0;r<a.length;r++){if(o=a[r],u=o.instance,c=o.currentTarget,o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Wo(s)}l.currentTarget=null,i=u}}}}function q(e,t){var n=t[Ts];n===void 0&&(n=t[Ts]=new Set);var a=e+"__bubble";n.has(a)||(ky(t,e,2,!1),n.add(a))}function gs(e,t,n){var a=0;t&&(a|=4),ky(n,e,a,t)}var Do="_reactListening"+Math.random().toString(36).slice(2);function tf(e){if(!e[Do]){e[Do]=!0,Th.forEach(function(n){n!=="selectionchange"&&(fw.has(n)||gs(n,!1,e),gs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Do]||(t[Do]=!0,gs("selectionchange",!1,t))}}function ky(e,t,n,a){switch(Qy(t)){case 2:var l=Pw;break;case 8:l=qw;break;default:l=rf}n=l.bind(null,t,n,e),l=void 0,!_s||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),a?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function ms(e,t,n,a,l){var i=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var r=a.tag;if(r===3||r===4){var o=a.stateNode.containerInfo;if(o===l)break;if(r===4)for(r=a.return;r!==null;){var u=r.tag;if((u===3||u===4)&&r.stateNode.containerInfo===l)return;r=r.return}for(;o!==null;){if(r=Rl(o),r===null)return;if(u=r.tag,u===5||u===6||u===26||u===27){a=i=r;continue e}o=o.parentNode}}a=a.return}Oh(function(){var c=i,s=bd(n),f=[];e:{var d=Kh.get(e);if(d!==void 0){var m=wu,v=e;switch(e){case"keypress":if(Oo(n)===0)break e;case"keydown":case"keyup":m=oA;break;case"focusin":v="focus",m=Xc;break;case"focusout":v="blur",m=Xc;break;case"beforeblur":case"afterblur":m=Xc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Wg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Zb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=sA;break;case Yh:case Vh:case Xh:m=Jb;break;case Qh:m=fA;break;case"scroll":case"scrollend":m=Qb;break;case"wheel":m=mA;break;case"copy":case"cut":case"paste":m=eA;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Jg;break;case"toggle":case"beforetoggle":m=pA}var A=(t&4)!==0,b=!A&&(e==="scroll"||e==="scrollend"),h=A?d!==null?d+"Capture":null:d;A=[];for(var g=c,p;g!==null;){var y=g;if(p=y.stateNode,y=y.tag,y!==5&&y!==26&&y!==27||p===null||h===null||(y=ir(g,h),y!=null&&A.push(mr(g,y,p))),b)break;g=g.return}0<A.length&&(d=new m(d,v,null,n,s),f.push({event:d,listeners:A}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",d&&n!==Ms&&(v=n.relatedTarget||n.fromElement)&&(Rl(v)||v[Jl]))break e;if((m||d)&&(d=s.window===s?s:(d=s.ownerDocument)?d.defaultView||d.parentWindow:window,m?(v=n.relatedTarget||n.toElement,m=c,v=v?Rl(v):null,v!==null&&(b=vr(v),A=v.tag,v!==b||A!==5&&A!==27&&A!==6)&&(v=null)):(m=null,v=c),m!==v)){if(A=Wg,y="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(A=Jg,y="onPointerLeave",h="onPointerEnter",g="pointer"),b=m==null?d:Fi(m),p=v==null?d:Fi(v),d=new A(y,g+"leave",m,n,s),d.target=b,d.relatedTarget=p,y=null,Rl(s)===c&&(A=new A(h,g+"enter",v,n,s),A.target=p,A.relatedTarget=b,y=A),b=y,m&&v)t:{for(A=gw,h=m,g=v,p=0,y=h;y;y=A(y))p++;y=0;for(var C=g;C;C=A(C))y++;for(;0<p-y;)h=A(h),p--;for(;0<y-p;)g=A(g),y--;for(;p--;){if(h===g||g!==null&&h===g.alternate){A=h;break t}h=A(h),g=A(g)}A=null}else A=null;m!==null&&Ym(f,d,m,A,!1),v!==null&&b!==null&&Ym(f,b,v,A,!0)}}e:{if(d=c?Fi(c):window,m=d.nodeName&&d.nodeName.toLowerCase(),m==="select"||m==="input"&&d.type==="file")var R=nm;else if(tm(d))if(Gh)R=EA;else{R=RA;var T=CA}else m=d.nodeName,!m||m.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?c&&vd(c.elementType)&&(R=nm):R=TA;if(R&&(R=R(e,c))){Uh(f,R,n,s);break e}T&&T(e,d,c),e==="focusout"&&c&&d.type==="number"&&c.memoizedProps.value!=null&&xs(d,"number",d.value)}switch(T=c?Fi(c):window,e){case"focusin":(tm(T)||T.contentEditable==="true")&&(Dl=T,Bs=c,Qi=null);break;case"focusout":Qi=Bs=Dl=null;break;case"mousedown":Ns=!0;break;case"contextmenu":case"mouseup":case"dragend":Ns=!1,rm(f,n,s);break;case"selectionchange":if(xA)break;case"keydown":case"keyup":rm(f,n,s)}var M;if(Sd)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else El?Hh(e,n)&&(w="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(w="onCompositionStart");w&&(Lh&&n.locale!=="ko"&&(El||w!=="onCompositionStart"?w==="onCompositionEnd"&&El&&(M=kh()):(na=s,Ad="value"in na?na.value:na.textContent,El=!0)),T=gu(c,w),0<T.length&&(w=new Ig(w,e,null,n,s),f.push({event:w,listeners:T}),M?w.data=M:(M=zh(n),M!==null&&(w.data=M)))),(M=vA?bA(e,n):AA(e,n))&&(w=gu(c,"onBeforeInput"),0<w.length&&(T=new Ig("onBeforeInput","beforeinput",null,n,s),f.push({event:T,listeners:w}),T.data=M)),dw(f,e,c,n,s)}Oy(f,t)})}function mr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function gu(e,t){for(var n=t+"Capture",a=[];e!==null;){var l=e,i=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||i===null||(l=ir(e,n),l!=null&&a.unshift(mr(e,l,i)),l=ir(e,t),l!=null&&a.push(mr(e,l,i))),e.tag===3)return a;e=e.return}return[]}function gw(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ym(e,t,n,a,l){for(var i=t._reactName,r=[];n!==null&&n!==a;){var o=n,u=o.alternate,c=o.stateNode;if(o=o.tag,u!==null&&u===a)break;o!==5&&o!==26&&o!==27||c===null||(u=c,l?(c=ir(n,i),c!=null&&r.unshift(mr(n,c,u))):l||(c=ir(n,i),c!=null&&r.push(mr(n,c,u)))),n=n.return}r.length!==0&&e.push({event:t,listeners:r})}var mw=/\r\n?/g,hw=/\u0000|\uFFFD/g;function Vm(e){return(typeof e=="string"?e:""+e).replace(mw,``).replace(hw,"")}function Ly(e,t){return t=Vm(t),Vm(e)===t}function ie(e,t,n,a,l,i){switch(n){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||jl(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&jl(e,""+a);break;case"className":po(e,"class",a);break;case"tabIndex":po(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":po(e,n,a);break;case"style":Nh(e,a,i);break;case"data":if(t!=="object"){po(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(n==="formAction"?(t!=="input"&&ie(e,t,"name",l.name,l,null),ie(e,t,"formEncType",l.formEncType,l,null),ie(e,t,"formMethod",l.formMethod,l,null),ie(e,t,"formTarget",l.formTarget,l,null)):(ie(e,t,"encType",l.encType,l,null),ie(e,t,"method",l.method,l,null),ie(e,t,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Bo(""+a),e.setAttribute(n,a);break;case"onClick":a!=null&&(e.onclick=_n);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}n=Bo(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""+a):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":a===!0?e.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,a):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case"popover":q("beforetoggle",e),q("toggle",e),_o(e,"popover",a);break;case"xlinkActuate":Sn(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Sn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Sn(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Sn(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Sn(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Sn(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Sn(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":_o(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Vb.get(n)||n,_o(e,n,a))}}function nd(e,t,n,a,l,i){switch(n){case"style":Nh(e,a,i);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(S(60));e.innerHTML=n}}break;case"children":typeof a=="string"?jl(e,a):(typeof a=="number"||typeof a=="bigint")&&jl(e,""+a);break;case"onScroll":a!=null&&q("scroll",e);break;case"onScrollEnd":a!=null&&q("scrollend",e);break;case"onClick":a!=null&&(e.onclick=_n);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eh.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),t=n.slice(2,l?n.length-7:void 0),i=e[vt]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,l),typeof a=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,l);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,""):_o(e,n,a)}}}function Ke(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":q("error",e),q("load",e);var a=!1,l=!1,i;for(i in n)if(n.hasOwnProperty(i)){var r=n[i];if(r!=null)switch(i){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,i,r,n,null)}}l&&ie(e,t,"srcSet",n.srcSet,n,null),a&&ie(e,t,"src",n.src,n,null);return;case"input":q("invalid",e);var o=i=r=l=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case"name":l=s;break;case"type":r=s;break;case"checked":u=s;break;case"defaultChecked":c=s;break;case"value":i=s;break;case"defaultValue":o=s;break;case"children":case"dangerouslySetInnerHTML":if(s!=null)throw Error(S(137,t));break;default:ie(e,t,a,s,n,null)}}Mh(e,i,o,u,c,r,l,!1);return;case"select":q("invalid",e),a=r=i=null;for(l in n)if(n.hasOwnProperty(l)&&(o=n[l],o!=null))switch(l){case"value":i=o;break;case"defaultValue":r=o;break;case"multiple":a=o;default:ie(e,t,l,o,n,null)}t=i,n=r,e.multiple=!!a,t!=null?Ll(e,!!a,t,!1):n!=null&&Ll(e,!!a,n,!0);return;case"textarea":q("invalid",e),i=l=a=null;for(r in n)if(n.hasOwnProperty(r)&&(o=n[r],o!=null))switch(r){case"value":a=o;break;case"defaultValue":l=o;break;case"children":i=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(S(91));break;default:ie(e,t,r,o,n,null)}Bh(e,a,l,i);return;case"option":for(u in n)if(n.hasOwnProperty(u)&&(a=n[u],a!=null))switch(u){case"selected":e.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:ie(e,t,u,a,n,null)}return;case"dialog":q("beforetoggle",e),q("toggle",e),q("cancel",e),q("close",e);break;case"iframe":case"object":q("load",e);break;case"video":case"audio":for(a=0;a<gr.length;a++)q(gr[a],e);break;case"image":q("error",e),q("load",e);break;case"details":q("toggle",e);break;case"embed":case"source":case"link":q("error",e),q("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(a=n[c],a!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:ie(e,t,c,a,n,null)}return;default:if(vd(t)){for(s in n)n.hasOwnProperty(s)&&(a=n[s],a!==void 0&&nd(e,t,s,a,n,void 0));return}}for(o in n)n.hasOwnProperty(o)&&(a=n[o],a!=null&&ie(e,t,o,a,n,null))}function pw(e,t,n,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,i=null,r=null,o=null,u=null,c=null,s=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":u=f;default:a.hasOwnProperty(m)||ie(e,t,m,null,a,f)}}for(var d in a){var m=a[d];if(f=n[d],a.hasOwnProperty(d)&&(m!=null||f!=null))switch(d){case"type":i=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":s=m;break;case"value":r=m;break;case"defaultValue":o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(S(137,t));break;default:m!==f&&ie(e,t,d,m,a,f)}}Ds(e,r,o,u,c,s,i,l);return;case"select":m=r=o=d=null;for(i in n)if(u=n[i],n.hasOwnProperty(i)&&u!=null)switch(i){case"value":break;case"multiple":m=u;default:a.hasOwnProperty(i)||ie(e,t,i,null,a,u)}for(l in a)if(i=a[l],u=n[l],a.hasOwnProperty(l)&&(i!=null||u!=null))switch(l){case"value":d=i;break;case"defaultValue":o=i;break;case"multiple":r=i;default:i!==u&&ie(e,t,l,i,a,u)}t=o,n=r,a=m,d!=null?Ll(e,!!n,d,!1):!!a!=!!n&&(t!=null?Ll(e,!!n,t,!0):Ll(e,!!n,n?[]:"",!1));return;case"textarea":m=d=null;for(o in n)if(l=n[o],n.hasOwnProperty(o)&&l!=null&&!a.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:ie(e,t,o,null,a,l)}for(r in a)if(l=a[r],i=n[r],a.hasOwnProperty(r)&&(l!=null||i!=null))switch(r){case"value":d=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(S(91));break;default:l!==i&&ie(e,t,r,l,a,i)}_h(e,d,m);return;case"option":for(var v in n)if(d=n[v],n.hasOwnProperty(v)&&d!=null&&!a.hasOwnProperty(v))switch(v){case"selected":e.selected=!1;break;default:ie(e,t,v,null,a,d)}for(u in a)if(d=a[u],m=n[u],a.hasOwnProperty(u)&&d!==m&&(d!=null||m!=null))switch(u){case"selected":e.selected=d&&typeof d!="function"&&typeof d!="symbol";break;default:ie(e,t,u,d,a,m)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var A in n)d=n[A],n.hasOwnProperty(A)&&d!=null&&!a.hasOwnProperty(A)&&ie(e,t,A,null,a,d);for(c in a)if(d=a[c],m=n[c],a.hasOwnProperty(c)&&d!==m&&(d!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(S(137,t));break;default:ie(e,t,c,d,a,m)}return;default:if(vd(t)){for(var b in n)d=n[b],n.hasOwnProperty(b)&&d!==void 0&&!a.hasOwnProperty(b)&&nd(e,t,b,void 0,a,d);for(s in a)d=a[s],m=n[s],!a.hasOwnProperty(s)||d===m||d===void 0&&m===void 0||nd(e,t,s,d,a,m);return}}for(var h in n)d=n[h],n.hasOwnProperty(h)&&d!=null&&!a.hasOwnProperty(h)&&ie(e,t,h,null,a,d);for(f in a)d=a[f],m=n[f],!a.hasOwnProperty(f)||d===m||d==null&&m==null||ie(e,t,f,d,a,m)}function Xm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function yw(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],i=l.transferSize,r=l.initiatorType,o=l.duration;if(i&&o&&Xm(r)){for(r=0,o=l.responseEnd,a+=1;a<n.length;a++){var u=n[a],c=u.startTime;if(c>o)break;var s=u.transferSize,f=u.initiatorType;s&&Xm(f)&&(u=u.responseEnd,r+=s*(u<o?1:(o-c)/(u-c)))}if(--a,t+=8*(i+r)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var ad=null,ld=null;function mu(e){return e.nodeType===9?e:e.ownerDocument}function Qm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Hy(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function id(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var hs=null;function vw(){var e=window.event;return e&&e.type==="popstate"?e===hs?!1:(hs=e,!0):(hs=null,!1)}var zy=typeof setTimeout=="function"?setTimeout:void 0,bw=typeof clearTimeout=="function"?clearTimeout:void 0,Km=typeof Promise=="function"?Promise:void 0,Aw=typeof queueMicrotask=="function"?queueMicrotask:typeof Km<"u"?function(e){return Km.resolve(null).then(e).catch(ww)}:zy;function ww(e){setTimeout(function(){throw e})}function Aa(e){return e==="head"}function Zm(e,t){var n=t,a=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"||n==="/&"){if(a===0){e.removeChild(l),Il(t);return}a--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")a++;else if(n==="html")ar(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,ar(n);for(var i=n.firstChild;i;){var r=i.nextSibling,o=i.nodeName;i[Sr]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&i.rel.toLowerCase()==="stylesheet"||n.removeChild(i),i=r}}else n==="body"&&ar(e.ownerDocument.body);n=l}while(n);Il(t)}function Wm(e,t){var n=e;e=0;do{var a=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=a}while(n)}function rd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":rd(n),yd(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Sw(e,t,n,a){for(;e.nodeType===1;){var l=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(a){if(!e[Sr])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Qt(e.nextSibling),e===null)break}return null}function Cw(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qt(e.nextSibling),e===null))return null;return e}function Uy(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qt(e.nextSibling),e===null))return null;return e}function od(e){return e.data==="$?"||e.data==="$~"}function ud(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Rw(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var a=function(){t(),n.removeEventListener("DOMContentLoaded",a)};n.addEventListener("DOMContentLoaded",a),e._reactRetry=a}}function Qt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var cd=null;function Im(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qt(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Jm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Gy(e,t,n){switch(t=mu(n),e){case"html":if(e=t.documentElement,!e)throw Error(S(452));return e;case"head":if(e=t.head,!e)throw Error(S(453));return e;case"body":if(e=t.body,!e)throw Error(S(454));return e;default:throw Error(S(451))}}function ar(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);yd(e)}var Kt=new Map,$m=new Set;function hu(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Pn=$.d;$.d={f:Tw,r:Ew,D:Dw,C:xw,L:Mw,m:_w,X:Nw,S:Bw,M:Ow};function Tw(){var e=Pn.f(),t=Nu();return e||t}function Ew(e){var t=$l(e);t!==null&&t.tag===5&&t.type==="form"?Np(t):Pn.r(e)}var ai=typeof document>"u"?null:document;function Py(e,t,n){var a=ai;if(a&&typeof t=="string"&&t){var l=jt(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),$m.has(l)||($m.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function Dw(e){Pn.D(e),Py("dns-prefetch",e,null)}function xw(e,t){Pn.C(e,t),Py("preconnect",e,t)}function Mw(e,t,n){Pn.L(e,t,n);var a=ai;if(a&&e&&t){var l='link[rel="preload"][as="'+jt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+jt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+jt(n.imageSizes)+'"]')):l+='[href="'+jt(e)+'"]';var i=l;switch(t){case"style":i=Wl(e);break;case"script":i=li(e)}Kt.has(i)||(e=ve({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Kt.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(xr(i))||t==="script"&&a.querySelector(Mr(i))||(t=a.createElement("link"),Ke(t,"link",e),qe(t),a.head.appendChild(t)))}}function _w(e,t){Pn.m(e,t);var n=ai;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+jt(a)+'"][href="'+jt(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=li(e)}if(!Kt.has(i)&&(e=ve({rel:"modulepreload",href:e},t),Kt.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Mr(i)))return}a=n.createElement("link"),Ke(a,"link",e),qe(a),n.head.appendChild(a)}}}function Bw(e,t,n){Pn.S(e,t,n);var a=ai;if(a&&e){var l=kl(a).hoistableStyles,i=Wl(e);t=t||"default";var r=l.get(i);if(!r){var o={loading:0,preload:null};if(r=a.querySelector(xr(i)))o.loading=5;else{e=ve({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Kt.get(i))&&nf(e,n);var u=r=a.createElement("link");qe(u),Ke(u,"link",e),u._p=new Promise(function(c,s){u.onload=c,u.onerror=s}),u.addEventListener("load",function(){o.loading|=1}),u.addEventListener("error",function(){o.loading|=2}),o.loading|=4,qo(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:o},l.set(i,r)}}}function Nw(e,t){Pn.X(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ow(e,t){Pn.M(e,t);var n=ai;if(n&&e){var a=kl(n).hoistableScripts,l=li(e),i=a.get(l);i||(i=n.querySelector(Mr(l)),i||(e=ve({src:e,async:!0,type:"module"},t),(t=Kt.get(l))&&af(e,t),i=n.createElement("script"),qe(i),Ke(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function eh(e,t,n,a){var l=(l=ra.current)?hu(l):null;if(!l)throw Error(S(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Wl(n.href),n=kl(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Wl(n.href);var i=kl(l).hoistableStyles,r=i.get(e);if(r||(l=l.ownerDocument||l,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=l.querySelector(xr(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Kt.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Kt.set(e,n),i||kw(l,e,n,r.state))),t&&a===null)throw Error(S(528,""));return r}if(t&&a!==null)throw Error(S(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=li(n),n=kl(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(S(444,e))}}function Wl(e){return'href="'+jt(e)+'"'}function xr(e){return'link[rel="stylesheet"]['+e+"]"}function qy(e){return ve({},e,{"data-precedence":e.precedence,precedence:null})}function kw(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Ke(t,"link",n),qe(t),e.head.appendChild(t))}function li(e){return'[src="'+jt(e)+'"]'}function Mr(e){return"script[async]"+e}function th(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+jt(n.href)+'"]');if(a)return t.instance=a,qe(a),a;var l=ve({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),qe(a),Ke(a,"style",l),qo(a,n.precedence,e),t.instance=a;case"stylesheet":l=Wl(n.href);var i=e.querySelector(xr(l));if(i)return t.state.loading|=4,t.instance=i,qe(i),i;a=qy(n),(l=Kt.get(l))&&nf(a,l),i=(e.ownerDocument||e).createElement("link"),qe(i);var r=i;return r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),t.state.loading|=4,qo(i,n.precedence,e),t.instance=i;case"script":return i=li(n.src),(l=e.querySelector(Mr(i)))?(t.instance=l,qe(l),l):(a=n,(l=Kt.get(i))&&(a=ve({},n),af(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),qe(l),Ke(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(S(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,qo(a,n.precedence,e));return t.instance}function qo(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,r=0;r<a.length;r++){var o=a[r];if(o.dataset.precedence===t)i=o;else if(i!==l)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function nf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function af(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Fo=null;function nh(e,t,n){if(Fo===null){var a=new Map,l=Fo=new Map;l.set(n,a)}else l=Fo,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),l=0;l<n.length;l++){var i=n[l];if(!(i[Sr]||i[Ve]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var r=i.getAttribute(t)||"";r=e+r;var o=a.get(r);o?o.push(i):a.set(r,[i])}}return a}function ah(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function Lw(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Fy(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Hw(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Wl(a.href),i=t.querySelector(xr(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=pu.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,qe(i);return}i=t.ownerDocument||t,a=qy(a),(l=Kt.get(l))&&nf(a,l),i=i.createElement("link"),qe(i);var r=i;r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ke(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=pu.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ps=0;function zw(e,t){return e.stylesheets&&e.count===0&&jo(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&ps===0&&(ps=62500*yw());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&jo(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>ps?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function pu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jo(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var yu=null;function jo(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,yu=new Map,t.forEach(Uw,e),yu=null,pu.call(e))}function Uw(e,t){if(!(t.state.loading&4)){var n=yu.get(e);if(n)var a=n.get(null);else{n=new Map,yu.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<l.length;i++){var r=l[i];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(n.set(r.dataset.precedence,r),a=r)}a&&n.set(null,a)}l=t.instance,r=l.getAttribute("data-precedence"),i=n.get(r)||a,i===a&&n.set(null,l),n.set(r,l),this.count++,a=pu.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),i?i.parentNode.insertBefore(l,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var hr={$$typeof:Mn,Provider:null,Consumer:null,_currentValue:za,_currentValue2:za,_threadCount:0};function Gw(e,t,n,a,l,i,r,o,u){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Fc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fc(0),this.hiddenUpdates=Fc(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=i,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=u,this.incompleteTransitions=new Map}function jy(e,t,n,a,l,i,r,o,u,c,s,f){return e=new Gw(e,t,n,r,u,c,s,f,o),t=1,i===!0&&(t|=24),i=Tt(3,null,null,t),e.current=i,i.stateNode=e,t=Md(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:a,isDehydrated:n,cache:t},Nd(i),e}function Yy(e){return e?(e=_l,e):_l}function Vy(e,t,n,a,l,i){l=Yy(l),a.context===null?a.context=l:a.pendingContext=l,a=ua(t),a.payload={element:n},i=i===void 0?null:i,i!==null&&(a.callback=i),n=ca(e,a,t),n!==null&&(yt(n,e,t),Zi(n,e,t))}function lh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lf(e,t){lh(e,t),(e=e.alternate)&&lh(e,t)}function Xy(e){if(e.tag===13||e.tag===31){var t=Wa(e,67108864);t!==null&&yt(t,e,67108864),lf(e,67108864)}}function ih(e){if(e.tag===13||e.tag===31){var t=_t();t=hd(t);var n=Wa(e,t);n!==null&&yt(n,e,t),lf(e,t)}}var vu=!0;function Pw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=2,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function qw(e,t,n,a){var l=L.T;L.T=null;var i=$.p;try{$.p=8,rf(e,t,n,a)}finally{$.p=i,L.T=l}}function rf(e,t,n,a){if(vu){var l=sd(a);if(l===null)ms(e,t,a,bu,n),rh(e,a);else if(jw(l,e,t,n,a))a.stopPropagation();else if(rh(e,a),t&4&&-1<Fw.indexOf(e)){for(;l!==null;){var i=$l(l);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var r=ka(i.pendingLanes);if(r!==0){var o=i;for(o.pendingLanes|=2,o.entangledLanes|=2;r;){var u=1<<31-Mt(r);o.entanglements[1]|=u,r&=~u}hn(i),(J&6)===0&&(uu=Dt()+500,Dr(0,!1))}}break;case 31:case 13:o=Wa(i,2),o!==null&&yt(o,i,2),Nu(),lf(i,2)}if(i=sd(a),i===null&&ms(e,t,a,bu,n),i===l)break;l=i}l!==null&&a.stopPropagation()}else ms(e,t,a,null,n)}}function sd(e){return e=bd(e),of(e)}var bu=null;function of(e){if(bu=null,e=Rl(e),e!==null){var t=vr(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=fh(t),e!==null)return e;e=null}else if(n===31){if(e=gh(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return bu=e,null}function Qy(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Mb()){case yh:return 2;case vh:return 8;case Ko:case _b:return 32;case bh:return 268435456;default:return 32}default:return 32}}var dd=!1,fa=null,ga=null,ma=null,pr=new Map,yr=new Map,ea=[],Fw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function rh(e,t){switch(e){case"focusin":case"focusout":fa=null;break;case"dragenter":case"dragleave":ga=null;break;case"mouseover":case"mouseout":ma=null;break;case"pointerover":case"pointerout":pr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yr.delete(t.pointerId)}}function Ui(e,t,n,a,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[l]},t!==null&&(t=$l(t),t!==null&&Xy(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function jw(e,t,n,a,l){switch(t){case"focusin":return fa=Ui(fa,e,t,n,a,l),!0;case"dragenter":return ga=Ui(ga,e,t,n,a,l),!0;case"mouseover":return ma=Ui(ma,e,t,n,a,l),!0;case"pointerover":var i=l.pointerId;return pr.set(i,Ui(pr.get(i)||null,e,t,n,a,l)),!0;case"gotpointercapture":return i=l.pointerId,yr.set(i,Ui(yr.get(i)||null,e,t,n,a,l)),!0}return!1}function Ky(e){var t=Rl(e.target);if(t!==null){var n=vr(t);if(n!==null){if(t=n.tag,t===13){if(t=fh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===31){if(t=gh(n),t!==null){e.blockedOn=t,jg(e.priority,function(){ih(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Yo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=sd(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Ms=a,n.target.dispatchEvent(a),Ms=null}else return t=$l(n),t!==null&&Xy(t),e.blockedOn=n,!1;t.shift()}return!0}function oh(e,t,n){Yo(e)&&n.delete(t)}function Yw(){dd=!1,fa!==null&&Yo(fa)&&(fa=null),ga!==null&&Yo(ga)&&(ga=null),ma!==null&&Yo(ma)&&(ma=null),pr.forEach(oh),yr.forEach(oh)}function xo(e,t){e.blockedOn===t&&(e.blockedOn=null,dd||(dd=!0,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,Yw)))}var Mo=null;function uh(e){Mo!==e&&(Mo=e,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,function(){Mo===e&&(Mo=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],l=e[t+2];if(typeof a!="function"){if(of(a||n)===null)continue;break}var i=$l(n);i!==null&&(e.splice(t,3),t-=3,Vs(i,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function Il(e){function t(u){return xo(u,e)}fa!==null&&xo(fa,e),ga!==null&&xo(ga,e),ma!==null&&xo(ma,e),pr.forEach(t),yr.forEach(t);for(var n=0;n<ea.length;n++){var a=ea[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<ea.length&&(n=ea[0],n.blockedOn===null);)Ky(n),n.blockedOn===null&&ea.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],i=n[a+1],r=l[vt]||null;if(typeof i=="function")r||uh(n);else if(r){var o=null;if(i&&i.hasAttribute("formAction")){if(l=i,r=i[vt]||null)o=r.formAction;else if(of(l)!==null)continue}else o=r.action;typeof o=="function"?n[a+1]=o:(n.splice(a,3),a-=3),uh(n)}}}function Zy(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(r){return l=r})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function uf(e){this._internalRoot=e}Lu.prototype.render=uf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(S(409));var n=t.current,a=_t();Vy(n,a,e,t,null,null)};Lu.prototype.unmount=uf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Vy(e.current,2,null,e,null,null),Nu(),t[Jl]=null}};function Lu(e){this._internalRoot=e}Lu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rh();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ea.length&&t!==0&&t<ea[n].priority;n++);ea.splice(n,0,e),n===0&&Ky(e)}};var ch=sh.version;if(ch!=="19.2.8")throw Error(S(527,ch,"19.2.8"));$.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(S(188)):(e=Object.keys(e).join(","),Error(S(268,e)));return e=Sb(t),e=e!==null?mh(e):null,e=e===null?null:e.stateNode,e};var Vw={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Gi=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Gi.isDisabled&&Gi.supportsFiber))try{br=Gi.inject(Vw),xt=Gi}catch{}var Gi;Hu.createRoot=function(e,t){if(!dh(e))throw Error(S(299));var n=!1,a="",l=Pp,i=qp,r=Fp;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=jy(e,1,!1,null,null,n,a,null,l,i,r,Zy),e[Jl]=t.current,tf(e),new uf(t)};Hu.hydrateRoot=function(e,t,n){if(!dh(e))throw Error(S(299));var a=!1,l="",i=Pp,r=qp,o=Fp,u=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(i=n.onUncaughtError),n.onCaughtError!==void 0&&(r=n.onCaughtError),n.onRecoverableError!==void 0&&(o=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=jy(e,1,!0,t,n??null,a,l,u,i,r,o,Zy),t.context=Yy(null),n=t.current,a=_t(),a=hd(a),l=ua(a),l.callback=null,ca(n,l,a),n=a,t.current.lanes=n,wr(t,n),hn(t),e[Jl]=t.current,tf(e),new Lu(t)};Hu.version="19.2.8"});var $y=un((jS,Jy)=>{"use strict";function Iy(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Iy)}catch(e){console.error(e)}}Iy(),Jy.exports=Wy()});var t0=un(zu=>{"use strict";var Xw=Symbol.for("react.transitional.element"),Qw=Symbol.for("react.fragment");function e0(e,t,n){var a=null;if(n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),"key"in t){n={};for(var l in t)l!=="key"&&(n[l]=t[l])}else n=t;return t=n.ref,{$$typeof:Xw,type:e,key:a,ref:t!==void 0?t:null,props:n}}zu.Fragment=Qw;zu.jsx=e0;zu.jsxs=e0});var O=un((VS,n0)=>{"use strict";n0.exports=t0()});var Lt=B(ft(),1),s1=B($y(),1);var Wv=B(ft(),1);var qn=B(O(),1);function Kw(e){return{under50:"Under $50",over50:"Over $50",over30:"Over $30",over500:"Over $500","50_100":"$50 - $100","100_200":"$100 - $200","200_500":"$200 - $500"}[e]||e}function a0({activeDealTag:e,activeFreeformTags:t,airedaleTags:n,freeformTags:a,discountAmount:l,onBrandSelect:i,onBrandToggle:r,onDiscountAmountChange:o,onPriceRangeChange:u,onTagClear:c,onFreeformTagClear:s,onFreeformTagToggle:f,priceRange:d,selectedBrands:m}){let v=m.map(b=>({type:"brand",value:b,label:b}));if(e){let b=n.find(h=>h.startsWith(e+":::")||h===e);v.push({type:"category",value:e,label:b?b.split(":::")[1]||b.split(":::")[0]:e})}if(t.forEach(b=>{let h=a.find(g=>g.handle===b);v.push({type:"freeform-tag",value:b,label:h?.label||b})}),d&&d!=="all"&&v.push({type:"price",value:d,label:Kw(d)}),l&&l!=="0"&&l!=="all"&&v.push({type:"discount",value:l,label:`Min ${l}% off`}),v.length===0)return null;let A=b=>{b.type==="brand"&&r?.(b.value),b.type==="category"&&c(),b.type==="freeform-tag"&&f(b.value),b.type==="discount"&&o?.("0"),b.type==="price"&&u?.("all")};return(0,qn.jsxs)("div",{className:"tg-df-active-badges-row",style:{display:"flex",flexWrap:"wrap",gap:"4px",alignItems:"center",marginTop:"10px",marginBottom:"16px"},children:[v.map(b=>(0,qn.jsxs)("span",{className:"tg-df-active-badge",children:[b.label,(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-remove","aria-label":`Remove ${b.label}`,onClick:()=>A(b),children:(0,qn.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,qn.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,qn.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},b.type+"-"+b.value)),v.length>1&&(0,qn.jsx)("button",{type:"button",className:"tg-df-badge-clear-all",onClick:()=>{i?.([]),c(),s(),o?.("0"),u?.("all")},children:"Clear all"})]})}function l0(e){if(!e)return null;let t=e.documentname||e.title||"";!t&&e.documentnametext&&(t=Array.isArray(e.documentnametext)?e.documentnametext[0]:e.documentnametext),!t&&e.articlename&&(t=Array.isArray(e.articlename)?e.articlename[0]:e.articlename),!t&&e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&(t=e.articlesocialtitle[0]);let n=e.strapline||e.articlestrapline||e.subtitle||e.dek||"";!n&&e.image_thumbnail&&e.image_thumbnail.dek&&(n=e.image_thumbnail.dek),Array.isArray(n)&&(n=n[0]||"");let a="";if(e.articlepage)try{let l=e.articlepage;if(typeof l=="string")try{l=JSON.parse(l)}catch{}if(Array.isArray(l)&&l.length>0){let i=l[0];if(typeof i=="string")try{i=JSON.parse(i)}catch{}if(Array.isArray(i)){let r=[];for(let o of i){if(o.type==="featured-product")break;if(o.type==="text"&&o.data)Array.isArray(o.data.paragraphs)?o.data.paragraphs.forEach(u=>{u&&r.push(u.startsWith("<")?u:`<p>${u}<\/p>`)}):typeof o.data.text=="string"&&o.data.text&&r.push(o.data.text.startsWith("<")?o.data.text:`<p>${o.data.text}<\/p>`);else if(o.type==="section"&&o.data){let u=o.data.text||o.data.heading||o.data.title||"";u&&r.push(`<div class="tg-df-article-section-banner"><span>${u}<\/span><\/div>`)}}r.length>0&&(a=r.join(""))}}}catch(l){console.error("Error parsing articlepage",l)}return!a&&e.content?a=typeof e.content=="string"?e.content:"":!a&&e.intro?a=typeof e.intro=="string"?e.intro:"":!a&&e.paragraphs&&(a=(Array.isArray(e.paragraphs)?e.paragraphs:[e.paragraphs]).map(i=>`<p>${i}<\/p>`).join("")),{headline:t,strapline:n,contentHtml:a}}var ii=B(O(),1);function i0({articles:e,selectedArticleId:t}){if(!t)return null;let n=e.find(l=>l.id===t);if(!n)return null;let a=l0(n);return!a||!a.headline&&!a.strapline&&!a.contentHtml?null:(0,ii.jsxs)("div",{className:"tg-df-article-intro-container",id:"tg-df-article-intro",style:{margin:"0 auto 32px",width:"100%",maxWidth:"800px",textAlign:"left",padding:"0 16px"},children:[a.headline&&(0,ii.jsx)("h2",{className:"tg-df-article-headline",id:"tg-df-article-headline",style:{fontSize:"1.75rem",fontWeight:800,color:"#0f172a",marginBottom:"1rem",lineHeight:1.25},children:a.headline}),a.strapline&&(0,ii.jsx)("p",{className:"tg-df-article-strapline",id:"tg-df-article-strapline",style:{fontSize:"1.125rem",fontWeight:600,color:"#334155",marginBottom:"1.25rem",lineHeight:1.4},children:a.strapline}),a.contentHtml&&(0,ii.jsx)("div",{className:"tg-df-article-content",id:"tg-df-article-content",dangerouslySetInnerHTML:{__html:a.contentHtml}})]})}var Fn=B(O(),1);function Zw({articles:e,authorHandle:t,authorName:n}){let a=n||e.length>0&&(e[0].articleauthortext?.[0]||e[0].articleauthor?.[0])||"Author";(t==="all-authors"||n==="all-authors"||n==="All authors")&&(a="All authors");let l=a.trim().split(" ")[0]||"Author";return a==="All authors"&&(l="All authors"),`Shop all ${l==="All authors"?"authors'":l.endsWith("'s")||l.endsWith("\u2019s")?l:`${l}'s`} collections`}function Ww(e){let t=[];return e.documentnametext&&t.push(e.documentnametext),e.documentname&&t.push(e.documentname),e.articlename&&t.push(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&t.push(...e.articlesocialtitle),t.length>0?t.reduce((n,a)=>a&&a.length<n.length?a:n,t[0]):"Article"}function r0({articles:e,authorHandle:t,authorName:n,onChange:a,selectedArticleId:l,shortenedHeadlines:i}){return(0,Fn.jsx)("div",{className:"tg-df-top-bar",id:"tg-df-top-bar",style:{position:"relative",zIndex:100,margin:"0 auto 20px",width:"100%",display:"flex",justifyContent:"center"},children:(0,Fn.jsxs)("div",{className:"tg-df-sort-wrapper",style:{width:"auto",maxWidth:"320px",display:"inline-flex",position:"relative"},children:[(0,Fn.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",style:{position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",width:"14px",height:"14px",color:"var(--tg-df-text-muted)",pointerEvents:"none",zIndex:2},children:(0,Fn.jsx)("path",{d:"M12 2l-10 4.5 10 4.5 10-4.5-10-4.5zm0 6.5l-8-3.6 8-3.6 8 3.6-8 3.6zm-10 6l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5zm0 5l10 4.5 10-4.5v-2.5l-10 4.5-10-4.5v2.5z"})}),(0,Fn.jsxs)("select",{className:"tg-df-filter-select tg-df-article-select",style:{width:"100%",maxWidth:"320px",padding:"10px 36px 10px 38px",fontSize:"14px",fontWeight:500,borderRadius:"100px",border:"1px solid var(--tg-df-border)",color:"var(--tg-df-text)",backgroundColor:"var(--tg-df-bg-secondary)",appearance:"none",backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E")`,backgroundRepeat:"no-repeat",backgroundPosition:"right 14px center",textAlign:"left",textAlignLast:"left",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",cursor:"pointer"},value:l||"",onChange:r=>a(r.target.value),children:[(0,Fn.jsx)("option",{value:"",style:{textAlign:"left"},children:Zw({articles:e,authorHandle:t,authorName:n})}),e.map(r=>{let o=i?.[r.id]||Ww(r);return o&&o.length>38&&(o=o.substring(0,36)+"\u2026"),(0,Fn.jsx)("option",{value:r.id,style:{textAlign:"left"},children:o},r.id)})]})]})})}var A0=B(ft(),1);function o0(e,t=new Date){if(!e)return"";let n=new Date(e),a=Math.floor((t.getTime()-n.getTime())/1e3);if(a<60)return"Just now";let l=Math.floor(a/60);if(l<60)return`${l} min${l>1?"s":""} ago`;let i=Math.floor(l/60);if(i<24)return`${i} hr${i>1?"s":""} ago`;let r=Math.floor(i/24);if(r<30)return`${r} day${r>1?"s":""} ago`;let o=Math.floor(r/30);if(o<12)return`${o} mo${o>1?"s":""} ago`;let u=Math.floor(r/365);return`${u} yr${u>1?"s":""} ago`}function Iw(e){return e.replace(/<\/p\s*>/gi," ").replace(/<p[^>]*>/gi," ").replace(/<br\s*\/?>/gi," ").replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim()}function _r(e,t,n){let a="";return n==="short"?a=e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"":a=e.articleauthorlongbio&&e.articleauthorlongbio[t]&&e.articleauthorlongbio[t]!=="null"?e.articleauthorlongbio[t]:e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"",a?Iw(a):""}function u0(e,t){return e.articleauthorrole&&e.articleauthorrole[t]&&e.articleauthorrole[t]!=="null"?e.articleauthorrole[t]:""}function c0(e,t){return e.articleauthormedia&&e.articleauthormedia[t]?e.articleauthormedia[t]:""}function ri(e){if(typeof e!="string"||!e.trim())return"";try{let t=new URL(e);if(t.hostname.toLowerCase()!=="cdn.mos.cms.futurecdn.net")return e;let n=/\.(?:jpe?g|png|webp)$/i;return!n.test(t.pathname)||/-\d+-\d+\.(?:jpe?g|png|webp)$/i.test(t.pathname)?e:(t.pathname=t.pathname.replace(n,"-480-80$&"),t.toString())}catch{return e}}function Uu(e,t=0){if(!e||!e.articleauthorsocialnetworks)return[];let n=e.articleauthorsocialnetworks[t];if(n||(n=e.articleauthorsocialnetworks[0]),!n)return[];let a=null;if(typeof n=="string")try{a=JSON.parse(n)}catch{try{a=JSON.parse(n.replace(/\\"/g,'"'))}catch{}}else typeof n=="object"&&n!==null&&(a=n);if(!a||typeof a!="object")return[];let l=[];for(let[i,r]of Object.entries(a)){if(!r)continue;let o="",u="";if(typeof r=="string"?o=r:typeof r=="object"&&r!==null&&(o=r.url||r.address||r.link||"",u=r.address||""),!o&&!u)continue;let c=i.toLowerCase().trim(),s=o||u;c==="email"?s.startsWith("mailto:")||(s=s.includes("@")?`mailto:${s}`:`mailto:${s}`):!s.startsWith("http://")&&!s.startsWith("https://")&&!s.startsWith("//")&&(s=`https://${s}`);let f=c.charAt(0).toUpperCase()+c.slice(1);c==="linkedin"?f="LinkedIn":c==="youtube"?f="YouTube":c==="tiktok"?f="TikTok":c==="twitch"?f="Twitch":c==="steam"?f="Steam":c==="github"?f="GitHub":c==="rss"?f="RSS":(c==="x"||c==="twitter")&&(f="X (Twitter)"),l.push({key:c,href:s,label:f})}return l}function ee(e){if(!e)return"";let t=String(e);for(let n=0;n<3;n+=1){let a=t.replace(/&/gi,"&").replace(/£/g,"\xA3").replace(/£/gi,"\xA3").replace(/$/g,"$").replace(/&dollar;/gi,"$").replace(/€/g,"\u20AC").replace(/€/gi,"\u20AC").replace(/&#(\d+);/g,(l,i)=>String.fromCharCode(Number(i))).replace(/&#x([0-9a-f]+);/gi,(l,i)=>String.fromCharCode(parseInt(i,16)));if(a===t)break;t=a}return t}var Ee=B(O(),1);function cf({authorUrl:e,deal:t}){if(!t.authorName)return null;let n=ee(String(t.authorName)),a=t.authorRole&&!["null","nul","undefined"].includes(String(t.authorRole).toLowerCase())?` \u2022 ${ee(String(t.authorRole))}`:"";return(0,Ee.jsx)("div",{className:"tg-df-author-line-desktop",style:{padding:"0 0 12px 0"},children:(0,Ee.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[t.authorImage&&(0,Ee.jsx)("img",{src:ri(t.authorImage),alt:n,className:"tg-df-author-img",width:"36",height:"36",style:{borderRadius:"50%",objectFit:"cover",flexShrink:0,aspectRatio:"1 / 1",minWidth:"36px",minHeight:"36px"}}),(0,Ee.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,Ee.jsx)("div",{style:{fontSize:"10px",color:"var(--tg-df-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px",fontWeight:600},children:t.isReviewProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Product tested by:"}):t.isBuyingGuideProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Expert review by:"}):t.isFeatured?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:"Top product"})," ","recommended by:"]}):(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:t.merchant})," ","deal recommended by:"]})}),(0,Ee.jsxs)("div",{style:{fontSize:"11px",color:"var(--tg-df-text)",lineHeight:1.2},children:[(0,Ee.jsx)("strong",{children:(0,Ee.jsx)("a",{href:e,target:"_blank",rel:"noopener",style:{textDecoration:"none",color:"inherit",borderBottom:"1px dotted var(--tg-df-text-muted)"},children:n})}),a,t.modifiedDate?(0,Ee.jsxs)("span",{style:{color:"var(--tg-df-text-muted)"},children:[" ","\u2022 ",o0(t.modifiedDate)]}):""]})]})]})})}var K=B(O(),1);function s0({authorUrl:e,deal:t,hideHawkPrices:n,msrpFormatted:a,sourceArticleUrl:l}){let i=ee(String(t.merchant||"")),r=ee(String(t.currency||""));if(t.isBuyingGuideProduct||t.isReviewProduct){let o=!!t.hasCommerceOffer,u=o&&!t.isCheckPrice,c=!!t.hawkPricePending,s=!!t.isReviewProduct&&!c&&!o,f=n&&o&&Array.isArray(t.hawkListings)?t.hawkListings.filter(m=>m?.merchant&&m?.url).slice(0,4):[],d=f.length>0;return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[c?(0,K.jsx)("div",{className:"tg-df-card-price-group","aria-live":"polite",children:(0,K.jsx)("span",{className:"tg-df-card-price",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"Checking live price\u2026"})}):d?(0,K.jsxs)("div",{className:"tg-df-card-listings",children:[(0,K.jsx)("span",{className:"tg-df-card-listings-title",children:"Today's cheapest prices:"}),(0,K.jsx)("div",{className:"tg-df-card-listings-links",children:f.map((m,v)=>{let A=ee(String(m.merchant));return(0,K.jsx)("a",{"aria-label":`View product at ${A}`,className:"tg-df-card-listing-link hawk-affiliate-link-container","data-fcaw-affiliate-link":"","data-merchant":A,"data-merchant-id":m.merchantId||void 0,"data-model-id":m.modelId||void 0,"data-product-key":m.productKey||void 0,href:m.url,rel:"sponsored nofollow noopener",target:"_blank",children:A},`${m.merchant}-${m.url}-${v}`)})})]}):u?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsxs)("div",{className:"tg-df-card-price-group",children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})]}):s?(0,K.jsx)("div",{className:"tg-df-card-price-group",children:(0,K.jsx)("span",{className:"tg-df-card-price tg-df-card-price--unavailable",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"No retail listing found"})}):null,(0,K.jsx)(cf,{authorUrl:e,deal:t}),!d&&(0,K.jsx)("a",{href:o?t.url:l,"data-fcaw-affiliate-link":o?"":void 0,target:"_blank",rel:o?"sponsored nofollow noopener":"noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},children:o?u?"VIEW DEAL":"CHECK PRICE":"READ REVIEW"})]})}return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[!(t.authorName&&!t.isFeatured)&&(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsx)("div",{className:"tg-df-card-price-group",children:t.isCheckPrice?(0,K.jsx)("span",{className:"tg-df-card-price",style:{fontSize:"15px",fontWeight:500,fontStyle:"italic"},children:"See price at retailer"}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})}),(0,K.jsx)(cf,{authorUrl:e,deal:t}),(0,K.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":"",target:"_blank",rel:"sponsored nofollow noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},"data-model-id":t.modelId||void 0,"data-product-key":t.productKey||void 0,"data-merchant-id":t.merchantId||void 0,children:t.isCheckPrice?"CHECK PRICE":t.isFeatured?"SHOP NOW":"VIEW DEAL"})]})}var Ze=B(O(),1);function d0({couponStatus:e,deal:t,onOpenVouchers:n}){let a=!!t.hasCommerceOffer;return(0,Ze.jsxs)("div",{className:"tg-df-card-image-box",children:[t.buyingGuideBadge?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge tg-df-buying-guide-badge",children:t.buyingGuideBadge}):t.savingLabel&&!t.isCheckPrice?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge",children:ee(t.savingLabel)}):null,(0,Ze.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":a?"":void 0,className:a?"hawk-affiliate-link-deal-widget":void 0,target:"_blank",rel:a?"sponsored nofollow noopener":"noopener",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",height:"100%"},children:(0,Ze.jsx)("img",{src:t.image||void 0,alt:ee(String(t.title||"")),className:"tg-df-card-image",loading:"lazy",onError:l=>{t.fallbackImage&&!l.currentTarget.dataset.fb?(l.currentTarget.dataset.fb="1",l.currentTarget.src=t.fallbackImage):l.currentTarget.style.opacity="0"}})}),(0,Ze.jsxs)("div",{className:"tg-df-card-badges",children:[t.isPrime&&(0,Ze.jsxs)("span",{className:"tg-df-tag tg-df-tag-prime",children:[(0,Ze.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ze.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})," ","Prime"]}),!t.merchant?.toLowerCase().includes("amazon")&&(e==="loading"||e==="has")&&(0,Ze.jsx)("div",{className:"tg-df-coupon-wrapper",style:{display:"inline-flex",alignItems:"center"},children:e==="loading"?(0,Ze.jsx)("div",{className:"tg-df-coupon-spinner"}):(0,Ze.jsxs)("button",{type:"button",className:"tg-df-tag tg-df-tag-coupons",onClick:l=>{l.preventDefault(),n(t.merchant)},children:[(0,Ze.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,Ze.jsx)("path",{d:"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"}),(0,Ze.jsx)("line",{x1:"7",y1:"7",x2:"7.01",y2:"7"})]})," ","Coupons"]})})]})]})}var ct=B(O(),1);function f0({label:e="Tom's Guide:",starRating:t,color:n="#1f69ff"}){if(!t||t<=0)return null;let a=Math.floor(t),l=t-a>=.5?1:0,i=Math.max(0,5-a-l),r=[];for(let o=0;o<a;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:n,stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`f${o}`));l&&r.push((0,ct.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"url(#halfGrad)",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,ct.jsx)("defs",{children:(0,ct.jsxs)("linearGradient",{id:"halfGrad",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,ct.jsx)("stop",{offset:"50%",stopColor:n}),(0,ct.jsx)("stop",{offset:"50%",stopColor:"transparent"})]})}),(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})]},"h"));for(let o=0;o<i;o++)r.push((0,ct.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:n,opacity:"0.35",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ct.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`e${o}`));return(0,ct.jsxs)("div",{className:"tg-df-card-stars",style:{display:"flex",alignItems:"center",marginBottom:"8px",fontSize:"13px",fontWeight:600,color:"var(--tg-df-text-muted)"},children:[e&&(0,ct.jsx)("span",{style:{marginRight:"6px"},children:e}),(0,ct.jsx)("div",{style:{display:"flex",gap:"2px"},children:r})]})}var At=B(O(),1);function g0({heading:e,items:t}){return t.length===0?null:(0,At.jsxs)("div",{style:{marginBottom:"10px"},children:[(0,At.jsx)("strong",{style:{display:"block",fontSize:"12px",marginBottom:"3px"},children:e}),(0,At.jsx)("ul",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:0,paddingLeft:"18px"},children:t.map(n=>{let a=ee(String(n));return(0,At.jsx)("li",{children:a},n)})})]})}function m0({cons:e=[],expanded:t,fullReviewUrl:n,onToggle:a,pros:l=[],subtitle:i="",truncateSubtitle:r=!1}){let o=l.length>0||e.length>0,u=ee(i);return!u&&!o?null:(0,At.jsxs)("div",{style:{marginBottom:"12px"},children:[u&&(0,At.jsx)("p",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:"0 0 8px",display:!t&&r?"-webkit-box":"block",WebkitLineClamp:!t&&r?3:void 0,WebkitBoxOrient:!t&&r?"vertical":void 0,overflow:!t&&r?"hidden":void 0},children:u}),t&&o&&(0,At.jsxs)("div",{children:[(0,At.jsx)(g0,{heading:"Pros",items:l}),(0,At.jsx)(g0,{heading:"Cons",items:e})]}),(o||r)&&(0,At.jsxs)("div",{className:"tg-df-review-summary-actions",style:{alignItems:"flex-start",display:"flex",flexDirection:"column",gap:t&&n?"4px":0},children:[t&&n&&(0,At.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"tg-df-review-full-link",style:{alignItems:"center",color:"var(--tg-df-blue)",display:"flex",fontSize:"12px",fontWeight:700,minHeight:"40px",paddingRight:"12px",textDecoration:"underline"},children:"Read our full review"}),(0,At.jsx)("button",{type:"button",onClick:c=>{c.preventDefault(),c.stopPropagation(),a()},className:"tg-df-review-summary-toggle",style:{appearance:"none",background:"transparent",border:"none",color:"#000000",cursor:"pointer",fontFamily:"inherit",fontSize:"11px",fontWeight:700,minHeight:"40px",padding:"0 12px 0 0",textTransform:"uppercase"},children:t?"LESS":"READ MORE"})]})]})}var oi=B(ft(),1);var Br=B(O(),1);function h0({text:e,expanded:t,onToggle:n}){let[a,l]=(0,oi.useState)(!1),i=(0,oi.useRef)(null),r=ee(e);return(0,oi.useEffect)(()=>{i.current&&l(i.current.scrollHeight>i.current.clientHeight||i.current.scrollHeight>60)},[r]),r?(0,Br.jsxs)("div",{style:{marginBottom:"12px",position:"relative"},children:[(0,Br.jsx)("p",{ref:i,style:{fontSize:"13px",color:"var(--tg-df-text-muted)",marginBottom:"0",lineHeight:"1.4",display:t?"inline":"-webkit-box",WebkitLineClamp:t?"unset":3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r}),a&&(0,Br.jsx)("button",{type:"button",onClick:o=>{o.preventDefault(),o.stopPropagation(),n()},style:{display:"block",appearance:"none",border:"none",color:"#000000",fontSize:"11px",fontWeight:700,textTransform:"uppercase",cursor:"pointer",fontFamily:"inherit",position:t?"static":"absolute",bottom:"2px",right:0,background:t?"transparent":"linear-gradient(to right, transparent, #fff 20%, #fff)",padding:t?"0":"0 0 0 16px"},children:t?"LESS":"READ MORE"})]}):null}var p0={pcgamer:"#DC191B",space:"#2E4A7F",tomsguide:"#1F69FF",techradar:"#E40784",golfmonthly:"#FFFFFF",androidcentral:"#1CCC3E",cinemablend:"#FFC033",creativebloq:"#DC361A",cyclingnews:"#371B51",cyclingweekly:"#AE1305",decanter:"#1B1B1B",digitalcameraworld:"#CAEBF2",fitandwell:"#BED100",fourfourtwo:"#AE1006",gamesradar:"#DC361A",guitarplayer:"#FFFFFF",guitarworld:"#DC1F26",homesandgardens:"#185A7D",idealhome:"#CAEBF2",imore:"#FFD600",livescience:"#023953",livingetc:"#FFFFFF",loudersound:"#DC0F17",marieclaireus:"#FFFFFF",marieclaireuk:"#FFFFFF",musicradar:"#006EA9",shortlist:"#2853E0",t3:"#DF0A14",theweek:"#DF0A14",theweekjuniorus:"#10A0B0",tomshardware:"#D8373B",wallpaper:"#FFFFFF",whathifi:"#E02928",whowhatwear:"#FFFFFF",windowscentral:"#CE0E5F",womanandhome:"#2F746E"},Nr={tomsguide:"https://proof.vanilla.tools/media/images/brandLogos/tomsguide.png",techradar:"https://proof.vanilla.tools/media/images/brandLogos/techradar.png",tomshardware:"https://proof.vanilla.tools/media/images/brandLogos/tomshardware.png",pcgamer:"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png",gamesradar:"https://proof.vanilla.tools/media/images/brandLogos/gamesradar.png",creativebloq:"https://proof.vanilla.tools/media/images/brandLogos/creativebloq.png",space:"https://proof.vanilla.tools/media/images/brandLogos/space.png",livescience:"https://proof.vanilla.tools/media/images/brandLogos/livescience.png",cinemablend:"https://proof.vanilla.tools/media/images/brandLogos/cinemablend.png",marieclaireus:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireus.png",marieclaireuk:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireuk.png",homesandgardens:"https://proof.vanilla.tools/media/images/brandLogos/homesandgardens.png",whowhatwear:"https://proof.vanilla.tools/media/images/brandLogos/whowhatwear.png",idealhome:"https://proof.vanilla.tools/media/images/brandLogos/idealhome.png",womanandhome:"https://proof.vanilla.tools/media/images/brandLogos/womanandhome.png",livingetc:"https://proof.vanilla.tools/media/images/brandLogos/livingetc.png",t3:"https://proof.vanilla.tools/media/images/brandLogos/t3.png",whathifi:"https://proof.vanilla.tools/media/images/brandLogos/whathifi.png",digitalcameraworld:"https://proof.vanilla.tools/media/images/brandLogos/digitalcameraworld.png",fitandwell:"https://proof.vanilla.tools/media/images/brandLogos/fitandwell.png",golfmonthly:"https://proof.vanilla.tools/media/images/brandLogos/golfmonthly.png",musicradar:"https://proof.vanilla.tools/media/images/brandLogos/musicradar.png",windowscentral:"https://proof.vanilla.tools/media/images/brandLogos/windowscentral.png",cyclingnews:"https://proof.vanilla.tools/media/images/brandLogos/cyclingnews.png",cyclingweekly:"https://proof.vanilla.tools/media/images/brandLogos/cyclingweekly.png",loudersound:"https://proof.vanilla.tools/media/images/brandLogos/loudersound.png",guitarworld:"https://proof.vanilla.tools/media/images/brandLogos/guitarworld.png",guitarplayer:"https://proof.vanilla.tools/media/images/brandLogos/guitarplayer.png",wallpaper:"https://proof.vanilla.tools/media/images/brandLogos/wallpaper.png",fourfourtwo:"https://proof.vanilla.tools/media/images/brandLogos/fourfourtwo.png",shortlist:"https://proof.vanilla.tools/media/images/brandLogos/shortlist.png",advnture:"https://proof.vanilla.tools/media/images/brandLogos/advnture.png",countrylife:"https://proof.vanilla.tools/media/images/brandLogos/countrylife.png",gardeningknowhow:"https://proof.vanilla.tools/media/images/brandLogos/gardeningknowhow.png",gnomesingardens:"https://proof.vanilla.tools/media/images/brandLogos/gnomesingardens.png",kiplinger:"https://proof.vanilla.tools/media/images/brandLogos/kiplinger.png",moneyweek:"https://proof.vanilla.tools/media/images/brandLogos/moneyweek.png",toptenreviews:"https://proof.vanilla.tools/media/images/brandLogos/toptenreviews.png"},Gu={tomsguide:"Tom's Guide",techradar:"TechRadar",tomshardware:"Tom's Hardware",pcgamer:"PC Gamer",gamesradar:"GamesRadar+",creativebloq:"Creative Bloq",space:"Space",livescience:"Live Science",cinemablend:"CinemaBlend",marieclaireus:"Marie Claire US",marieclaireuk:"Marie Claire UK",homesandgardens:"Homes & Gardens",whowhatwear:"Who What Wear",idealhome:"Ideal Home",womanandhome:"Woman & Home",livingetc:"Living Etc",t3:"T3",whathifi:"What Hi-Fi?",digitalcameraworld:"Digital Camera World",fitandwell:"Fit & Well",golfmonthly:"Golf Monthly",musicradar:"MusicRadar",androidcentral:"Android Central",imore:"iMore",windowscentral:"Windows Central",cyclingnews:"Cycling News",cyclingweekly:"Cycling Weekly",loudersound:"Louder Sound",guitarworld:"Guitar World",guitarplayer:"Guitar Player",theweek:"The Week",theweekjuniorus:"The Week Junior US",wallpaper:"Wallpaper",decanter:"Decanter",fourfourtwo:"FourFourTwo",shortlist:"ShortList",advnture:"Advnture",countrylife:"Country Life",gardeningknowhow:"Gardening Know How",gnomesingardens:"Gnomes in Gardens",kiplinger:"Kiplinger",moneyweek:"Money Week",toptenreviews:"Top 10 Reviews"},y0={pcgamer:[{key:"steam",href:"https://steamcommunity.com/groups/pcgamer",label:"PC Gamer on Steam"},{key:"x",href:"https://twitter.com/pcgamer",label:"PC Gamer on X"},{key:"facebook",href:"https://www.facebook.com/pcgamermagazine",label:"PC Gamer on Facebook"},{key:"instagram",href:"https://www.instagram.com/pcgamer_mag/?hl=en",label:"PC Gamer on Instagram"},{key:"youtube",href:"https://www.youtube.com/user/pcgamer",label:"PC Gamer on YouTube"},{key:"twitch",href:"https://www.twitch.tv/pcgamer",label:"PC Gamer on Twitch"},{key:"tiktok",href:"https://www.tiktok.com/@pcgamer_mag?lang=en",label:"PC Gamer on TikTok"}],homesandgardens:[{key:"instagram",href:"https://www.instagram.com/homesandgardensofficial",label:"Homes & Gardens on Instagram"},{key:"facebook",href:"https://www.facebook.com/homesandgardens/",label:"Homes & Gardens on Facebook"},{key:"x",href:"https://x.com/homesandgardens",label:"Homes & Gardens on X"},{key:"tiktok",href:"https://www.tiktok.com/@homesandgardensofficial",label:"Homes & Gardens on TikTok"},{key:"pinterest",href:"https://pinterest.com/homesgardensofficial/",label:"Homes & Gardens on Pinterest"}],whowhatwear:[{key:"x",href:"https://twitter.com/WhoWhatWear",label:"Who What Wear on X"},{key:"instagram",href:"https://www.instagram.com/whowhatwear/",label:"Who What Wear on Instagram"},{key:"facebook",href:"https://www.facebook.com/WhoWhatWear/",label:"Who What Wear on Facebook"},{key:"pinterest",href:"https://www.pinterest.co.uk/whowhatwearuk/",label:"Who What Wear on Pinterest"},{key:"tiktok",href:"https://www.tiktok.com/@whowhatwear.uk",label:"Who What Wear on TikTok"}]};var Ot=B(O(),1);function v0(e){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").trim().toLowerCase()}function Jw(e){let t=ee(String(e.brand||"")).trim(),n=ee(String(e.productName||e.title||"")).trim(),a=v0(t),l=v0(n);return a.length>0&&l.startsWith(a)&&!/^[a-z0-9]/.test(l.slice(a.length))||!t?n:`${t} ${n}`.trim()}function b0({couponStatus:e,deal:t,editorMode:n,hideHawkPrices:a,isDescriptionExpanded:l,isSelected:i,onDescriptionToggle:r,onOpenVouchers:o,onSelectionChange:u,website:c}){let s=ee(String(t.currency||"")),f=t.rawMsrp?s+t.rawMsrp:null,d=Jw(t),m=ee(String(t.title||"")),v=Gu[c||"tomsguide"]||c||"Tom's Guide",A=(c||"tomsguide").includes(".")?(c||"").startsWith("http")?c:`https://${c}`:`https://www.${c||"tomsguide"}.com`,b=(t.documentUrl||"").replace(/^\/+/,""),h=b.startsWith("http://")||b.startsWith("https://")?b:`${A}/${b}`,g=String(t.sourceArticleUrl||t.documentUrl||t.url||"").replace(/^\/+/,""),p=g.startsWith("http://")||g.startsWith("https://")?g:`${A}/${g}`,y=!!t.hasCommerceOffer;return(0,Ot.jsxs)("div",{className:"tg-df-card","data-brand":t.modelBrand||t.brand||void 0,"data-currency":t.isoCurrencyCode||s||void 0,"data-deal-id":t.externalProductId||t.id||void 0,"data-merchant":t.merchant||void 0,"data-merchant-id":t.merchantId||void 0,"data-model-id":t.modelId||void 0,"data-previous-price":t.rawMsrp||void 0,"data-price":t.rawPrice||void 0,"data-product-key":t.productKey||void 0,"data-product-name":t.productName||t.title||void 0,"data-review-product":t.isReviewProduct?"true":void 0,"data-source-article-url":t.isReviewProduct?p:void 0,children:[n&&(0,Ot.jsx)("input",{type:"checkbox",className:"tg-df-deal-checkbox",checked:i,onChange:C=>u(C.target.checked)}),(0,Ot.jsx)(d0,{couponStatus:e,deal:t,onOpenVouchers:o}),(0,Ot.jsxs)("div",{className:"tg-df-card-body",children:[(0,Ot.jsx)("h3",{className:"tg-df-card-title",title:m,children:(0,Ot.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":y?"":void 0,className:y?"hawk-affiliate-link-container":void 0,target:"_blank",rel:y?"sponsored nofollow noopener":"noopener",style:{textDecoration:"none",color:"inherit"},children:(0,Ot.jsx)("strong",{children:d})})}),(0,Ot.jsx)(f0,{label:t.isBuyingGuideProduct?"":`${v} rating:`,starRating:t.starRating,color:t.isReviewProduct?"var(--tg-df-blue)":void 0}),t.isBuyingGuideProduct||t.isReviewProduct?(0,Ot.jsx)(m0,{cons:t.cons,expanded:l,fullReviewUrl:t.isReviewProduct&&g?p:void 0,onToggle:r,pros:t.pros,subtitle:t.isReviewProduct?t.description:t.subtitle,truncateSubtitle:t.isReviewProduct}):t.description?(0,Ot.jsx)(h0,{text:t.description,expanded:l,onToggle:r}):null,(0,Ot.jsx)(s0,{authorUrl:h,deal:t,hideHawkPrices:a,msrpFormatted:f,sourceArticleUrl:p})]})]})}var ce=B(O(),1);function $w({activeDealTag:e,activeFreeformTags:t=[],query:n,selectedBrands:a=[]}){let l=o=>{let u=String(o||"").trim();return u&&u.toLowerCase()!=="everything"?u:""},r=(t.length>0?t:e?[e]:a.length>0?a:[n]).map(l).filter(Boolean).map(o=>o.replace(/\s+deals?$/i,"").trim()).filter((o,u,c)=>c.findIndex(s=>s.toLowerCase()===o.toLowerCase())===u);return r.length<=1?r[0]||"":`${r.slice(0,-1).join(", ")} or ${r.at(-1)}`}function e2(){return(0,ce.jsx)(ce.Fragment,{children:Array.from({length:6}).map((e,t)=>(0,ce.jsxs)("div",{className:"tg-df-card",children:[(0,ce.jsx)("div",{className:"tg-df-card-image-box tg-df-skeleton"}),(0,ce.jsxs)("div",{className:"tg-df-card-body",children:[(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short",style:{marginBottom:"24px"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title",style:{width:"80%"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short"}),(0,ce.jsx)("div",{className:"tg-df-card-cta tg-df-skeleton",style:{width:"100%",height:"40px",marginTop:"auto",border:"none"}})]})]},t))})}function t2(e,t){return{"@context":"https://schema.org","@type":"ItemList",itemListElement:e.slice(0,t).map((n,a)=>{let l="USD";return n.currency==="\xA3"?l="GBP":n.currency==="\u20AC"?l="EUR":n.currency==="A$"?l="AUD":n.currency==="CA$"&&(l="CAD"),{"@type":"ListItem",position:a+1,item:{"@type":"Product",name:n.title,image:n.image||"",description:n.description||"",brand:{"@type":"Brand",name:n.brand||""},offers:{"@type":"Offer",priceCurrency:l,price:n.rawPrice||0,url:n.url||"",seller:{"@type":"Organization",name:n.merchant||""}}}}}).filter(n=>n.item.name)}}function w0({activeDealTag:e,activeFreeformTags:t,couponMap:n,deals:a,displayCount:l,editorMode:i,error:r,expandedDealIds:o,hasMore:u,hideHawkPrices:c,loading:s,loadingMore:f,loadMoreStartCount:d,onDescriptionToggle:m,onLoadMore:v,onOpenVouchers:A,query:b,recentDealsOnly:h,selectedBrands:g,selectedDeals:p,setSelectedDeals:y,website:C}){let R=$w({activeDealTag:e,activeFreeformTags:t,query:b,selectedBrands:g}),T=f&&d!=null?d:l,M=!f&&d!=null&&d<T?d:null,w=D=>D.map(k=>(0,ce.jsx)(A0.default.Fragment,{children:(0,ce.jsx)(b0,{couponStatus:n[k.merchant],deal:k,editorMode:i,hideHawkPrices:c,isDescriptionExpanded:o.has(k.id),isSelected:p.has(k.id),onDescriptionToggle:()=>m(k.id),onOpenVouchers:A,onSelectionChange:se=>{let I=new Map(p);se?I.set(k.id,k):I.delete(k.id),y(I)},website:C})},k.id));return(0,ce.jsx)("div",{className:"tg-df-grid-wrapper",children:(0,ce.jsx)("div",{className:"tg-df-grid article-body tg-df-grid-auto",id:"tg-df-grid",children:s?(0,ce.jsx)(e2,{}):r?(0,ce.jsx)("div",{className:"tg-df-message",children:"Failed to load deals. Please try again."}):a.length===0?(0,ce.jsx)("div",{className:"tg-df-message",children:h?`No ${R?`${R} `:""}deals found from the last 30 days.`:!b||b.length<=2||b.toLowerCase()==="everything"?"No deals found for this author.":`No savings squad match your search for "${b}".`}):(0,ce.jsxs)(ce.Fragment,{children:[w(a.slice(0,M??T)),M!=null&&(0,ce.jsx)("div",{"aria-live":"polite",className:"tg-df-load-more-boundary",style:{alignItems:"center",color:"var(--tg-df-text-muted)",display:"flex",fontSize:"13px",fontWeight:600,gridColumn:"1 / -1",justifyContent:"center",marginTop:"16px",minHeight:"40px",overflowAnchor:"none"},children:"More products"}),M!=null&&w(a.slice(M,T)),u&&(0,ce.jsx)("div",{className:"tg-df-load-more-control",style:{width:"100%",display:"flex",justifyContent:"center",marginTop:"16px",gridColumn:"1 / -1",overflowAnchor:"none"},children:(0,ce.jsx)("button",{type:"button",className:"tg-df-tag-outline",style:{padding:"8px 24px",borderRadius:"100px",fontWeight:600,fontSize:"14px",cursor:"pointer"},"aria-busy":f,disabled:f,onClick:D=>{D.preventDefault(),D.stopPropagation(),v()},children:f?"Loading more products\u2026":"Load More"})}),a.length>0&&(0,ce.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t2(a,T))}})]})})})}var S0=B(O(),1);var pn=B(ft(),1),nn=B(O(),1);function Pu({onScrollLeft:e,onScrollRight:t,showLeft:n,showRight:a}){return(0,nn.jsxs)(nn.Fragment,{children:[(0,nn.jsx)("button",{"aria-label":"Scroll left",className:"tg-df-scroll-btn left tg-df-desktop-only",onClick:e,style:{display:n?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,nn.jsx)("button",{"aria-label":"Scroll right",className:"tg-df-scroll-btn right tg-df-desktop-only",onClick:t,style:{display:a?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})}function qu(e){let t=(0,pn.useRef)(null),[n,a]=(0,pn.useState)(!1),[l,i]=(0,pn.useState)(!1),r=(0,pn.useCallback)(()=>{let u=t.current;u&&(a(u.scrollLeft>1),i(Math.ceil(u.scrollLeft+u.clientWidth)<u.scrollWidth-1))},[]);(0,pn.useLayoutEffect)(()=>{let u=t.current;if(!u)return;r();let c=requestAnimationFrame(r),s=typeof ResizeObserver>"u"?null:new ResizeObserver(r);return s?.observe(u),()=>{cancelAnimationFrame(c),s?.disconnect()}},[e,r]);let o=(0,pn.useCallback)(u=>{t.current?.scrollBy({left:u,behavior:"smooth"})},[]);return{onScroll:r,railRef:t,scrollLeft:()=>o(-240),scrollRight:()=>o(240),showLeft:n,showRight:l}}var jn=B(O(),1);function ui({containerClassName:e,itemClassName:t,items:n,loading:a,loadingKey:l,onItemClick:i,rowClassName:r,showCounters:o}){let u=qu(n.length);return n.length===0&&!a?null:(0,jn.jsxs)("div",{className:e,style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[n.length>0&&(0,jn.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,jn.jsx)("div",{className:r,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none"},onScroll:u.onScroll,children:n.length>0?n.map(c=>(0,jn.jsxs)("button",{className:t,onClick:()=>i(c.key),style:{border:"none",borderRight:"1px solid var(--tg-df-border)",padding:"12px 20px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"1px",cursor:"pointer",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:"6px",...t==="tg-df-brand-row-item"?{transition:"all 0.2s ease"}:{},background:c.selected?"var(--tg-df-bg-secondary)":"var(--tg-df-bg)",color:c.selected?"var(--tg-df-text-primary)":"var(--tg-df-text-muted)",fontWeight:c.selected?600:500},children:[c.label," ",l===c.key&&(0,jn.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading",style:{borderWidth:"2px",height:"12px",width:"12px"}}),o!==!1&&(0,jn.jsx)("span",{style:{color:"var(--tg-df-blue)",fontSize:"10px",...t==="tg-df-brand-row-item"?{fontWeight:400}:{}},children:c.count})]},c.key)):[1,2,3,4,5].map(c=>(0,jn.jsx)("div",{className:"tg-df-skeleton",style:{height:"36px",width:"80px",borderRadius:"18px",flexShrink:0,margin:"8px 12px"}},`${r}-skeleton-${c}`))})]})}var R0=B(O(),1);function C0({airedaleBrands:e,brands:t,loading:n,refreshing:a,onBrandToggle:l,selectedBrands:i,showAuthorCounters:r}){let o=e.length>0?e:t||[],u=o.slice(0,15).map(c=>({count:c.count||0,key:c.formatted_value,label:c.formatted_value,selected:i?.includes(c.formatted_value)||!1}));return(0,R0.jsx)(ui,{containerClassName:"tg-df-brands-row-container",itemClassName:"tg-df-brand-row-item",items:u,loading:n&&o.length===0,loadingKey:a?i?.[0]:null,onItemClick:c=>l?.(c),rowClassName:"tg-df-brands-row",showCounters:r})}var E0=B(O(),1);function T0({activeDealTag:e,airedaleTagCounts:t,airedaleTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>{let c=u.split(":::"),s=c[0];return{count:t[u]||0,key:s,label:c[1]||u,selected:e===s}});return(0,E0.jsx)(ui,{containerClassName:"tg-df-categories-row-container",itemClassName:"tg-df-category-row-item",items:o,loading:a&&n.length===0,loadingKey:l?e:null,onItemClick:i,rowClassName:"tg-df-categories-row",showCounters:r})}var x0=B(O(),1);function D0({activeFreeformTags:e,freeformTagCounts:t,freeformTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>({count:t[u.handle]||0,key:u.handle,label:u.label,selected:e.includes(u.handle)}));return(0,x0.jsx)(ui,{containerClassName:"tg-df-freeform-tags-row-container",itemClassName:"tg-df-freeform-tag-row-item",items:o,loading:a&&n.length===0,loadingKey:l&&e.at(-1)||null,onItemClick:i,rowClassName:"tg-df-freeform-tags-row",showCounters:r})}var _e=B(O(),1),n2=4;function M0({authors:e,clickedAuthorOverride:t,loading:n,refreshing:a,onAuthorClick:l,overriddenAuthorHandle:i,overriddenAuthorName:r,website:o}){let u=qu(e.length);return e.length===0&&!n?null:(0,_e.jsxs)("div",{className:"tg-df-authors-row-container",style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[e.length>0&&(0,_e.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,_e.jsx)("div",{className:"tg-df-authors-row tg-df-mobile-authors",onScroll:u.onScroll,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",gap:"24px",padding:"4px 16px 2px 16px",alignItems:"flex-start"},children:e.length>0?e.map((c,s)=>{let f=Nr[c.brandKey]||Nr[o||"tomsguide"],d=t&&(i===c.handle||r===c.fullName);return(0,_e.jsxs)("div",{className:"tg-df-author-row-item",onClick:()=>l(c),style:{cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px",opacity:t?d?1:.4:1},children:[(0,_e.jsxs)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px",borderRadius:"50%",boxShadow:d?"0 0 0 3px var(--tg-df-blue, #1F69FF)":"none"},children:[(0,_e.jsx)("img",{src:ri(c.image),alt:c.fullName,decoding:"async",loading:s<n2?"eager":"lazy",style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover",filter:t&&!d?"grayscale(100%)":"none"}}),d&&(0,_e.jsx)("span",{"aria-label":`Clear ${c.fullName} selection`,className:"tg-df-author-clear-badge",title:"Click again to clear selection",style:{alignItems:"center",backgroundColor:"#dc2626",border:"2px solid var(--tg-df-bg, #fff)",borderRadius:"50%",boxShadow:"0 1px 3px rgb(0 0 0 / 25%)",color:"#fff",display:"flex",fontSize:"15px",fontWeight:700,height:"20px",justifyContent:"center",lineHeight:1,position:"absolute",right:"-5px",top:"-5px",width:"20px",zIndex:1},children:(0,_e.jsx)("span",{"aria-hidden":"true",style:{display:"block",transform:"translateY(-1px)"},children:"\xD7"})}),f&&(0,_e.jsx)("img",{src:f,alt:"",className:"tg-df-author-brand-logo",decoding:"async",loading:"lazy",style:{position:"absolute",bottom:"-4px",right:"-4px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid var(--tg-df-bg, #fff)",backgroundColor:"#000",objectFit:"contain",filter:t&&!d?"grayscale(100%)":"none"}})]}),(0,_e.jsxs)("div",{style:{textAlign:"center"},children:[(0,_e.jsxs)("div",{className:"tg-df-author-row-name",style:{fontSize:"13px",fontWeight:700,color:"var(--tg-df-text)",lineHeight:"1.2"},children:[c.name,a&&d&&(0,_e.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading author products",style:{borderWidth:"2px",display:"inline-block",height:"11px",marginLeft:"4px",width:"11px"}})]}),c.role&&(0,_e.jsx)("div",{className:"tg-df-author-row-role",style:{fontSize:"11px",color:"var(--tg-df-text-muted)",lineHeight:"1.2",marginTop:"2px",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word"},children:c.role})]})]},c.handle)}):[1,2,3,4].map(c=>(0,_e.jsxs)("div",{className:"tg-df-author-row-item",style:{display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px"},children:[(0,_e.jsx)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px"},children:(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),(0,_e.jsxs)("div",{style:{textAlign:"center",width:"100%"},children:[(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"12px",width:"80%",margin:"0 auto 4px auto",borderRadius:"2px"}}),(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"10px",width:"60%",margin:"0 auto",borderRadius:"2px"}})]})]},`author-skeleton-${c}`))})]})}var Ja=B(O(),1);function _0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,freeformTagCounts:i,freeformTags:r,allAuthorsList:o,brands:u,clickedAuthorOverride:c,loading:s,refreshing:f,onAuthorClick:d,onBrandToggle:m,onTagClick:v,onFreeformTagClick:A,overriddenAuthorHandle:b,overriddenAuthorName:h,selectedBrands:g,showAuthorRail:p,showAuthorCounters:y,showBrandRail:C,showCategoryRail:R,showFreeformTagRail:T,website:M}){let w=R!==!1&&l.length>0||T!==!1&&r.length>0||C!==!1&&(n.length>0||!!u?.length)||p&&o.length>0;return!(p||R!==!1||T!==!1||C!==!1)||!w&&!s?null:(0,Ja.jsxs)("div",{id:"tg-df-spreadsheet-filters",style:{display:"block",marginBottom:"16px"},children:[p&&(0,Ja.jsx)(M0,{authors:o,clickedAuthorOverride:c,loading:s&&o.length===0,refreshing:f,onAuthorClick:d,overriddenAuthorHandle:b,overriddenAuthorName:h,website:M}),R!==!1&&(0,Ja.jsx)(T0,{activeDealTag:e,airedaleTagCounts:a,airedaleTags:l,loading:s,refreshing:f,onTagClick:v,showAuthorCounters:y}),T!==!1&&(0,Ja.jsx)(D0,{activeFreeformTags:t,freeformTagCounts:i,freeformTags:r,loading:s,refreshing:f,onTagClick:A,showAuthorCounters:y}),C!==!1&&(0,Ja.jsx)(C0,{airedaleBrands:n,brands:u,loading:s,refreshing:f,onBrandToggle:m,selectedBrands:g,showAuthorCounters:y})]})}var O0=B(ft(),1);var B0=[{value:"date_desc",label:"Most recent"},{value:"rating_desc",label:"Highest rating"},{value:"scored_first",label:"Scored products first"}];function Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}){return!!(a&&e!==!0&&t===!1&&n===!1)}function Fu({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a,lightweightReviewDelivery:l,showPriceDiscountFilters:i,showReviewSort:r}){return!!(l&&i===!1&&r===!1&&Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}))}function ju(e=!0){return e?B0:B0.filter(t=>t.value!=="scored_first")}function wa(e,t=!0){return!t&&e==="scored_first"?"date_desc":e||"date_desc"}var H=B(O(),1),N0=[{value:"all",label:"All Prices",shortLabel:""},{value:"under50",label:"Under $50",shortLabel:"< $50"},{value:"50_100",label:"$50 - $100",shortLabel:"$50-$100"},{value:"100_200",label:"$100 - $200",shortLabel:"$100-$200"},{value:"200_500",label:"$200 - $500",shortLabel:"$200-$500"},{value:"over500",label:"Over $500",shortLabel:"> $500"}],a2=[{value:"0",label:"Any discount"},...[5,10,15,20,25,30,40,50,60,70].map(e=>({value:String(e),label:`Min ${e}% off`}))];function l2({open:e}){return(0,H.jsx)("svg",{"aria-hidden":"true",className:e?"is-open":void 0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("path",{d:"m6 9 6 6 6-6"})})}function Yn(){return(0,H.jsx)("svg",{"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function k0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,brands:i,discountAmount:r,enabled:o,freeformTagCounts:u,freeformTags:c,includeScoredFirst:s,onBrandSelect:f,onBrandToggle:d,onDiscountAmountChange:m,onFreeformTagClear:v,onFreeformTagToggle:A,onPriceRangeChange:b,onReviewSortChange:h,onTagClear:g,onTagClick:p,priceRange:y,reviewSort:C,selectedBrands:R,showCounters:T,showBrandRail:M,showCategoryRail:w,showFreeformTagRail:D,showPriceDiscountFilters:k,showReviewSort:se}){let[I,j]=(0,O0.useState)(null);if(!o)return null;let He=l.map(x=>{let P=x.split(":::");return{count:a[x]||0,handle:P[0],label:P[1]||x}}),ze=n.length>0?n:i||[],St=He.find(x=>x.handle===e),Ie=y||"all",rn=!r||r==="all"?"0":r,Be=N0.find(x=>x.value===Ie),Je=k!==!1,nt=wa(C,s),X=ju(s),de=nt==="rating_desc"?"Highest rating":nt==="scored_first"?"Scored first":"Most recent",$e=x=>{j(P=>P===x?null:x)},Z=[];return w!==!1&&Z.push({active:!!e,label:`CATEGORIES${St?` (${St.label})`:""}`,menu:"categories"}),D!==!1&&Z.push({active:t.length>0,label:`KEYWORDS${t.length>0?` (${t.length})`:""}`,menu:"keywords"}),M!==!1&&Z.push({active:R.length>0,label:`BRANDS${R.length>0?` (${R.length})`:""}`,menu:"brands"}),Je&&Z.push({active:Ie!=="all",label:`PRICES${Be?.shortLabel?` (${Be.shortLabel})`:""}`,menu:"prices"}),(Je||se)&&Z.push({active:se?nt!=="date_desc":rn!=="0",label:se?`SORT REVIEWS (${de})`:`DISCOUNTS${rn!=="0"?` (${rn}%+)`:""}`,menu:se?"review-sort":"discounts"}),(0,H.jsxs)("div",{className:"tg-df-mobile-2x2-container",children:[(0,H.jsx)("div",{className:`tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--${Z.length%2===0?"even":"odd"}`,children:Z.map(x=>(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-grid-cell${x.active?" has-active-filter":""}${I===x.menu?" active":""}`,"aria-expanded":I===x.menu,onClick:()=>$e(x.menu),children:[(0,H.jsx)("span",{children:x.label}),(0,H.jsx)(l2,{open:I===x.menu})]},x.menu))}),w!==!1&&I==="categories"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${e?"":" selected"}`,onClick:()=>{g(),j(null)},children:[(0,H.jsx)("span",{children:"All Categories"}),!e&&(0,H.jsx)(Yn,{})]}),He.map(x=>{let P=e===x.handle;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{p(x.handle),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},x.handle)})]}),M!==!1&&I==="brands"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${R.length===0?" selected":""}`,onClick:()=>f?.([]),children:[(0,H.jsx)("span",{children:"All Brands"}),R.length===0&&(0,H.jsx)(Yn,{})]}),ze.map(x=>{let P=x.formatted_value,Q=R.includes(P);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${Q?" selected":""}`,onClick:()=>d?.(P),children:[(0,H.jsx)("span",{children:P}),Q?(0,H.jsx)(Yn,{}):T!==!1&&x.count?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},P)})]}),D!==!1&&I==="keywords"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${t.length===0?" selected":""}`,onClick:()=>{v(),j(null)},children:[(0,H.jsx)("span",{children:"All Keywords"}),t.length===0&&(0,H.jsx)(Yn,{})]}),c.map(x=>{let P=t.includes(x.handle);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>A(x.handle),children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1&&u[x.handle]?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:u[x.handle]}):null]},x.handle)})]}),I==="prices"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:N0.map(x=>{let P=Ie===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{b?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="discounts"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:a2.map(x=>{let P=rn===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{m?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="review-sort"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:X.map(x=>{let P=nt===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{h?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})})]})}var $a=B(ft(),1);var W=B(O(),1);function L0({airedaleBrands:e,airedaleTags:t,discountAmount:n,hidden:a,includeScoredFirst:l,onDiscountAmountChange:i,onPriceRangeChange:r,onReviewSortChange:o,priceRange:u,reviewSort:c,showReviewSort:s,showPriceDiscountFilters:f}){let d=(0,$a.useRef)(null),[m,v]=(0,$a.useState)(!1),[A,b]=(0,$a.useState)(!1),h=ju(l),g=wa(c,l),p=()=>{if(!d.current)return;let{scrollLeft:y,scrollWidth:C,clientWidth:R}=d.current;v(y>0),b(Math.ceil(y+R)<C-5)};return(0,$a.useEffect)(()=>(p(),window.addEventListener("resize",p),setTimeout(p,100),setTimeout(()=>{document.querySelector(".tg-df-categories-row")?.dispatchEvent(new Event("scroll")),document.querySelector(".tg-df-brands-row")?.dispatchEvent(new Event("scroll"))},150),()=>window.removeEventListener("resize",p)),[t,e]),(0,W.jsx)("div",{className:"tg-df-controls",id:"tg-df-controls",style:{display:a?"none":"flex",marginTop:"12px",marginBottom:"16px",justifyContent:"center"},children:(0,W.jsxs)("div",{className:"tg-df-filters-container",style:{position:"relative",width:"100%",maxWidth:"800px",margin:"0 auto"},children:[(0,W.jsx)("button",{className:"tg-df-scroll-btn left",style:{display:m?"flex":"none"},onClick:()=>d.current?.scrollBy({left:-200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,W.jsx)("button",{className:"tg-df-scroll-btn right",style:{display:A?"flex":"none"},onClick:()=>d.current?.scrollBy({left:200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M9 18l6-6-6-6"})})}),(0,W.jsxs)("div",{className:"tg-df-filters",ref:d,onScroll:p,children:[(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-legacy-price-wrapper",style:{display:f!==!1?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-price-filter","aria-label":"Filter Prices",value:u||"all",onChange:y=>r?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"All Prices"}),(0,W.jsx)("option",{value:"under50",children:"Under $50"}),(0,W.jsx)("option",{value:"50_100",children:"$50 - $100"}),(0,W.jsx)("option",{value:"100_200",children:"$100 - $200"}),(0,W.jsx)("option",{value:"200_500",children:"$200 - $500"}),(0,W.jsx)("option",{value:"over500",children:"Over $500"})]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-discount-filter-wrapper",style:{display:f!==!1&&!s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,W.jsx)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-discount-filter","aria-label":"Discount Amount",value:n||"all",onChange:y=>i?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"Any discount"}),[5,10,15,20,25,30,40,50,60,70].map(y=>(0,W.jsxs)("option",{value:y,children:["Min ",y,"%"]},y))]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-review-sort-wrapper",style:{display:s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M4 7h16M7 12h10m-7 5h4"})}),(0,W.jsx)("select",{className:"tg-df-filter-select",id:"tg-df-review-sort","aria-label":"Sort Reviews",value:g,onChange:y=>o?.(y.target.value),children:h.map(y=>(0,W.jsx)("option",{value:y.value,children:y.label},y.value))})]})]})]})})}var be=B(ft(),1);function kr(e,t){return e.filter(n=>{let a=n.handle.toLowerCase(),l=n.fullName.toLowerCase(),i=n.name.toLowerCase();return t.some(r=>{let o=r.articleauthorhandle||[],u=r.articleauthor||[],c=r.articleauthortext||[];return[...o,...u,...c].some(s=>{let f=String(s||"").toLowerCase();return f===a||f===l||f===i})})})}function Yu(e,t){return e.map((n,a)=>({index:a,profile:n,productCount:t[n.handle]||0})).sort((n,a)=>a.productCount-n.productCount||n.index-a.index).map(({profile:n})=>n)}function Vu(e,t){return e==="all-authors"||t==="all-authors"||t==="All authors"||!e&&!t}function Xu(e,t,n){let a=e;if((t||n)&&t!=="all-authors"&&n!=="all-authors"&&n!=="All authors"){if(t){let l=t.toLowerCase(),i=e.filter(r=>r.articleauthorhandle&&r.articleauthorhandle.some(o=>o.toLowerCase()===l));if(i.length>0)a=i;else if(n){let r=n.toLowerCase(),o=e.filter(u=>u.articleauthor&&u.articleauthor.some(c=>c.toLowerCase()===r));o.length>0&&(a=o)}}else if(n){let l=n.toLowerCase();a=e.filter(i=>i.articleauthor&&i.articleauthor.some(r=>r.toLowerCase()===l))}}return a}function sf(e,t,n){let a=0;if(t&&e.articleauthorhandle){let l=e.articleauthorhandle.findIndex(i=>i.toLowerCase()===t.toLowerCase());l>=0&&(a=l)}else if(n&&e.articleauthor){let l=e.articleauthor.findIndex(i=>i.toLowerCase()===n.toLowerCase());l>=0&&(a=l)}return a}function Qu(e,t,n){let a=sf(e,t,n),l=i=>typeof i=="string"?ee(i):i||"";return{authorName:e.articleauthortext?l(e.articleauthortext[a]):e.articleauthor?l(e.articleauthor[a]):"",authorRole:e.articleauthorrole?l(e.articleauthorrole[a]):"",authorImage:e.articleauthormedia?e.articleauthormedia[a]:""}}function Lr(e,t){let n=new Map;return e.forEach(a=>{if(!a.articleauthor)return;let l=t;if(a.documenturl)try{let f=new URL(a.documenturl).hostname.replace("www.","").split(".");f.length>0&&(l=f[0].toLowerCase())}catch{}let i=a.articleauthorhandle||[],r=a.articleauthor||[],o=a.articleauthortext||[],u=a.articleauthorrole||[],c=a.articleauthormedia||[];r.forEach((s,f)=>{if(!s||s==="null"||s.toLowerCase()==="all authors")return;let d=i[f]&&i[f]!=="null"?i[f]:s.toLowerCase().replace(/\s+/g,"-");if(!d||d==="null")return;let m=o[f]&&o[f]!=="null"?o[f]:s,v=u[f]&&u[f]!=="null"?u[f]:"",A=ee(String(m)),b=ee(String(v)),h=c[f]&&c[f]!=="null"?c[f]:"",g=A.split(" ")[0],p=_r(a,f,"short"),y=_r(a,f,"long"),C=Uu(a,f),R=n.get(d);!R&&A&&h?n.set(d,{...y?{bioLong:y}:{},...p?{bioShort:p}:{},name:g,fullName:A,handle:d,role:b,image:h,brandKey:l,...C.length>0?{socialNetworks:C}:{}}):R&&(!R.bioShort&&p&&(R.bioShort=p),!R.bioLong&&y&&(R.bioLong=y),!R.socialNetworks?.length&&C.length>0&&(R.socialNetworks=C))})}),Array.from(n.values())}var E=B(O(),1);function z0(e){let t=(0,be.useRef)(""),n=(0,be.useRef)(null),a=(0,be.useCallback)(()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null)},[]),l=(0,be.useCallback)(r=>{a(),t.current=r},[a]),i=(0,be.useCallback)((r,o,u=!1)=>{if(!e)return;if(r===t.current){a();return}let c=()=>{n.current=null,t.current=r,e(o)};a(),u?c():n.current=window.setTimeout(c,350)},[a,e]);return(0,be.useEffect)(()=>a,[a]),{save:i,synchronise:l}}function H0({contentKey:e,defaultText:t,kind:n,onChange:a,value:l}){let i=(0,be.useRef)(null),r=(0,be.useRef)(e),[o,u]=(0,be.useState)(!1),c=l??t,s=!!a,{save:f,synchronise:d}=z0(a);(0,be.useLayoutEffect)(()=>{let g=r.current!==e;i.current&&(g||document.activeElement!==i.current)&&(i.current.innerHTML!==c&&(i.current.innerHTML=c),d(c)),r.current=e},[e,d,c]);let m=(g=!1)=>{if(!i.current)return;let p=i.current.innerHTML;f(p,p===t?void 0:p,g)},v=(g,p)=>{document.execCommand(g,!1,p),m(!0)},A=n==="kicker"?{fontSize:"0.875rem",color:"#6B7280",fontStyle:"normal",margin:"0 0 0.25rem 0"}:{fontSize:"2.25rem",fontWeight:300,color:"#111827",margin:"0 0 0.25rem 0",lineHeight:1.1,letterSpacing:"-0.02em"},b=n==="kicker"?"tg-df-author-curated-by tg-df-author-kicker":"tg-df-author-name",h=()=>n==="kicker"?(0,E.jsx)("p",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}}):(0,E.jsx)("h2",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}});return s?(0,E.jsxs)("div",{className:"tg-df-author-header-text-shell",style:{position:"relative"},children:[o&&(0,E.jsxs)("div",{className:"tg-df-author-header-text-toolbar",role:"toolbar","aria-label":`${n==="kicker"?"Shop by text":"Site or author name"} formatting`,style:{display:"flex",justifyContent:"center",alignItems:"center",gap:"0.25rem",margin:"0 auto 0.375rem",width:"fit-content",padding:"0.25rem 0.5rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",fontSize:"11px",zIndex:10},children:[(0,E.jsx)("span",{style:{color:"#64748b",padding:"2px 2px 2px 0"},children:"Editing"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("bold"),title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("italic"),title:"Italic",children:(0,E.jsx)("em",{children:"I"})}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{let g=prompt("Enter URL:");g&&v("createLink",g)},title:"Add link",children:"\u{1F517}"}),l!==void 0&&(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{i.current&&(i.current.innerHTML=t),d(t),a?.(void 0)},title:"Restore default",children:"Reset"})]}),h()]}):h()}function i2({contentKey:e,initialBio:t,defaultPlaceholder:n,onBioChange:a,stabilizeHeight:l=!1}){let r=(0,be.useRef)(null),o=(0,be.useRef)(e),u=(0,be.useRef)(n),c=(0,be.useRef)(!1),[s,f]=(0,be.useState)(!1),[d,m]=(0,be.useState)(!1),[v,A]=(0,be.useState)(!1),b=t||n,h=l&&b.replace(/<[^>]*>/g,"").trim().length>240,g=!!a,{save:p,synchronise:y}=z0(a);(0,be.useLayoutEffect)(()=>{let w=o.current!==e,D=u.current!==n;w&&(c.current=!1);let k=!t&&D&&!c.current;r.current&&(w||document.activeElement!==r.current||k)&&(r.current.innerHTML!==b&&(r.current.innerHTML=b),y(b)),o.current=e,u.current=n},[b,e,n,t,y]),(0,be.useLayoutEffect)(()=>{m(!1)},[e]),(0,be.useLayoutEffect)(()=>{if(!h||!r.current){A(!1);return}let w=r.current,D=()=>{A(w.scrollHeight>w.clientHeight+1)};if(D(),typeof ResizeObserver>"u")return;let k=new ResizeObserver(D);return k.observe(w),()=>k.disconnect()},[b,e,d,h]);let C=(w,D=null)=>{if(c.current=!0,document.execCommand(w,!1,D||void 0),r.current){let k=r.current.innerHTML;p(k,k===n?"":k,!0)}},R=(w=!1)=>{if(!r.current)return;let D=r.current.innerHTML;p(D,D===n?"":D,w)};return(0,E.jsxs)("div",{style:{position:"relative",maxWidth:"42rem",margin:"0 auto 0.5rem auto",padding:"0.25rem 0.5rem"},className:`tg-df-author-bio-shell${l?" tg-df-author-bio-shell--stable":""}`,children:[g&&s&&(0,E.jsxs)("div",{role:"toolbar","aria-label":"Introduction text formatting",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"0.375rem",marginBottom:"0.5rem",padding:"0.25rem 0.625rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",width:"fit-content",margin:"0 auto 0.5rem auto",fontSize:"12px",userSelect:"none",zIndex:10},children:[(0,E.jsx)("span",{style:{fontSize:"11px",color:"#64748b",fontWeight:500,marginRight:"2px"},children:"Editing \u2014 saves when you click away"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("bold"),style:{fontWeight:"bold",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("italic"),style:{fontStyle:"italic",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Italic",children:"I"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>{let w=prompt("Enter URL:");w&&C("createLink",w)},style:{padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Add Link",children:"\u{1F517}"}),t&&(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:w=>{w.preventDefault(),w.stopPropagation(),r.current&&(r.current.innerHTML=n),c.current=!1,y(n),a&&a("")},style:{fontSize:"10px",padding:"2px 8px",borderRadius:"4px",background:"#fee2e2",color:"#991b1b",cursor:"pointer",border:"1px solid #fca5a5"},title:"Reset Bio",children:"Reset"})]}),(0,E.jsx)("div",{ref:r,contentEditable:g?!0:void 0,suppressContentEditableWarning:g,onFocus:g?()=>{f(!0)}:void 0,onBlur:g?()=>{f(!1),R(!0),c.current=!1}:void 0,onInput:g?()=>{c.current=!0}:void 0,className:`tg-df-author-bio ${g?"wysiwyg-bio-editable":"tg-df-author-bio--static"}${h?d?" tg-df-author-bio--expanded":" tg-df-author-bio--clamped":""}`,style:{color:"#4b5563",lineHeight:1.6,fontWeight:300,fontSize:"0.9375rem",textAlign:"center",outline:g&&s?"2px solid #3b82f6":"none",borderRadius:"6px",padding:"0.375rem 0.5rem",cursor:g?"text":"default",transition:"all 0.15s ease-in-out"}}),h?(0,E.jsx)("div",{className:"tg-df-author-bio-toggle-slot",children:(0,E.jsx)("button",{type:"button",className:"tg-df-author-bio-toggle","aria-expanded":d,onClick:()=>m(w=>!w),style:{visibility:v||d?"visible":"hidden"},children:d?"Show less":"Read more"})}):null]})}function r2(e){let t=(e||"").toLowerCase();return t==="linkedin"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"})}):t==="twitter"||t==="x"?(0,E.jsx)("svg",{className:"icon-svg",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,E.jsx)("path",{fill:"currentColor",d:"M18 2h4l-8 9 9 11h-7l-5-7-6 7H2l7-9L1 2h7l5 6zm-1 18h2L7 4H5z"})}):t==="email"||t==="mail"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),(0,E.jsx)("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}):t==="instagram"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"5",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"12",cy:"12",r:"4.25",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"17.4",cy:"6.7",r:"1.25",fill:"currentColor"})]}):t==="steam"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("circle",{fill:"#0f1618",cx:"12",cy:"12",r:"12"}),(0,E.jsx)("path",{d:"m18.22 8.9a2.269 2.269 0 1 1 -2.27-2.265 2.267 2.267 0 0 1 2.27 2.265zm2.258.005a4.534 4.534 0 0 1 -4.533 4.526h-.1l-4.087 2.911v.161a3.4 3.4 0 0 1 -6.74.669l-4.549-1.879c-.032-.109-.057-.219-.085-.329a11.973 11.973 0 0 1 -.384-2.964c0-.214.02-.423.032-.635 0-.1.008-.206.016-.308l6.394 2.643a3.385 3.385 0 0 1 1.915-.591c.065 0 .127 0 .191.005l2.865-4.145v-.062a4.533 4.533 0 0 1 9.066 0zm-9.763 6.618a2.55 2.55 0 0 0 -3.262-1.411l1.525.63a1.877 1.877 0 1 1 -1.446 3.464l-1.475-.606a2.529 2.529 0 0 0 1.315 1.25 2.559 2.559 0 0 0 3.339-1.374 2.526 2.526 0 0 0 .004-1.951zm8.251-6.618a3.021 3.021 0 1 0 -3.021 3.015 3.022 3.022 0 0 0 3.021-3.013z",fill:"#fff"})]}):t==="youtube"?(0,E.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})}):t==="twitch"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"m24 12a12 12 0 1 1 -12-12 12 12 0 0 1 12 12z",fill:"#111"}),(0,E.jsx)("path",{d:"m12.308 17.167-1.833 1.833h-1.818v-1.833h-3.357v-9.733l.925-2.434h12.475v8.517l-3.648 3.65zm5.175-10.95h-10.043v8.824h2.743v1.833l1.817-1.833h3.342l2.14-2.126zm-5.483 6.083v-3.65h-1.218v3.65zm3.342 0v-3.65h-1.216v3.65z",fill:"#fff"})]}):t==="facebook"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m13.079 19h-2.9v-7h-1.441v-2.408h1.442v-1.456c0-1.96.813-3.136 3.136-3.136h1.933v2.408h-1.2c-.91 0-.965.35-.965.966v1.218h2.183l-.257 2.408h-1.931z",fill:"currentColor"})}):t==="pinterest"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.336 5c-3.822 0-5.754 2.744-5.754 5.025a3.065 3.065 0 0 0 1.652 3.066.279.279 0 0 0 .407-.2l.154-.644a.373.373 0 0 0-.113-.448 2.341 2.341 0 0 1-.532-1.582 3.812 3.812 0 0 1 3.961-3.849 3.009 3.009 0 0 1 3.346 3.08c0 2.323-1.022 4.283-2.547 4.283a1.253 1.253 0 0 1-1.273-1.554 17.616 17.616 0 0 0 .713-2.856 1.081 1.081 0 0 0-1.092-1.2c-.854 0-1.553.881-1.553 2.071a2.954 2.954 0 0 0 .266 1.274l-1.038 4.383a9.389 9.389 0 0 0-.027 3.065.109.109 0 0 0 .2.042 8.737 8.737 0 0 0 1.457-2.631l.561-2.212a2.3 2.3 0 0 0 1.959 1.008c2.59 0 4.34-2.366 4.34-5.516a4.8 4.8 0 0 0-5.087-4.605z",fill:"currentColor"})}):t==="substack"?(0,E.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z"})}):t==="threads"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12.186 24h-.007c-3.582-.024-6.332-1.22-8.173-3.555C2.26 18.212 1.5 15.228 1.5 11.83 1.5 8.16 2.673 5.097 4.902 2.935 7.026.877 10.02 0 13.565 0c3.784 0 6.81 1.028 8.995 3.056 2.008 1.862 3.013 4.417 2.91 7.391-.122 3.518-1.57 6.136-4.304 7.781-1.892 1.138-4.103 1.62-6.57 1.433-.122.392-.266.769-.434 1.127-.514 1.096-1.18 1.96-1.982 2.569-.884.67-1.933 1.01-3.118 1.01-1.34 0-2.42-.42-3.21-1.248-.78-.82-1.17-1.89-1.17-3.18 0-1.512.52-2.73 1.545-3.62 1.018-.883 2.45-1.33 4.258-1.33.56 0 1.11.04 1.63.12-.04-.53-.13-1.02-.27-1.46-.26-.81-.71-1.45-1.34-1.92-.62-.47-1.42-.71-2.38-.71-1.09 0-2.02.29-2.77.87-.29.22-.68.17-.9-.12l-.76-1.03c-.22-.3-.16-.71.13-.93C7.43 5.37 8.95 4.9 10.8 4.9c1.64 0 2.99.41 4.02 1.22 1.04.81 1.73 1.93 2.06 3.33.15.65.25 1.42.3 2.31 1.68-.31 3.05-1.05 4.08-2.2 1.01-1.13 1.52-2.58 1.52-4.31 0-2.43-.84-4.32-2.5-5.62C18.63 1.32 16.32.5 13.56.5c-3.03 0-5.54.73-7.27 2.21C4.48 4.27 3.5 6.78 3.5 10c0 3.1.66 5.62 1.96 7.49 1.34 1.93 3.38 2.92 6.07 2.95 1.76.02 3.32-.34 4.64-1.07.28-.15.63-.05.78.22l.55.98c.15.28.05.63-.22.78-1.63.9-3.55 1.35-5.7 1.35z"})}):t==="tiktok"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.308 5.012c.763-.012 1.522 0 2.281-.012a3.636 3.636 0 0 0 1.02 2.434 4.12 4.12 0 0 0 2.473 1.043v2.349a6.177 6.177 0 0 1-2.449-.564 7.207 7.207 0 0 1-.947-.543c0 1.705.008 3.406-.01 5.105a4.442 4.442 0 0 1-.789 2.3 4.343 4.343 0 0 1-3.448 1.872 4.254 4.254 0 0 1-2.379-.6 4.393 4.393 0 0 1-2.127-3.331c-.014-.292-.019-.584-.007-.868a4.395 4.395 0 0 1 5.091-3.9c.013.864-.021 1.727-.021 2.591a2.007 2.007 0 0 0-2.558 1.237 2.316 2.316 0 0 0-.079.939 1.992 1.992 0 0 0 3.658.736 1.39 1.39 0 0 0 .239-.62c.057-1.043.034-2.082.041-3.126.006-2.351-.007-4.7.011-7.041z",fill:"currentColor"})}):t==="bluesky"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.879.139 2.588-.02 3.868.002 5.03c.08 4.201 1.84 10.024 3.931 12.397 2.091 2.373 4.545 1.573 5.467.927.817-.573 1.564-1.611 2.6-2.92 1.036 1.309 1.783 2.347 2.6 2.92.922.646 3.376 1.446 5.467-.927 2.091-2.373 3.851-8.196 3.931-12.397.022-1.162-.137-2.442-.9-3.151-.659-.613-1.664-.935-4.3-1.074C16.046 4.747 13.087 8.686 12 10.8z"})}):t==="github"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})}):t==="rss"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M4 11a9 9 0 0 1 9 9"}),(0,E.jsx)("path",{d:"M4 4a16 16 0 0 1 16 16"}),(0,E.jsx)("circle",{cx:"5",cy:"19",r:"1"})]}):(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,E.jsx)("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),(0,E.jsx)("path",{d:"M2 12h20"})]})}function U0({authorCount:e=0,authorArticlesList:t,authorBioLength:n,customBio:a,customHeaderKicker:l,customHeaderTitle:i,effectiveAuthorHandle:r,effectiveAuthorName:o,isReviewWidget:u=!1,onBioChange:c,onHeaderKickerChange:s,onHeaderTitleChange:f,selectedProfile:d,showAuthorBio:m=!0,showAuthorIdentity:v=!0,showSocialButtons:A=!0,stabilizeBio:b=!1,totalDealCount:h=0,website:g}){let p=Vu(r,o),y=g||"tomsguide",C=Gu[y]||y,R=Nr[y],T=r?.toLowerCase(),M=o?.toLowerCase(),w=t.find(Be=>T&&Be.articleauthorhandle?.some(Je=>Je?.toLowerCase()===T)||M&&Be.articleauthor?.some(Je=>Je?.toLowerCase()===M))||null,D=w?sf(w,r,o):0,k=d?.image||(w?c0(w,D):""),se=d?n==="short"?d.bioShort||"":d.bioLong||d.bioShort||"":w?_r(w,D,n):"",I=p?`Our team is dedicated to researching, reviewing and recommending the latest and best products in all the categories that matter to you. Below you can shop the latest ${h} ${u?"review ":""}recommendations from ${e} ${C} ${u?"editor tests":"editors"}.`:se||`Handpicked deals and recommendations curated by ${o||"our expert editorial team"}.`,j=d?.role||"",He=p?y0[y]||[]:d?.socialNetworks||[];!p&&w&&(j||(j=u0(w,D)),He.length===0&&(He=Uu(w,D)));let ze=d?.fullName||o||"Author Name",St=p?`site:${y}`:`author:${d?.handle||r||ze}`,Ie=A&&He.length>0,rn=!p&&!!j||Ie;return(0,E.jsxs)("div",{className:"tg-df-author-card",style:{textAlign:"center",padding:"1.75rem 1rem 0.25rem 1rem",margin:"0 auto",maxWidth:"48rem"},children:[v&&(p?(0,E.jsx)("div",{className:"tg-df-author-media-slot tg-df-author-image-container",style:{margin:"0 auto 0.75rem auto",textAlign:"center",minHeight:"180px",display:"flex",alignItems:"center",justifyContent:"center"},children:R?(0,E.jsx)("img",{src:R,alt:C,className:"tg-df-site-logo",style:{maxHeight:"150px",maxWidth:"520px",objectFit:"contain",margin:"0 auto",display:"block"}}):(0,E.jsx)("div",{style:{fontSize:"1.75rem",fontWeight:700,color:"#111827"},children:C})}):(0,E.jsx)("div",{className:"tg-df-author-media-slot",children:(0,E.jsxs)("div",{className:"tg-df-author-profile-image-wrapper",children:[k?(0,E.jsx)("img",{src:ri(k),alt:ze,className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",objectFit:"cover",display:"block"}}):(0,E.jsx)("div",{className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",background:"#e2e8f0",display:"block"}}),R?(0,E.jsx)("img",{src:R,alt:"",className:"tg-df-author-profile-brand-logo"}):null]})})),v&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(H0,{contentKey:`${St}:kicker`,defaultText:u?"Reviews shop by":"Shop by",kind:"kicker",onChange:s,value:l}),(0,E.jsx)(H0,{contentKey:`${St}:title`,defaultText:p?C:ze,kind:"title",onChange:f,value:i}),rn&&(0,E.jsxs)("div",{className:`tg-df-author-meta-slot${p?" tg-df-author-meta-slot--site":""}${Ie?"":" tg-df-author-meta-slot--no-social"}`,children:[!p&&j?(0,E.jsx)("div",{className:"tg-df-author-role",id:"tg-df-author-role-display",style:{fontSize:"0.9375rem",fontWeight:500,color:"var(--tg-df-blue, #1F69FF)",margin:"0 0 0.5rem 0",lineHeight:1.3},children:j}):null,Ie?(0,E.jsx)("div",{className:"tg-df-author-social-links",children:He.map(Be=>(0,E.jsx)("a",{href:Be.href,target:"_blank",rel:"noopener noreferrer",title:Be.label,"aria-label":Be.label,className:"tg-df-author-social-btn","data-social-key":Be.key.toLowerCase(),children:r2(Be.key)},Be.key))}):null]})]}),m&&(0,E.jsx)(i2,{contentKey:St,initialBio:a,defaultPlaceholder:I,onBioChange:c,stabilizeHeight:b})]})}var te=B(O(),1);function df(e){if(!e||typeof e!="object")return"";if(e.type==="voucher_code"&&e.display_value)return e.display_value;let t=Array.isArray(e)?e:Object.keys(e).filter(n=>Object.prototype.hasOwnProperty.call(e,n)).map(n=>e[n]);for(let n of t){let a=df(n);if(a)return a}return""}function o2({endTime:e}){if(!e)return null;let t=e;!isNaN(Number(t))&&String(t).length===10&&(t=Number(t)*1e3);let n=new Date(t),a=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"});return(0,te.jsxs)("span",{className:"tg-df-voucher-expiry",children:[(0,te.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginRight:"4px"},children:[(0,te.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,te.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"Expires ",a.format(n)]})}function G0({error:e,loading:t,merchant:n,onClose:a,vouchers:l}){return(0,te.jsx)("div",{className:`tg-df-modal-backdrop ${n?"active":""}`,onClick:i=>{i.target===i.currentTarget&&a()},children:(0,te.jsxs)("div",{className:"tg-df-modal",children:[(0,te.jsxs)("div",{className:"tg-df-modal-header",children:[(0,te.jsx)("h3",{className:"tg-df-modal-title",children:n?`${n} Coupons & Deals`:"Available Coupons & Deals"}),(0,te.jsx)("button",{className:"tg-df-modal-close",onClick:a,children:(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,te.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,te.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),(0,te.jsx)("div",{className:"tg-df-modal-body",children:t?(0,te.jsx)("div",{className:"tg-df-message",children:(0,te.jsx)("div",{className:"tg-df-coupon-spinner",style:{width:"24px",height:"24px",borderColor:"#ccc",borderTopColor:"#3b82f6"}})}):e?(0,te.jsx)("div",{className:"tg-df-message",children:"Failed to load vouchers."}):l.length===0?(0,te.jsxs)("div",{className:"tg-df-message",children:["No active vouchers found for ",n,"."]}):l.map((i,r)=>{let o=i.offer?.name||i.offer?.title||i.name||i.title||i.model_name||"Voucher",u=i.offer?.link||i.offer?.url||i.link||i.url||"#",c=i.merchant,s=Array.isArray(c)?c[0]?.logo_url||"":c?.logo_url||"",f=df(i.offer)||df(i)||i.offer?.voucher_code||i.voucher_code||"",d=i.offer?.end_time||i.end_time||"";return(0,te.jsxs)("a",{href:u,target:"_blank",rel:"noopener nofollow",className:"tg-df-voucher-item",children:[s?(0,te.jsx)("img",{src:s,alt:"Logo",className:"tg-df-voucher-logo"}):(0,te.jsx)("div",{className:"tg-df-voucher-logo",style:{background:"#e2e8f0"}}),(0,te.jsxs)("div",{className:"tg-df-voucher-content",children:[(0,te.jsx)("h4",{className:"tg-df-voucher-title",children:o}),(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginTop:"8px"},children:[f&&(0,te.jsxs)("span",{className:"tg-df-voucher-code",title:"Copy to clipboard",onClick:m=>{m.preventDefault(),m.stopPropagation();let v=m.currentTarget;navigator.clipboard.writeText(f).then(()=>{v.classList.add("copied");let A=v.querySelector(".tg-df-voucher-code-text"),b=v.querySelector(".tg-df-voucher-copy-icon"),h=A.innerText,g=b.innerHTML;A.innerText="Copied!",b.innerHTML='<polyline points="20 6 9 17 4 12"><\/polyline>',setTimeout(()=>{v.classList.remove("copied"),A&&(A.innerText=h),b&&(b.innerHTML=g)},2e3)})},children:[(0,te.jsx)("span",{className:"tg-df-voucher-code-text",children:f}),(0,te.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:"6px",flexShrink:0},className:"tg-df-voucher-copy-icon",children:[(0,te.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,te.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})]}),d&&(0,te.jsx)(o2,{endTime:d})]})]})]},r)})})]})})}var N=B(ft(),1);function ci(e){if(!e||!e.articlepage)return[];try{let t=e.articlepage;if(!Array.isArray(t))return typeof t=="string"?JSON.parse(t):t;if(t.length===0)return[];let n=t[0];return typeof n=="string"?JSON.parse(n):Array.isArray(n)?n:n&&typeof n=="object"&&"type"in n?t:n}catch{return[]}}function si(e,t=!1,{includeCollections:n=!0,includeDeals:a=!0}={}){let l=t?e.filter(r=>r.type==="buying-guide"):[];if(l.length>0)return l;let i=e.filter(r=>r.type==="deal"||r.type==="featured-product");return a&&!n&&!t?i.filter(r=>r.type==="deal"):i}function di(e,t){if(!t||t.length===0)return!0;let n=e&&(e.brand||e.retailer)||"";if(!n)return!1;let a=n.replace(/^\d+\.\s*/,"").trim().toLowerCase();return t.some(l=>{let i=l.trim().toLowerCase();return a===i||a.startsWith(`${i} `)||a.includes(i)||i.includes(a)})}function wt(e){return!e||e==="auto"?"US":e}function an(e){return e==="GB"||e==="UK"?"GBP":e==="AU"?"AUD":e==="CA"?"CAD":["DE","FR","IT","ES","NL"].includes(e)?"EUR":"USD"}function P0(e,t){if(e.isBuyingGuideProduct||e.isReviewProduct)return!0;if(t==="unavailable")return!1;let n=String(e.isoCurrency||e.currency||"").trim().toUpperCase();return({$:"USD",A$:"AUD",CA$:"CAD","\xA3":"GBP","\u20AC":"EUR"}[n]||n)===an(t)}function fi(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=a?n.currency||(n.price&&typeof n.price=="object"?n.price.currency:""):l.currency||(typeof l=="string"?l:"")||n.currency||"";!i&&n.variants&&n.variants.length>0&&(i=n.variants[0].currency||"");let r="$",o="USD",u=(i||"").toString().toUpperCase().trim();return u==="GBP"||u==="\xA3"||u.includes("POUND")||u.includes("163")?(r="\xA3",o="GBP"):u==="EUR"||u==="\u20AC"||u.includes("EURO")||u.includes("8364")?(r="\u20AC",o="EUR"):u==="AUD"||u==="A$"?(r="A$",o="AUD"):u==="CAD"||u==="CA$"?(r="CA$",o="CAD"):u==="USD"||u==="$"||u.includes("DOLLAR")||u.includes("36")?(r="$",o="USD"):(o=an(t),o==="GBP"?r="\xA3":o==="AUD"?r="A$":o==="CAD"?r="CA$":o==="EUR"&&(r="\u20AC")),{isoCurr:o,currencyStr:r}}function Ku(e){let t=e.data||{},n=e.type==="featured-product",a=t.price||{},l=0,i=0;return n?(l=typeof a=="number"?a:a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):t.msrp?parseFloat(t.msrp):0):(l=a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):0),{rawPrice:l,rawMsrp:i}}function Sa(e,t){if(!t||t==="all"||e<=0)return!0;if(t==="under50"&&e>=50||t==="over50"&&e<=50||t==="over30"&&e<=30||t==="over500"&&e<=500)return!1;if(t.includes("_")){let[n,a]=t.split("_").map(Number);if(n&&e<n||a&&e>a)return!1}return!0}function Ca(e,t,n){if(!n||n==="0"||n==="all")return!0;let a=parseInt(n);return!(!isNaN(a)&&a>0&&(!t||t<=e||Math.round((1-e/t)*100)<a))}var Zu=[0,50,100,150,200,250,300,350,400,450],ff={parameter:"articleControlTag",value:"type_buying_guide"},u2={includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"}]},c2={pcgamer:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"deals"},{parameter:"articleControlTag",value:"sig-product-collection"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["deals","type_deal","channel_gaming_hardware"]}],buyingGuideScopes:[ff]},homesandgardens:{includeAllContent:!1,pageStarts:Zu,scopes:[{parameter:"articleType",value:"collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"sig-product-collection",inventoryKind:"collections"},{parameter:"articleControlTag",value:"van-hawk-collection-widget",inventoryKind:"collections"},{parameter:"articleControlTag",value:"shopping",requiredArticleType:"news",inventoryKind:"collections"},{parameter:"articleType",value:"deals",inventoryKind:"deals"},{parameter:"articleControlTag",value:"type_deal",requiredArticleType:"news",requiredControlTags:["shopping","type_deal"],inventoryKind:"deals"}],buyingGuideScopes:[{parameter:"articleType",value:"buying guide"},ff]},whowhatwear:{includeAllContent:!0,pageStarts:Zu,scopes:[{}]}};function Wu(e,{includeBuyingGuideProducts:t=!1,includeCollections:n=!0,includeDeals:a=!0}={}){let l=c2[e]||u2;if(l.includeAllContent)return l;let i=l.scopes.filter(r=>r.inventoryKind==="collections"?n:r.inventoryKind==="deals"?a:r.value==="sig-product-collection"?n:a);return t?{...l,scopes:[...i,...l.buyingGuideScopes||[ff]]}:{...l,scopes:i}}function gf(e){if(Array.isArray(e))return e;let t=e.data;return t&&Array.isArray(t)?t:[]}function q0(e){let t=new Set;return e.filter(n=>{let a=n.id||n.articleid||n.url;return!a||t.has(a)?!1:(t.add(a),!0)})}function Zt(e){return typeof e.articletype=="string"?e.articletype.toLowerCase():Array.isArray(e.articletype)&&e.articletype.length>0?e.articletype[0].toLowerCase():""}function Hr(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]/g,"")}function mf(e){return[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]].map(Hr)}function s2(e){return Zt(e)==="review"&&mf(e).some(t=>t.includes("channelgaminghardware"))}function F0(e,t,n){let a=Zt(e),l=mf(e),i=c=>l.some(s=>s.includes(c)),r=a==="news"&&i("shopping")&&i("deal")&&i("typedeal"),o=a==="deals"||r,u=a==="collection"||i("sigproductcollection")||i("vanhawkcollectionwidget")||a==="news"&&i("shopping")&&!r||a==="idea"&&i("shopping")&&(i("sigproductcollection")||i("vanhawkcollectionwidget"));return t&&o||n&&u}function el(e,t=!0,n=!0,a){if(a==="homesandgardens")return F0(e,t,n);let l=Zt(e),i=mf(e),r=l==="deals"||i.some(u=>u.includes("typedeal")),o=i.some(u=>u.includes("sigproductcollection"));return t&&r||n&&o}function j0(e,t,n=!1,a=!1,l=!0,i=!0){if(a&&Zt(e)==="review")return t!=="pcgamer"||s2(e);if(t==="homesandgardens")return Zt(e)==="buying guide"?n:F0(e,i,l);let r=Wu(t,{includeBuyingGuideProducts:n,includeCollections:l,includeDeals:i});if(r.includeAllContent)return i&&l?!0:n||el(e,i,l);let o=Zt(e),u=[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]],c=f=>!f.requiredArticleType||o===f.requiredArticleType.toLowerCase(),s=f=>!f.requiredControlTags||f.requiredControlTags.every(d=>u.some(m=>typeof m=="string"&&Hr(m).includes(Hr(d))));return r.scopes.some(f=>!c(f)||!s(f)?!1:f.parameter==="articleType"?o===f.value.toLowerCase():f.parameter==="articleControlTag"?u.some(d=>typeof d=="string"&&Hr(d).includes(Hr(f.value))):!1)}function hf(e,t){let n=e.map(a=>({...a}));return t.filter(a=>(a.isBuyingGuideProduct||a.isReviewProduct)&&a.brand).forEach(a=>{let l=String(a.brand).trim();if(!l)return;let i=n.find(r=>r.formatted_value.toLowerCase()===l.toLowerCase());i?i.count++:n.push({formatted_value:l,count:1})}),n.sort((a,l)=>l.count-a.count)}function Iu(e,t){let n={};return e.forEach(a=>{if(!a.articlepage)return;let l=ci(a),i=si(l,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});(t.includeDeals===!1||t.includeCollections===!1)&&!i.some(r=>r.type==="buying-guide")&&!el(a,t.includeDeals,t.includeCollections,t.website)||i.forEach(r=>{if(fi(r,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:o,rawMsrp:u}=Ku(r);if(!Sa(o,t.priceRange)||!Ca(o,u,t.discountAmount))return;let c=r.data||{},s=c.brand||c.retailer;if(!s)return;let f=s.replace(/^\d+\.\s*/,"").trim(),d=f.toLowerCase(),m=Object.keys(n).find(v=>v.toLowerCase()===d);m?n[m]++:(f===f.toLowerCase()&&(f=f.replace(/\b\w/g,v=>v.toUpperCase())),n[f]=1)})}),Object.keys(n).map(a=>({formatted_value:a,count:n[a]})).sort((a,l)=>l.count-a.count)}function d2(e){return String(e||"").trim().toLowerCase()}function Ju(e){return(Array.isArray(e)?e:[e]).map(d2).filter(Boolean)}function pf(e){let t=Ju(e.articletype),n=[...Ju(e.articlecontroltag),...Ju(e.articletagtypetaghandle)];return t.includes("deals")||n.some(a=>a.replace(/[\s-]+/g,"_")==="type_deal")}function V0(e){let t=Array.isArray(e)?e[0]:e,n=new Date(String(t||"")).getTime();return Number.isFinite(n)?n:null}function f2(e){for(let t of[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]){let n=V0(t);if(n!==null)return n}return null}function g2(e){for(let t of[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]){let n=V0(t);if(n!==null)return n}return null}function Y0(e){return Ju(e.articletype).includes("review")}function yf(e,t=new Date,n=0){let a=pf(e)?1:Y0(e)?36:n;if(a<=0)return!0;let l=Y0(e)?g2(e):f2(e);if(l===null)return!0;let i=new Date(t);return i.setMonth(i.getMonth()-a),l>=i.getTime()}function tl(e,t,n=0){return e.filter(a=>yf(a,t,n))}var m2=15;function Q0(e){return Array.isArray(e.articlemedia)?e.articlemedia[0]:""}function zr(e){return Array.isArray(e.documenturl)?e.documenturl[0]:e.documenturl||""}function h2(e){return kt(String(e||"").replace(/^\d+\.\s*/,"").trim())}function tt(e){return Array.isArray(e)?e.map(tt).find(Boolean)||"":typeof e=="string"||typeof e=="number"?String(e).trim():""}function vf(e,t=!1){return(t?[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]:[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]).map(tt).find(Boolean)||""}function p2(e,t,n){let a=tt(e).match(/^\s*(\d+)\s*[.)]\s*/)?.[1];return a||[t.rank,t.position,t.number,t.productNumber,t.product_number].map(tt).map(i=>i.match(/^\s*(\d+)\s*$/)?.[1]||"").find(Boolean)||String(n+1)}function y2(e){let t=tt(e);try{t=new URL(t).pathname}catch{}return t=t.split(/[?#]/)[0].split("/").filter(Boolean).at(-1)||"",t.split(/[-_]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function v2(e){return tt(e.documenthandle)||tt(e.document_handle)||zr(e)||tt(e.documentname)||tt(e.documentnametext)}function b2(e,t){if(!t)return"";let n=t.length>m2?"Ranked":t;return`#${e} ${n}`}function A2(e){if(typeof e=="object"&&e)return String(e["data-model-name"]||"");try{return String(JSON.parse(String(e||""))["data-model-name"]||"")}catch{return""}}function w2(e){let t=e.brand||e.productBrand||e.manufacturer||e.maker||"";return typeof t=="string"?kt(t.replace(/^\d+\.\s*/,"").trim()):""}function S2(e){let t=e.price&&typeof e.price=="object"?e.price:{},n=Number(t.salePrice||t.price||e.salePrice||e.current_price||(typeof e.price=="number"?e.price:0)),a=Number(t.wasPrice||t.msrp||e.was_price||e.msrp||0),l=e.url||e.link?.url||e.link?.href||"";return{currency:t.currency||e.currency||"",rawMsrp:Number.isFinite(a)?a:0,rawPrice:Number.isFinite(n)?n:0,url:l}}function bf(e){let t=e?.review||{},n=t.rating??t.starRating??t.score??e?.rating??e?.starRating??e?.score,a=Number(n);if(!Number.isFinite(a)||a<=0)return null;let l=a>5?a/20:a;return Math.min(l,5)}function K0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,imageUrl:i}){let r=t.data||{},o=r.review||{},u=h2(r.title),c=p2(r.title,r,a),s=y2(v2(e)),f=zr(e),d=S2(r),m=!!d.url,v=m?d.url:o.url||f,A=i||Q0(e);return{id:`airedale-buying-guide-${n}-${a}`,url:v,image:A,fallbackImage:A,title:u,brand:w2(r),productName:u,merchant:"",rawPrice:d.rawPrice,rawMsrp:d.rawMsrp,price:d.rawPrice>0?String(d.rawPrice):"",msrp:d.rawMsrp>0?String(d.rawMsrp):"",currency:d.currency,isoCurrency:"",isCheckPrice:d.rawPrice<=0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf(r),description:"",text:"",subtitle:kt(r.subtitle||""),pros:Array.isArray(r.pros)?r.pros:[],cons:Array.isArray(r.cons)?r.cons:[],...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:!1,isBuyingGuideProduct:!0,buyingGuideBadge:b2(c,s),hawkModelName:A2(r.hawk),hasCommerceOffer:m,sourceArticleUrl:f}}function C2(e){return gi(e)||tt(e.documentnametext)||tt(e.documentname)}function $u(e){if(Array.isArray(e))return e.map($u).find(Boolean)||"";if(e&&typeof e=="object"){let n=e,a=tt(n["data-widget-type"]||n.dataWidgetType||n.widgetType).toLowerCase(),l=tt(n["data-model-name"]||n.dataModelName||n.modelName);return a==="review"&&l?l:Object.values(n).map($u).find(Boolean)||""}if(typeof e!="string")return"";let t=[e,e.replace(/\\"/g,'"').replace(/\\u0022/gi,'"')];for(let n of t){try{let l=$u(JSON.parse(n));if(l)return l}catch{}let a=n.match(/["']data-widget-type["']\s*:\s*["']review["'][\s\S]{0,1500}?["']data-model-name["']\s*:\s*["']([^"']+)["']/i);if(a?.[1])return a[1].trim()}return""}function gi(e){let t=tt(e.articlehawkmodels);if(t)return t;for(let n of[e.articlepage,e.articlebodypageblock,e.articlepageblock,e.fepjson,e.articlebodyclean]){let a=$u(n);if(a)return a}return""}function X0(e){return(Array.isArray(e)?e:[e]).map(t=>kt(tt(t))).filter(Boolean)}function Z0({article:e,articleIdentity:t,authorProfile:n}){let a=kt(gi(e)),l=kt(C2(e)),i=zr(e),r=Q0(e),o=kt(tt(e.productverdict));return{id:`airedale-review-${t}`,url:i,image:r,fallbackImage:r,title:l,brand:"",productName:l,merchant:"",rawPrice:0,rawMsrp:0,price:"",msrp:"",currency:"",isoCurrency:"",isCheckPrice:!0,savingLabel:"",savingType:"none",isPrime:!1,starRating:bf({rating:e.productrating}),description:o,text:o,...n,documentUrl:i,modifiedDate:vf(e,!0),isFeatured:!1,isReviewProduct:!0,hawkModelName:a||l,hasCommerceOffer:!1,sourceArticleUrl:i,pros:X0(e.productpros),cons:X0(e.productcons)}}function kt(e){return typeof e=="string"?ee(e):e}function W0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,currencyString:i,isoCurrency:r,presentation:o,pricing:u}){let c=t.data||{},{isFeatured:s,externalUrl:f,summaryTitle:d,description:m,imageUrl:v,merchantName:A}=o,{rawPrice:b,rawMsrp:h,savingLabel:g}=u;return{id:`airedale-${n}-${a}`,url:f,image:v,fallbackImage:v,title:kt(d),brand:kt(c.brand||""),productName:kt(c.productName||""),merchant:kt(A),rawPrice:b,rawMsrp:h,price:b>0?b.toString():"",msrp:h>0?h.toString():"",currency:i,isoCurrency:r,isCheckPrice:!b,savingLabel:g,savingType:h>b?"amount":"none",isPrime:!1,starRating:bf(c),description:kt(m),text:kt(c.text||""),...l,documentUrl:zr(e),modifiedDate:vf(e),isFeatured:s,hasCommerceOffer:!!f}}function I0(e,t){let n=t.data||{},a=t.type==="featured-product",l=n.link||{},i=n.image||{};n.brand&&(n.brand=n.brand.replace(/^\d+\.\s*/,"").trim());let r=a?n.url:l.href||null,o=a?n.name||n.brand:n.productName||l.label||(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),u=a?n.strapline||"":n.text||"";if(!a&&!n.productName&&n.text){let f=n.text.split(/<br\s*\/?>/i);if(f.length>1)o=f[0].replace(/<[^>]+>/g,"").trim(),u=f.slice(1).join(" ").replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();else{let d=n.text.match(/<strong>(.*?)<\/strong>/);d&&(o=d[1].replace(/<[^>]+>/g,"").trim(),o.endsWith(":")&&(o=o.slice(0,-1)))}}let c=a?i.mos:i.src||null;c?.startsWith("//")&&(c=`https:${c}`),u=u.replace(/<br\s*\/?>/gi," ").replace(/<\/?(p|div)[^>]*>/gi," ").replace(/<[^>]+>/g,"").replace(/\s+/g," ").replace(/View Deal$/i,"").trim();let s=n.retailer||"";if(!s&&r)try{s=new URL(r).hostname.replace("www.","").split(".")[0],s=s.charAt(0).toUpperCase()+s.slice(1)}catch{}return s||(s="Retailer"),{isFeatured:a,externalUrl:r,summaryTitle:o,description:u,imageUrl:c,merchantName:s}}function J0(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=0,r=0;a?(i=typeof n.salePrice=="number"&&n.salePrice>0?n.salePrice:typeof n.price=="number"?n.price:0,r=typeof n.salePrice=="number"&&typeof n.price=="number"&&n.price>n.salePrice?n.price:0):(i=l.amount?parseFloat(l.amount):0,r=l.amountWas?parseFloat(l.amountWas):0);let o=0,u="";return i>0&&r>i&&(o=parseFloat((r-i).toFixed(2)),u=`Save ${t}${o}`),{rawPrice:i,rawMsrp:r,savingLabel:u}}function R2(e,t){let n=e.indexOf(t);if(n<1)return"";let a=e[n-1]?.data||{},i=a.slides?.[0]?.image||a.image||a;return i?.src||i?.mos||""}function Ur(e,{activeRegionCode:t,targetIso:n,selectedBrands:a,priceRange:l,discountAmount:i,authorHandle:r,authorName:o,createFallbackIdentity:u=Math.random,includeBuyingGuideProducts:c=!1,includeCollections:s=!0,includeDeals:f=!0,includeReviewProducts:d=!1,website:m}){let v=[],A=new Set;return e.forEach(b=>{if(d&&Zt(b)==="review"){v.push(Z0({article:b,articleIdentity:b.id||u(),authorProfile:Qu(b,r,o)}));return}if(!b.articlepage)return;let h=ci(b),g=si(h,c,{includeCollections:s,includeDeals:f});(f===!1||s===!1)&&!g.some(p=>p.type==="buying-guide")&&!el(b,f,s,m)||g.forEach((p,y)=>{if(p.type==="buying-guide"){v.push(K0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),imageUrl:R2(h,p)}));return}let{isoCurr:C,currencyStr:R}=fi(p,t);if(C!==n)return;let T=p.data||{},M=I0(b,p),{externalUrl:w}=M,D=J0(p,R),{rawPrice:k,rawMsrp:se}=D;if(!(a&&a.length>0&&!di(T,a))&&Sa(k,l)&&Ca(k,se,i)){if(w){if(A.has(w))return;A.add(w)}v.push(W0({article:b,block:p,articleIdentity:b.id||u(),blockIndex:y,authorProfile:Qu(b,r,o),currencyString:R,isoCurrency:C,presentation:M,pricing:D}))}})}),v}function mi(e,t){return Ur(e,{...t,selectedBrands:[],priceRange:"all",discountAmount:"0"})}function $0(e,t){return Ur(e,t)}function Gr(e){return(Array.isArray(e)?e:[e]).filter(n=>typeof n=="string").map(n=>n.trim())}function ec(e){return e?.trim().toLowerCase()==="freeform"}function Af(e){return!!e&&!/[^\p{L}\p{N}\s]/u.test(e)}function wf(e){let t=Gr(e.articletag),n=Gr(e.articletaghandle),a=Gr(e.articletagtype),l=new Map;t.forEach((o,u)=>{let c=n[u];!ec(a[u])||!c||!Af(o)||l.set(c.toLowerCase(),{handle:c,label:o,requestValue:o})});let i=Gr(e.articletagtypetag),r=Gr(e.articletagtypetaghandle);return i.forEach((o,u)=>{let[c,...s]=o.split("|"),[f,...d]=(r[u]||"").split("|"),m=s.join("|").trim(),v=d.join("|").trim();!ec(c)||!ec(f)||!v||!Af(m)||l.has(v.toLowerCase())||l.set(v.toLowerCase(),{handle:v,label:m,requestValue:m})}),r.forEach(o=>{let[u,...c]=o.split("|"),s=c.join("|").trim();!ec(u)||!s||!Af(s)||l.has(s.toLowerCase())||l.set(s.toLowerCase(),{handle:s,label:s})}),[...l.values()]}function ev(e,t){if(t)return e.find(n=>n.handle.toLowerCase()===t.toLowerCase())?.requestValue}function hi(e,t){let n=(Array.isArray(t)?t:[t]).filter(a=>typeof a=="string").map(a=>a.trim().toLowerCase()).filter(Boolean);return n.length===0?e:e.filter(a=>wf(a).some(l=>n.includes(l.handle.toLowerCase())))}function T2(e){let t=new Map;return Array.isArray(e.articlecategory)?(e.articlecategory.forEach(n=>{if(typeof n!="string")return;let a=n.trim();a===a.toLowerCase()&&(a=a.replace(/\b\w/g,l=>l.toUpperCase())),a&&!t.has(a.toLowerCase())&&t.set(a.toLowerCase(),{handle:a,label:a})}),[...t.values()]):[]}function tv(e,t,n){let a={},l={},i={};e.forEach(u=>{let c=[];if(t.includeReviewProducts&&Zt(u)==="review"&&c.push(u.id||u.documenturl||u.documenthandle||""),u.articlepage)try{let s=ci(u),f=si(s,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});if((t.includeDeals===!1||t.includeCollections===!1)&&!f.some(d=>d.type==="buying-guide")&&!el(u,t.includeDeals,t.includeCollections,t.website))return;f.forEach(d=>{if(d.type==="buying-guide"){c.push(d.id||JSON.stringify(d.data||{}));return}if(fi(d,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:m,rawMsrp:v}=Ku(d);if(!Sa(m,t.priceRange)||!Ca(m,v,t.discountAmount))return;let A=d.data||{};if(t.selectedBrands&&t.selectedBrands.length>0&&!di(A,t.selectedBrands))return;let h=d.type==="featured-product"?A.primaryLink:A.link,g=A.url||A.link&&A.link.url||h&&h.url;c.push(g||JSON.stringify(A))})}catch{}c.length!==0&&n(u).forEach(s=>{let f=s.handle.toLowerCase(),d=Object.keys(a).find(m=>m.toLowerCase()===f);d||(d=s.handle,a[d]=new Set,l[d]=s.label,i[d]=s.requestValue),c.forEach(m=>a[d].add(m))})});let r={};return Object.keys(a).forEach(u=>{r[u]=a[u].size}),{tags:Object.keys(r).map(u=>({handle:u,label:l[u]||u,requestValue:i[u]})).sort((u,c)=>r[c.handle]-r[u.handle]),tagCounts:r}}function tc(e,t){let{tags:n,tagCounts:a}=tv(e,t,T2);return{tags:n.map(l=>l.label),tagCounts:a}}function nc(e,t){let{tags:n,tagCounts:a}=tv(e,t,wf);return{tags:n,tagCounts:a}}function E2(e,t){return e.documentUrl||e.sourceArticleUrl||e.articleId||`deal-${t}`}function yn(e,t,n){if(t!=="mix"||n!=="date_desc")return e;let a=new Map;e.forEach((o,u)=>{let c=E2(o,u),s=a.get(c)||[];s.push(o),a.set(c,s)});let l=[],i=0,r=!0;for(;r;)r=!1,a.forEach(o=>{let u=o[i];u&&(l.push(u),r=!0)}),i+=1;return l}var nv="compact-v1",D2={brand:"",currency:"",hasCommerceOffer:!1,isoCurrency:"",isCheckPrice:!0,isFeatured:!1,isPrime:!1,merchant:"",merchantId:"",msrp:"",price:"",rawMsrp:0,rawPrice:0,savingLabel:"",savingType:"none"},x2={hasCommerceOffer:!0,hawkPricePending:!1,rawMsrp:0,rawPrice:0};function av(e){return e.map(t=>{if(!t.isReviewProduct)return t;let n=String(t.sourceArticleUrl||t.documentUrl||t.url||""),a=t.fallbackImage??t.image??"",l={...D2,...t,fallbackImage:a,image:t.image??a,sourceArticleUrl:n,documentUrl:t.documentUrl??n,url:t.url??n,title:t.title??t.productName??"",text:t.text??t.description??"",hawkPricePending:t.hawkPricePending??!!t.hawkModelName,pros:t.pros??[],cons:t.cons??[]};return t.hawkRegionalCommerce&&(l.hawkRegionalCommerce=Object.fromEntries(Object.entries(t.hawkRegionalCommerce).map(([i,r])=>{let o=r,u=o.productName??l.productName,c=o.rawPrice??0,s=o.rawMsrp??0;return[i,{...x2,...o,fallbackImage:o.fallbackImage??a,image:o.image??a,productName:u,title:o.title??u??l.title,price:o.price??(c?String(c):""),msrp:o.msrp??(s?String(s):"")}]}))),l})}function ac(e,t,n=100){let a=new Set(e.slice(0,t).map((i,r)=>i.id||`visible-${r}`)),l=e.slice(0,t).filter(i=>i.isReviewProduct).length;return e.filter((i,r)=>{let o=i.id||`visible-${r}`;return a.has(o)?!0:i.isReviewProduct?(l+=1,l<=n):!1})}function lv(e,t){let n=new Map(t.map((a,l)=>[a.id||`enriched-${l}`,a]));return e.map((a,l)=>n.get(a.id||`enriched-${l}`)||a)}var M2=new Set(["deal","featured-product","gallery","buying-guide","text","section"]);function lc(e){return!!e&&typeof e=="object"}function iv(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function rv(e){try{let t=iv(e);if(!Array.isArray(t)||!t[0])return;let n=t[0],a=typeof n=="string"?iv(n):Array.isArray(n)?n:lc(n)&&"type"in n?t:n;if(!Array.isArray(a))return;let l=a.filter(i=>lc(i)&&M2.has(i.type)).map(i=>i.type==="text"&&i.data?{type:"text",data:{paragraphs:Array.isArray(i.data.paragraphs)?i.data.paragraphs.slice(0,3):void 0,text:typeof i.data.text=="string"?i.data.text.slice(0,500):void 0}}:i.type==="section"&&i.data?{type:"section",data:{text:i.data.text,heading:i.data.heading,title:i.data.title}}:i);return l.length>0?[JSON.stringify(l)]:void 0}catch{return}}function ov(e){if(!Array.isArray(e))return[];let t=!1;return e.map(n=>{if(!lc(n))return n;let a=n.articlepage?rv(n.articlepage):void 0,l=!!(n.articleauthormedia||n.articleauthorrole),i=!!(!t&&(n.articleauthorbio||n.articleauthorlongbio||n.articleauthorsocialnetworks));return i&&(t=!0),{id:n.id,articlename:n.articlename,documentname:n.documentname,documentnametext:n.documentnametext,documenthandle:n.documenthandle,articlecategory:n.articlecategory,articletag:n.articletag,articletaghandle:n.articletaghandle,articletagtype:n.articletagtype,articletagtypetag:n.articletagtypetag,articletagtypetaghandle:n.articletagtypetaghandle,articlecontroltag:n.articlecontroltag,articletype:n.articletype,articleauthor:n.articleauthor,articleauthorhandle:n.articleauthorhandle,articleauthortext:n.articleauthortext,...l?{articleauthorrole:n.articleauthorrole,articleauthormedia:n.articleauthormedia}:{},articlestrapline:n.articlestrapline,articlesocialtitle:n.articlesocialtitle,documenturl:n.documenturl,articlemedia:n.articlemedia,articlehawkmodels:n.articlehawkmodels,productrating:n.productrating,productpros:n.productpros,productcons:n.productcons,productverdict:n.productverdict,contentmodifieddate:n.contentmodifieddate,modifieddate:n.modifieddate,createddate:n.createddate,datepublished:n.datepublished,publisheddate:n.publisheddate,...i?{articleauthorbio:n.articleauthorbio,articleauthorlongbio:n.articleauthorlongbio,articleauthorsocialnetworks:n.articleauthorsocialnetworks}:{},...a?{articlepage:a}:{}}})}function uv(e){return Array.isArray(e)?e.map(t=>{if(!lc(t))return t;let n=t.articlepage?rv(t.articlepage):void 0;return{id:t.id,articleid:t.articleid,articlename:t.articlename,documentname:t.documentname,documentnametext:t.documentnametext,documenthandle:t.documenthandle,articleauthor:t.articleauthor,articleauthorhandle:t.articleauthorhandle,articleauthortext:t.articleauthortext,articleauthorrole:t.articleauthorrole,articleauthormedia:t.articleauthormedia,articleauthorbio:t.articleauthorbio,articleauthorlongbio:t.articleauthorlongbio,articleauthorsocialnetworks:t.articleauthorsocialnetworks,articlecategory:t.articlecategory,articletag:t.articletag,articletaghandle:t.articletaghandle,articletagtype:t.articletagtype,articletagtypetag:t.articletagtypetag,articletagtypetaghandle:t.articletagtypetaghandle,articletype:t.articletype,articlestrapline:t.articlestrapline,articlesocialtitle:t.articlesocialtitle,documenturl:t.documenturl,articlemedia:t.articlemedia,articlehawkmodels:t.articlehawkmodels,productrating:t.productrating,productpros:t.productpros,productcons:t.productcons,productverdict:t.productverdict,url:t.url,contentmodifieddate:t.contentmodifieddate,modifieddate:t.modifieddate,createddate:t.createddate,datepublished:t.datepublished,publisheddate:t.publisheddate,content:t.content,dek:t.dek,image_thumbnail:t.image_thumbnail,intro:t.intro,paragraphs:t.paragraphs,strapline:t.strapline,subtitle:t.subtitle,title:t.title,...n?{articlepage:n}:{}}}):[]}function pi(e){if(!e?.modifiedDate)return 0;let t=Array.isArray(e.modifiedDate)?e.modifiedDate[0]:e.modifiedDate,n=new Date(t).getTime();return Number.isNaN(n)?0:n}function nl(e){return e?.hasCommerceOffer===!0?!0:e?.hasCommerceOffer===!1?!1:!!(!e?.isBuyingGuideProduct&&!e?.isReviewProduct&&e?.url)}function ln(e,t,n=!0){let a=!0;t==="date_desc"?e.sort((l,i)=>pi(i)-pi(l)):t==="price_asc"?e.sort((l,i)=>l.rawPrice-i.rawPrice):t==="price_desc"?e.sort((l,i)=>i.rawPrice-l.rawPrice):t==="discount_desc"?e.sort((l,i)=>{let r=l.rawMsrp>l.rawPrice?l.rawMsrp-l.rawPrice:0;return(i.rawMsrp>i.rawPrice?i.rawMsrp-i.rawPrice:0)-r}):t==="rating_desc"?e.sort((l,i)=>{let r=Number(l.starRating)||0;return(Number(i.starRating)||0)-r||pi(i)-pi(l)}):t==="scored_first"?e.sort((l,i)=>{let r=Number(l.starRating)>0?1:0;return(Number(i.starRating)>0?1:0)-r||pi(i)-pi(l)}):a=!1,a&&n&&e.sort((l,i)=>Number(nl(i))-Number(nl(l)))}function cv(e,t,n){let a=e;if(!a&&t){let l=n.find(i=>i.toLowerCase()===t?.toLowerCase());l&&(a=l)}return a}function Pr(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(a=>a.articlecategory&&Array.isArray(a.articlecategory)&&a.articlecategory.some(l=>{if(!l||typeof l!="string")return!1;let i=l.toLowerCase(),r=i.split(":::");return i===n||r[0]===n||i.includes(n)}))}function sv(e){let t=wt(e.region);return{activeRegionCode:t,targetIso:an(t)}}function al(e,t,{discountAmount:n,priceRange:a}={}){let l=!!(a&&a!=="all"),i=!!(n&&n!=="0"&&n!=="all");return!t?.length&&!l&&!i?e:e.filter(r=>!r.isBuyingGuideProduct&&!r.isReviewProduct?!0:t?.length&&!di({brand:r.brand},t)||l&&(!Number(r.rawPrice)||!Sa(Number(r.rawPrice),a))?!1:Ca(Number(r.rawPrice)||0,Number(r.rawMsrp)||0,n))}function _2(e,t){let n=e.articleauthorhandle||[],a=e.articleauthor||[],l=e.articleauthortext||[],i=new Set([t.handle.toLowerCase(),t.fullName.toLowerCase(),t.name.toLowerCase()]);return[...n,...a,...l].some(r=>i.has(String(r||"").toLowerCase()))}function Sf(e,t,n){let a=Object.fromEntries(e.map(l=>[l.handle,0]));return t.forEach(l=>{let i=mi([l],n).length;i!==0&&e.forEach(r=>{_2(l,r)&&(a[r.handle]+=i)})}),a}function Cf(e,t){let n=Xu(e,t.authorHandle,t.authorName),a=t.selectedArticleId?n.filter(A=>A.id===t.selectedArticleId):n,{activeRegionCode:l,targetIso:i}=sv(t),{tags:r,tagCounts:o}=tc(a,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),u=cv(t.activeDealTag,t.query,r),c=Pr(a,u),{tags:s,tagCounts:f}=nc(c,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),d=t.activeFreeformTags?.length?t.activeFreeformTags:t.activeFreeformTag?[t.activeFreeformTag]:[],m=d.flatMap(A=>{let b=s.find(h=>h.handle.toLowerCase()===A.toLowerCase());return b?[b.handle]:[]}),v=t.preserveFreeformTagSelection?d:m;return{activeDealTag:u,activeFreeformTag:v[0]||null,activeFreeformTags:v,activeRegionCode:l,authorArticles:n,freeformTagCounts:f,freeformTags:s,tagCounts:o,tags:r,targetArticles:hi(c,v),targetIso:i}}function ic(e,t,n,a){let l=Iu(e,{activeRegionCode:n,targetIso:a,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),i=Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(i,t.sort,t.prioritiseCommercialProducts);let r=yn(al(i,t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange}),t.productSelection,t.sort).map(o=>(o.isBuyingGuideProduct||o.isReviewProduct)&&o.hawkModelName?{...o,hawkPricePending:!0}:o);return{brands:l,displayedDeals:r,extractedDeals:i}}function dv(e,t){let{activeRegionCode:n,targetIso:a}=sv(t),l=Lr(e,t.website||"tomsguide"),i=e.filter(o=>mi([o],{activeRegionCode:n,targetIso:a,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}).length>0),r=al(Ur(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange});return{authorCount:kr(l,i).length,deals:r}}function fv({allArticles:e,authorArticles:t,inventoryArticles:n,bakeReviewInventory:a,brands:l,couponMap:i,currentDealTag:r,currentFreeformTags:o,displayedDeals:u,options:c,resultCount:s,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}){let h=Lr(e,c.website||"tomsguide"),g=Sf(h,n,{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),selectedBrands:c.selectedBrands,priceRange:c.priceRange,discountAmount:c.discountAmount,includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}),p=kr(h,e.filter(C=>mi([C],{activeRegionCode:wt(c.region),targetIso:an(wt(c.region)),includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}).length>0)),y=Number(s)||12;return{activeDealTag:r,activeFreeformTag:o[0]||null,activeFreeformTags:o,allDeals:a?ac(u,y):u,authorArticles:ov(t),authors:Yu(p,g),brands:l,couponMap:i,deals:u.slice(0,y),reviewInventoryBaked:a,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}}function B2(e){return e&&e.widget&&e.widget.data&&Array.isArray(e.widget.data.offers)?e.widget.data.offers:e&&e.data&&Array.isArray(e.data.offers)?e.data.offers:Array.isArray(e)?e:e&&Array.isArray(e.offers)?e.offers:e&&e.offers&&Array.isArray(e.offers.offer)?e.offers.offer:e&&Array.isArray(e.data)?e.data:[]}function gv(e,t,n){let a={...n},l=new Set;return B2(e).forEach(r=>{let o="";r.merchant_name?o=r.merchant_name:r.merchant&&r.merchant[0]&&r.merchant[0].name?o=r.merchant[0].name:r.merchant&&r.merchant.name?o=r.merchant.name:r.retailer&&(o=r.retailer),o&&l.add(o.toLowerCase())}),t.forEach(r=>{a[r]=l.has(r.toLowerCase())?"has":"none"}),a}function mv(e){let t=[];return e?.widget?.data?.offers?t=e.widget.data.offers:e?.data?.offers?t=e.data.offers:Array.isArray(e)?t=e:e?.offers?.offer?t=Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers&&(t=Array.isArray(e.offers)?e.offers:[e.offers]),t}async function hv({couponMap:e,couponUrl:t,fetcher:n=fetch,merchants:a}){if(!t)return e;try{let l=await n(t.toString());return gv(await l.json(),a,e)}catch{let l={...e};return a.forEach(i=>{l[i]="none"}),l}}function pv({enrichingBuyingGuides:e,error:t,loading:n,loadingMore:a,refreshingFeed:l}){return t?"error":a?"loading_more":n?"loading_inventory":l?"refreshing_inventory":e?"enriching_visible_cards":"ready"}function yv(e,t){let n=Xu(tl(e),t.authorHandle,t.authorName),a=wt(t.region),l=an(a),{tags:i,tagCounts:r}=tc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),o=Iu(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),{tags:u,tagCounts:c}=nc(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),s=$0(n,{activeRegionCode:a,targetIso:l,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});ln(s,t.sort,t.prioritiseCommercialProducts);let f=yn(s,t.productSelection,t.sort);return{authorArticles:n,brands:o,deals:f,tagCounts:r,tags:i,freeformTagCounts:c,freeformTags:u}}var N2="fc-author-commerce-widget",vn="airedale-feeds";var rc=null;function vv(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Rf(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function Tf(){return rc||(typeof window>"u"||typeof window.indexedDB>"u"?Promise.resolve(null):(rc=new Promise(e=>{let t=window.indexedDB.open(N2,14);t.onupgradeneeded=()=>{let n=t.result;n.objectStoreNames.contains(vn)||n.createObjectStore(vn,{keyPath:"key"})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),rc))}function bv({authorHandle:e,authorName:t,includeBuyingGuideProducts:n,includeCollections:a,includeDeals:l,includeReviewProducts:i,articleCategory:r,articleTag:o,pageStarts:u,reviewPageStarts:c,loadAllReviewPages:s,website:f}){return["v14",f||"tomsguide",e||"",t||"",n?"buying-guides":"",a===!1?"no-collections":"collections",l===!1?"no-deals":"deals",i?"reviews":"",r||"",o||"",u?.join(",")||"",c?.join(",")||"",s===!1?"review-pages-partial":""].map(d=>encodeURIComponent(d)).join("|")}async function O2(e){let t=await Tf();if(!t)return;let n=t.transaction(vn,"readwrite"),a=Rf(n);n.objectStore(vn).delete(e),await a}async function Av(e,t=Date.now()){try{let n=await Tf();if(!n)return null;let a=n.transaction(vn,"readonly"),l=await vv(a.objectStore(vn).get(e));if(!l||l.schemaVersion!==14||!Array.isArray(l.articles)||l.articles.length===0)return null;let i=Math.max(0,t-l.cachedAt);return i>864e5?(O2(e),null):{articles:l.articles,cachedAt:l.cachedAt,isFresh:i<=6e5}}catch{return null}}async function k2(e){let t=e.transaction(vn,"readwrite"),n=Rf(t),a=t.objectStore(vn);(await vv(a.getAll())).sort((i,r)=>r.cachedAt-i.cachedAt).slice(10).forEach(i=>a.delete(i.key)),await n}async function wv(e,t,n=Date.now()){if(t.length!==0)try{let a=await Tf();if(!a)return;let l=a.transaction(vn,"readwrite"),i=Rf(l);l.objectStore(vn).put({articles:t,cachedAt:n,key:e,schemaVersion:14}),await i,await k2(a)}catch{}}var Ef=[];var Mf=[],Df=0;function Sv(){for(;Df<4&&Mf.length>0;){let e=Mf.shift();if(!e)return;Df+=1,e.run().then(e.resolve,e.reject).finally(()=>{Df-=1,Sv()})}}function L2(e){return new Promise((t,n)=>{Mf.push({reject:n,resolve:t,run:e}),Sv()})}function xf(e){Ef.push(e),Ef.length>100&&Ef.shift()}async function oc(e,t,n=4){let a=new Array(e.length),l=0,i=Math.min(Math.max(1,n),e.length);return await Promise.all(Array.from({length:i},async()=>{for(;l<e.length;){let r=l;l+=1,a[r]=await t(e[r],r)}})),a}async function yi(e,t){return L2(async()=>{let n=t.fetcher||fetch,a=Date.now(),l=new AbortController,i=!1,r=()=>l.abort();if(t.signal?.aborted)return xf({durationMs:0,outcome:"aborted",source:t.source,startedAt:a}),{data:null,response:null};t.signal?.addEventListener("abort",r,{once:!0});let o=setTimeout(()=>{i=!0,l.abort()},8e3);try{let u=await n(e,{signal:l.signal}),c=u.ok?await u.json():null;return xf({durationMs:Date.now()-a,outcome:u.ok?"succeeded":"failed",source:t.source,startedAt:a}),{data:c,response:u}}catch{return xf({durationMs:Date.now()-a,outcome:i?"timed_out":t.signal?.aborted?"aborted":"failed",source:t.source,startedAt:a}),{data:null,response:null}}finally{clearTimeout(o),t.signal?.removeEventListener("abort",r)}})}var Bf="https://airedale.futurecdn.net/feeds/feed_1786707986217.json",H2="https://airedale.futurecdn.net/feeds/feed_1786702796175.json",z2="https://airedale.futurecdn.net/feeds/feed_1787582137748.json",U2=2,_f=new Map,Cv=new Map;function Rv(e){let t=new URL(e),n=String(t.searchParams.get("articleType")||"").trim().toLowerCase(),a=String(t.searchParams.get("articleControlTag")||"").replace(/[\s-]+/g,"_").toLowerCase();return n!=="deals"&&a!=="type_deal"?null:(t.searchParams.delete("start"),t.toString())}function G2(e){return!e.response?.ok||e.articles.length<50?!1:!e.articles.some(t=>pf(t)&&!yf(t))}function P2(e){return!e.parameter||!e.value?"":`&${e.parameter}=${encodeURIComponent(e.value)}`}function q2(e,t="",n=!1,a,l,{includeCollections:i=!0,includeDeals:r=!0}={},o){let u=Wu(e,{includeBuyingGuideProducts:n,includeCollections:i,includeDeals:r}),c=a?`&articleCategory=${encodeURIComponent(a)}`:"",s=o?`&articleTag=${encodeURIComponent(o)}`:"";return u.scopes.flatMap(f=>(l||u.pageStarts).map(d=>`${Bf}?site=${e}&limit=${50}&start=${d}${P2(f)}${t}${c}${s}`))}function Tv(e,t="",n,a=0,l){let i=e==="pcgamer"?"&articleControlTag=channel_gaming_hardware":"",r=n?`&articleCategory=${encodeURIComponent(n)}`:"",o=l?`&articleTag=${encodeURIComponent(l)}`:"";return`${H2}?site=${encodeURIComponent(e)}&articleType=review&limit=${50}&start=${a}${i}${t}${r}${o}`}function F2(e,t){return t!=="pcgamer"?e:e.map(n=>{let a=Array.isArray(n.articlecontroltag)?n.articlecontroltag:[];return a.some(l=>String(l).replace(/[^a-z0-9]/gi,"").toLowerCase()==="channelgaminghardware")?n:{...n,articlecontroltag:[...a,"channel_gaming_hardware"]}})}function j2(e,t){return`${z2}?site=${encodeURIComponent(e)}&documentHandle=${encodeURIComponent(t)}&limit=1`}async function Y2(e,t){let n=`${e}|${t}`,a=Cv.get(n);if(a)return a;let l=yi(j2(e,t),{source:"review-model-resolver"}).then(({data:i})=>i?gf(i)[0]:null).then(i=>i?gi(i):"").catch(()=>"");return Cv.set(n,l),l}async function Nf(e,t,n,a="date_desc"){let l=o=>{let u=[o.datepublished,o.publisheddate,o.createddate,o.contentmodifieddate,o.modifieddate].find(s=>s!=null&&String(s).trim()),c=new Date(Array.isArray(u)?u[0]:u).getTime();return Number.isFinite(c)?c:0},i=o=>{let u=Array.isArray(o.productrating)?o.productrating[0]:o.productrating;return Number(u)||0},r=e.filter(o=>Zt(o)==="review"&&!gi(o)&&typeof o.documenthandle=="string"&&o.documenthandle.trim()).sort((o,u)=>{let c=i(o),s=i(u);return a==="rating_desc"?s-c||l(u)-l(o):a==="scored_first"&&+(s>0)-+(c>0)||l(u)-l(o)}).slice(0,n);return await Promise.all(r.map(async o=>{let u=await Y2(t,o.documenthandle);u&&(o.articlehawkmodels=[u])})),e}function xv(e,t){let n=()=>{wv(e,uv(t))};if(typeof window<"u"&&typeof window.requestIdleCallback=="function"){window.requestIdleCallback(n,{timeout:2e3});return}setTimeout(n,0)}function V2(e,t){return e&&e!=="all-authors"?`&articleAuthorHandle=${encodeURIComponent(e)}`:t&&t!=="All authors"&&t!=="all-authors"?`&articleAuthor=${encodeURIComponent(t)}`:""}function X2({articleCategory:e,articleTag:t,authorParameter:n}){return!!(n&&!e&&!t)}async function Mv({authorHandle:e,authorName:t,fallbackAuthorName:n,includeBuyingGuideProducts:a,includeCollections:l,includeDeals:i,includeReviewProducts:r,onProgress:o,articleCategory:u,articleTag:c,pageStarts:s,reviewPageStarts:f,loadAllReviewPages:d,signal:m,throwOnFailure:v,website:A}){let b=A||"tomsguide",h=V2(e,t),g=[],p=!1,y=!0,C=w=>j0(w,b,a,r,l,i),R=()=>q0(g).map(w=>{let D=gi(w);return D&&!String(w.articlehawkmodels||"").trim()?{...w,articlehawkmodels:[D]}:w}).filter(C),T=()=>{let w=R();w.length>0&&o?.(w)};try{let w=q2(b,h,a,u,s,{includeCollections:l,includeDeals:i},c),D=[];r&&(f||[0]).forEach(X=>{let de=Tv(b,h,u,X,c);D.push(de),w.push(de)});let k=async(X,de=D.includes(X)?"review-feed":"author-feed")=>{let $e=await yi(X,{signal:m,source:de});for(let jr=0;jr<U2&&!$e.response?.ok&&!m?.aborted;jr+=1)$e=await yi(X,{signal:m,source:de});let{data:Z,response:x}=$e,P=Z?gf(Z):[],Q=b==="pcgamer"&&de.startsWith("review-feed")?F2(P,b):P,Vn={articles:Q,data:Z,isPcGamerHardwareReviewFeed:b==="pcgamer"&&de.startsWith("review-feed"),response:x,reviewTotalCount:D.includes(X)&&Number(x?.headers.get("x-total-count"))||null};return Q.length>0&&g.push(...Q),Vn},se=w.filter(X=>Number(new URL(X).searchParams.get("start")||0)===0),I=w.filter(X=>!se.includes(X)),j=await oc(se,X=>k(X));T();let He=new Map(se.flatMap((X,de)=>{let $e=Rv(X);return $e?[[$e,j[de]]]:[]})),ze=new Map,St=[];I.forEach(X=>{let de=Rv(X);if(!de){St.push(X);return}ze.set(de,[...ze.get(de)||[],X])});let[Ie,rn]=await Promise.all([oc(St,X=>k(X)),Promise.all([...ze.entries()].map(async([X,de])=>{let $e=[],Z=He.get(X);for(let x of de){if(!Z||!G2(Z))break;let P=await k(x);$e.push(P),Z=P}return $e}))]),Be=[...Ie,...rn.flat()],Je=[...j,...Be];p=Je.length>0&&Je.every(X=>!X.response?.ok);let nt=Je.find(X=>X.reviewTotalCount!==null)?.reviewTotalCount;if(d!==!1&&f&&nt&&nt>f.length*50){let X=new Set(f),de=[];for(let Z=0;Z<nt;Z+=50)X.has(Z)||de.push(Z);let $e=await oc(de,async Z=>await k(Tv(b,h,u,Z,c),"review-feed-page"));Je.push(...$e)}y=Je.every(X=>X.response?.ok)}catch(w){y=!1}if(v&&p)throw new Error("The author feed could not be loaded");let M=R();if(M.length===0&&X2({authorParameter:h,articleCategory:u,articleTag:c}))try{let w=await yi(`${Bf}?site=${b}&limit=150${h}`,{signal:m,source:"author-feed-fallback"});if(!w.response?.ok&&n&&(w=await yi(`${Bf}?site=${b}&limit=150&articleAuthor=${encodeURIComponent(n)}`,{signal:m,source:"author-feed-fallback"})),w.data){let D=w.data,k=Array.isArray(D)?D:D.data||[];k.length>0&&(M=k.slice(0,150))}}catch(w){}return{articles:M.filter(C),complete:!m?.aborted&&y}}function Ev(e,t){let n=_f.get(e);if(n)return n;let a=Mv(t).then(l=>(l.complete&&l.articles.length>0&&xv(e,l.articles),l)).finally(()=>{_f.delete(e)});return _f.set(e,a),a}async function Dv(e,t){let n=await Mv(t);return n.complete&&n.articles.length>0&&xv(e,n.articles),n}async function _v({onBackgroundRefresh:e,onProgress:t,...n}){let a=bv(n),l=await Av(a);return l?(t?.(l.articles),l.isFresh||(n.signal?Dv(a,n):Ev(a,n)).then(({articles:o,complete:u})=>{u&&o.length>0&&e?.(o)}),l.articles):(await(n.signal?Dv(a,{...n,onProgress:t}):Ev(a,{...n,onProgress:t}))).articles}function Of(e,t){let n=e.shipping?.prime===!0,a=e.merchant?.name||e.merchant_name||e.retailer||"Retailer";typeof e.merchant=="string"&&(a=e.merchant);let l=null,i=0,r=String(e.model_id||e.id||"");if(r&&t)if(t[r]&&t[r].score!=null)l=parseFloat(t[r].score);else{let o=Object.values(t).find(u=>String(u.model_id)===r||String(u.id)===r);o&&o.score!=null&&(l=parseFloat(o.score))}return l!=null&&(i=Math.round((l>10?l/20:l/2)*2)/2),{isPrime:n,merchant:a,starRating:i>0?i:null}}function kf(e){let t=String(e.price||e.current_price||"0"),n=String(e.was_price||e.msrp||e.original_price||"0"),a=parseFloat(t.replace(/[^0-9.]/g,""))||0,l=parseFloat(n.replace(/[^0-9.]/g,""))||0,i=a===0||t==="0.00"||t==="0",r=e.currency&&typeof e.currency=="string"?e.currency:e.currency_symbol&&typeof e.currency_symbol=="string"?e.currency_symbol:"$",o=ee(e.percentage_saving_label||"");!o&&l>a&&a>0&&(o=Math.round((l-a)/l*100)+"% OFF");let u=r;return u.includes("&")&&(u.includes("36")?u="$":u.includes("163")||u.includes("pound")?u="\xA3":(u.includes("8364")||u.includes("euro"))&&(u="\u20AC")),{rawPrice:a,rawMsrp:l,currency:u,isCheckPrice:i,savingLabel:o}}function Bv({query:e,region:t,retailer:n,selectedBrands:a,offerType:l,priceRange:i,discountAmount:r,resultCount:o}){let u=new URL("https://search-api.fie.future.net.uk/widget.php");if(u.searchParams.append("model_name",e),t&&t!=="auto"&&u.searchParams.append("area",t),n&&u.searchParams.append("filter_merchant_name",n),a&&a.length>0&&u.searchParams.append("filter_label[text_brand]",a.join(",")),l&&u.searchParams.append("offer",l),i&&i!=="all"){if(i==="under50")u.searchParams.append("filter_max_price","50");else if(i==="over50")u.searchParams.append("filter_min_price","50");else if(i==="over30")u.searchParams.append("filter_min_price","30");else if(i==="over500")u.searchParams.append("filter_min_price","500");else if(i.includes("_")){let[c,s]=i.split("_");c&&u.searchParams.append("filter_min_price",c),s&&u.searchParams.append("filter_max_price",s)}}if(r&&r!=="0"){let c=(100-parseInt(r))/100;u.searchParams.append("min_discount_ratio",c.toString())}return u.searchParams.append("filter_product_types","deals"),u.searchParams.append("rows",String(o||"12")),u}function Nv(e){return e?.widget?.data?.offers?e.widget.data.offers:e?.data?.offers?e.data.offers:Array.isArray(e)?e:e?.offers?.offer?Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers?Array.isArray(e.offers)?e.offers:[e.offers]:[]}function Ov(e){let t=[];return e.forEach(n=>{let a=[];Array.isArray(n.offers)?a=n.offers:Array.isArray(n.offer)?a=n.offer:n.offers&&typeof n.offers=="object"?a=[n.offers]:n.offer&&typeof n.offer=="object"&&(a=[n.offer]),a.length>0?a.forEach(l=>{t.push({...n,...l})}):t.push(n)}),t}function kv(e){return e?.widget?.data?.model_info?e.widget.data.model_info:e?.data?.model_info?e.data.model_info:{}}var Lf=new Map,Q2=3e3,K2=["GB","US"],Lv=6,Z2=["brand","currency","fallbackImage","hasCommerceOffer","hawkPricePending","hawkListings","image","isCheckPrice","merchant","merchantId","modelId","msrp","price","productKey","productName","rawMsrp","rawPrice","savingLabel","title","url"];function Hf(e){return String(e||"").trim().toLowerCase()}function Gv(e){return e==="UK"?"GB":e}function Pv(e,t){let n=String(t||"").trim().toUpperCase(),l={AU:["A$","AUD"],CA:["CA$","CAD"],DE:["\u20AC","EUR"],ES:["\u20AC","EUR"],FR:["\u20AC","EUR"],GB:["\xA3","GBP","GB\xA3"],IT:["\u20AC","EUR"],NL:["\u20AC","EUR"],US:["$","USD","US$"]}[e];return!l||l.includes(n)}function Hv(e,t){return String(e.id||`hawk-deal-${t}`)}function W2(e){return e.map(t=>({...t,hasCommerceOffer:!1,hawkPricePending:!!t.hawkModelName,hawkListings:[],image:t.fallbackImage||t.image||"",isCheckPrice:!0,merchant:"",merchantId:"",msrp:"",price:"",productKey:"",rawMsrp:0,rawPrice:0,savingLabel:"",url:t.sourceArticleUrl||t.documentUrl||t.url}))}function I2(e){return Z2.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}function qv(e){return!!((e.isBuyingGuideProduct||e.isReviewProduct)&&e.hawkModelName)}function J2(e){return e.model_image_url||e.model_image||e.product_image||e.image_url||e.image||""}function Fv(e){return e.link||e.url||e.offer_link||""}function $2(e,t){let n=String(t.model_id||t.id||"");return n&&e[n]?e[n]:Object.values(e).find(a=>String(a?.model_id||a?.id||"")===n)||{}}function eS(e,t,n){let a=e.map(i=>{let r=kf(i),o=Of(i,t),u=Fv(i),c=ee(String(o.merchant||"")).trim();return!u||!c||r.rawPrice<=0||!Pv(n,r.currency)?null:{merchant:c,merchantId:typeof i.merchant=="object"?String(i.merchant?.id||""):"",modelId:String(i.model_id||""),offer:i,productKey:String(i.product_key||""),rawPrice:r.rawPrice,url:u}}).filter(i=>i!==null).sort((i,r)=>i.rawPrice-r.rawPrice||i.merchant.localeCompare(r.merchant)),l=new Set;return a.filter(i=>{let r=i.merchant.toLocaleLowerCase();return l.has(r)?!1:(l.add(r),!0)}).slice(0,4)}async function zv(e,t,n){let a=`${t}|${Hf(e)}`;return Lf.has(a)||Lf.set(a,(async()=>{let l;try{let i=new AbortController;l=setTimeout(()=>i.abort(),Q2);let r=await n(Bv({query:e,region:t,resultCount:12}).toString(),{signal:i.signal});if(!r.ok)return null;let o=await r.json(),u=Ov(Nv(o)),c=Hf(e),s=u.filter(A=>Hf(A.model_name||A.model)===c),f=s.length?s:u,d=f[0]||null;if(!d)return null;let m=kv(o),v=$2(m,d);return{brand:String(v?.brand||d.brand||"").trim(),modelInfo:m,offer:d,offers:f}}catch{return null}finally{l&&clearTimeout(l)}})()),Lf.get(a)}function Uv(e,t,n){return e.map(a=>{let l=String(a.hawkModelName);if(!qv(a)||!t.has(l))return a;let i=t.get(l);if(!i)return{...a,hawkPricePending:!1};let{offer:r}=i.lookup,o=kf(r),u=Of(r,i.lookup.modelInfo),c=J2(r),s=Fv(r),f=ee(String(r.model_name||r.model||a.hawkModelName||a.productName||a.title||"").trim()),d=!!(i.region===n&&s&&Pv(n,o.currency)),m=i.region===n?eS(i.lookup.offers,i.lookup.modelInfo,n).map(({offer:v,...A})=>A):[];return d?{...a,brand:i.lookup.brand||r.brand||a.brand,currency:o.currency||a.currency,fallbackImage:c?a.image:a.fallbackImage,hasCommerceOffer:!0,hawkPricePending:!1,hawkListings:m,image:c||a.image,isCheckPrice:o.isCheckPrice,merchant:u.merchant||a.merchant,merchantId:typeof r.merchant=="object"&&r.merchant?.id||"",modelId:r.model_id||"",msrp:o.rawMsrp>0?String(o.rawMsrp):"",price:o.rawPrice>0?String(o.rawPrice):"",productKey:r.product_key||"",productName:f||a.productName,rawMsrp:o.rawMsrp,rawPrice:o.rawPrice,savingLabel:o.savingLabel,title:f||a.title,url:s||a.url}:{...a,brand:i.lookup.brand||a.brand,fallbackImage:c?a.image:a.fallbackImage,hawkPricePending:!1,image:c||a.image,productName:f||a.productName,title:f||a.title}})}async function vi(e,t,n=fetch,a,l=[],i){let r=Gv(t),o=new Map,u=e.filter(qv).map(f=>String(f.hawkModelName)),c=new Set(u),s=Array.from(new Set([...l.filter(f=>c.has(f)),...u])).slice(0,a);for(let f=0;f<s.length;f+=Lv)await Promise.all(s.slice(f,f+Lv).map(async d=>{let m=await zv(d,r,n),v=m||r==="GB"?null:await zv(d,"GB",n);o.set(d,m?{lookup:m,region:r}:v?{lookup:v,region:"GB"}:null),i?.(Uv(e,o,r))}));return Uv(e,o,r)}async function jv(e,t=fetch){let n=W2(e),a=await Promise.all(K2.map(async i=>[i,await vi(n,i,t)])),l=new Map;return a.forEach(([i,r])=>{r.forEach((o,u)=>{if(!o.hasCommerceOffer)return;let c=Hv(o,u),s=l.get(c)||{};s[i]=I2(o),l.set(c,s)})}),e.map((i,r)=>{let o=l.get(Hv(i,r));return o?{...i,hawkRegionalCommerce:o}:i})}function zf(e,t){let n=Gv(t);return e.map(a=>{let l=a.hawkRegionalCommerce?.[n];return l?{...a,...l,hawkPricePending:!1}:a})}function Yv(e,t){let n=Array.from(new Set(e.map(i=>i.merchant).filter(Boolean))),a={};if(n.forEach(i=>{a[i]="loading"}),n.length===0)return{merchants:n,couponMap:a,couponUrl:null};let l=new URL("https://search-api.fie.future.net.uk/widget.php");return l.searchParams.append("model_name","Everything"),l.searchParams.append("filter_merchant_name",n.join(",")),l.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),l.searchParams.append("sort","voucher"),l.searchParams.append("rows","120"),l.searchParams.append("origin","widgets-clientside"),l.searchParams.append("combine_product_types","1"),l.searchParams.append("language","en-GB"),l.searchParams.append("all_filters","false"),l.searchParams.append("exclude_unlabelled","false"),l.searchParams.append("include_specs","false"),t&&t!=="auto"&&l.searchParams.append("area",t),{merchants:n,couponMap:a,couponUrl:l}}function Vv(e,t){let n=new URL("https://search-api.fie.future.net.uk/widget.php");return n.searchParams.append("model_name","Everything"),n.searchParams.append("language","en-GB"),t&&t!=="auto"&&n.searchParams.append("area",t),n.searchParams.append("combine_product_types","1"),n.searchParams.append("filter_merchant_name",e),n.searchParams.append("all_filters","false"),n.searchParams.append("exclude_unlabelled","false"),n.searchParams.append("include_specs","false"),n.searchParams.append("sort","voucher"),n.searchParams.append("distinct_merchants","natural"),n.searchParams.append("filter_product_types","vouchers,offer_deals,newsletter"),n.searchParams.append("rows","50"),n.searchParams.append("origin","widgets-clientside"),n}function Uf(e,t,n=!0){if(!e?.length)return e||[];if(t==="date_desc"&&!n)return e;let a=[...e];return ln(a,t,n),a}function uc(e,t,n,a=!0){if(n!=="date_desc"||!e?.length)return t;let l=(c,s)=>String(c.id||s),i=new Map(t.map((c,s)=>[l(c,s),c])),r=new Set,o=e.flatMap((c,s)=>{let f=l(c,s);r.add(f);let d=i.get(f);return d?[d]:[]}),u=t.filter((c,s)=>!r.has(l(c,s)));return a?[...o.filter(nl),...u.filter(nl),...o.filter(c=>!nl(c)),...u.filter(c=>!nl(c))]:[...o,...u]}function Xv({activeDealTag:e,activeFreeformTag:t,clickedAuthorOverride:n,compactEmbed:a,compactInventoryExplored:l,compactLoadRequested:i,initialActiveDealTag:r,initialActiveFreeformTag:o,reviewInventoryBaked:u}){return!!(a&&u&&!n&&!i&&!l&&(!e||e===r)&&(!t||t===o))}var Qv=[0,50,100,150,200,250,300,350,400,450],Gf=4;function Kv(e){return(Array.isArray(e)?e:[e]).reduce((n,a)=>{if(typeof a!="string"||!a.trim())return n;let l=a.trim();return n.some(i=>i.toLowerCase()===l.toLowerCase())?n:[...n,l]},[])}function nS(e,t){return e.length===t.length&&e.every((n,a)=>n===t[a])}function Pf(e){return e.map(t=>t.trim().toLowerCase()).sort().join("|")}function qf(e){let t=e.initialData,n=Fu(e),a=!!(e.preloadReviewInventory&&!n),l=!!(e.preloadReviewInventory&&e.includeReviewProducts&&!e.compactEmbed),i=n?Number(e.resultCount)||12:100,r=n?!1:e.prioritiseCommercialProducts,o=wt(e.region),u=zf(t?.allDeals||t?.deals||[],o).filter(_=>P0(_,o)),c=wa(n?"date_desc":e.sort,!Or(e)),s=!!(e.priceRange&&e.priceRange!=="all")||!!(e.discountAmount&&e.discountAmount!=="0"&&e.discountAmount!=="all"),f=tl(t?.authorArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),d=tl(t?.authorInteractionArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),[m,v]=(0,N.useState)(()=>Uf(u,c,r)),[A,b]=(0,N.useState)(t?.totalDealCount??t?.allDeals?.length??t?.deals?.length??0),[h,g]=(0,N.useState)(t?.totalAuthorCount??t?.authors?.length??0),[p,y]=(0,N.useState)(!t),[C,R]=(0,N.useState)(!1),[T,M]=(0,N.useState)(!1),[w,D]=(0,N.useState)(!1),[k,se]=(0,N.useState)(t?.couponMap||{}),[I,j]=(0,N.useState)(f),[He,ze]=(0,N.useState)(f),[St,Ie]=(0,N.useState)(t?.tags||[]),[rn,Be]=(0,N.useState)(t?.tagCounts||{}),[Je,nt]=(0,N.useState)(t?.freeformTags||[]),[X,de]=(0,N.useState)(t?.freeformTagCounts||{}),[$e,Z]=(0,N.useState)(t?.brands||[]),[x,P]=(0,N.useState)(()=>{let _=t?.activeDealTag||e.query;return _&&_.toLowerCase()!=="everything"?_:null}),[Q,Vn]=(0,N.useState)(()=>Kv(t?.activeFreeformTags||t?.activeFreeformTag)),[jr,bi]=(0,N.useState)(f),[sc,ll]=(0,N.useState)(null),[at,Yr]=(0,N.useState)(!1),[il,Vr]=(0,N.useState)(""),[rl,Xr]=(0,N.useState)(""),[f1,g1]=(0,N.useState)(0),[Wt,dc]=(0,N.useState)(e.resultCount?parseInt(e.resultCount):12),[Xf,fc]=(0,N.useState)(!1),[m1,Qr]=(0,N.useState)(null),[gc,h1]=(0,N.useState)(!1),[mc,p1]=(0,N.useState)([0]),Kr=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`:""),hc=(0,N.useRef)(t?`${e.website||"tomsguide"}|${e.authorHandle||""}|${e.authorName||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}|age-${e.editorialMaxAgeMonths||"none"}`:""),y1=(0,N.useRef)(e.website||"tomsguide"),pc=(0,N.useRef)(e.website||"tomsguide"),Qf=(0,N.useRef)(u.length>0),Kf=(0,N.useRef)(null),ol=(0,N.useRef)(new Map),v1=(0,N.useRef)({activeDealTag:String(x||"").trim().toLowerCase(),freeformTags:Pf(Kv(t?.activeFreeformTags||t?.activeFreeformTag)),discountAmount:e.discountAmount,priceRange:e.priceRange}),Xn=(0,N.useRef)(!1),De=(0,N.useRef)(!1),Ai=(0,N.useRef)(!1),Zf=(_,oe,ne=at?il:e.authorHandle,we=at?rl:e.authorName)=>[e.website||"tomsguide",ne||"",we||"",wt(e.region),String(_||"").trim().toLowerCase(),Pf(oe),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),Wf=(_,oe)=>{let ne=v1.current;return!!(e.compactEmbed&&t?.brands?.length&&String(_||"").trim().toLowerCase()===ne.activeDealTag&&Pf(oe)===ne.freeformTags&&e.priceRange===ne.priceRange&&e.discountAmount===ne.discountAmount)},Zr=(_,oe)=>{let ne=ol.current.get(Zf(_,oe));if(ne){Z(ne);return}if(Wf(_,oe)){Z(t?.brands||[]);return}},ul=()=>Xn.current||n?void 0:e.productSelection;(0,N.useEffect)(()=>{ll(null)},[e.authorName,e.authorHandle]),(0,N.useLayoutEffect)(()=>{let _=e.website||"tomsguide";pc.current!==_&&(pc.current=_,v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),ol.current.clear(),se({}),Yr(!1),Vr(""),Xr(""),ll(null),P(null),Vn([]),g(0),b(0),M(!1),fc(!1),Qr(null),Ai.current=!1,R(!0),y(!0))},[e.website]),(0,N.useEffect)(()=>{e.compactEmbed||typeof document>"u"||setTimeout(()=>{document.dispatchEvent(new CustomEvent("processArticle"))},100)},[m,Wt,e.query,x,Q]),(0,N.useEffect)(()=>{e.resultCount&&(dc(parseInt(e.resultCount,10)||12),Qr(null))},[e.resultCount]),(0,N.useEffect)(()=>{Qr(null)},[x,Q,e.authorHandle,e.authorName,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands,e.sort]),(0,N.useEffect)(()=>{if(!t||!e.includeBuyingGuideProducts&&!e.includeReviewProducts||e.compactEmbed&&(De.current||e.refreshDealsOnViewport))return;let _=wt(e.region),oe=zf(t.allDeals||t.deals||[],_);if(_==="unavailable"){let It=oe.map(on=>(on.isBuyingGuideProduct||on.isReviewProduct)&&on.hawkModelName?{...on,hawkPricePending:!1}:on);ln(It,c,r),v(yn(It,ul(),c));return}let ne=al(oe,e.selectedBrands),we=Number(e.resultCount)||12,Ta=typeof navigator>"u"?void 0:navigator.connection,Ea=!Ta?.saveData&&!Ta?.effectiveType?.includes("2g")&&(!e.compactEmbed||!!e.warmInventory),Si=s?ne:t.reviewInventoryBaked?ne.slice(0,Wt+(Ea?we:0)):oe;if(!Si.some(It=>(It.isBuyingGuideProduct||It.isReviewProduct)&&It.hawkModelName))return;let sl=!0;return M(!0),vi(Si,_).then(It=>{if(!sl)return;let on=t.reviewInventoryBaked?lv(oe,It):It,Ir=al(on,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(lt=>(lt.isBuyingGuideProduct||lt.isReviewProduct)&&lt.hawkModelName?{...lt,hawkPricePending:!1}:lt);ln(Ir,c,r),v(yn(Ir,ul(),c)),Z(lt=>t?.brands?.length?lt:hf(lt,It))}).finally(()=>{sl&&M(!1)}),()=>{sl=!1}},[t,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,e.selectedBrands,e.discountAmount,e.priceRange,c,e.productSelection,Wt,e.resultCount,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,x,Q]),(0,N.useEffect)(()=>{let _=!0,oe=new AbortController,ne=Ai.current,we=!e.refreshDealsOnViewport&&Xv({activeDealTag:x,activeFreeformTag:Q[0]||null,clickedAuthorOverride:at,compactEmbed:e.compactEmbed,compactInventoryExplored:De.current,compactLoadRequested:gc,initialActiveDealTag:t?.activeDealTag,initialActiveFreeformTag:t?.activeFreeformTag,reviewInventoryBaked:t?.reviewInventoryBaked}),Ta=u.length>0,Ea=!!(n&&e.compactEmbed&&!De.current),Si=!!(Ea&&e.warmInventory&&I.length===0&&m.length>0),sl=!!(we||e.compactEmbed&&Ta&&I.length===0&&!at&&!gc&&!De.current&&!e.refreshDealsOnViewport&&(!n||!e.warmInventory));return!sl&&!ne&&!Si&&(R(!0),e.compactEmbed&&De.current&&v([])),(async()=>{D(!1),M(!1);let on=m.length>0||St.length>0||Je.length>0||$e.length>0,Ir=sl;try{if(!e.authorName&&!e.authorHandle){v([]),j([]),bi([]),Ie([]),nt([]),Z([]),ll(null),P(null),Vn([]),y(!0);return}let lt=at?il:e.authorHandle,Jr=at?rl:e.authorName,$r=`${e.website||"tomsguide"}|${lt||""}|${Jr||""}|${e.includeBuyingGuideProducts?"buying-guides":""}|${e.includeReviewProducts?"reviews":""}|${e.includeDeals===!1?"no-deals":"deals"}|${e.includeCollections===!1?"no-collections":"collections"}`,yc=`${$r}|${e.compactEmbed&&x||""}|${e.compactEmbed?Q.join(","):""}|${e.compactEmbed&&De.current?"expanded":e.refreshDealsOnViewport?"viewport-refresh":"initial"}|lightweight-pages-${Ea?mc.join(","):"all"}|age-${e.editorialMaxAgeMonths||"none"}`,Jt=I,$f=St,U1=ev(Je,Q.length===1?Q[0]:null),eg=()=>({activeDealTag:x,activeFreeformTag:Q[0]||null,activeFreeformTags:Q,preserveFreeformTagSelection:!!(e.compactEmbed&&Q.length),authorHandle:lt,authorName:Jr,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,priceRange:e.priceRange,prioritiseCommercialProducts:r,productSelection:ul(),query:e.query,region:e.region,selectedArticleId:sc,selectedBrands:e.selectedBrands,sort:c,website:e.website}),tg=hc.current!==yc||Jt.length===0,Da=[],vc=!1,ng=(me,zt=!1)=>{if(!_||zt&&vc)return;let bn=al(me,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange});ln(bn,c,r);let Di=yn(bn,ul(),c);v(uc(Da,Di,c,r))};if(Ir){y(!1),R(!1);return}if(tg){let me=Kr.current.split("|")[0],zt=e.website||"tomsguide",bn=!!(Kr.current&&me!==zt);!ne&&!Si&&R(!!e.compactEmbed||!on),bn&&(Jt=[],$f=[],v(()=>[]),j(()=>[]),ze(()=>[]),bi(()=>[]),Ie(()=>[]),Be({}),nt(()=>[]),de({}),Z(()=>[]),se({}),Yr(!1),Vr(""),Xr(""),y(!0));let Di=Qf.current&&Kr.current===$r&&Jt.length===0&&!De.current;Qf.current=!1,!Di&&!on&&y(!0);let lo=Ba=>{if(!_||Ba.length===0)return;let fe=eg(),it=Cf(Ba,fe),{displayedDeals:io}=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);io.length!==0&&(Da=io,v(Da),y(!1),e.includeReviewProducts&&Nf(it.targetArticles,e.website||"tomsguide",Math.min(Wt,Gf),c).then(()=>{if(!_||vc)return;let An=ic(it.targetArticles,fe,it.activeRegionCode,it.targetIso);Da=An.displayedDeals,v(Da);let xi=An.displayedDeals.filter(dt=>dt.isReviewProduct&&dt.hawkModelName).slice(0,Gf).map(dt=>String(dt.hawkModelName));vi(An.extractedDeals,it.activeRegionCode,void 0,Gf,xi,dt=>ng(dt,!0))}))};if(Jt=await _v({authorHandle:lt,authorName:Jr,fallbackAuthorName:e.authorName,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,articleCategory:e.compactEmbed&&x||void 0,articleTag:e.compactEmbed?U1:void 0,pageStarts:e.compactEmbed&&!e.warmInventory&&!De.current?[0]:void 0,reviewPageStarts:e.includeReviewProducts?Ea?mc:!e.compactEmbed||De.current?Qv:void 0:void 0,loadAllReviewPages:!Ea,throwOnFailure:!!(e.compactEmbed&&De.current),onBackgroundRefresh:Ba=>{if(!_||hc.current!==yc)return;let fe=tl(Ba,void 0,Number(e.editorialMaxAgeMonths)||0);j(fe),at||ze(fe),g1(it=>it+1)},onProgress:lo,signal:oe.signal,website:e.website}),!_)return;if(Jt=tl(Jt,void 0,Number(e.editorialMaxAgeMonths)||0),Kr.current=$r,hc.current=yc,Di&&Jt.length===0){y(!1);return}_&&(j(Jt),at||ze(Jt),R(!1))}let eo=eg(),G1=Cf(Jt,eo),{activeDealTag:xa,activeRegionCode:Ci,authorArticles:ag,activeFreeformTags:Ma,freeformTagCounts:lg,freeformTags:to,tagCounts:ig,tags:Ri,targetArticles:_a,targetIso:P1}=G1,Ti=e.compactEmbed&&x&&!xa?x:xa,Ei=e.compactEmbed&&Q.length>0&&Ma.length===0?Q:Ma,q1=Ri.length>0?Ri:Ti?[Ti]:Ri,F1=to.length>0?to:Ei.length>0?t?.freeformTags?.filter(me=>Ei.includes(me.handle))||[]:to,j1={...ig,...Ti&&!xa?{[Ti]:0}:{}},Y1={...lg,...Object.fromEntries(Ma.length===0?Ei.map(me=>[me,0]):[])},no=Zf(xa,Ma,lt,Jr),rg=[$r,Ci,xa||"",Ma.join(","),e.selectedBrands.join(","),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?"guides":"",e.includeReviewProducts?"reviews":"",e.includeDeals===!1?"no-deals":"deals",e.includeCollections===!1?"no-collections":"collections"].join("|"),dl=null,fl=null;if(!at){let me=Kf.current;if(me?.key===rg&&me.articleCount===_a.length)dl=me.deals.length,fl=me.authorCount;else{let zt=dv(_a,eo);dl=zt.deals.length,fl=zt.authorCount,Kf.current={articleCount:_a.length,authorCount:fl,deals:zt.deals,key:rg}}}$f=Ri;let Ht;_&&(Ie(q1),Be(j1),nt(F1),de(Y1)),e.includeReviewProducts&&await Nf(_a,e.website||"tomsguide",l?Math.min(_a.length,i):Wt,c);let{brands:bc,displayedDeals:Ac,extractedDeals:ao}=ic(_a,eo,Ci,P1),{merchants:V1,couponMap:wc,couponUrl:X1}=Yv(Ac,e.region);_&&se(wc);let Q1=me=>{!_||!Ht||(Ht={...Ht,couponMap:me},window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht))};if(hv({couponMap:wc,couponUrl:X1,merchants:V1}).then(me=>{_&&(se(me),Q1(me))}),_){tg&&P(Ti),nS(Q,Ei)||Vn(Ei),bi(ag);let me=uc(Da,Ac,c,r);if(vc=!0,v(me),dl!==null){let zt=t?.totalDealCount||0,bn=Ea&&zt>dl;b(bn?zt:dl),g(bn?Math.max(t?.totalAuthorCount||0,fl||0):fl||0)}!ol.current.has(no)&&Wf(xa,Ma)&&ol.current.set(no,t?.brands||[]),Z(ol.current.get(no)||bc),y(!1),Ht=fv({allArticles:Jt,authorArticles:ag,bakeReviewInventory:a&&!e.compactEmbed,brands:bc,couponMap:wc,currentDealTag:xa,currentFreeformTags:Ma,displayedDeals:me,inventoryArticles:_a,options:eo,resultCount:e.resultCount,tagCounts:ig,tags:Ri,freeformTagCounts:lg,freeformTags:to,totalAuthorCount:fl??h,totalDealCount:dl??A}),window.__AUTHOR_PRELOAD_DATA__=Ht,e.onDataLoaded&&e.onDataLoaded(Ht)}if((e.includeBuyingGuideProducts||e.includeReviewProducts)&&Ci!=="unavailable"){let me=Wt,zt=l?ao.filter(fe=>fe.isReviewProduct&&fe.hawkModelName).slice(0,i).map(fe=>String(fe.hawkModelName)):[],bn=Ac.filter(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName).map(fe=>String(fe.hawkModelName));ao.some(fe=>(fe.isBuyingGuideProduct||fe.isReviewProduct)&&fe.hawkModelName)&&M(!0);let lo=vi(ao,Ci,void 0,s?void 0:e.includeReviewProducts?l?i:me:void 0,[...zt,...bn],ng).then(async fe=>{if(!_)return;let it=al(fe,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(dt=>(dt.isBuyingGuideProduct||dt.isReviewProduct)&&dt.hawkModelName?{...dt,hawkPricePending:!1}:dt);ln(it,c,r);let io=yn(it,ul(),c),An=uc(Da,io,c,r),xi=hf(bc,fe);if(ol.current.set(no,xi),v(An),Z(xi),s&&b(it.length),Ht){let dt=a&&!e.compactEmbed,og=l,ug=dt?ac(An,Number(e.resultCount)||12):og?An.slice(0,i):An,K1=og?await jv(ug):ug;if(!_)return;let Sc={...Ht,allDeals:K1,deals:An.slice(0,me),brands:xi,totalDealCount:s?it.length:Ht.totalDealCount};Ht=Sc,window.__AUTHOR_PRELOAD_DATA__=Sc,e.onDataLoaded&&e.onDataLoaded(Sc)}}).finally(()=>{_&&M(!1)}),Ba=ao.slice(me,me+(Number(e.resultCount)||12));e.includeReviewProducts&&e.warmInventory&&!s&&!ne&&Ba.some(fe=>fe.hawkModelName)&&lo.then(()=>{_&&vi(Ba,Ci)}),ne&&await lo}}catch(lt){_&&D(!0)}finally{_&&(y(!1),R(!1),fc(!1),Ai.current=!1)}})(),()=>{_=!1,oe.abort()}},[e.query,e.region,e.selectedBrands,e.website,e.resultCount,Wt,c,e.priceRange,e.discountAmount,x,Q,e.authorName,e.authorHandle,e.website,e.authorBioLength,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,s,a,l,i,r,n,mc,e.productSelection,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,e.editorialMaxAgeMonths,sc,at,il,rl,f1,gc]);let Wr=e.website||"tomsguide",st=pc.current!==Wr,Ra=(0,N.useMemo)(()=>st?[]:y1.current===Wr&&t?.authors?t.authors:Lr(He.length>0?He:I,Wr),[I,Wr,He,t?.authors,st]),b1=at?il:e.authorHandle,A1=at?rl:e.authorName,w1=Ra.find(_=>_.handle===b1||_.fullName===A1),cl=He.length>0?He:I,If=(0,N.useMemo)(()=>{if(cl.length===0)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q),we=Sf(Ra,ne,{activeRegionCode:_,targetIso:oe,selectedBrands:e.selectedBrands,priceRange:e.priceRange,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website});return Yu(Ra,we)},[x,Q,Ra,cl,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands]),S1=(0,N.useMemo)(()=>{if(st)return[];if(cl.length===0&&t?.authors?.length||e.compactEmbed&&!x&&Q.length===0&&t?.authors?.length)return Ra;let _=wt(e.region),oe=an(_),ne=hi(Pr(cl,x),Q).filter(we=>mi([we],{activeRegionCode:_,targetIso:oe,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website}).length>0);return kr(If,ne)},[x,Q,cl,st,at,t?.authors?.length,e.compactEmbed,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,If,e.website]),Jf=(_,oe)=>{let ne=He.length>0?He:I.length>0?I:d;if(ne.length===0)return;let we=yv(ne,{authorHandle:_,authorName:oe,discountAmount:e.discountAmount,priceRange:e.priceRange,region:e.region,selectedBrands:e.selectedBrands,sort:c,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,prioritiseCommercialProducts:r,website:e.website,productSelection:void 0});ll(null),P(null),Vn([]),bi(we.authorArticles),Ie(we.tags),Be(we.tagCounts),nt(we.freeformTags),de(we.freeformTagCounts),Z(we.brands),v(we.deals),y(!1)},C1=()=>{!e.compactEmbed||!t||(v(yn(Uf(t.deals||t.allDeals||[],c,r),ul(),c)),Ie(t.tags||[]),Be(t.tagCounts||{}),nt(t.freeformTags||[]),de(t.freeformTagCounts||{}),Z(t.brands||[]),se(t.couponMap||{}),g(t.totalAuthorCount??t.authors?.length??0),b(t.totalDealCount??t.deals?.length??t.allDeals?.length??0))},R1=_=>{Xn.current=!0,De.current=!0,R(!0),at&&(il===_.handle||rl===_.fullName)?(e.compactEmbed&&t?C1():Jf(e.authorHandle,e.authorName),Yr(!1),Vr(""),Xr("")):(Jf(_.handle,_.fullName),Yr(!0),Vr(_.handle),Xr(_.fullName)),e.onQueryChange?.("")},T1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=x===_?null:_;Zr(oe,Q),P(oe),e.onQueryChange?.("")},E1=()=>{Xn.current=!0,De.current=!0,R(!0)},D1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(null,Q),P(null),e.onQueryChange?.("")},x1=_=>{Xn.current=!0,De.current=!0,R(!0);let oe=Q.some(ne=>ne.toLowerCase()===_.toLowerCase())?Q.filter(ne=>ne.toLowerCase()!==_.toLowerCase()):[...Q,_];Zr(x,oe),Vn(oe)},M1=()=>{Xn.current=!0,De.current=!0,R(!0),Zr(x,[]),Vn([])},_1=_=>{Xn.current=!0,De.current=!0,R(!0),ll(_)},B1=()=>{if(Ai.current)return;Ai.current=!0,fc(!0);let _=Wt+(e.resultCount?parseInt(e.resultCount,10):12);!!(n&&e.compactEmbed&&!De.current)&&I.length>0&&m.length<_&&p1(we=>{let Ta=Qv[we.length];return Ta===void 0?we:[...we,Ta]}),dc(we=>(Qr(we),we+(e.resultCount?parseInt(e.resultCount,10):12)));let ne=!!(t?.reviewInventoryBaked&&m.length>Wt);e.compactEmbed&&I.length===0&&!ne&&(R(!0),h1(!0))},wi=e.compactEmbed&&!e.refreshDealsOnViewport,N1=wi&&t?.tags?.length?t.tags:St,O1=wi&&t?.tags?.length?t.tagCounts||{}:rn,k1=wi&&!De.current&&t?.brands?.length?t.brands:$e,L1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTags:Je,H1=wi&&t?.freeformTags?.length&&(!De.current||Q.length===1)?t.freeformTagCounts||{}:X,z1=pv({enrichingBuyingGuides:T,error:w,loading:p,loadingMore:Xf,refreshingFeed:C});return{activeDealTag:x,activeFreeformTags:Q,airedaleBrands:st?[]:k1,airedaleTagCounts:st?{}:O1,airedaleTags:st?[]:N1,airedaleFreeformTagCounts:st?{}:H1,airedaleFreeformTags:st?[]:L1,allAuthorsList:S1,authorArticlesList:st?[]:jr,clickedAuthorOverride:at,couponMap:k,deals:st?[]:m,displayCount:Wt,error:w,enrichingBuyingGuides:T,effectiveAuthorProfile:st?void 0:w1,loading:p,loadingMore:Xf,loadMoreStartCount:m1,markProductSelectionInteracted:E1,hasMore:m.length>Wt||!!e.compactEmbed&&A>m.length,loadMore:B1,refreshingFeed:C,overriddenAuthorHandle:il,overriddenAuthorName:rl,selectedArticleId:sc,setActiveDealTag:P,clearDealTag:D1,clearFreeformTags:M1,selectArticle:_1,setDisplayCount:dc,setSelectedArticleId:ll,status:z1,toggleAuthorOverride:R1,toggleDealTag:T1,toggleFreeformTag:x1,totalAuthorCount:st?0:h,totalDealCount:st?0:A}}var aS=B(ft(),1);var Fr=B(ft(),1);function Zv(e){let[t,n]=(0,Fr.useState)(null),[a,l]=(0,Fr.useState)([]),[i,r]=(0,Fr.useState)(!1),[o,u]=(0,Fr.useState)(!1);return{close:()=>n(null),error:o,loading:i,merchant:t,open:async f=>{n(f),r(!0),u(!1),l([]);try{let d=Vv(f,e),m=await fetch(d.toString());if(!m.ok)throw new Error("API Error");l(mv(await m.json()))}catch(d){u(!0)}finally{r(!1)}},vouchers:a}}var je=B(O(),1);function lS(e){return new Set(e.map(t=>Array.isArray(t.authorName)?t.authorName[0]:t.authorName).map(t=>String(t||"").trim().toLowerCase()).filter(Boolean)).size}var iS=new Map,rS=()=>{};function Iv({data:e,editorBar:t,editorMode:n=!1,props:a,selectedDeals:l=iS,setSelectedDeals:i=rS}){let r=Zv(a.region),[o,u]=(0,Wv.useState)(new Set),c=p0[a.website||""]||"#1F69FF",s=a.backgroundColor?a.backgroundColor==="white"?"#ffffff":a.backgroundColor==="transparent"?"transparent":a.backgroundColor==="light_blue"?"#E7F0FF":void 0:void 0,f=Vu(a.authorHandle,a.authorName),d=Or(a),m=Fu(a),v=wa(m?"date_desc":a.sort,!d),A=!!(a.showReviewSort&&a.includeReviewProducts),b=a.showPriceDiscountFilters!==!1||A,h=!a.authorFullBleed,g=!e.clickedAuthorOverride,p=e.totalDealCount||e.deals.length,y=e.totalAuthorCount||lS(e.deals),C=e.status==="loading_inventory"||e.status==="refreshing_inventory"||e.status==="enriching_visible_cards",R=e.status==="loading_inventory"||(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards")&&e.deals.length===0,M=!!(a.showReviewSort&&a.includeReviewProducts&&(e.status==="refreshing_inventory"||e.status==="enriching_visible_cards"))?"Loading and sorting available review products":e.status==="enriching_visible_cards"?"Adding live product images and prices":e.status==="refreshing_inventory"?"Updating products":`Loading ${a.website||"site"} authors and products`,w=j=>{e.markProductSelectionInteracted(),a.onBrandToggle?.(j)},D=j=>{e.markProductSelectionInteracted(),a.onBrandSelect?.(j)},k=j=>{e.markProductSelectionInteracted(),a.onPriceRangeChange?.(j)},se=j=>{e.markProductSelectionInteracted(),a.onDiscountAmountChange?.(j)},I=j=>{e.markProductSelectionInteracted(),a.onSortChange?.(j)};return(0,je.jsx)("div",{className:"tg-df-widget-host",style:{"--tg-df-blue":c.toUpperCase()==="#FFFFFF"?"#000000":c},"data-vizualizer-embed":"true","data-tg-df-full-bleed":a.authorFullBleed?"true":"false","data-tg-df-mobile-dropdowns":a.mobileDropdowns?"true":"false","data-tg-df-sticky-mobile-filters":a.stickyMobileFilters===!1?"false":"true",children:(0,je.jsxs)("div",{className:"tg-df-container article-body",style:a.backgroundColor?{backgroundColor:s}:void 0,children:[(a.showAuthorIdentity!==!1||a.showAuthorBio!==!1)&&(0,je.jsx)("div",{className:"tg-df-author-embed",style:{width:"100%",fontFamily:"inherit"},children:(0,je.jsx)("div",{className:"tg-df-author-section",style:{display:"block",opacity:1,overflow:"visible",background:"transparent",border:"none"},children:(0,je.jsx)(U0,{authorArticlesList:e.authorArticlesList,authorBioLength:a.authorBioLength,customBio:g?a.customBio:void 0,customHeaderKicker:a.customHeaderKicker,customHeaderTitle:a.customHeaderTitle,effectiveAuthorHandle:e.clickedAuthorOverride?e.overriddenAuthorHandle:a.authorHandle,effectiveAuthorName:e.clickedAuthorOverride?e.overriddenAuthorName:a.authorName,isReviewWidget:d,onBioChange:g?a.onBioChange:void 0,onHeaderKickerChange:a.onHeaderKickerChange,onHeaderTitleChange:a.onHeaderTitleChange,selectedProfile:e.effectiveAuthorProfile,showAuthorBio:a.showAuthorBio,showAuthorIdentity:a.showAuthorIdentity,showSocialButtons:a.showSocialButtons,stabilizeBio:f,authorCount:y,totalDealCount:p,website:a.website})})}),t,a.showCollectionsDropdown&&(0,je.jsx)(r0,{articles:e.authorArticlesList,authorHandle:a.authorHandle,authorName:a.authorName||a.author,onChange:e.selectArticle,selectedArticleId:e.selectedArticleId,shortenedHeadlines:a.shortenedHeadlines}),C&&(0,je.jsxs)("div",{role:"status","aria-live":"polite","aria-label":M,style:{alignItems:"center",display:"flex",justifyContent:"center",marginBottom:"16px",minHeight:"72px"},children:[(0,je.jsx)("span",{className:"tg-df-coupon-spinner","aria-hidden":"true",style:{borderWidth:"3px",height:"24px",width:"24px"}}),(0,je.jsxs)("span",{style:{color:"#4B5563",fontSize:"14px",marginLeft:"10px"},children:[M,"\u2026"]})]}),(0,je.jsx)(_0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,allAuthorsList:e.allAuthorsList,brands:a.brands,clickedAuthorOverride:e.clickedAuthorOverride,loading:e.loading,refreshing:e.refreshingFeed,onAuthorClick:e.toggleAuthorOverride,onBrandToggle:w,onFreeformTagClick:e.toggleFreeformTag,onTagClick:e.toggleDealTag,overriddenAuthorHandle:e.overriddenAuthorHandle,overriddenAuthorName:e.overriddenAuthorName,selectedBrands:a.selectedBrands,showAuthorRail:f&&a.showAuthorRail!==!1,showAuthorCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,website:a.website}),(0,je.jsx)(k0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,brands:a.brands,discountAmount:a.discountAmount,enabled:a.mobileDropdowns||h,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,onPriceRangeChange:k,onReviewSortChange:I,onTagClear:e.clearDealTag,onTagClick:e.toggleDealTag,priceRange:a.priceRange,reviewSort:v,selectedBrands:a.selectedBrands||[],showCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),b&&(0,je.jsx)(L0,{airedaleBrands:e.airedaleBrands,airedaleTags:e.airedaleTags,discountAmount:a.discountAmount,hidden:!!e.selectedArticleId,onDiscountAmountChange:se,onPriceRangeChange:k,onReviewSortChange:I,priceRange:a.priceRange,reviewSort:v,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),(0,je.jsx)(i0,{articles:e.authorArticlesList,selectedArticleId:e.selectedArticleId}),(a.showCategoryRail!==!1||a.showFreeformTagRail!==!1||a.showBrandRail!==!1)&&(0,je.jsx)(a0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleTags:e.airedaleTags,freeformTags:e.airedaleFreeformTags,discountAmount:a.discountAmount,onBrandSelect:D,onBrandToggle:w,onDiscountAmountChange:se,onPriceRangeChange:k,onTagClear:e.clearDealTag,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,priceRange:a.priceRange,selectedBrands:a.selectedBrands||[]}),(0,je.jsx)(w0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,couponMap:e.couponMap,deals:e.deals,displayCount:e.displayCount,editorMode:n,error:e.error,expandedDealIds:o,hasMore:e.hasMore,hideHawkPrices:a.hideHawkPrices,loading:R,loadingMore:e.loadingMore,loadMoreStartCount:e.loadMoreStartCount,onDescriptionToggle:j=>u(He=>{let ze=new Set(He);return ze.has(j)?ze.delete(j):ze.add(j),ze}),onLoadMore:e.loadMore,onOpenVouchers:r.open,query:a.query,recentDealsOnly:!!(a.includeDeals&&!a.includeCollections&&!a.includeBuyingGuideProducts&&!a.includeReviewProducts),selectedBrands:a.selectedBrands,selectedDeals:l,setSelectedDeals:i,website:a.website}),(0,je.jsx)(G0,{error:r.error,loading:r.loading,merchant:r.merchant,onClose:r.close,vouchers:r.vouchers})]})})}var $v=B(O(),1),Jv=e=>{let t={...e,editorMode:!1},n=qf(t);return(0,$v.jsx)(Iv,{data:n,props:t})};var U={authorBioLength:"short",authorFullBleed:!0,authorHandle:"all-authors",authorName:"All authors",backgroundColor:"transparent",customBio:"",customHeaderKicker:void 0,customHeaderTitle:void 0,discountAmount:"0",editorMode:!1,editorialMaxAgeMonths:"12",includeBuyingGuideProducts:!0,includeCollections:!0,includeDeals:!0,includeReviewProducts:!1,mobileDropdowns:!0,stickyMobileFilters:!0,offerType:"",preloadReviewInventory:!1,lightweightReviewDelivery:!1,hideHawkPrices:!1,prioritiseCommercialProducts:!0,priceRange:"all",productSelection:"latest",query:"Everything",region:"auto",resultCount:"12",retailer:"",selectedBrands:[],showAuthorBio:!0,showAuthorCounters:!0,showAuthorIdentity:!0,showAuthorRail:!0,showBrandRail:!0,showCategoryRail:!0,showCollectionsDropdown:!1,showPriceDiscountFilters:!0,showReviewSort:!1,showSocialButtons:!0,showCountdown:!1,showHeaderDetails:!0,showFreeformTagRail:!0,sort:"date_desc",viewMode:"author",website:"whowhatwear",widgetSubtitle:"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.",widgetTitle:"Top Deals Handpicked by Our Editors"};function We(e,t){return typeof e=="string"?e:t}function Ae(e,t){return typeof e=="boolean"?e:t}function e1(e){let t=e||{},n=t.authorBioLength==="long"?"long":"short",a=t.productSelection==="mix"?"mix":"latest";return{...U,...t,authorBioLength:n,authorFullBleed:Ae(t.authorFullBleed,U.authorFullBleed),authorHandle:We(t.authorHandle,U.authorHandle),authorName:We(t.authorName,U.authorName),backgroundColor:We(t.backgroundColor,U.backgroundColor),customBio:We(t.customBio,U.customBio),customHeaderKicker:typeof t.customHeaderKicker=="string"?t.customHeaderKicker:void 0,customHeaderTitle:typeof t.customHeaderTitle=="string"?t.customHeaderTitle:void 0,discountAmount:We(t.discountAmount,U.discountAmount),editorMode:Ae(t.editorMode,U.editorMode),editorialMaxAgeMonths:We(t.editorialMaxAgeMonths,U.editorialMaxAgeMonths),includeBuyingGuideProducts:Ae(t.includeBuyingGuideProducts,U.includeBuyingGuideProducts),includeCollections:Ae(t.includeCollections,U.includeCollections),includeDeals:Ae(t.includeDeals,U.includeDeals),includeReviewProducts:Ae(t.includeReviewProducts,U.includeReviewProducts),mobileDropdowns:Ae(t.mobileDropdowns,U.mobileDropdowns),stickyMobileFilters:Ae(t.stickyMobileFilters,U.stickyMobileFilters),offerType:We(t.offerType,U.offerType),preloadReviewInventory:Ae(t.preloadReviewInventory,U.preloadReviewInventory),lightweightReviewDelivery:Ae(t.lightweightReviewDelivery,U.lightweightReviewDelivery),hideHawkPrices:Ae(t.hideHawkPrices,U.hideHawkPrices),prioritiseCommercialProducts:Ae(t.prioritiseCommercialProducts,U.prioritiseCommercialProducts),priceRange:We(t.priceRange,U.priceRange),productSelection:a,query:We(t.query,U.query),region:We(t.region,U.region),resultCount:We(t.resultCount,U.resultCount),retailer:We(t.retailer,U.retailer),selectedBrands:Array.isArray(t.selectedBrands)?t.selectedBrands.filter(l=>typeof l=="string"):[],showAuthorBio:Ae(t.showAuthorBio,U.showAuthorBio),showAuthorCounters:Ae(t.showAuthorCounters,U.showAuthorCounters),showAuthorIdentity:Ae(t.showAuthorIdentity,U.showAuthorIdentity),showAuthorRail:Ae(t.showAuthorRail,U.showAuthorRail),showBrandRail:Ae(t.showBrandRail,U.showBrandRail),showCategoryRail:Ae(t.showCategoryRail,U.showCategoryRail),showCollectionsDropdown:Ae(t.showCollectionsDropdown,U.showCollectionsDropdown),showPriceDiscountFilters:Ae(t.showPriceDiscountFilters,U.showPriceDiscountFilters),showReviewSort:Ae(t.showReviewSort,U.showReviewSort),showSocialButtons:Ae(t.showSocialButtons,U.showSocialButtons),showCountdown:Ae(t.showCountdown,U.showCountdown),showHeaderDetails:Ae(t.showHeaderDetails,U.showHeaderDetails),showFreeformTagRail:Ae(t.showFreeformTagRail,U.showFreeformTagRail),sort:We(t.sort,U.sort),viewMode:We(t.viewMode,U.viewMode),website:We(t.website,U.website),widgetSubtitle:We(t.widgetSubtitle,U.widgetSubtitle),widgetTitle:We(t.widgetTitle,U.widgetTitle)}}function t1(e,t={}){return{...e,brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}}function n1(e,t){try{window.hawk?.analytics?.freyr?.push({name:e,data:t}),window.dispatchEvent(new CustomEvent("hawk-analytics-update")),window.freyr?.cmd.push(()=>{window.freyr?.pushAndUpdate?.(e,t)})}catch{}}function a1(){window.dataLayer=window.dataLayer||[],window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.hawk=window.hawk||{},window.hawk.analytics=window.hawk.analytics||{},window.hawk.analytics.freyr=window.hawk.analytics.freyr||[],window.freyr=window.freyr||{cmd:[]},window.freyr.cmd=window.freyr.cmd||[];let e="https://freyr.futurecdn.net/freyr.js",t=window.location.hostname;if(!(window.navigator.webdriver||window.navigator.userAgent.includes("Headless"))&&!!t&&t!=="localhost"&&t!=="127.0.0.1"&&!t.includes("run.app")&&!document.querySelector(`script[src="${e}"]`)){let l=document.createElement("script");l.src=e,l.async=!0,document.head.appendChild(l)}}function oS(e){let t=Number.parseFloat(e.rawPrice||e.price)||null,n=Number.parseFloat(e.rawMsrp||e.msrp)||null;return{product:{primary:{id:e.externalProductId||e.id||e.matchId||null,name:e.productName||e.title||"",type:"deal",price:t,previousPrice:n,currency:e.isoCurrencyCode||e.currency||"USD",preorder:!1,labels:e.modelBrand||e.brand?[{type:"brand",value:e.modelBrand||e.brand}]:[],link:e.url||null,originalLink:e.originalLink||e.url||null,revenueId:e.revenueId||null,startTime:null,endTime:null,voucherCode:null,voucherAudience:null,voucherPercentageSaving:n&&t&&n>t?Math.round((1-t/n)*100):null,voucherMoneySaving:null,voucherType:null,offerExclusive:!1,offerScope:null,globalId:e.productKey||null,inStock:e.inStock!==!1,contractProvider:null,contractMinutes:null,contractTexts:null,contractData:null,contractLength:null,contractMonthlyPrice:null,contractCurrency:e.isoCurrencyCode||e.currency||"USD"}},merchant:{id:e.merchantId||null,name:e.merchant||"Retailer",url:e.merchantUrl||null,network:e.merchantNetwork||null},model:{id:e.modelId||null,brand:e.modelBrand||e.brand||null,name:e.productName||e.title||"",parent:e.modelParent||null}}}var uS=new Set(["subid1","ascsubtag","clickref","u1"]);function cS(e){return e.match(/(?:^|[-_])(\d{10,})(?=$|[-_])/)?.[1]||null}function sS(e){let t=new Set,n=a=>{if(!a||t.has(a))return null;t.add(a);let l;try{l=new URL(a)}catch{return null}for(let[i,r]of l.searchParams)if(uS.has(i.toLowerCase())){let o=cS(r);if(o)return o}for(let i of l.searchParams.values())if(/^https?:\/\//i.test(i)){let r=n(i);if(r)return r}return null};return n(e)}function l1({areaClicked:e,clickType:t,deals:n,index:a,queryName:l}){let i={event:"hawkEvent",category:"Affiliates",affiliate:{action:{type:t,id:"author-widget",event:t==="appeared"?"viewed":"Click from",timestamp:Date.now()},component:{flag:"Editor",product:"deals",category:"Signal Deal Finder Author widget",type:t==="appeared"?"review":"signal product",label:l||n[0]?.productName||n[0]?.title||"",index:a??-1,linkCount:n.length,blockLayout:"",areaClicked:e}},products:n.slice(0,20).map(oS),reviews:[],_clear:!0,"gtm.uniqueEventId":Date.now()%1e4};n1("hawkEvent",i)}function i1(e,t){e.length&&l1({areaClicked:"",clickType:"appeared",deals:e,index:null,queryName:t})}function r1(e,t){if(e?.deals?.length)return e.deals;let n=Number(t)||12;return e?.allDeals?.slice(0,n)||[]}function o1(e){e.addEventListener("click",t=>{let n=t.target;if(!(n instanceof Element))return;let a=n.closest("a[data-fcaw-affiliate-link][href], a.hawk-affiliate-link-deal-widget[href], a.hawk-affiliate-link-container[href], a.hawk-affiliate-link-deal-button[href]"),l=n.closest(".tg-df-card"),i=!!(!a?.dataset.fcawRevenueId&&(a?.hasAttribute("data-hl-processed")||a?.hasAttribute("data-fcaw-hawklinks-requested")));a&&l&&!i&&l1({areaClicked:"Signal Product Card",clickType:"retailer",deals:[{brand:l.dataset.brand,currency:l.dataset.currency,id:l.dataset.dealId,merchant:a.dataset.merchant||l.dataset.merchant,merchantId:a.dataset.merchantId||l.dataset.merchantId,modelId:a.dataset.modelId||l.dataset.modelId,productKey:a.dataset.productKey||l.dataset.productKey,rawMsrp:l.dataset.previousPrice,rawPrice:l.dataset.price,originalLink:a.dataset.fcawOriginalLink||a.href,revenueId:a.dataset.fcawRevenueId||sS(a.href),title:l.dataset.productName,url:a.href}],index:Array.from(e.querySelectorAll(".tg-df-card")).indexOf(l)});let r=n.closest('button, select, [role="button"]');r&&n1("elementInteraction",{element:{action:"click",id:r.id||void 0,class:r.className||void 0,name:r.getAttribute("name")||r.getAttribute("aria-label")||void 0,text:r.textContent?.trim()||void 0,label:r.getAttribute("aria-label")||void 0}})})}var Vf=B(O(),1),dS='fc-author-commerce-widget[data-fcaw-version="1"]',fS="(max-width: 599px)",gS=600,mS='[class*="membership-expandable-banner"]',hS=/^jump\s+to\b/i,jf="data-fcaw-jump-navigation-suppressed",pS=50,yS=1e4,vS=["[data-sticky-header]","[data-header-sticky]",'[role="banner"]',".navigation__container",".site-header",".main-header",".header__container",'[class*="membership-expandable-banner"] [class*="skinny-banner"]','[class*="membership-expandable-banner"] [id="skinnyBanner"]',"nav","header"].join(","),bS=`  :host {    display: block !important;    width: 100% !important;    min-width: 0 !important;    max-width: none !important;    isolation: isolate !important;    contain: style !important;  }  :host([data-fcaw-full-bleed="true"]) {    width: min(      1200px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1200px !important;    margin-left: var(      --fcaw-full-bleed-offset,      calc(50% - min(600px, 50vw))    ) !important;    margin-right: 0 !important;    position: relative !important;  }  :host([data-fcaw-full-bleed="true"]) #tg-df-spreadsheet-filters {    width: min(      1500px,      var(--fcaw-viewport-width, 100vw)    ) !important;    max-width: 1500px !important;    margin-left: calc(      (        100% -        min(1500px, var(--fcaw-viewport-width, 100vw))      ) / 2    ) !important;    margin-right: 0 !important;  }  :host, :host *, :host *::before, :host *::after {    box-sizing: border-box;  }`,Ff=new WeakMap;function AS(){if(document.querySelector("style[data-fcaw-jump-navigation-protection]"))return;let e=document.createElement("style");e.setAttribute("data-fcaw-jump-navigation-protection",""),e.textContent=`    [${jf}="true"] {      opacity: 0 !important;      pointer-events: none !important;      visibility: hidden !important;    }  `,document.head.appendChild(e)}function wS(){let e=Array.from(document.querySelectorAll("span, p, div, strong, b")).filter(n=>n.childElementCount===0&&hS.test(n.textContent?.trim()||"")),t=new Set;for(let n of e)for(let a=n.parentElement;a&&a!==document.body;a=a.parentElement)if(getComputedStyle(a).position==="sticky"){t.add(a);break}return[...t]}function SS(e,t,n){let a=Ff.get(e)||new Set;n?a.add(t):a.delete(t),a.size>0?(Ff.set(e,a),e.setAttribute(jf,"true")):(Ff.delete(e),e.removeAttribute(jf))}function CS(e){if(e.dataset.fcawFullBleed!=="true"||typeof IntersectionObserver>"u")return;let t=wS().filter(a=>!a.contains(e));if(t.length===0)return;AS(),new IntersectionObserver(([a])=>{t.forEach(l=>SS(l,e,a.isIntersecting))},{threshold:0}).observe(e)}function RS({host:e,initialData:t,initialProps:n}){let[a]=(0,Lt.useState)(d1),l=DS(t,a),[i,r]=(0,Lt.useState)(n.query),[o,u]=(0,Lt.useState)(n.selectedBrands),[c,s]=(0,Lt.useState)(n.priceRange),[f,d]=(0,Lt.useState)(n.discountAmount),[m,v]=(0,Lt.useState)(n.sort),[A,b]=(0,Lt.useState)(!1),h=!!(A&&n.compactEmbed&&n.includeDeals!==!1),g=(0,Lt.useRef)(!1);return(0,Lt.useEffect)(()=>{let p=()=>{g.current||(g.current=!0,i1(r1(l,n.resultCount),n.query))};if(typeof IntersectionObserver>"u"){p();return}let y=new IntersectionObserver(([C])=>{C?.isIntersecting&&(p(),y.disconnect())},{threshold:.1});return y.observe(e),()=>y.disconnect()},[e,l,n.query]),(0,Lt.useEffect)(()=>{if(typeof IntersectionObserver>"u"){b(!0);return}let p=new IntersectionObserver(([y])=>{y?.isIntersecting&&(b(!0),p.disconnect())},{rootMargin:"800px 0px"});return p.observe(e),()=>p.disconnect()},[e]),(0,Vf.jsx)(Jv,{...n,region:a||"unavailable",initialData:l,warmInventory:A,refreshDealsOnViewport:h,query:i,selectedBrands:o,priceRange:c,discountAmount:f,sort:m,editorMode:!1,onQueryChange:r,onBrandSelect:u,onBrandToggle:p=>u(y=>y.includes(p)?y.filter(C=>C!==p):[...y,p]),onPriceRangeChange:s,onDiscountAmountChange:d,onSortChange:v})}function TS(e){try{let t=document.cookie.match(new RegExp(`(?:^|;\\s*)${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}catch{return}}function cc(e){let n=String(e||"").trim().toUpperCase().replace("_","-").split("-").at(-1);return n==="UK"?"GB":["US","GB","AU","CA","DE","FR","IT","ES","NL"].includes(n||"")?n:void 0}function d1(){let e=new URLSearchParams(window.location.search).get("area");return cc(e)||cc(TS("FTR_Country_Code"))||cc(document.documentElement.getAttribute("data-locale"))||cc(window.navigator.language)}function u1(e,t){let n=e.querySelector(t);if(n?.textContent)try{return JSON.parse(n.textContent)}catch(a){console.warn("Author widget configuration could not be parsed.",a);return}}function ES(e){return e?.reviewInventoryFormat!==nv||!e.allDeals?e:{...e,allDeals:av(e.allDeals)}}function DS(e,t){let n=t?e?.regionalDealManifests?.[t]:void 0;if(!n)return e;let a=e?.regionalDealRailData?.[t];return{...e,allDeals:void 0,deals:n,...a}}function c1(e){e.querySelectorAll("a[href]").forEach(t=>{(t.hasAttribute("data-fcaw-affiliate-link")||t.classList.contains("hawk-affiliate-link-deal-widget")||t.classList.contains("hawk-affiliate-link-container")||t.classList.contains("hawk-affiliate-link-deal-button"))&&(t.rel="sponsored nofollow noopener")})}function xS(e){let t=e.closest(".tg-df-card"),n=t?.dataset.fcawRevenueId||e.dataset.fcawRevenueId;if(n)return n;let a=[window.location.href,t?.dataset.productName||"",t?.dataset.merchant||"",t?.dataset.modelId||"",new Date().toDateString(),"tomsguide"].join("|"),l=0;for(let r=0;r<a.length;r+=1)l=(l<<5)-l+a.charCodeAt(r),l|=0;let i=String(Math.abs(l));for(;i.length<19;)l=(l<<5)-l+i.length,l|=0,i+=String(Math.abs(l));return i=i.slice(0,19),t&&(t.dataset.fcawRevenueId=i),i}function MS(e){let t=e.dataset.fcawOriginalLink||e.href;if(!t.includes("hawk-custom-tracking"))return!1;let n=d1();if(!n)return!1;let a=xS(e);return e.dataset.fcawOriginalLink=t,e.dataset.fcawRevenueId=a,e.href=t.replaceAll("hawk-custom-tracking",`tomsguide-${n.toLowerCase()}-${a}`),e.setAttribute("data-fcaw-hawklinks-requested","true"),!0}function _S(){return!!window.hawklinks?.version}function BS(e){let t=!1,n,a,l=()=>Array.from(e.querySelectorAll(".article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-widget[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-container[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-button[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested])")),i=()=>{t=!1;let u=l();if(u.length===0)return;let c=u.filter(s=>!MS(s));if(c.length!==0){if(!_S()){let s=Date.now();a??=s,!n&&s-a<yS&&(n=window.setTimeout(()=>{n=void 0,r()},pS));return}a=void 0,c.forEach(s=>s.setAttribute("data-fcaw-hawklinks-requested","true")),document.dispatchEvent(new CustomEvent("processArticle",{detail:{element:e}}))}},r=()=>{t||(t=!0,window.setTimeout(i,0))},o=new MutationObserver(r);return o.observe(e,{attributes:!0,attributeFilter:["href"],childList:!0,subtree:!0}),r(),()=>{o.disconnect(),n&&window.clearTimeout(n)}}function NS(e){if(e.dataset.fcawFullBleed!=="true")return;let t=()=>{let n=document.documentElement.clientWidth||window.innerWidth,a=Math.min(1200,n),l=Math.max(0,(n-a)/2),i=e.parentElement?.getBoundingClientRect().left||0;e.style.setProperty("--fcaw-full-bleed-offset",`${l-i}px`),e.style.setProperty("--fcaw-viewport-width",`${n}px`)};t(),window.addEventListener("resize",t,{passive:!0}),typeof ResizeObserver<"u"&&e.parentElement&&new ResizeObserver(t).observe(e.parentElement)}function OS(e){let t=window.matchMedia(fS),n=!1,a=new Set,l=new Map,i,r=()=>t.matches||e.getBoundingClientRect().width<gS,o=()=>{n||(n=!0,window.requestAnimationFrame(s))},u=()=>{if(typeof MutationObserver>"u")return;let f=new Set(Array.from(document.querySelectorAll(mS)));l.forEach((d,m)=>{f.has(m)&&m.isConnected||(d.disconnect(),l.delete(m))}),f.forEach(d=>{if(l.has(d))return;let m=new MutationObserver(o);m.observe(d,{attributes:!0,attributeFilter:["class","style"],childList:!0,subtree:!0}),l.set(d,m)})},c=f=>{let d=new Set(f);a.forEach(m=>{d.has(m)||(i?.unobserve(m),m.removeEventListener("transitionend",o),a.delete(m))}),f.forEach(m=>{a.has(m)||(i?.observe(m),m.addEventListener("transitionend",o),a.add(m))})},s=()=>{if(n=!1,u(),!r()){c([]),e.style.removeProperty("--fcaw-mobile-sticky-offset");return}let f=Number.parseFloat(getComputedStyle(e).getPropertyValue("--fcaw-publisher-sticky-offset"));if(Number.isFinite(f)&&f>=0){c([]),e.style.setProperty("--fcaw-mobile-sticky-offset",`${f}px`);return}let d=Array.from(document.querySelectorAll(vS)).filter(v=>{if(v.contains(e))return!1;let A=getComputedStyle(v).position;return A==="fixed"||A==="sticky"});c(d);let m=d.reduce((v,A)=>{let b=A.getBoundingClientRect();return b.top>2||b.bottom<=0||b.height<=0||b.height>window.innerHeight*.5?v:Math.max(v,b.bottom)},0);e.style.setProperty("--fcaw-mobile-sticky-offset",`${Math.ceil(m)}px`)};return typeof ResizeObserver<"u"&&(i=new ResizeObserver(o),i.observe(e)),s(),window.addEventListener("scroll",o,{capture:!0,passive:!0}),window.addEventListener("resize",o,{passive:!0}),t.addEventListener?.("change",o),()=>{window.removeEventListener("scroll",o,!0),window.removeEventListener("resize",o),t.removeEventListener?.("change",o),i?.disconnect(),a.forEach(f=>f.removeEventListener("transitionend",o)),a.clear(),l.forEach(f=>f.disconnect()),l.clear()}}function kS(e){if(e.dataset.fcawEnhanced==="true")return;let t=u1(e,"script[data-fcaw-config]");if(!t)return;let n={...t1(e1(t),{brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}),compactEmbed:t.compactEmbed,editorMode:!1,warmInventory:t.warmInventory},a=u1(e,"script[data-fcaw-preload]"),l=ES(a),i=e.querySelector("[data-fcaw-fallback]");if(!i)return;NS(e),CS(e),n.stickyMobileFilters!==!1&&OS(e),c1(i);let r=e.shadowRoot||e.attachShadow({mode:"open"}),o=e.querySelector(":scope > style[data-fcaw-host-protection]");if(o&&r.appendChild(o),!r.querySelector("style[data-fcaw-shadow-protection]")){let c=document.createElement("style");c.setAttribute("data-fcaw-shadow-protection",""),c.textContent=bS,r.appendChild(c)}i.querySelectorAll(":scope > style").forEach(c=>{r.appendChild(c)});let u=document.createElement("div");for(u.setAttribute("data-fcaw-mount","");i.firstChild;)u.appendChild(i.firstChild);i.remove(),r.appendChild(u),e.dataset.fcawEnhanced="true",a1(),e.dataset.fcawAnalyticsReady="true",o1(r),BS(r),(0,s1.createRoot)(u).render((0,Vf.jsx)(RS,{host:e,initialData:l,initialProps:n})),window.setTimeout(()=>c1(r),0)}function Yf(){document.querySelectorAll(dS).forEach(kS)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yf,{once:!0}):Yf();new MutationObserver(Yf).observe(document.documentElement,{childList:!0,subtree:!0});})();/*! Bundled license information:react/cjs/react.production.js:  (**   * @license React   * react.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)scheduler/cjs/scheduler.production.js:  (**   * @license React   * scheduler.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom.production.js:  (**   * @license React   * react-dom.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react-dom/cjs/react-dom-client.production.js:  (**   * @license React   * react-dom-client.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)react/cjs/react-jsx-runtime.production.js:  (**   * @license React   * react-jsx-runtime.production.js   *   * Copyright (c) Meta Platforms, Inc. and affiliates.   *   * This source code is licensed under the MIT license found in the   * LICENSE file in the root directory of this source tree.   *)*/</script></div><h2 class="article-body__section" id="section-prime-day-controller-deals-in-the-uk"><span>Prime Day controller deals in the UK</span></h2><h2 id="where-are-the-best-prime-day-controller-deals-in-the-uk">Where are the best Prime Day controller deals in the UK?</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.co.uk/s?k=controllers&crid=60S1AC87VO31&sprefix=controller%2Caps%2C134&ref=nb_sb_noss_1" target="_blank">Big discounts on top-brand controllers</a></li><li><strong>Overclockers:</strong> <a href="https://www.overclockers.co.uk/peripherals/gamepads-game-controllers?q=controllers&_gl=1*hw2u4v*_up*MQ..*_ga*MTQ2NzEzNjg2OC4xNzkwNjgwODU3*_ga_123456*czE3OTA2ODA4NTckbzEkZzAkdDE3OTA2ODA4ODYkajMxJGwwJGgxODc0NzI0ODg.*_ga_7SS7XDNBS9*czE3OTA2ODA4NTckbzEkZzAkdDE3OTA2ODA4ODckajMwJGwwJGgw" target="_blank">A whole bunch of controllers to choose from</a></li><li><strong>Scan:</strong> <a href="https://www.scan.co.uk/shop/computer-hardware/game-controllers/all" target="_blank">Gamepads from just £15</a></li><li><strong>Box: </strong><a href="https://box.co.uk/xbox-controllers" target="_blank">Controllers for everyone</a></li><li><strong>Currys:</strong> <a href="https://www.currys.co.uk/gaming/controllers/controllers/pc-gaming-controllers" target="_blank">Controllers from as little as £20</a></li><li><strong>Argos: </strong><a href="https://www.argos.co.uk/search/controllers/?clickOrigin=searchbar:search:term:controllers" target="_blank">Good prices on budget to high-end controllers</a></li></ul><div class="product"><a data-dimension112="ed2168f0-b8e6-11f1-bd9e-09a49d41ae96" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="£18.99" href="https://www.amazon.co.uk/GameSir-Wireless-Controller-Bluetooth-Vibration-Nova-Lite-White/dp/B0CMCQ6WMC" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="soVwABeC6nbkWkMrnx2xcR" name="GameSir Nova Lite 2.4g Wireless Controller.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/soVwABeC6nbkWkMrnx2xcR-1920-80.jpg" mos="" align="middle" fullscreen="" width="200" height="200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/GameSir-Wireless-Controller-Bluetooth-Vibration-Nova-Lite-White/dp/B0CMCQ6WMC" target="_blank" rel="nofollow" data-dimension112="ed2168f0-b8e6-11f1-bd9e-09a49d41ae96" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="£18.99">Nova Lite: was £24.99 now £18.99</a></strong><br>This gaming controller remains our <a href="https://www.pcgamer.com/best-controller-for-pc-gaming/#section-the-best-budget-controller" target="_blank">top budget pick</a> for good reason. <a href="https://www.pcgamer.com/hardware/controllers/gamesir-nova-lite-controller-review/" target="_blank">In our review</a>, James was particularly impressed by just how much GameSir cram into such an affordable package, highlighting the controller's Hall Effect sticks and 2.4 GHz connectivity.</p><p><strong>Key specs: Hall effect thumb sticks | 2.4G wireless | 10 h battery</strong><a class="view-deal button" href="https://www.amazon.co.uk/GameSir-Wireless-Controller-Bluetooth-Vibration-Nova-Lite-White/dp/B0CMCQ6WMC" target="_blank" rel="nofollow" data-dimension112="ed2168f0-b8e6-11f1-bd9e-09a49d41ae96" data-action="Deal Block" data-label="Nova Lite" data-dimension48="Nova Lite" data-dimension25="£18.99">View Deal</a></p></div><div class="product"><a data-dimension112="ed216954-b8e6-11f1-adcd-0932edd735c4" data-action="Deal Block" data-label="Nova Lite 2" data-dimension48="Nova Lite 2" data-dimension25="£24.89" href="https://www.amazon.co.uk/GameSir-Lite-Controller-Joysticks-Remappable/dp/B0F3D25PD3/ref=sr_1_4" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="VGAcVx239apmX4EGiGsDnE" name="1781519450.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VGAcVx239apmX4EGiGsDnE-1920-80.jpg" mos="" align="middle" fullscreen="" width="1509" height="1499" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/GameSir-Lite-Controller-Joysticks-Remappable/dp/B0F3D25PD3/ref=sr_1_4" target="_blank" rel="nofollow" data-dimension112="ed216954-b8e6-11f1-adcd-0932edd735c4" data-action="Deal Block" data-label="Nova Lite 2" data-dimension48="Nova Lite 2" data-dimension25="£24.89">Nova Lite 2: was £29.99 now £24.89</a></strong><br>An upgraded and improved version of the Nova Lite, this controller sets the standard for what you can score for a relatively slim amount of money. Hall effect everywhere and a mechanical D-pad.</p><p><strong>Key specs: Hall effect joysticks + triggers | 2.4G wireless | 1000 Hz polling</strong><a class="view-deal button" href="https://www.amazon.co.uk/GameSir-Lite-Controller-Joysticks-Remappable/dp/B0F3D25PD3/ref=sr_1_4" target="_blank" rel="nofollow" data-dimension112="ed216954-b8e6-11f1-adcd-0932edd735c4" data-action="Deal Block" data-label="Nova Lite 2" data-dimension48="Nova Lite 2" data-dimension25="£24.89">View Deal</a></p></div><div class="product"><a data-dimension112="ed216a1c-b8e6-11f1-8b55-b98dde0e4a49" data-action="Deal Block" data-label="Pro 3" data-dimension48="Pro 3" data-dimension25="£52.99" href="https://www.amazon.co.uk/8Bitdo-Pro-Bluetooth-Controller-Switch/dp/B0FFGQ6J35" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="PkKDcfAPjhcUAT2setQ2WW" name="8BitDo Pro 3 product image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PkKDcfAPjhcUAT2setQ2WW-1920-80.png" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/8Bitdo-Pro-Bluetooth-Controller-Switch/dp/B0FFGQ6J35" target="_blank" rel="nofollow" data-dimension112="ed216a1c-b8e6-11f1-8b55-b98dde0e4a49" data-action="Deal Block" data-label="Pro 3" data-dimension48="Pro 3" data-dimension25="£52.99">Pro 3: was £59.99 now £52.99</a></strong><br>Though a little on the narrower side, this well-balanced controller remains comfortable to play through long sessions. A 20-hour battery life, plus the option to game while you charge (even without using the included dock), ensures this gamepad won't leave you high and dry when you need it most.</p><p><strong>Key specs: TMR sticks | Hall effect triggers | Swappable ABXY Buttons | Charging dock | 2.4 G wireless | 20h battery</strong><a class="view-deal button" href="https://www.amazon.co.uk/8Bitdo-Pro-Bluetooth-Controller-Switch/dp/B0FFGQ6J35" target="_blank" rel="nofollow" data-dimension112="ed216a1c-b8e6-11f1-8b55-b98dde0e4a49" data-action="Deal Block" data-label="Pro 3" data-dimension48="Pro 3" data-dimension25="£52.99">View Deal</a></p></div><div class="product"><a data-dimension112="ed216a80-b8e6-11f1-a77b-dfb6a059ad32" data-action="Deal Block" data-label="Wolverine V3 Pro" data-dimension48="Wolverine V3 Pro" data-dimension25="£158.91" href="https://www.amazon.co.uk/Razer-Wolverine-Pro-Controller-thumbsticks/dp/B0D7W5L9YY/ref=sr_1_1_sspa" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1508px;"><p class="vanilla-image-block" style="padding-top:99.34%;"><img id="bEho7QQ2jdCF6Vr3xoypw" name="1781520197.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/bEho7QQ2jdCF6Vr3xoypw-1920-80.jpg" mos="" align="middle" fullscreen="" width="1508" height="1498" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Razer-Wolverine-Pro-Controller-thumbsticks/dp/B0D7W5L9YY/ref=sr_1_1_sspa" target="_blank" rel="nofollow" data-dimension112="ed216a80-b8e6-11f1-a77b-dfb6a059ad32" data-action="Deal Block" data-label="Wolverine V3 Pro" data-dimension48="Wolverine V3 Pro" data-dimension25="£158.91">Wolverine V3 Pro: was £199.99 now £158.91</a></strong><br>A superb controller that's sufficiently endgame for most players. Every button and trigger offers excellent feedback and it features Hall effect sticks for improved stick drift resistance.</p><p><strong>Key specs: Hall effect joysticks | 2.4G wireless | mecha-tactile buttons</strong><a class="view-deal button" href="https://www.amazon.co.uk/Razer-Wolverine-Pro-Controller-thumbsticks/dp/B0D7W5L9YY/ref=sr_1_1_sspa" target="_blank" rel="nofollow" data-dimension112="ed216a80-b8e6-11f1-a77b-dfb6a059ad32" data-action="Deal Block" data-label="Wolverine V3 Pro" data-dimension48="Wolverine V3 Pro" data-dimension25="£158.91">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Father's Day is fast approaching, so I've picked out 12 awesome gift ideas for gaming dads without a single pair of socks to be found ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Father's Day is on <strong>Sunday, June 21</strong> this year, and if you're anything like me, you're already scrambling to think of something to buy. I've got good news for gaming dads, though—I've found 12 PC gaming gift ideas that would make any of them very, very happy indeed.</p><p>From mouse pads and tool sets to gaming controllers, mice, and chairs, there's definitely something here that will suit any gamer dad down to the ground. And indeed, suit any budget. Because whether you're looking for a high-end gift they'll cherish for years, or something small and affordable that'll demonstrate how much you've been paying attention to their hobbies, this list should pretty much cover it all.</p><p>Should you wish to really flash your cash this Father's Day, I'll also point you towards our <a href="https://www.pcgamer.com/gaming-laptop-deals/" target="_blank">cheap gaming laptop deals</a> and <a href="https://www.pcgamer.com/best-cheap-gaming-pc/" target="_blank">cheap gaming PC deals</a> pages. But for the rest of us looking for something more affordable, I reckon any of the 12 items below are perfect for the gamer dad in your life. And none of them are socks, I promise.</p><h3 class="article-body__section" id="section-pc-gaming-gifts-for-father-s-day"><span>PC gaming gifts for Father's Day</span></h3>        <div class="featured_product_block featured_block_hero" data-id="da38a603-3522-4734-9e4e-024588866aec">            <a href="https://www.amazon.com/CORSAIR-CH-9100020-WW-High-Performance-Optimized-Designed/dp/B01MS4C5WX/" data-model-name="MM100 Cloth Mouse Pad" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/TcHrXMmJxHi3eVx6xQu2SG.jpg" alt="A Corsair MM100 cloth mouse pad on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Corsair</div>                                        <div class="featured__title">MM100 Cloth Mouse Pad</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="840a488c-4762-4d54-a971-b5f747b5975a">            <a href="https://www.amazon.com/Precision-Screwdriver-Security-Cleaning-Doorbell/dp/B09PY8WQHJ/" data-model-name="40pcs Small Precision Magnetic Screwdriver Set" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/g7tVEDvp9o5vrvMRUeK5WQ.jpg" alt="A Jorest 40-piece small precision electronic screwdriver set in orange and black, on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Jorest</div>                                        <div class="featured__title">40pcs Small Precision Magnetic Screwdriver Set</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="50958f75-3b32-427c-bda9-c129733ba8b3">            <a href="https://www.amazon.com/Anchor-ORIGINAL-Under-Desk-Headphone-Stand/dp/B00P31BMHG/" data-model-name="The Anchor™ - Under-Desk Headphone Holder" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/488A2DNRve9Dufgp8UCf7e.jpg" alt="The Anchor under-desk headphone holder, on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Elevation Lab</div>                                        <div class="featured__title">The Anchor™ - Under-Desk Headphone Holder</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="0feec9e2-964a-4d4b-8768-d8a3456138a8">            <a href="https://www.amazon.com/Govee-Brighter-Million-Controlled-Kitchen/dp/B07N1CMGQQ/" data-model-name="Smart RGB LED Strip Lights" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/nXTRwbkuN2vHRVf2n2CamV.jpg" alt="A Govee Smart RGB LED strip light kit, with smartphone controls"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Govee</div>                                        <div class="featured__title">Smart RGB LED Strip Lights</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="69f92473-68dd-4436-b8b4-d0fae5b78c1e">            <a href="https://www.amazon.com/GameSir-Wireless-Controller-Bluetooth-Vibration/dp/B0CMCQ6WMC/" data-model-name="Nova Lite 2.4 GHz Wireless Controller" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/2bsh3ofwbGDMyduLRNBA6o.jpg" alt="A GameSir Nova Lite gaming controller in white with 2.4 GHz dongle, on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>GameSir</div>                                        <div class="featured__title">Nova Lite 2.4 GHz Wireless Controller</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="34ab16f6-68ff-4625-931b-bbb403cecf09">            <a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-model-name="G502 Hero Wired Gaming Mouse, " data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/uLARxS2csE52fvupn5TRcG.jpg" alt="A Logitech G502 Hero wired gaming mouse on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Logitech</div>                                        <div class="featured__title">G502 Hero Wired Gaming Mouse, </div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="2998e2c9-d76d-4176-b130-1552f246dc82">            <a href="https://www.amazon.com/Razer-Firefly-Gaming-Mouse-Built/dp/B07ZDWHL4M/" data-model-name="Firefly V2 Hardtop RGB Gaming Mouse Pad" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/zj9ykQdxFBTbjHJhgHMZEH.jpg" alt="A Razer Firefly V2 hard gaming mouse pad with RGB lighting on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Razer</div>                                        <div class="featured__title">Firefly V2 Hardtop RGB Gaming Mouse Pad</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="490228c4-d43d-48e7-a887-9204506aa8cf">            <a href="https://www.amazon.com/Ultimate-Controller-Gaming-Joysticks-Switchable-Console/dp/B0DR8S2DQY/" data-model-name="Ultimate 2 Wireless Controller" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/7c9tzEEypwafSSRErHPtXW.jpg" alt="An 8BitDo Ultimate 2 Wireless controller on its dock, on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>8BitDo</div>                                        <div class="featured__title">Ultimate 2 Wireless Controller</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="5779fd2b-2f21-4a6d-a01d-ec95299582ea">            <a href="https://www.amazon.com/SteelSeries-Apex-RGB-Gaming-Keyboard/dp/B07ZGDPT4M/" data-model-name="Apex 3 RGB Gaming Keyboard" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/G2XhMRfBzHq38pqDhndsif.jpg" alt="A SteelSeries Apex 3 full-size gaming keyboard, with RGB lighting lit up in rainbow colours on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>SteelSeries</div>                                        <div class="featured__title">Apex 3 RGB Gaming Keyboard</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="e7e5887e-0870-410b-8d9e-13418b5dfe1c">            <a href="https://www.amazon.com/Razer-BlackShark-HyperSpeed-Wireless-Headset/dp/B0FH5YWH7B/" data-model-name="Blackshark V3 X HyperSpeed Wireless Gaming Headset" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/NhUg5QXvm4NuPfjGyRKte.jpg" alt="A Razer BlackShark V3X HyperSpeed wireless gaming headset on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Razer</div>                                        <div class="featured__title">Blackshark V3 X HyperSpeed Wireless Gaming Headset</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="674d6870-da44-480f-8d4f-458ebdbac574">            <a href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CW25XR5R/" data-model-name="Viper V3 Pro Wireless Gaming Mouse" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/HMmAgtzXuaAonobZxWrFxG.jpg" alt="A Razer Viper V3 Pro gaming mouse on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Razer</div>                                        <div class="featured__title">Viper V3 Pro Wireless Gaming Mouse</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fe2e48fd-ac17-4273-bb11-a4318c8d0c9a">            <a href="https://www.amazon.com/Corsair-TC100-Relaxed-Gaming-Chair/dp/B0BN6RRD5V/" data-model-name="TC100 Relaxed Gaming Chair" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/qz4uQF4pL5eoX8MdRMRwXd.jpg" alt="A Corsair TC100 Relaxed gaming chair on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Corsair</div>                                        <div class="featured__title">TC100 Relaxed Gaming Chair</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/fathers-day-is-fast-approaching-so-ive-picked-out-12-awesome-gift-ideas-for-gaming-dads-without-a-single-pair-of-socks-to-be-found/</link>
                                                                            <description>
                            <![CDATA[ Dad does not need more socks. Dad needs PC gaming gear. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">u2aopUq2ZHjGsRThG47co9</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/RBUJarZ8iNjYTra89VY8jS-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 09 Jun 2026 14:22:57 +0000</pubDate>                                                                                                                                <updated>Tue, 09 Jun 2026 14:23:14 +0000</updated>
                                                                                                                                            <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Andy Edser ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-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/RBUJarZ8iNjYTra89VY8jS-1920-80.jpg">
                                                            <media:credit><![CDATA[Corsair, Razer, GameSir, SteelSeries]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A gaming chair, gaming mouse, gaming keyboard, headset, mouse pad and game controller on a grey background]]></media:description>                                                            <media:text><![CDATA[A gaming chair, gaming mouse, gaming keyboard, headset, mouse pad and game controller on a grey background]]></media:text>
                                <media:title type="plain"><![CDATA[A gaming chair, gaming mouse, gaming keyboard, headset, mouse pad and game controller on a grey background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/RBUJarZ8iNjYTra89VY8jS-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Father's Day is on <strong>Sunday, June 21</strong> this year, and if you're anything like me, you're already scrambling to think of something to buy. I've got good news for gaming dads, though—I've found 12 PC gaming gift ideas that would make any of them very, very happy indeed.</p><p>From mouse pads and tool sets to gaming controllers, mice, and chairs, there's definitely something here that will suit any gamer dad down to the ground. And indeed, suit any budget. Because whether you're looking for a high-end gift they'll cherish for years, or something small and affordable that'll demonstrate how much you've been paying attention to their hobbies, this list should pretty much cover it all.</p><p>Should you wish to really flash your cash this Father's Day, I'll also point you towards our <a href="https://www.pcgamer.com/gaming-laptop-deals/" target="_blank">cheap gaming laptop deals</a> and <a href="https://www.pcgamer.com/best-cheap-gaming-pc/" target="_blank">cheap gaming PC deals</a> pages. But for the rest of us looking for something more affordable, I reckon any of the 12 items below are perfect for the gamer dad in your life. And none of them are socks, I promise.</p><h3 class="article-body__section" id="section-pc-gaming-gifts-for-father-s-day"><span>PC gaming gifts for Father's Day</span></h3>        <div class="featured_product_block featured_block_hero" data-id="da38a603-3522-4734-9e4e-024588866aec">            <a href="https://www.amazon.com/CORSAIR-CH-9100020-WW-High-Performance-Optimized-Designed/dp/B01MS4C5WX/" data-model-name="MM100 Cloth Mouse Pad" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/TcHrXMmJxHi3eVx6xQu2SG.jpg" alt="A Corsair MM100 cloth mouse pad on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Corsair</div>                                        <div class="featured__title">MM100 Cloth Mouse Pad</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="840a488c-4762-4d54-a971-b5f747b5975a">            <a href="https://www.amazon.com/Precision-Screwdriver-Security-Cleaning-Doorbell/dp/B09PY8WQHJ/" data-model-name="40pcs Small Precision Magnetic Screwdriver Set" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/g7tVEDvp9o5vrvMRUeK5WQ.jpg" alt="A Jorest 40-piece small precision electronic screwdriver set in orange and black, on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Jorest</div>                                        <div class="featured__title">40pcs Small Precision Magnetic Screwdriver Set</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="50958f75-3b32-427c-bda9-c129733ba8b3">            <a href="https://www.amazon.com/Anchor-ORIGINAL-Under-Desk-Headphone-Stand/dp/B00P31BMHG/" data-model-name="The Anchor™ - Under-Desk Headphone Holder" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/488A2DNRve9Dufgp8UCf7e.jpg" alt="The Anchor under-desk headphone holder, on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Elevation Lab</div>                                        <div class="featured__title">The Anchor™ - Under-Desk Headphone Holder</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="0feec9e2-964a-4d4b-8768-d8a3456138a8">            <a href="https://www.amazon.com/Govee-Brighter-Million-Controlled-Kitchen/dp/B07N1CMGQQ/" data-model-name="Smart RGB LED Strip Lights" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/nXTRwbkuN2vHRVf2n2CamV.jpg" alt="A Govee Smart RGB LED strip light kit, with smartphone controls"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Govee</div>                                        <div class="featured__title">Smart RGB LED Strip Lights</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="69f92473-68dd-4436-b8b4-d0fae5b78c1e">            <a href="https://www.amazon.com/GameSir-Wireless-Controller-Bluetooth-Vibration/dp/B0CMCQ6WMC/" data-model-name="Nova Lite 2.4 GHz Wireless Controller" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/2bsh3ofwbGDMyduLRNBA6o.jpg" alt="A GameSir Nova Lite gaming controller in white with 2.4 GHz dongle, on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>GameSir</div>                                        <div class="featured__title">Nova Lite 2.4 GHz Wireless Controller</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="34ab16f6-68ff-4625-931b-bbb403cecf09">            <a href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68/" data-model-name="G502 Hero Wired Gaming Mouse, " data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/uLARxS2csE52fvupn5TRcG.jpg" alt="A Logitech G502 Hero wired gaming mouse on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Logitech</div>                                        <div class="featured__title">G502 Hero Wired Gaming Mouse, </div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="2998e2c9-d76d-4176-b130-1552f246dc82">            <a href="https://www.amazon.com/Razer-Firefly-Gaming-Mouse-Built/dp/B07ZDWHL4M/" data-model-name="Firefly V2 Hardtop RGB Gaming Mouse Pad" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/zj9ykQdxFBTbjHJhgHMZEH.jpg" alt="A Razer Firefly V2 hard gaming mouse pad with RGB lighting on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Razer</div>                                        <div class="featured__title">Firefly V2 Hardtop RGB Gaming Mouse Pad</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="490228c4-d43d-48e7-a887-9204506aa8cf">            <a href="https://www.amazon.com/Ultimate-Controller-Gaming-Joysticks-Switchable-Console/dp/B0DR8S2DQY/" data-model-name="Ultimate 2 Wireless Controller" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/7c9tzEEypwafSSRErHPtXW.jpg" alt="An 8BitDo Ultimate 2 Wireless controller on its dock, on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>8BitDo</div>                                        <div class="featured__title">Ultimate 2 Wireless Controller</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="5779fd2b-2f21-4a6d-a01d-ec95299582ea">            <a href="https://www.amazon.com/SteelSeries-Apex-RGB-Gaming-Keyboard/dp/B07ZGDPT4M/" data-model-name="Apex 3 RGB Gaming Keyboard" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/G2XhMRfBzHq38pqDhndsif.jpg" alt="A SteelSeries Apex 3 full-size gaming keyboard, with RGB lighting lit up in rainbow colours on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>SteelSeries</div>                                        <div class="featured__title">Apex 3 RGB Gaming Keyboard</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="e7e5887e-0870-410b-8d9e-13418b5dfe1c">            <a href="https://www.amazon.com/Razer-BlackShark-HyperSpeed-Wireless-Headset/dp/B0FH5YWH7B/" data-model-name="Blackshark V3 X HyperSpeed Wireless Gaming Headset" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/NhUg5QXvm4NuPfjGyRKte.jpg" alt="A Razer BlackShark V3X HyperSpeed wireless gaming headset on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Razer</div>                                        <div class="featured__title">Blackshark V3 X HyperSpeed Wireless Gaming Headset</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="674d6870-da44-480f-8d4f-458ebdbac574">            <a href="https://www.amazon.com/Razer-Viper-Wireless-Esports-Gaming/dp/B0CW25XR5R/" data-model-name="Viper V3 Pro Wireless Gaming Mouse" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/HMmAgtzXuaAonobZxWrFxG.jpg" alt="A Razer Viper V3 Pro gaming mouse on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Razer</div>                                        <div class="featured__title">Viper V3 Pro Wireless Gaming Mouse</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fe2e48fd-ac17-4273-bb11-a4318c8d0c9a">            <a href="https://www.amazon.com/Corsair-TC100-Relaxed-Gaming-Chair/dp/B0BN6RRD5V/" data-model-name="TC100 Relaxed Gaming Chair" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/qz4uQF4pL5eoX8MdRMRwXd.jpg" alt="A Corsair TC100 Relaxed gaming chair on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Corsair</div>                                        <div class="featured__title">TC100 Relaxed Gaming Chair</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ October Prime Day gaming laptop deals ]]></title>
                                                                                                <dc:content><![CDATA[ <p>October Prime Day (or Big Deal Days, if you really must insist), has technically finished. The event ran until October 7, but the good news is that Newegg, Best Buy and more keep a lot of deals running well after Amazon's event finishes. So, there's still time to pick up a great deal on a gaming laptop.</p><p>👉<strong>We also collect deals all year round on our regular </strong><a href="https://www.pcgamer.com/gaming-laptop-deals/" target="_blank"><strong>best deals on gaming laptops</strong></a><strong> page.</strong>👈</p><p>There are still some good discounts on great machines at the moment, despite this year being full of price increases as a major theme. </p><p>I've broken the deals up into pricing categories, from cheap but very cheerful RTX 5050 machines for under $1,000, to the odd RTX 5080-equipped fire breathing monster cruising at just over $2,000. And everything in between, of course. </p><h2 class="article-body__section" id="section-where-to-buy-the-best-prime-day-gaming-laptop-deals"><span>Where to buy the best Prime Day gaming laptop deals</span></h2><ul><li><strong>Amazon:</strong> <a href="https://www.amazon.com/Acer-Nitro-Gaming-Laptop-512GB/dp/B0FRNL6NQ7/?th=1" target="_blank">Good lord, a <strong>$1,200 RTX 5070 Acer gaming laptop</strong></a></li><li><strong>Newegg:</strong> <a href="https://www.newegg.com/msi-16-0-geforce-rtx-5070-ti-laptop-gpu-fhd-16gb-memory-512-gb-nvme-ssd-512gb-hdd/p/2WC-000C-0JJ10" target="_blank">The best deal on an RTX 5070 Ti gaming laptop: MSI Vector 16 HX AI for $1,599</a></li><li><strong>Acer:</strong> <a href="https://www.bestbuy.com/product/acer-nitro-v-16-wuxga-165hz-gaming-laptop-intel-core-7-240h-2024-nvidia-geforce-rtx-5060-16gb-memory-512gb-storage-obsidian-black/JJ8V8QFPT8/sku/6675842" target="_blank">RTX 5060 Acer machine with 165 Hz display for $1,150</a></li><li><strong>Best Buy: </strong><a href="https://www.bestbuy.com/product/gigabyte-gaming-a16-16-165hz-1920x1200-wuxga-intel-core-i7-13620h-1tb-ssd-32gb-ddr5-ram-geforce-rtx-5060-black-steel/J3GWPQC2TJ/sku/6632143" target="_blank">$1,250 32 GB RTX 5060 Gigabyte gaming laptop</a></li><li><strong>Walmart:</strong> <a href="https://www.walmart.com/ip/Lenovo-Legion-5i-15-1-WQXGA-Laptop-Core-i7-14700HX-16GB-1TB-NVIDIA-GN22-X4-83LY0000US/14618706354" target="_blank">OLED-equipped RTX 5060 Lenovo Legion 5i for $1,499</a></li><li><strong>Lenovo: </strong><a href="https://www.bestbuy.com/product/lenovo-loq-15-6-full-hd-gaming-laptop-intel-core-i5-13450hx-2023-16gb-memory-nvidia-geforce-rtx-5050-512gb-ssd-luna-grey/JJGSH8FS59" target="_blank">Budget 100 W RTX 5050 machine for $999</a></li><li><strong>B&H Photo:</strong> <a href="https://www.bhphotovideo.com/c/buy/gaming-laptops/ci/24610" target="_blank">Lenovo, Acer, and Gigabyte gaming laptop deals starting at $1,250</a></li><li><strong>Asus:</strong> <a href="https://www.bestbuy.com/site/searchpage.jsp?id=pcat17071&st=asus%20gaming%20laptop" target="_blank">$100s off Asus machines at Best Buy</a></li><li><strong>Razer:</strong> <a href="https://www.razer.com/store/gaming-laptops" target="_blank">Some of the best gaming laptops we've ever tested</a></li><li><strong>MSI:</strong> <a href="https://www.newegg.com/p/pl?d=MSI+gaming+laptop" target="_blank">Huge selection of MSI gaming laptops at Newegg</a></li><li><strong>Lenovo:</strong> <a href="https://www.lenovo.com/us/en/laptops/results/?visibleDatas=698%3ALegion&sortBy=priceUp" target="_blank">Legion gaming laptops aplenty</a></li><li><strong>Dell:</strong> <a href="https://www.dell.com/en-us/shop/dell-computer-laptops/scr/laptops/gaming" target="_blank">Alienware gaming laptops live here</a></li></ul><p><strong>💻 RTX 5050</strong> - Lenovo LOQ | <a href="https://www.bestbuy.com/product/lenovo-loq-15-6-full-hd-gaming-laptop-intel-core-i5-13450hx-2023-16gb-memory-nvidia-geforce-rtx-5050-512gb-ssd-luna-grey/JJGSH8FS59" target="_blank"><strong>$999 @ Best Buy (save $176)</strong></a><br><strong>💻 RTX 5060</strong> - Acer Nitro V16 | <a href="https://www.bestbuy.com/product/acer-nitro-v-16-wuxga-165hz-gaming-laptop-intel-core-7-240h-2024-nvidia-geforce-rtx-5060-16gb-memory-512gb-storage-obsidian-black/JJ8V8QFPT8/sku/6675842" target="_blank"><strong>$1,149 @ Best Buy (save $480)</strong></a><br><strong>💻 RTX 5070</strong> - Acer Nitro V16 | <a href="https://www.amazon.com/Acer-Nitro-Gaming-Laptop-512GB/dp/B0FRNL6NQ7/?th=1" target="_blank"><strong>$1,200 @ Amazon (save $100)</strong></a><br><strong>💻 RTX 5070 Ti</strong> - MSI Vector 16 HX AI | <a href="https://www.newegg.com/msi-16-0-geforce-rtx-5070-ti-laptop-gpu-fhd-16gb-memory-512-gb-nvme-ssd-512gb-hdd/p/2WC-000C-0JJ10" target="_blank"><strong>$1,599 @ Newegg (save $400)</strong></a><br><strong>💻 RTX 5080</strong> - MSI Vector 16 HX AI | <a href="https://www.newegg.com/msi-16-geforce-rtx-5080-laptop-gpu-intel-core-ultra-9-275hx-16gb-memory-1-tb-ssd/p/N82E16834156737" target="_blank"><strong>$2,299 @ Newegg (save $300) </strong></a></p><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-t31ffft *:not(svg):not(path) { box-sizing: border-box; }    #widget-t31ffft h1, #widget-t31ffft p, #widget-t31ffft h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-t31ffft, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-t31ffft); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-t31ffft tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-t31ffft tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-t31ffft td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-t31ffft: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-t31ffft: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-t31ffft td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-t31ffft td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-t31ffft td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-t31ffft td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-t31ffft td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-t31ffft td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-t31ffft: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-t31ffft: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-t31ffft"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 134 gaming laptop reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Gaming Laptops";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%22DgZUgXbK89aWX4mFm3ARYT%22%2C%22title%22%3A%22MSI%20Crosshair%2016%20Max%20HX%20E2W%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fmsi-crosshair-16-max-hx-e2w-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-01T09%3A50%3A22Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fhfi6afiN7tUhEpMkwksafU.jpg%22%2C%22strapline%22%3A%22Great%20mid-range%20performance%2C%20but%20most%20certainly%20at%20a%20cost.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22laptop%22%2C%22gaming%20laptop%22%2C%22MSI%22%2C%22MSI%20Crosshair%2016%20Max%20HX%20E2W%22%2C%22RTX%205070%20mobile%22%5D%2C%22score%22%3A69%2C%22summary%22%3A%22Great%20mid-range%20performance%2C%20but%20most%20certainly%20at%20a%20cost.%22%7D%2C%7B%22id%22%3A%22YWioFrCHodP5VUK68GX2Q6%22%2C%22title%22%3A%22MSI%20Stealth%2016%20AI%2B%20B3W%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fmsi-stealth-16-ai-b3w-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-26T15%3A04%3A21Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FkzGmhrk73CvMfpLwX9bzuQ.jpg%22%2C%22strapline%22%3A%22Hella%20nice%2C%20but%20hella%20expensive.%20Thanks%2C%202026.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22laptop%22%2C%22gaming%20laptop%22%2C%22MSI%20Stealth%2016%20AI%2B%22%2C%22MSI%22%2C%22RTX%205080%20Mobile%22%5D%2C%22score%22%3A80%2C%22summary%22%3A%22Hella%20nice%2C%20but%20hella%20expensive.%20Thanks%2C%202026.%22%7D%2C%7B%22id%22%3A%22NxoiRUG9zEX5pCTyQbyoFm%22%2C%22title%22%3A%22Acer%20Predator%20Helios%20NEO%2016S%20AI%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Facer-predator-helios-neo-16s-ai-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-19T11%3A11%3A35Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FjaZXgvA4H2dkWq46FFbrdn.jpg%22%2C%22strapline%22%3A%22A%20tale%20of%20two%20chippies%20as%20cursed%20power%20delivery%20strikes%20again.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Acer%22%2C%22Acer%20Predator%20Helios%20Neo%2016S%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20tale%20of%20two%20chippies%20as%20cursed%20power%20delivery%20strikes%20again.%22%7D%2C%7B%22id%22%3A%22D9HRoAXmmbE9a5yRWs2wFL%22%2C%22title%22%3A%22Asus%20ROG%20Zephyrus%20G16%20(2026)%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fasus-rog-zephyrus-g16-2026-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-07T15%3A49%3A06Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FozLmpvwtRGMfs4nrhJGSjH.jpg%22%2C%22strapline%22%3A%22The%20super-portable%20G16%20is%2C%20in%20many%20ways%2C%20better%20than%20ever%E2%80%94but%20the%20memory%20crisis%20has%20priced%20it%20out%20of%20top%20contention.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Asus%22%2C%22Asus%20ROG%20Zephyrus%20G16%202026%22%2C%22RTX%205080%20Mobile%22%2C%22RTX%20Blackwell%22%2C%22Nvidia%22%2C%22Intel%22%2C%22Panther%20Lake%22%2C%22Intel%20Core%20Ultra%209%20386H%22%5D%2C%22score%22%3A78%2C%22summary%22%3A%22The%20super-portable%20G16%20is%2C%20in%20many%20ways%2C%20better%20than%20ever%E2%80%94but%20the%20memory%20crisis%20has%20priced%20it%20out%20of%20top%20contention.%22%7D%2C%7B%22id%22%3A%227ysLkANjhLkLSSTYSuTMVV%22%2C%22title%22%3A%22Razer%20Blade%2016%20(2026)%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Frazer-blade-16-2026-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-03T14%3A44%3A57Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FSngjBKNEj6gkELFRH4Vdp5.jpg%22%2C%22strapline%22%3A%22It's%20still%20one%20of%20the%20best%20gaming%20laptops%20money%20can%20buy%2C%20but%20the%20massive%20price%20tag%20throws%20me%20for%20a%20loop.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Razer%22%2C%22Razer%20Blade%2016%22%2C%22Razer%20Blade%2016%20(2026)%22%2C%22RTX%205090%20mobile%22%2C%22RTX%20Blackwell%22%2C%22Nvidia%22%2C%22Intel%22%2C%22Panther%20Lake%22%2C%22Intel%20Core%20Ultra%209%20386H%22%5D%2C%22score%22%3A86%2C%22summary%22%3A%22It's%20still%20one%20of%20the%20best%20gaming%20laptops%20money%20can%20buy%2C%20but%20the%20massive%20price%20tag%20throws%20me%20for%20a%20loop.%22%7D%2C%7B%22id%22%3A%22VRhQczsWm3d4tLpQ4mqQy6%22%2C%22title%22%3A%22Framework%2013%20Pro%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fframework-13-pro-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-27T16%3A25%3A42Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fnbs2FbEVLThThLpncCELCJ.jpg%22%2C%22strapline%22%3A%22The%20best%20laptop%20Framework's%20ever%20produced%2C%20and%20one%20of%20the%20best%20I've%20ever%20used.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Framework%22%2C%22Framework%2013%20Pro%22%2C%22Panther%20Lake%22%2C%22Intel%22%2C%22Intel%20Core%20Ultra%20Series%203%22%5D%2C%22score%22%3A88%2C%22summary%22%3A%22The%20best%20laptop%20Framework's%20ever%20produced%2C%20and%20one%20of%20the%20best%20I've%20ever%20used.%22%7D%2C%7B%22id%22%3A%22uerTRP2xkLJ8DD2ks9GN9N%22%2C%22title%22%3A%22Asus%20ZenBook%20A16%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fasus-zenbook-a16-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-10T15%3A44%3A56Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FtXLzjDGt9GE2krKoZ5ZtEm.jpg%22%2C%22strapline%22%3A%22The%20latest%20Snapdragon%20chip%20in%20a%20thin%20and%20light%20shell.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Asus%22%2C%22ZenBook%20A16%22%2C%22Qualcomm%22%2C%22Snapdragon%20X2%20Elite%20Extreme%20Edition%22%5D%2C%22score%22%3A73%2C%22summary%22%3A%22The%20latest%20Snapdragon%20chip%20in%20a%20thin%20and%20light%20shell.%22%7D%2C%7B%22id%22%3A%22JHtmijAhGYS67N2uxeWYDR%22%2C%22title%22%3A%22MacBook%20Neo%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fmacbook-neo-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-30T11%3A50%3A24Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FcaHCBCuuczphAKcLJgYRfb.jpg%22%2C%22strapline%22%3A%22Apple's%20cheap%20laptop%20struggles%20to%20rise%20to%20the%20occasion%2C%20but%20remains%20an%20impressive%20little%20machine.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22apple%22%2C%22MacBook%20Neo%22%2C%22laptop%22%5D%2C%22score%22%3A80%2C%22summary%22%3A%22Apple's%20cheap%20laptop%20struggles%20to%20rise%20to%20the%20occasion%2C%20but%20remains%20an%20impressive%20little%20machine.%22%7D%2C%7B%22id%22%3A%22tH3CGay73ZbEimHAk2YZXB%22%2C%22title%22%3A%22Acer%20Nitro%20V%2016%20AI%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Facer-nitro-v-16-ai-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-04T12%3A47%3A09Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FspDb3pwqYMZKsyTGVJjMuQ.jpg%22%2C%22strapline%22%3A%22Ignore%20the%20AI%20moniker%3B%20if%20you%20can%20get%20this%20thing%20at%20a%20reasonable%20price%20with%20the%20right%20spec%2C%20it's%20a%20real%20treat.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Acer%22%2C%22Acer%20Nitro%20V%2016%22%5D%2C%22score%22%3A81%2C%22summary%22%3A%22Ignore%20the%20AI%20moniker%3B%20if%20you%20can%20get%20this%20thing%20at%20a%20reasonable%20price%20with%20the%20right%20spec%2C%20it's%20a%20real%20treat.%22%7D%2C%7B%22id%22%3A%22pwn39iCVVxPcCvtsDYUBNa%22%2C%22title%22%3A%22Acer%20Nitro%20V15%20gaming%20laptop%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Facer-nitro-v15-gaming-laptop-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-02-16T13%3A51%3A43Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FyNTxxbzSiH3jiobPcMdf5X.jpg%22%2C%22strapline%22%3A%22Due%20to%20unforeseen%20market%20forces%2C%20we've%20travelled%20back%20in%20time.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Acer%22%2C%22Nitro%20V15%22%5D%2C%22score%22%3A66%2C%22summary%22%3A%22Due%20to%20unforeseen%20market%20forces%2C%20we've%20travelled%20back%20in%20time.%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 134;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Gaming Laptops Widget"></iframe></div><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/1u7oN5ovAeo" allowfullscreen></iframe></div></div><h2 class="article-body__section" id="section-amazon-prime-day-gaming-laptop-deals-under-1-000"><span>Amazon Prime Day gaming laptop deals under $1,000</span></h2><div class="product"><a data-dimension112="db0e60f6-c0ab-11f1-bd2e-bf669941e690" data-action="Deal Block" data-label="LOQ | RTX 5050 (100 W) | 16 GB DDR5" data-dimension48="LOQ | RTX 5050 (100 W) | 16 GB DDR5" data-dimension25="$998.99" href="https://www.bestbuy.com/product/lenovo-loq-15-6-full-hd-gaming-laptop-intel-core-i5-13450hx-2023-16gb-memory-nvidia-geforce-rtx-5050-512gb-ssd-luna-grey/JJGSH8FS59" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="3f3kgZLg9nfmGoPu6JpRuE" name="1782125900.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/3f3kgZLg9nfmGoPu6JpRuE-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/lenovo-loq-15-6-full-hd-gaming-laptop-intel-core-i5-13450hx-2023-16gb-memory-nvidia-geforce-rtx-5050-512gb-ssd-luna-grey/JJGSH8FS59" target="_blank" rel="nofollow" data-dimension112="db0e60f6-c0ab-11f1-bd2e-bf669941e690" data-action="Deal Block" data-label="LOQ | RTX 5050 (100 W) | 16 GB DDR5" data-dimension48="LOQ | RTX 5050 (100 W) | 16 GB DDR5" data-dimension25="$998.99">LOQ | RTX 5050 (100 W) | 16 GB DDR5: was $1174.99 now $998.99</a></strong><br>Ordinarily, an RTX 5050 gaming laptop for nearly $1,000 wouldn't be particularly special. However, this one has a 100 W GPU power limit, which means it should be reasonably punchy when paired with a 1080p display. It's a shame the RAM is limited to a single module, but in terms of gaming performance the lack of dual channel shouldn't affect it much, as we found when we <a href="https://www.pcgamer.com/hardware/gaming-laptops/lenovo-loq-15-gen10-review/" target="_blank">reviewed an RTX 5060 model</a> late last year.<br><br><strong>Key specs: RTX 5050 (100 W) | Core i5 13450HX | 15-inch | 1080p | 144 Hz | 16 GB DDR5 | 512 GB</strong><a class="view-deal button" href="https://www.bestbuy.com/product/lenovo-loq-15-6-full-hd-gaming-laptop-intel-core-i5-13450hx-2023-16gb-memory-nvidia-geforce-rtx-5050-512gb-ssd-luna-grey/JJGSH8FS59" target="_blank" rel="nofollow" data-dimension112="db0e60f6-c0ab-11f1-bd2e-bf669941e690" data-action="Deal Block" data-label="LOQ | RTX 5050 (100 W) | 16 GB DDR5" data-dimension48="LOQ | RTX 5050 (100 W) | 16 GB DDR5" data-dimension25="$998.99">View Deal</a></p></div><h2 class="article-body__section" id="section-1-000-1-500"><span>$1,000-$1,500</span></h2><div class="product"><a data-dimension112="c84f6da0-bb35-11f1-a4fb-bb26d29c9ef2" data-action="Deal Block" data-label="Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5" data-dimension48="Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5" data-dimension25="$1149.99" href="https://www.bestbuy.com/product/acer-nitro-v-16-wuxga-165hz-gaming-laptop-intel-core-7-240h-2024-nvidia-geforce-rtx-5060-16gb-memory-512gb-storage-obsidian-black/JJ8V8QFPT8/sku/6675842" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QCq3qMcXUD6x4u7bDU2FjZ" name="AcerNitroV16 (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QCq3qMcXUD6x4u7bDU2FjZ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/acer-nitro-v-16-wuxga-165hz-gaming-laptop-intel-core-7-240h-2024-nvidia-geforce-rtx-5060-16gb-memory-512gb-storage-obsidian-black/JJ8V8QFPT8/sku/6675842" target="_blank" rel="nofollow" data-dimension112="c84f6da0-bb35-11f1-a4fb-bb26d29c9ef2" data-action="Deal Block" data-label="Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5" data-dimension48="Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5" data-dimension25="$1149.99">Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5: was $1629.99 now $1149.99</a></strong><br>If you're shopping for a gaming laptop anywhere near the $1,000 mark, SSD sizes can unfortunately suffer. This Acer lappy has a 512 GB model, which is pretty small, and the GPU's 75 W power limit is a touch low. However, it's still the cheapest (good) RTX 5060 gaming laptop I can find, and it should perform well with its 1200p, 165 Hz screen. If you're watching your pennies, this is a good price for this particular machine.</p><p><strong>Key specs: RTX 5060 (75 W) | Core 7 240H | 16-inch | 1200p | 165 Hz | 16 GB DDR5 | 512 GB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/acer-nitro-v-16-wuxga-165hz-gaming-laptop-intel-core-7-240h-2024-nvidia-geforce-rtx-5060-16gb-memory-512gb-storage-obsidian-black/JJ8V8QFPT8/sku/6675842" target="_blank" rel="nofollow" data-dimension112="c84f6da0-bb35-11f1-a4fb-bb26d29c9ef2" data-action="Deal Block" data-label="Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5" data-dimension48="Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5" data-dimension25="$1149.99">View Deal</a></p></div><div class="product"><a data-dimension112="41015f8a-c197-11f1-ae2f-d5adcd9265f1" data-action="Deal Block" data-label="Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension48="Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension25="$1199.99" href="https://www.amazon.com/Acer-Nitro-Gaming-Laptop-512GB/dp/B0FRNL6NQ7/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="rj5HUrStGuVCqnxpVPrbLJ" name="AcerNitroV" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rj5HUrStGuVCqnxpVPrbLJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Acer-Nitro-Gaming-Laptop-512GB/dp/B0FRNL6NQ7/?th=1" target="_blank" rel="nofollow" data-dimension112="41015f8a-c197-11f1-ae2f-d5adcd9265f1" data-action="Deal Block" data-label="Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension48="Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension25="$1199.99">Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5: was $1299.99 now $1199.99</a></strong><br>Good lord, it's an RTX 5070 gaming laptop for the same price I <em>used</em> to find them. This Acer Nitro V 16 is a solidly specced machine, what with its 10-core Intel CPU (six Performance, four Efficient) and Nvidia's mid-range graphics card sitting in its tidy-looking frame. The GPU has been power limited to 85 W, but it should still do very well with a 1200p screen. It's a shame about the small SSD, but for this price, in this market? I'll take it all day long.</p><p><strong>Key specs: RTX 5070 (85 W) | Core 7 240H | 16-inch | 1200p | 180 Hz | 16 GB DDR5 | 512 GB SSD</strong><a class="view-deal button" href="https://www.amazon.com/Acer-Nitro-Gaming-Laptop-512GB/dp/B0FRNL6NQ7/?th=1" target="_blank" rel="nofollow" data-dimension112="41015f8a-c197-11f1-ae2f-d5adcd9265f1" data-action="Deal Block" data-label="Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension48="Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension25="$1199.99">View Deal</a></p></div><div class="product"><a data-dimension112="c84f6e7c-bb35-11f1-91a5-c7d22052d3da" data-action="Deal Block" data-label="Aero X16 | RTX 5060 (85 W) | 32 GB DDR5" data-dimension48="Aero X16 | RTX 5060 (85 W) | 32 GB DDR5" data-dimension25="$1224.99" href="https://www.bestbuy.com/product/gigabyte-aero-x16-copilot-pc-16-25601600-wqxga-amd-ryzen-al-7-350-1tb-ssd-32gb-ddr5-ram-geforce-rtx-5060-space-gray/J3GWPQCXYT/sku/6635752" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4o9dqSGzKqi3LLfhBg58ph" name="GigabyteAeroX16" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4o9dqSGzKqi3LLfhBg58ph-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/gigabyte-aero-x16-copilot-pc-16-25601600-wqxga-amd-ryzen-al-7-350-1tb-ssd-32gb-ddr5-ram-geforce-rtx-5060-space-gray/J3GWPQCXYT/sku/6635752" target="_blank" rel="nofollow" data-dimension112="c84f6e7c-bb35-11f1-91a5-c7d22052d3da" data-action="Deal Block" data-label="Aero X16 | RTX 5060 (85 W) | 32 GB DDR5" data-dimension48="Aero X16 | RTX 5060 (85 W) | 32 GB DDR5" data-dimension25="$1224.99">Aero X16 | RTX 5060 (85 W) | 32 GB DDR5: was $1299.99 now $1224.99</a></strong><br>This is a power-limited RTX 5060 machine—but you do get 32 GB of DDR5 for your cash, which is increasingly rare in 2026. The processor is decently beefy, too, although you will need to lean on upscaling to make the most of its 1600p 165 Hz screen. If you want 32 GB of RAM in a gaming laptop, this is about the cheapest I'd consider.</p><p><strong>Key specs: RTX 5060 (85 W) | Ryzen AI 7 350 | 16-inch | 1600p | 165 Hz | 32 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/gigabyte-aero-x16-copilot-pc-16-25601600-wqxga-amd-ryzen-al-7-350-1tb-ssd-32gb-ddr5-ram-geforce-rtx-5060-space-gray/J3GWPQCXYT/sku/6635752" target="_blank" rel="nofollow" data-dimension112="c84f6e7c-bb35-11f1-91a5-c7d22052d3da" data-action="Deal Block" data-label="Aero X16 | RTX 5060 (85 W) | 32 GB DDR5" data-dimension48="Aero X16 | RTX 5060 (85 W) | 32 GB DDR5" data-dimension25="$1224.99">View Deal</a></p></div><div class="product"><a data-dimension112="c84f6eea-bb35-11f1-9367-c59fdeb25968" data-action="Deal Block" data-label="Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED" data-dimension48="Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED" data-dimension25="$1499" href="https://www.walmart.com/ip/Lenovo-Legion-5i-15-1-WQXGA-Laptop-Core-i7-14700HX-16GB-1TB-NVIDIA-GN22-X4-83LY0000US/14618706354" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ES7y3yzMVNiUYVRM5ARBjT" name="Lenovo Legion 5i" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ES7y3yzMVNiUYVRM5ARBjT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/Lenovo-Legion-5i-15-1-WQXGA-Laptop-Core-i7-14700HX-16GB-1TB-NVIDIA-GN22-X4-83LY0000US/14618706354" target="_blank" rel="nofollow" data-dimension112="c84f6eea-bb35-11f1-9367-c59fdeb25968" data-action="Deal Block" data-label="Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED" data-dimension48="Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED" data-dimension25="$1499">Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED: was $2299.99 now $1499</a></strong><br>While this is still a lot of money for an RTX 5060 machine, there are two main points to consider. One, it's got a 100 W GPU power limit, which is better than most. And two, it's got a 165 Hz OLED display, which means you get some of the best screen tech around crammed within a 15.1 inch frame. The CPU is plenty punchy, and it's also got a proper 1 TB SSD. The RTX 5060 will need a fair bit of DLSS help to push pixels at 1600p resolution, but this lappy is still well worth considering for the cash.</p><p><strong>Key specs: RTX 5060 (100 W) | Core i7 14700HX | 15.1-inch | 1600p | 165 Hz OLED | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.walmart.com/ip/Lenovo-Legion-5i-15-1-WQXGA-Laptop-Core-i7-14700HX-16GB-1TB-NVIDIA-GN22-X4-83LY0000US/14618706354" target="_blank" rel="nofollow" data-dimension112="c84f6eea-bb35-11f1-9367-c59fdeb25968" data-action="Deal Block" data-label="Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED" data-dimension48="Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED" data-dimension25="$1499">View Deal</a></p></div><h2 class="article-body__section" id="section-1-500"><span>$1,500+</span></h2><div class="product"><a data-dimension112="db0e636c-c0ab-11f1-99fc-ffcae29bf7bf" data-action="Deal Block" data-label="TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5" data-dimension48="TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5" data-dimension25="$1599.99" href="https://www.bestbuy.com/product/asus-tuf-gaming-a16-16-165hz-fhd-gaming-laptop-amd-ryzen-9-8940hx-2025-16gb-memory-geforce-rtx-5070-512gb-storage-jaegar-gray/JJGHGSXCV8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="MrnxPJ2LvS5YYCVZY7vy7R" name="Asus TUF A16" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/MrnxPJ2LvS5YYCVZY7vy7R-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/asus-tuf-gaming-a16-16-165hz-fhd-gaming-laptop-amd-ryzen-9-8940hx-2025-16gb-memory-geforce-rtx-5070-512gb-storage-jaegar-gray/JJGHGSXCV8" target="_blank" rel="nofollow" data-dimension112="db0e636c-c0ab-11f1-99fc-ffcae29bf7bf" data-action="Deal Block" data-label="TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5" data-dimension48="TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5" data-dimension25="$1599.99">TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5: was $2224.99 now $1599.99</a></strong><br>Ah, one of my favorites. This Asus has properly powerful RTX 5070 with a 115 W limit, a 16-core, 32-thread AMD chip with serious grunt, and a 1200p, 165 Hz screen that should give the GPU little trouble. The downside? It's got a teeny tiny SSD. We're <a href="https://www.pcgamer.com/amazon-prime-day-ssd-deals/" target="_blank">finding deals on those too</a>, so I'd be sticking a 1 TB drive in this beastie at the earliest opportunity.</p><p><strong>Key specs: RTX 5070 (115 W) | Ryzen 9 8940HX | 16-inch | 1200p | 165 Hz | 16 GB DDR5 | 512 GB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/asus-tuf-gaming-a16-16-165hz-fhd-gaming-laptop-amd-ryzen-9-8940hx-2025-16gb-memory-geforce-rtx-5070-512gb-storage-jaegar-gray/JJGHGSXCV8" target="_blank" rel="nofollow" data-dimension112="db0e636c-c0ab-11f1-99fc-ffcae29bf7bf" data-action="Deal Block" data-label="TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5" data-dimension48="TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5" data-dimension25="$1599.99">View Deal</a></p></div><div class="product"><a data-dimension112="db0e63ee-c0ab-11f1-9136-3be5e95ea1ee" data-action="Deal Block" data-label="Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5" data-dimension48="Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5" data-dimension25="$1618" href="https://www.walmart.com/ip/GIGABYTE-Gaming-A16-16-Laptop-Intel-Core-i7-13620H-32GB-RAM-1TB-SSD-GeForce-RTX-5070-165Hz-IPS-Black-Steel-CWHI3US864SH/19960921727" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="EZnfGSPwbeRukWtnZaGFDT" name="GigabyteGamingA16 (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/EZnfGSPwbeRukWtnZaGFDT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/GIGABYTE-Gaming-A16-16-Laptop-Intel-Core-i7-13620H-32GB-RAM-1TB-SSD-GeForce-RTX-5070-165Hz-IPS-Black-Steel-CWHI3US864SH/19960921727" target="_blank" rel="nofollow" data-dimension112="db0e63ee-c0ab-11f1-9136-3be5e95ea1ee" data-action="Deal Block" data-label="Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5" data-dimension48="Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5" data-dimension25="$1618">Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5: was $1849.99 now $1618</a></strong><br>This Gigabyte lappy has a very stylish chassis, 32 GB of DDR5, a 1 TB SSD, and an RTX 5070 mobile. You're paying a pretty penny for all that RAM, but this machine is still cheaper than any other RTX 5070/32 GB combo I can find. The GPU has been power limited to 85 W, but it should still have little issue firing pixels at a 1200p screen.</p><p><strong>Key specs: RTX 5070 (85 W) | Core i7 13620H | 16-inch | 1200p | 165 Hz | 32 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.walmart.com/ip/GIGABYTE-Gaming-A16-16-Laptop-Intel-Core-i7-13620H-32GB-RAM-1TB-SSD-GeForce-RTX-5070-165Hz-IPS-Black-Steel-CWHI3US864SH/19960921727" target="_blank" rel="nofollow" data-dimension112="db0e63ee-c0ab-11f1-9136-3be5e95ea1ee" data-action="Deal Block" data-label="Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5" data-dimension48="Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5" data-dimension25="$1618">View Deal</a></p></div><div class="product"><a data-dimension112="c84f703e-bb35-11f1-8bee-875e71202754" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="$1599.99" href="https://www.newegg.com/msi-16-0-geforce-rtx-5070-ti-laptop-gpu-fhd-16gb-memory-512-gb-nvme-ssd-512gb-hdd/p/2WC-000C-0JJ10" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1273px;"><p class="vanilla-image-block" style="padding-top:99.21%;"><img id="L8EiHLSsFi8GFPQWs77aRF" name="1778069308.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/L8EiHLSsFi8GFPQWs77aRF-1920-80.jpg" mos="" align="middle" fullscreen="" width="1273" height="1263" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/msi-16-0-geforce-rtx-5070-ti-laptop-gpu-fhd-16gb-memory-512-gb-nvme-ssd-512gb-hdd/p/2WC-000C-0JJ10" target="_blank" rel="nofollow" data-dimension112="c84f703e-bb35-11f1-8bee-875e71202754" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="$1599.99">Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5: was $2199 now $1599.99</a></strong><br>I'm a big fan of this mildly anachronistic gaming laptop. It's thick, can be loud, but it delivers on gaming performance and does so for an affordable price tag. The RTX 5070 Ti at its heart is a quality 12 GB mobile GPU, has a 140 W power limit, and if you run it on balanced mode you'll still get good gaming performance without the turbine whine of the fans. This one's got a 1200p screen, which should give the GPU very little trouble. Unfortunately, it's also got a 512 GB SSD, which is very small. Still, it's a lot of gaming hardware for the cash regardless.<br><strong></strong><br><strong>Key specs: RTX 5070 Ti (140 W) | Core Ultra 7 255HX | 16-inch | 1200p | 144 Hz | 16 GB DDR5 | 512 GB SSD</strong></p><p><strong>Price check: </strong><a href="https://www.walmart.com/ip/MSI-Vector-16-HX-AI-16-144Hz-FHD-Gaming-Laptop-Intel-Ultra-7-255HX-GeForce-RTX-5070Ti-16GB-Memory-1TBSSD-Cosmo-Gray/17971805588" target="_blank">Walmart $1,719.99 (1 TB SSD)</a><a class="view-deal button" href="https://www.newegg.com/msi-16-0-geforce-rtx-5070-ti-laptop-gpu-fhd-16gb-memory-512-gb-nvme-ssd-512gb-hdd/p/2WC-000C-0JJ10" target="_blank" rel="nofollow" data-dimension112="c84f703e-bb35-11f1-8bee-875e71202754" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="$1599.99">View Deal</a></p></div><div class="product"><a data-dimension112="db0e64d4-c0ab-11f1-a224-e7c8099b3aaf" data-action="Deal Block" data-label="ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="$1799.99" href="https://www.bestbuy.com/product/asus-rog-strix-g16-16-fhd-165hz-gaming-laptop-amd-ryzen-9-hx-16gb-ram-nvidia-geforce-rtx-5070-ti-1tb-ssd-eclipse-gray/JJGGLHJLTS" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qnATrbjvpG6UVWmHYA9jNm" name="AsusROGStrixG16 (2)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qnATrbjvpG6UVWmHYA9jNm-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/asus-rog-strix-g16-16-fhd-165hz-gaming-laptop-amd-ryzen-9-hx-16gb-ram-nvidia-geforce-rtx-5070-ti-1tb-ssd-eclipse-gray/JJGGLHJLTS" target="_blank" rel="nofollow" data-dimension112="db0e64d4-c0ab-11f1-a224-e7c8099b3aaf" data-action="Deal Block" data-label="ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="$1799.99">ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5: was $2299.99 now $1799.99</a></strong><br>This lappy has a honking, chonking, AMD Ryzen 9 8940HX CPU throbbing away in its RGB lit chassis. It's a 16-core 32-thread beastie from the previous generation, which, in combination with a 140 W RTX 5070 Ti mobile, should make for some serious gaming performance. The screen is a 165 Hz 1200p model, too, which the graphics chip should have no problem maxing out in most games.</p><p><strong>Key specs: RTX 5070 Ti (140 W) | Ryzen 9 8940HX | 16-inch | 1200p | 165 Hz | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/asus-rog-strix-g16-16-fhd-165hz-gaming-laptop-amd-ryzen-9-hx-16gb-ram-nvidia-geforce-rtx-5070-ti-1tb-ssd-eclipse-gray/JJGGLHJLTS" target="_blank" rel="nofollow" data-dimension112="db0e64d4-c0ab-11f1-a224-e7c8099b3aaf" data-action="Deal Block" data-label="ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="$1799.99">View Deal</a></p></div><div class="product"><a data-dimension112="c84f711a-bb35-11f1-ace5-49400cc556b0" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5" data-dimension25="$2299" href="https://www.newegg.com/msi-16-geforce-rtx-5080-laptop-gpu-intel-core-ultra-9-275hx-16gb-memory-1-tb-ssd/p/N82E16834156737" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="YRF7AxHdthuqes6XhTuTdY" name="MSIVector16HXAI" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YRF7AxHdthuqes6XhTuTdY-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/msi-16-geforce-rtx-5080-laptop-gpu-intel-core-ultra-9-275hx-16gb-memory-1-tb-ssd/p/N82E16834156737" target="_blank" rel="nofollow" data-dimension112="c84f711a-bb35-11f1-ace5-49400cc556b0" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5" data-dimension25="$2299">Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5: was $2599 now $2299</a></strong><br>This Vector is still the cheapest RTX 5080 gaming laptops around, even if it does go up and down like a yo-yo. Our Dave reviewed the<a href="https://www.pcgamer.com/hardware/gaming-laptops/msi-vector-16-hx-ai-gaming-laptop-review/" target="_blank"> Vector 16 HX AI</a> last year and likes the value proposition you get when you take into account that mega GPU, although it is a bit of a hairdryer on full whack. Still, stick it in Balanced mode and the noise is much more reasonable.</p><p><strong>Key specs: RTX 5080 | Core Ultra 9 275 HX | 16-inch | 1600p | 240 Hz | 16 GB DDR5 | 1 TB SSD</strong></p><p><strong>Price check:</strong> <a href="https://www.bestbuy.com/product/msi-vector-16-hx-ai-400-16-240hz-qhd-gaming-laptop-intel-ultra-9-275hx-geforce-rtx-5080-16gb-memory-1tb-ssd-cosmo-gray/J3P7TXRSQV" target="_blank">Best Buy $2,349.99</a> | <a href="https://www.walmart.com/ip/MSI-16-GeForce-RTX-5080-Laptop-GPU-Intel-Core-Ultra-9-275HX-16GB-Memory-1-TB-SSD-Windows-11-Home-Gaming-Laptop-240-Hz-Vector-16-HX-AI-A2XWIG-050US/16173414561" target="_blank">Walmart $2,229</a><a class="view-deal button" href="https://www.newegg.com/msi-16-geforce-rtx-5080-laptop-gpu-intel-core-ultra-9-275hx-16gb-memory-1-tb-ssd/p/N82E16834156737" target="_blank" rel="nofollow" data-dimension112="c84f711a-bb35-11f1-ace5-49400cc556b0" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5" data-dimension25="$2299">View Deal</a></p></div><h2 class="article-body__section" id="section-handheld-gaming-pcs"><span>Handheld gaming PCs</span></h2><div class="product"><a data-dimension112="ad8c6452-c24a-11f1-97b8-1df82f3fe6ce" data-action="Deal Block" data-label="Claw A1M | Core Ultra 7 155H" data-dimension48="Claw A1M | Core Ultra 7 155H" data-dimension25="$562.99" href="https://www.bestbuy.com/product/claw-a1m-7-120hz-fhd-1080p-gaming-handheld-intel-core-cu7-155h-intel-arc-16gb-1tbssd/J3P7TXP4S8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="JLbPzr9W7MHeYVAXgrtgc" name="MSIClawA1M" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/JLbPzr9W7MHeYVAXgrtgc-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/claw-a1m-7-120hz-fhd-1080p-gaming-handheld-intel-core-cu7-155h-intel-arc-16gb-1tbssd/J3P7TXP4S8" target="_blank" rel="nofollow" data-dimension112="ad8c6452-c24a-11f1-97b8-1df82f3fe6ce" data-action="Deal Block" data-label="Claw A1M | Core Ultra 7 155H" data-dimension48="Claw A1M | Core Ultra 7 155H" data-dimension25="$562.99">Claw A1M | Core Ultra 7 155H: was $749.99 now $562.99</a></strong><br>While many handheld gaming PCs are priced out of reasonable consideration at the moment, it's time for the return of the OG Claw. It's got a Meteor Lake Intel chip with eight Xe cores, which should do just fine for indie gaming—and some more demanding stuff with XeSS upscaling assistance. Plus, it's considerably cheaper than the Steam Deck OLED right now, especially with a 1 TB SSD. Out of the two? The MSI is simply better value, although you don't get a fancy screen.<br><br><strong>Key specs: Core Ultra 7 155H | 7-inch | 1080p | 120 Hz | 16 GB LPDDR5x | 1 TB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/claw-a1m-7-120hz-fhd-1080p-gaming-handheld-intel-core-cu7-155h-intel-arc-16gb-1tbssd/J3P7TXP4S8" target="_blank" rel="nofollow" data-dimension112="ad8c6452-c24a-11f1-97b8-1df82f3fe6ce" data-action="Deal Block" data-label="Claw A1M | Core Ultra 7 155H" data-dimension48="Claw A1M | Core Ultra 7 155H" data-dimension25="$562.99">View Deal</a></p></div><div class="product"><a data-dimension112="c362ff52-c240-11f1-ba7d-e7f8e2992f96" data-action="Deal Block" data-label="ROG Xbox Ally | Z2 A" data-dimension48="ROG Xbox Ally | Z2 A" data-dimension25="$599.99" href="https://www.bestbuy.com/product/rog-xbox-ally-7-fhd-120hz-gaming-handheld-3-month-xbox-game-pass-premium-amd-ryzen-z2-a-16gb-ram-512gb-ssd-windows/JJGHGPGFL4" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Nu2EAs8YVDuNs5T5AMyVeD" name="XboxAlly" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Nu2EAs8YVDuNs5T5AMyVeD-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/rog-xbox-ally-7-fhd-120hz-gaming-handheld-3-month-xbox-game-pass-premium-amd-ryzen-z2-a-16gb-ram-512gb-ssd-windows/JJGHGPGFL4" target="_blank" rel="nofollow" data-dimension112="c362ff52-c240-11f1-ba7d-e7f8e2992f96" data-action="Deal Block" data-label="ROG Xbox Ally | Z2 A" data-dimension48="ROG Xbox Ally | Z2 A" data-dimension25="$599.99">ROG Xbox Ally | Z2 A: $599.99</a></strong><br>Okay, so this model doesn't have the properly punchy Z2 Extreme chip of the ROG Xbox Ally X below. As such, it's nowhere near as powerful, and more suited to indie games rather than the demanding stuff. That being said, handheld gaming PCs are rising to silly prices right now, and this one's still got a super-comfortable chassis, a good screen, and the Xbox FSE interface.<br><br><strong>Key specs: Ryzen Z2 A | 7-inch | 1080p | 144 Hz | 16 GB LPDDR5x | 512 GB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/rog-xbox-ally-7-fhd-120hz-gaming-handheld-3-month-xbox-game-pass-premium-amd-ryzen-z2-a-16gb-ram-512gb-ssd-windows/JJGHGPGFL4" target="_blank" rel="nofollow" data-dimension112="c362ff52-c240-11f1-ba7d-e7f8e2992f96" data-action="Deal Block" data-label="ROG Xbox Ally | Z2 A" data-dimension48="ROG Xbox Ally | Z2 A" data-dimension25="$599.99">View Deal</a></p></div><div class="product"><a data-dimension112="c84f72d2-bb35-11f1-b879-5f7ff3fbbd53" data-action="Deal Block" data-label="Deck OLED | 512 GB SSD" data-dimension48="Deck OLED | 512 GB SSD" data-dimension25="$789" href="https://store.steampowered.com/steamdeck" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="V6GL5u24VrvuQZMNoP8SN3" name="1700239679.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/V6GL5u24VrvuQZMNoP8SN3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://store.steampowered.com/steamdeck" target="_blank" rel="nofollow" data-dimension112="c84f72d2-bb35-11f1-b879-5f7ff3fbbd53" data-action="Deal Block" data-label="Deck OLED | 512 GB SSD" data-dimension48="Deck OLED | 512 GB SSD" data-dimension25="$789">Deck OLED | 512 GB SSD: $789</a></strong><br>Okay, there are heaps of more powerful handhelds around, but the original version is still the archetype of what a mobile PC gaming device should be. It's just as powerful as the original model, just with an OLED screen, so all those Steam Deck-compatible games should run well. It's the OG PC gaming handheld, and it still demands respect.<br><br><strong>Key specs: 512 GB SSD | OLED | SteamOS</strong><a class="view-deal button" href="https://store.steampowered.com/steamdeck" target="_blank" rel="nofollow" data-dimension112="c84f72d2-bb35-11f1-b879-5f7ff3fbbd53" data-action="Deal Block" data-label="Deck OLED | 512 GB SSD" data-dimension48="Deck OLED | 512 GB SSD" data-dimension25="$789">View Deal</a></p></div><div class="product"><a data-dimension112="c84f7340-bb35-11f1-a065-415f7140f94b" data-action="Deal Block" data-label="ROG Xbox Ally X | Z2 Extreme" data-dimension48="ROG Xbox Ally X | Z2 Extreme" data-dimension25="$999.99" href="https://www.bestbuy.com/product/rog-xbox-ally-x-7-fhd-120hz-gaming-handheld-3-month-xbox-game-pass-premium-amd-ryzen-ai-z2-extreme-24gb-ram-1tb-ssd-windows/JJGHGPLVHW" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:909px;"><p class="vanilla-image-block" style="padding-top:98.90%;"><img id="NKD5vfbCAMtPGXxPPpxTvn" name="1767720022.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/NKD5vfbCAMtPGXxPPpxTvn-1920-80.jpg" mos="" align="middle" fullscreen="" width="909" height="899" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/rog-xbox-ally-x-7-fhd-120hz-gaming-handheld-3-month-xbox-game-pass-premium-amd-ryzen-ai-z2-extreme-24gb-ram-1tb-ssd-windows/JJGHGPLVHW" target="_blank" rel="nofollow" data-dimension112="c84f7340-bb35-11f1-a065-415f7140f94b" data-action="Deal Block" data-label="ROG Xbox Ally X | Z2 Extreme" data-dimension48="ROG Xbox Ally X | Z2 Extreme" data-dimension25="$999.99">ROG Xbox Ally X | Z2 Extreme: $999.99</a></strong><br>It is a borderline ludicrous amount of cash to drop on a gaming handheld <em>really, </em>but the ROG Xbox Ally X is a truly great device. I thought the design ridiculous until I had <a href="https://www.pcgamer.com/hardware/handheld-gaming-pcs/asus-rog-xbox-ally-x-review/" target="_blank">my review unit in-hand</a>. It's super comfortable to use, the new library makes Windows usable, and the Z2 Extreme chip is powerful. Could do with a bit of a discount, but this is the cheapest you'll find it today.<br><br><strong>Key specs: Ryzen AI Z2 Extreme | 7-inch | 1080p | 120 Hz | 24 GB LPDDR5x-8000 | 1 TB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/rog-xbox-ally-x-7-fhd-120hz-gaming-handheld-3-month-xbox-game-pass-premium-amd-ryzen-ai-z2-extreme-24gb-ram-1tb-ssd-windows/JJGHGPLVHW" target="_blank" rel="nofollow" data-dimension112="c84f7340-bb35-11f1-a065-415f7140f94b" data-action="Deal Block" data-label="ROG Xbox Ally X | Z2 Extreme" data-dimension48="ROG Xbox Ally X | Z2 Extreme" data-dimension25="$999.99">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-amazon-prime-day-uk-gaming-laptop-deals"><span>Amazon Prime Day UK gaming laptop deals</span></h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.co.uk/s?k=gaming+laptops" target="_blank">Big discounts on current gen and previous gen gaming laptops</a></li><li><strong>Currys:</strong> <a href="https://www.currys.co.uk/gaming/pc-gaming/gaming-laptops" target="_blank">Regular deals on many gaming laptops from major brands</a></li><li><strong>Lenovo:</strong> <a href="https://www.lenovo.com/gb/en/c/laptops/legion-laptops/" target="_blank">Legion machines with regular discounts</a></li><li><strong>Laptops Direct:</strong> <a href="https://www.laptopsdirect.co.uk/ct/laptops-and-netbooks/laptops/gaming" target="_blank">£100s off RTX 50-series gaming laptops</a></li><li><strong>Overclockers: </strong><a href="https://www.overclockers.co.uk/laptops/gaming-laptops" target="_blank">Big savings on MSI gaming laptops</a></li><li><strong>Scan: </strong><a href="https://www.scan.co.uk/search?q=gaming+laptops" target="_blank">Regular discounts on gaming laptops from major brands</a></li><li><strong>PC Specialist: </strong><a href="https://www.pcspecialist.co.uk/gaming-editing-laptops/" target="_blank">Configurable RTX 50-series laptops</a></li><li><strong>Cyberpower: </strong><a href="https://www.cyberpowersystem.co.uk/category/gaming-laptops/" target="_blank">Up to £900 off gaming laptops</a></li></ul><ul><li><strong>RTX 5060:</strong> <a href="https://www.scan.co.uk/products/156-medion-erazer-deputy-15-p1-full-hd-144hz-intel-core-i5-13420h-16gb-ddr5-1tb-ssd-8gb-geforce-rtx" target="_blank">Medion Erazer Deputy  | <strong>£1,000 @ Scan</strong></a></li><li><strong>RTX 5070:</strong> <a href="https://www.amazon.co.uk/Gigabyte-GAMING-A16-Gaming-Laptop/dp/B0F4KPHPLR" target="_blank">Gigabyte A16 | <strong>£1,400 @ Amazon</strong></a></li><li><strong>RTX 5070 Ti:</strong> <a href="https://www.amazon.co.uk/Predator-Helios-PHN16-73-Gaming-Laptop/dp/B0BW94XWN4/" target="_blank">Acer Predator Helios Neo 16 | <strong>£1,700 @ Amazon</strong></a></li><li><strong>RTX 5080: </strong><a href="https://www.amazon.co.uk/MSI-Stealth-GeForce-LPDDR5X-Windows/dp/B0DX2JYGH6/?th=1" target="_blank">MSI Stealth A16+ | <strong>£2,299 @ Amazon</strong></a></li></ul><div class="product"><a data-dimension112="c84f75c0-bb35-11f1-9c2e-117fa39bf436" data-action="Deal Block" data-label="Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5" data-dimension48="Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5" data-dimension25="£999.98" href="https://www.scan.co.uk/products/156-medion-erazer-deputy-15-p1-full-hd-144hz-intel-core-i5-13420h-16gb-ddr5-1tb-ssd-8gb-geforce-rtx" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="34V264tTJ7zwyTvxMLZZJF" name="Medionerazerdeputy" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/34V264tTJ7zwyTvxMLZZJF-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.scan.co.uk/products/156-medion-erazer-deputy-15-p1-full-hd-144hz-intel-core-i5-13420h-16gb-ddr5-1tb-ssd-8gb-geforce-rtx" target="_blank" rel="nofollow" data-dimension112="c84f75c0-bb35-11f1-9c2e-117fa39bf436" data-action="Deal Block" data-label="Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5" data-dimension48="Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5" data-dimension25="£999.98">Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5: £999.98</a></strong><br>This laptop is a bit of a chonk, but for this sort of cash it's well worth considering. Our James <a href="https://www.pcgamer.com/hardware/gaming-laptops/medion-erazer-deputy-15-p1-review/" target="_blank">reviewed a version with a different CPU last year</a>, and found it to deliver good 1080p performance from its RTX 5060 mobile GPU. It's got a slightly dull screen, and the chassis design won't set your heart aflame, but you'll struggle to get more gaming performance for the price.</p><p><strong>Key specs: RTX 5060 (115 W) | Core i5 13420H | 15.6-inch | 1080p | 144 Hz | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.scan.co.uk/products/156-medion-erazer-deputy-15-p1-full-hd-144hz-intel-core-i5-13420h-16gb-ddr5-1tb-ssd-8gb-geforce-rtx" target="_blank" rel="nofollow" data-dimension112="c84f75c0-bb35-11f1-9c2e-117fa39bf436" data-action="Deal Block" data-label="Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5" data-dimension48="Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5" data-dimension25="£999.98">View Deal</a></p></div><div class="product"><a data-dimension112="c84f762e-bb35-11f1-baed-91264a0e2b33" data-action="Deal Block" data-label="Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5" data-dimension48="Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5" data-dimension25="£1099.99" href="https://www.amazon.co.uk/Acer-Nitro-ANV16-42-Gaming-Laptop/dp/B089JY36ZJ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="aLi5QxdXSNXQNvf2k6HCzU" name="AcerNitroV16 (2)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/aLi5QxdXSNXQNvf2k6HCzU-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Acer-Nitro-ANV16-42-Gaming-Laptop/dp/B089JY36ZJ/" target="_blank" rel="nofollow" data-dimension112="c84f762e-bb35-11f1-baed-91264a0e2b33" data-action="Deal Block" data-label="Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5" data-dimension48="Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5" data-dimension25="£1099.99">Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5: £1099.99</a></strong><br>This little Nitro might not have all the bells and whistles of fancier machines, but it's certainly got everything you need to get gaming. The RTX 5060 at its heart has an 85 W power limit, which is a little on the tight side, but it 1200p, 180 Hz screen shouldn't be too taxing. The CPU is a six-core AMD chip and it's got 16 GB of RAM—but the SSD is very small. Still, for the price it's very hard to beat.</p><p><strong>Key specs: RTX 5060 (85 W) | Ryzen 5 240 | 16-inch | 1200p | 180 Hz | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.amazon.co.uk/Acer-Nitro-ANV16-42-Gaming-Laptop/dp/B089JY36ZJ/" target="_blank" rel="nofollow" data-dimension112="c84f762e-bb35-11f1-baed-91264a0e2b33" data-action="Deal Block" data-label="Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5" data-dimension48="Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5" data-dimension25="£1099.99">View Deal</a></p></div><div class="product"><a data-dimension112="c84f769c-bb35-11f1-8510-c13d43b224a0" data-action="Deal Block" data-label="Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension48="Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension25="£1349.99" href="https://www.currys.co.uk/products/gigabyte-a16-16-gaming-laptop-amd-ryzen-7-rtx-5070-1-tb-ssd-10286515.html" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="VpKAUyoViEw7nYkRBsYuDd" name="GigabyteA16RTX5060" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VpKAUyoViEw7nYkRBsYuDd-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.currys.co.uk/products/gigabyte-a16-16-gaming-laptop-amd-ryzen-7-rtx-5070-1-tb-ssd-10286515.html" target="_blank" rel="nofollow" data-dimension112="c84f769c-bb35-11f1-8510-c13d43b224a0" data-action="Deal Block" data-label="Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension48="Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension25="£1349.99">Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5: was £1649.99 now £1349.99</a></strong><br>We <a href="https://www.pcgamer.com/hardware/gaming-laptops/gigabyte-gaming-a16-gaming-laptop-review/" target="_blank">reviewed</a> the RTX 5060 version of this laptop late last year, and found it to be good—with one primary caveat. The 85 W RTX 5060 at its core isn't the fastest variant you'll find, and this RTX 5070 version has the same power limit. However, the A16 has an excellent chassis design, a decently fast screen, and a great smattering of budget components that still make it a desirable thing.</p><p><strong>Key specs: RTX 5070 (85 W) | Core i7 13620H | 15.6-inch | 1200p | 165 Hz | 16 GB DDR5 | 1 TB SSD</strong></p><p><strong>Price check:</strong> <a href="https://www.amazon.co.uk/Gigabyte-GAMING-A16-Gaming-Laptop/dp/B0F4KPHPLR/?th=1" target="_blank">Amazon £1,400</a><a class="view-deal button" href="https://www.currys.co.uk/products/gigabyte-a16-16-gaming-laptop-amd-ryzen-7-rtx-5070-1-tb-ssd-10286515.html" target="_blank" rel="nofollow" data-dimension112="c84f769c-bb35-11f1-8510-c13d43b224a0" data-action="Deal Block" data-label="Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension48="Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension25="£1349.99">View Deal</a></p></div><div class="product"><a data-dimension112="db0e65ec-c0ab-11f1-a3b3-9793c718df90" data-action="Deal Block" data-label="Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5" data-dimension48="Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5" data-dimension25="£1699.99" href="https://www.amazon.co.uk/Predator-Helios-PHN16-73-Gaming-Laptop/dp/B0BW94XWN4/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="XKivTTssb55gVZXCjKLmGG" name="AcerPredatorHeliosNeo16RTX5070Ti" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/XKivTTssb55gVZXCjKLmGG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Predator-Helios-PHN16-73-Gaming-Laptop/dp/B0BW94XWN4/" target="_blank" rel="nofollow" data-dimension112="db0e65ec-c0ab-11f1-a3b3-9793c718df90" data-action="Deal Block" data-label="Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5" data-dimension48="Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5" data-dimension25="£1699.99">Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5: was £1899.99 now £1699.99</a></strong><br>A relatively small discount, perhaps—but this Acer has a lot going for it. You're getting a 115 W RTX 5070 mobile, a 20-core, high-clocked Intel CPU, and a 240 Hz screen for speedy visuals. That's a very potent combination of components, and one that's near-impossible to find for cheaper right now. I'd be tempted by the  RTX 5070 Ti MSI below if I was ranging into this sort of cash, but this one's still got a helluva lot of plus points.</p><p><strong>Key specs: RTX 5070 (115 W) | Core Ultra 7 275HX | 16-inch | 1600p | 240 Hz | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.amazon.co.uk/Predator-Helios-PHN16-73-Gaming-Laptop/dp/B0BW94XWN4/" target="_blank" rel="nofollow" data-dimension112="db0e65ec-c0ab-11f1-a3b3-9793c718df90" data-action="Deal Block" data-label="Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5" data-dimension48="Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5" data-dimension25="£1699.99">View Deal</a></p></div><div class="product"><a data-dimension112="db0e665a-c0ab-11f1-96e3-25250e8fbb34" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="£1799.98" href="https://www.laptopsdirect.co.uk/msi-vector-16-hx-ai-a2xwhg-403uk-intel-core-ultra-7-16gb-ram-512gb-ssd-gefo-9s7-15m352-403/version.asp" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xzoWtmmqgk7wbVdZcGCzjm" name="MSIVecotr16HXAI" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xzoWtmmqgk7wbVdZcGCzjm-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.laptopsdirect.co.uk/msi-vector-16-hx-ai-a2xwhg-403uk-intel-core-ultra-7-16gb-ram-512gb-ssd-gefo-9s7-15m352-403/version.asp" target="_blank" rel="nofollow" data-dimension112="db0e665a-c0ab-11f1-96e3-25250e8fbb34" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="£1799.98">Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5: £1799.98</a></strong><br>RTX 5070 Ti gaming laptop deals are becoming rarer at this point, but this Vector is a stalwart of our pages. It's got specs that make a lot more sense than the rest, with a full-fat 140 W GPU and a 240 Hz screen, alongside a 20-core Intel chip. It's a shame about the tiny 512 GB SSD and the slightly old-school chassis, but I'd still pick up one of these over the pricier competition.</p><p><strong>Key specs: RTX 5070 Ti (140 W) | Core Ultra 7 255HX | 16-inch | 1600p | 240 Hz | 16 GB DDR5 | 512 GB SSD</strong></p><p><strong>Price check: </strong><a href="https://www.amazon.co.uk/MSI-Vector-144Hz-Gaming-Laptop/dp/B0DTN2RZ1Q/" target="_blank">Amazon<strong> </strong>£1800.06</a><a class="view-deal button" href="https://www.laptopsdirect.co.uk/msi-vector-16-hx-ai-a2xwhg-403uk-intel-core-ultra-7-16gb-ram-512gb-ssd-gefo-9s7-15m352-403/version.asp" target="_blank" rel="nofollow" data-dimension112="db0e665a-c0ab-11f1-96e3-25250e8fbb34" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="£1799.98">View Deal</a></p></div><div class="product"><a data-dimension112="501949e0-c234-11f1-952f-4f05c80b29aa" data-action="Deal Block" data-label="Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5" data-dimension48="Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5" data-dimension25="£2299.99" href="https://www.amazon.co.uk/MSI-Stealth-GeForce-LPDDR5X-Windows/dp/B0DX2JYGH6/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="kWR2cFMTQMmYdnWRvRqFGL" name="MSIStealth (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/kWR2cFMTQMmYdnWRvRqFGL-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/MSI-Stealth-GeForce-LPDDR5X-Windows/dp/B0DX2JYGH6/" target="_blank" rel="nofollow" data-dimension112="501949e0-c234-11f1-952f-4f05c80b29aa" data-action="Deal Block" data-label="Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5" data-dimension48="Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5" data-dimension25="£2299.99">Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5: was £2781.52 now £2299.99</a></strong><br>The downside here is the power limit on the GPU—but being an RTX 5080 mobile, it should still deliver whopping great chunks of performance. The CPU is a beastly 12-core, 24-thread model, and you even get 32 GB of DDR5 and a 2 TB SSD wrapped up in a slim chassis. Plus, did I mention the 240Hz OLED screen? Not bad at all for the cash.<br><br><strong>Key specs: RTX 5080 (105 W) | Ryzen AI 9 HX 370 | 16-inch | 1600p | 240 Hz OLED | 32 GB DDR5 | 2 TB SSD</strong><a class="view-deal button" href="https://www.amazon.co.uk/MSI-Stealth-GeForce-LPDDR5X-Windows/dp/B0DX2JYGH6/" target="_blank" rel="nofollow" data-dimension112="501949e0-c234-11f1-952f-4f05c80b29aa" data-action="Deal Block" data-label="Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5" data-dimension48="Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5" data-dimension25="£2299.99">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><section class="article__schema-question"><h3>How do I become a Prime member for Amazon Prime Day?</h3><article class="article__schema-answer"><p>You can sign up on <a href="https://www.amazon.com/amazonprime" target="_blank">Amazon's Prime membership page</a> for a 30-day free trial. Remember though, you'll have to create an Amazon account and provide payment card details—so if you only want the Prime benefits for Prime Day itself, make sure to remember to cancel your subscription before your 30-day membership ends. </p></article></section> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/amazon-prime-day-gaming-laptop-deals/</link>
                                                                            <description>
                            <![CDATA[ Prime Day itself might be over, but many other retailer's deals on gaming laptops are still running. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">dBUAtwHnPBpkGHTkTbrhke</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/KddrtPoxCRq93dK3Pr9mYd-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 09 Jun 2026 10:41:28 +0000</pubDate>                                                                                                                                <updated>Thu, 08 Oct 2026 11:39:01 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Laptops]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Gaming PCs]]></category>
                                                                                                                    <dc:creator><![CDATA[ Andy Edser ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-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/KddrtPoxCRq93dK3Pr9mYd-1920-80.jpg">
                                                            <media:credit><![CDATA[Acer]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Acer Nitro gaming laptop on a Prime Day background]]></media:description>                                                            <media:text><![CDATA[Acer Nitro gaming laptop on a Prime Day background]]></media:text>
                                <media:title type="plain"><![CDATA[Acer Nitro gaming laptop on a Prime Day background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/KddrtPoxCRq93dK3Pr9mYd-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>October Prime Day (or Big Deal Days, if you really must insist), has technically finished. The event ran until October 7, but the good news is that Newegg, Best Buy and more keep a lot of deals running well after Amazon's event finishes. So, there's still time to pick up a great deal on a gaming laptop.</p><p>👉<strong>We also collect deals all year round on our regular </strong><a href="https://www.pcgamer.com/gaming-laptop-deals/" target="_blank"><strong>best deals on gaming laptops</strong></a><strong> page.</strong>👈</p><p>There are still some good discounts on great machines at the moment, despite this year being full of price increases as a major theme. </p><p>I've broken the deals up into pricing categories, from cheap but very cheerful RTX 5050 machines for under $1,000, to the odd RTX 5080-equipped fire breathing monster cruising at just over $2,000. And everything in between, of course. </p><h2 class="article-body__section" id="section-where-to-buy-the-best-prime-day-gaming-laptop-deals"><span>Where to buy the best Prime Day gaming laptop deals</span></h2><ul><li><strong>Amazon:</strong> <a href="https://www.amazon.com/Acer-Nitro-Gaming-Laptop-512GB/dp/B0FRNL6NQ7/?th=1" target="_blank">Good lord, a <strong>$1,200 RTX 5070 Acer gaming laptop</strong></a></li><li><strong>Newegg:</strong> <a href="https://www.newegg.com/msi-16-0-geforce-rtx-5070-ti-laptop-gpu-fhd-16gb-memory-512-gb-nvme-ssd-512gb-hdd/p/2WC-000C-0JJ10" target="_blank">The best deal on an RTX 5070 Ti gaming laptop: MSI Vector 16 HX AI for $1,599</a></li><li><strong>Acer:</strong> <a href="https://www.bestbuy.com/product/acer-nitro-v-16-wuxga-165hz-gaming-laptop-intel-core-7-240h-2024-nvidia-geforce-rtx-5060-16gb-memory-512gb-storage-obsidian-black/JJ8V8QFPT8/sku/6675842" target="_blank">RTX 5060 Acer machine with 165 Hz display for $1,150</a></li><li><strong>Best Buy: </strong><a href="https://www.bestbuy.com/product/gigabyte-gaming-a16-16-165hz-1920x1200-wuxga-intel-core-i7-13620h-1tb-ssd-32gb-ddr5-ram-geforce-rtx-5060-black-steel/J3GWPQC2TJ/sku/6632143" target="_blank">$1,250 32 GB RTX 5060 Gigabyte gaming laptop</a></li><li><strong>Walmart:</strong> <a href="https://www.walmart.com/ip/Lenovo-Legion-5i-15-1-WQXGA-Laptop-Core-i7-14700HX-16GB-1TB-NVIDIA-GN22-X4-83LY0000US/14618706354" target="_blank">OLED-equipped RTX 5060 Lenovo Legion 5i for $1,499</a></li><li><strong>Lenovo: </strong><a href="https://www.bestbuy.com/product/lenovo-loq-15-6-full-hd-gaming-laptop-intel-core-i5-13450hx-2023-16gb-memory-nvidia-geforce-rtx-5050-512gb-ssd-luna-grey/JJGSH8FS59" target="_blank">Budget 100 W RTX 5050 machine for $999</a></li><li><strong>B&H Photo:</strong> <a href="https://www.bhphotovideo.com/c/buy/gaming-laptops/ci/24610" target="_blank">Lenovo, Acer, and Gigabyte gaming laptop deals starting at $1,250</a></li><li><strong>Asus:</strong> <a href="https://www.bestbuy.com/site/searchpage.jsp?id=pcat17071&st=asus%20gaming%20laptop" target="_blank">$100s off Asus machines at Best Buy</a></li><li><strong>Razer:</strong> <a href="https://www.razer.com/store/gaming-laptops" target="_blank">Some of the best gaming laptops we've ever tested</a></li><li><strong>MSI:</strong> <a href="https://www.newegg.com/p/pl?d=MSI+gaming+laptop" target="_blank">Huge selection of MSI gaming laptops at Newegg</a></li><li><strong>Lenovo:</strong> <a href="https://www.lenovo.com/us/en/laptops/results/?visibleDatas=698%3ALegion&sortBy=priceUp" target="_blank">Legion gaming laptops aplenty</a></li><li><strong>Dell:</strong> <a href="https://www.dell.com/en-us/shop/dell-computer-laptops/scr/laptops/gaming" target="_blank">Alienware gaming laptops live here</a></li></ul><p><strong>💻 RTX 5050</strong> - Lenovo LOQ | <a href="https://www.bestbuy.com/product/lenovo-loq-15-6-full-hd-gaming-laptop-intel-core-i5-13450hx-2023-16gb-memory-nvidia-geforce-rtx-5050-512gb-ssd-luna-grey/JJGSH8FS59" target="_blank"><strong>$999 @ Best Buy (save $176)</strong></a><br><strong>💻 RTX 5060</strong> - Acer Nitro V16 | <a href="https://www.bestbuy.com/product/acer-nitro-v-16-wuxga-165hz-gaming-laptop-intel-core-7-240h-2024-nvidia-geforce-rtx-5060-16gb-memory-512gb-storage-obsidian-black/JJ8V8QFPT8/sku/6675842" target="_blank"><strong>$1,149 @ Best Buy (save $480)</strong></a><br><strong>💻 RTX 5070</strong> - Acer Nitro V16 | <a href="https://www.amazon.com/Acer-Nitro-Gaming-Laptop-512GB/dp/B0FRNL6NQ7/?th=1" target="_blank"><strong>$1,200 @ Amazon (save $100)</strong></a><br><strong>💻 RTX 5070 Ti</strong> - MSI Vector 16 HX AI | <a href="https://www.newegg.com/msi-16-0-geforce-rtx-5070-ti-laptop-gpu-fhd-16gb-memory-512-gb-nvme-ssd-512gb-hdd/p/2WC-000C-0JJ10" target="_blank"><strong>$1,599 @ Newegg (save $400)</strong></a><br><strong>💻 RTX 5080</strong> - MSI Vector 16 HX AI | <a href="https://www.newegg.com/msi-16-geforce-rtx-5080-laptop-gpu-intel-core-ultra-9-275hx-16gb-memory-1-tb-ssd/p/N82E16834156737" target="_blank"><strong>$2,299 @ Newegg (save $300) </strong></a></p><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-t31ffft *:not(svg):not(path) { box-sizing: border-box; }    #widget-t31ffft h1, #widget-t31ffft p, #widget-t31ffft h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-t31ffft, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-t31ffft); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-t31ffft tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-t31ffft tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-t31ffft td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-t31ffft: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-t31ffft: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-t31ffft td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-t31ffft td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-t31ffft td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-t31ffft td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-t31ffft td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-t31ffft td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-t31ffft: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-t31ffft: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-t31ffft"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 134 gaming laptop reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Gaming Laptops";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%22DgZUgXbK89aWX4mFm3ARYT%22%2C%22title%22%3A%22MSI%20Crosshair%2016%20Max%20HX%20E2W%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fmsi-crosshair-16-max-hx-e2w-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-01T09%3A50%3A22Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fhfi6afiN7tUhEpMkwksafU.jpg%22%2C%22strapline%22%3A%22Great%20mid-range%20performance%2C%20but%20most%20certainly%20at%20a%20cost.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22laptop%22%2C%22gaming%20laptop%22%2C%22MSI%22%2C%22MSI%20Crosshair%2016%20Max%20HX%20E2W%22%2C%22RTX%205070%20mobile%22%5D%2C%22score%22%3A69%2C%22summary%22%3A%22Great%20mid-range%20performance%2C%20but%20most%20certainly%20at%20a%20cost.%22%7D%2C%7B%22id%22%3A%22YWioFrCHodP5VUK68GX2Q6%22%2C%22title%22%3A%22MSI%20Stealth%2016%20AI%2B%20B3W%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fmsi-stealth-16-ai-b3w-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-26T15%3A04%3A21Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FkzGmhrk73CvMfpLwX9bzuQ.jpg%22%2C%22strapline%22%3A%22Hella%20nice%2C%20but%20hella%20expensive.%20Thanks%2C%202026.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22laptop%22%2C%22gaming%20laptop%22%2C%22MSI%20Stealth%2016%20AI%2B%22%2C%22MSI%22%2C%22RTX%205080%20Mobile%22%5D%2C%22score%22%3A80%2C%22summary%22%3A%22Hella%20nice%2C%20but%20hella%20expensive.%20Thanks%2C%202026.%22%7D%2C%7B%22id%22%3A%22NxoiRUG9zEX5pCTyQbyoFm%22%2C%22title%22%3A%22Acer%20Predator%20Helios%20NEO%2016S%20AI%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Facer-predator-helios-neo-16s-ai-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-19T11%3A11%3A35Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FjaZXgvA4H2dkWq46FFbrdn.jpg%22%2C%22strapline%22%3A%22A%20tale%20of%20two%20chippies%20as%20cursed%20power%20delivery%20strikes%20again.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Acer%22%2C%22Acer%20Predator%20Helios%20Neo%2016S%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20tale%20of%20two%20chippies%20as%20cursed%20power%20delivery%20strikes%20again.%22%7D%2C%7B%22id%22%3A%22D9HRoAXmmbE9a5yRWs2wFL%22%2C%22title%22%3A%22Asus%20ROG%20Zephyrus%20G16%20(2026)%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fasus-rog-zephyrus-g16-2026-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-07T15%3A49%3A06Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FozLmpvwtRGMfs4nrhJGSjH.jpg%22%2C%22strapline%22%3A%22The%20super-portable%20G16%20is%2C%20in%20many%20ways%2C%20better%20than%20ever%E2%80%94but%20the%20memory%20crisis%20has%20priced%20it%20out%20of%20top%20contention.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Asus%22%2C%22Asus%20ROG%20Zephyrus%20G16%202026%22%2C%22RTX%205080%20Mobile%22%2C%22RTX%20Blackwell%22%2C%22Nvidia%22%2C%22Intel%22%2C%22Panther%20Lake%22%2C%22Intel%20Core%20Ultra%209%20386H%22%5D%2C%22score%22%3A78%2C%22summary%22%3A%22The%20super-portable%20G16%20is%2C%20in%20many%20ways%2C%20better%20than%20ever%E2%80%94but%20the%20memory%20crisis%20has%20priced%20it%20out%20of%20top%20contention.%22%7D%2C%7B%22id%22%3A%227ysLkANjhLkLSSTYSuTMVV%22%2C%22title%22%3A%22Razer%20Blade%2016%20(2026)%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Frazer-blade-16-2026-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-03T14%3A44%3A57Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FSngjBKNEj6gkELFRH4Vdp5.jpg%22%2C%22strapline%22%3A%22It's%20still%20one%20of%20the%20best%20gaming%20laptops%20money%20can%20buy%2C%20but%20the%20massive%20price%20tag%20throws%20me%20for%20a%20loop.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Razer%22%2C%22Razer%20Blade%2016%22%2C%22Razer%20Blade%2016%20(2026)%22%2C%22RTX%205090%20mobile%22%2C%22RTX%20Blackwell%22%2C%22Nvidia%22%2C%22Intel%22%2C%22Panther%20Lake%22%2C%22Intel%20Core%20Ultra%209%20386H%22%5D%2C%22score%22%3A86%2C%22summary%22%3A%22It's%20still%20one%20of%20the%20best%20gaming%20laptops%20money%20can%20buy%2C%20but%20the%20massive%20price%20tag%20throws%20me%20for%20a%20loop.%22%7D%2C%7B%22id%22%3A%22VRhQczsWm3d4tLpQ4mqQy6%22%2C%22title%22%3A%22Framework%2013%20Pro%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fframework-13-pro-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-27T16%3A25%3A42Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fnbs2FbEVLThThLpncCELCJ.jpg%22%2C%22strapline%22%3A%22The%20best%20laptop%20Framework's%20ever%20produced%2C%20and%20one%20of%20the%20best%20I've%20ever%20used.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Framework%22%2C%22Framework%2013%20Pro%22%2C%22Panther%20Lake%22%2C%22Intel%22%2C%22Intel%20Core%20Ultra%20Series%203%22%5D%2C%22score%22%3A88%2C%22summary%22%3A%22The%20best%20laptop%20Framework's%20ever%20produced%2C%20and%20one%20of%20the%20best%20I've%20ever%20used.%22%7D%2C%7B%22id%22%3A%22uerTRP2xkLJ8DD2ks9GN9N%22%2C%22title%22%3A%22Asus%20ZenBook%20A16%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fasus-zenbook-a16-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-10T15%3A44%3A56Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FtXLzjDGt9GE2krKoZ5ZtEm.jpg%22%2C%22strapline%22%3A%22The%20latest%20Snapdragon%20chip%20in%20a%20thin%20and%20light%20shell.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Asus%22%2C%22ZenBook%20A16%22%2C%22Qualcomm%22%2C%22Snapdragon%20X2%20Elite%20Extreme%20Edition%22%5D%2C%22score%22%3A73%2C%22summary%22%3A%22The%20latest%20Snapdragon%20chip%20in%20a%20thin%20and%20light%20shell.%22%7D%2C%7B%22id%22%3A%22JHtmijAhGYS67N2uxeWYDR%22%2C%22title%22%3A%22MacBook%20Neo%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fmacbook-neo-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-30T11%3A50%3A24Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FcaHCBCuuczphAKcLJgYRfb.jpg%22%2C%22strapline%22%3A%22Apple's%20cheap%20laptop%20struggles%20to%20rise%20to%20the%20occasion%2C%20but%20remains%20an%20impressive%20little%20machine.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22apple%22%2C%22MacBook%20Neo%22%2C%22laptop%22%5D%2C%22score%22%3A80%2C%22summary%22%3A%22Apple's%20cheap%20laptop%20struggles%20to%20rise%20to%20the%20occasion%2C%20but%20remains%20an%20impressive%20little%20machine.%22%7D%2C%7B%22id%22%3A%22tH3CGay73ZbEimHAk2YZXB%22%2C%22title%22%3A%22Acer%20Nitro%20V%2016%20AI%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Facer-nitro-v-16-ai-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-03-04T12%3A47%3A09Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FspDb3pwqYMZKsyTGVJjMuQ.jpg%22%2C%22strapline%22%3A%22Ignore%20the%20AI%20moniker%3B%20if%20you%20can%20get%20this%20thing%20at%20a%20reasonable%20price%20with%20the%20right%20spec%2C%20it's%20a%20real%20treat.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Acer%22%2C%22Acer%20Nitro%20V%2016%22%5D%2C%22score%22%3A81%2C%22summary%22%3A%22Ignore%20the%20AI%20moniker%3B%20if%20you%20can%20get%20this%20thing%20at%20a%20reasonable%20price%20with%20the%20right%20spec%2C%20it's%20a%20real%20treat.%22%7D%2C%7B%22id%22%3A%22pwn39iCVVxPcCvtsDYUBNa%22%2C%22title%22%3A%22Acer%20Nitro%20V15%20gaming%20laptop%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Facer-nitro-v15-gaming-laptop-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-02-16T13%3A51%3A43Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FyNTxxbzSiH3jiobPcMdf5X.jpg%22%2C%22strapline%22%3A%22Due%20to%20unforeseen%20market%20forces%2C%20we've%20travelled%20back%20in%20time.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20laptop%22%2C%22Acer%22%2C%22Nitro%20V15%22%5D%2C%22score%22%3A66%2C%22summary%22%3A%22Due%20to%20unforeseen%20market%20forces%2C%20we've%20travelled%20back%20in%20time.%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 134;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Gaming Laptops Widget"></iframe></div><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/1u7oN5ovAeo" allowfullscreen></iframe></div></div><h2 class="article-body__section" id="section-amazon-prime-day-gaming-laptop-deals-under-1-000"><span>Amazon Prime Day gaming laptop deals under $1,000</span></h2><div class="product"><a data-dimension112="db0e60f6-c0ab-11f1-bd2e-bf669941e690" data-action="Deal Block" data-label="LOQ | RTX 5050 (100 W) | 16 GB DDR5" data-dimension48="LOQ | RTX 5050 (100 W) | 16 GB DDR5" data-dimension25="$998.99" href="https://www.bestbuy.com/product/lenovo-loq-15-6-full-hd-gaming-laptop-intel-core-i5-13450hx-2023-16gb-memory-nvidia-geforce-rtx-5050-512gb-ssd-luna-grey/JJGSH8FS59" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="3f3kgZLg9nfmGoPu6JpRuE" name="1782125900.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/3f3kgZLg9nfmGoPu6JpRuE-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/lenovo-loq-15-6-full-hd-gaming-laptop-intel-core-i5-13450hx-2023-16gb-memory-nvidia-geforce-rtx-5050-512gb-ssd-luna-grey/JJGSH8FS59" target="_blank" rel="nofollow" data-dimension112="db0e60f6-c0ab-11f1-bd2e-bf669941e690" data-action="Deal Block" data-label="LOQ | RTX 5050 (100 W) | 16 GB DDR5" data-dimension48="LOQ | RTX 5050 (100 W) | 16 GB DDR5" data-dimension25="$998.99">LOQ | RTX 5050 (100 W) | 16 GB DDR5: was $1174.99 now $998.99</a></strong><br>Ordinarily, an RTX 5050 gaming laptop for nearly $1,000 wouldn't be particularly special. However, this one has a 100 W GPU power limit, which means it should be reasonably punchy when paired with a 1080p display. It's a shame the RAM is limited to a single module, but in terms of gaming performance the lack of dual channel shouldn't affect it much, as we found when we <a href="https://www.pcgamer.com/hardware/gaming-laptops/lenovo-loq-15-gen10-review/" target="_blank">reviewed an RTX 5060 model</a> late last year.<br><br><strong>Key specs: RTX 5050 (100 W) | Core i5 13450HX | 15-inch | 1080p | 144 Hz | 16 GB DDR5 | 512 GB</strong><a class="view-deal button" href="https://www.bestbuy.com/product/lenovo-loq-15-6-full-hd-gaming-laptop-intel-core-i5-13450hx-2023-16gb-memory-nvidia-geforce-rtx-5050-512gb-ssd-luna-grey/JJGSH8FS59" target="_blank" rel="nofollow" data-dimension112="db0e60f6-c0ab-11f1-bd2e-bf669941e690" data-action="Deal Block" data-label="LOQ | RTX 5050 (100 W) | 16 GB DDR5" data-dimension48="LOQ | RTX 5050 (100 W) | 16 GB DDR5" data-dimension25="$998.99">View Deal</a></p></div><h2 class="article-body__section" id="section-1-000-1-500"><span>$1,000-$1,500</span></h2><div class="product"><a data-dimension112="c84f6da0-bb35-11f1-a4fb-bb26d29c9ef2" data-action="Deal Block" data-label="Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5" data-dimension48="Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5" data-dimension25="$1149.99" href="https://www.bestbuy.com/product/acer-nitro-v-16-wuxga-165hz-gaming-laptop-intel-core-7-240h-2024-nvidia-geforce-rtx-5060-16gb-memory-512gb-storage-obsidian-black/JJ8V8QFPT8/sku/6675842" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QCq3qMcXUD6x4u7bDU2FjZ" name="AcerNitroV16 (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QCq3qMcXUD6x4u7bDU2FjZ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/acer-nitro-v-16-wuxga-165hz-gaming-laptop-intel-core-7-240h-2024-nvidia-geforce-rtx-5060-16gb-memory-512gb-storage-obsidian-black/JJ8V8QFPT8/sku/6675842" target="_blank" rel="nofollow" data-dimension112="c84f6da0-bb35-11f1-a4fb-bb26d29c9ef2" data-action="Deal Block" data-label="Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5" data-dimension48="Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5" data-dimension25="$1149.99">Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5: was $1629.99 now $1149.99</a></strong><br>If you're shopping for a gaming laptop anywhere near the $1,000 mark, SSD sizes can unfortunately suffer. This Acer lappy has a 512 GB model, which is pretty small, and the GPU's 75 W power limit is a touch low. However, it's still the cheapest (good) RTX 5060 gaming laptop I can find, and it should perform well with its 1200p, 165 Hz screen. If you're watching your pennies, this is a good price for this particular machine.</p><p><strong>Key specs: RTX 5060 (75 W) | Core 7 240H | 16-inch | 1200p | 165 Hz | 16 GB DDR5 | 512 GB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/acer-nitro-v-16-wuxga-165hz-gaming-laptop-intel-core-7-240h-2024-nvidia-geforce-rtx-5060-16gb-memory-512gb-storage-obsidian-black/JJ8V8QFPT8/sku/6675842" target="_blank" rel="nofollow" data-dimension112="c84f6da0-bb35-11f1-a4fb-bb26d29c9ef2" data-action="Deal Block" data-label="Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5" data-dimension48="Nitro V 16 | RTX 5060 (75 W) | 16 GB DDR5" data-dimension25="$1149.99">View Deal</a></p></div><div class="product"><a data-dimension112="41015f8a-c197-11f1-ae2f-d5adcd9265f1" data-action="Deal Block" data-label="Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension48="Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension25="$1199.99" href="https://www.amazon.com/Acer-Nitro-Gaming-Laptop-512GB/dp/B0FRNL6NQ7/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="rj5HUrStGuVCqnxpVPrbLJ" name="AcerNitroV" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rj5HUrStGuVCqnxpVPrbLJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Acer-Nitro-Gaming-Laptop-512GB/dp/B0FRNL6NQ7/?th=1" target="_blank" rel="nofollow" data-dimension112="41015f8a-c197-11f1-ae2f-d5adcd9265f1" data-action="Deal Block" data-label="Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension48="Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension25="$1199.99">Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5: was $1299.99 now $1199.99</a></strong><br>Good lord, it's an RTX 5070 gaming laptop for the same price I <em>used</em> to find them. This Acer Nitro V 16 is a solidly specced machine, what with its 10-core Intel CPU (six Performance, four Efficient) and Nvidia's mid-range graphics card sitting in its tidy-looking frame. The GPU has been power limited to 85 W, but it should still do very well with a 1200p screen. It's a shame about the small SSD, but for this price, in this market? I'll take it all day long.</p><p><strong>Key specs: RTX 5070 (85 W) | Core 7 240H | 16-inch | 1200p | 180 Hz | 16 GB DDR5 | 512 GB SSD</strong><a class="view-deal button" href="https://www.amazon.com/Acer-Nitro-Gaming-Laptop-512GB/dp/B0FRNL6NQ7/?th=1" target="_blank" rel="nofollow" data-dimension112="41015f8a-c197-11f1-ae2f-d5adcd9265f1" data-action="Deal Block" data-label="Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension48="Nitro V 16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension25="$1199.99">View Deal</a></p></div><div class="product"><a data-dimension112="c84f6e7c-bb35-11f1-91a5-c7d22052d3da" data-action="Deal Block" data-label="Aero X16 | RTX 5060 (85 W) | 32 GB DDR5" data-dimension48="Aero X16 | RTX 5060 (85 W) | 32 GB DDR5" data-dimension25="$1224.99" href="https://www.bestbuy.com/product/gigabyte-aero-x16-copilot-pc-16-25601600-wqxga-amd-ryzen-al-7-350-1tb-ssd-32gb-ddr5-ram-geforce-rtx-5060-space-gray/J3GWPQCXYT/sku/6635752" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4o9dqSGzKqi3LLfhBg58ph" name="GigabyteAeroX16" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4o9dqSGzKqi3LLfhBg58ph-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/gigabyte-aero-x16-copilot-pc-16-25601600-wqxga-amd-ryzen-al-7-350-1tb-ssd-32gb-ddr5-ram-geforce-rtx-5060-space-gray/J3GWPQCXYT/sku/6635752" target="_blank" rel="nofollow" data-dimension112="c84f6e7c-bb35-11f1-91a5-c7d22052d3da" data-action="Deal Block" data-label="Aero X16 | RTX 5060 (85 W) | 32 GB DDR5" data-dimension48="Aero X16 | RTX 5060 (85 W) | 32 GB DDR5" data-dimension25="$1224.99">Aero X16 | RTX 5060 (85 W) | 32 GB DDR5: was $1299.99 now $1224.99</a></strong><br>This is a power-limited RTX 5060 machine—but you do get 32 GB of DDR5 for your cash, which is increasingly rare in 2026. The processor is decently beefy, too, although you will need to lean on upscaling to make the most of its 1600p 165 Hz screen. If you want 32 GB of RAM in a gaming laptop, this is about the cheapest I'd consider.</p><p><strong>Key specs: RTX 5060 (85 W) | Ryzen AI 7 350 | 16-inch | 1600p | 165 Hz | 32 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/gigabyte-aero-x16-copilot-pc-16-25601600-wqxga-amd-ryzen-al-7-350-1tb-ssd-32gb-ddr5-ram-geforce-rtx-5060-space-gray/J3GWPQCXYT/sku/6635752" target="_blank" rel="nofollow" data-dimension112="c84f6e7c-bb35-11f1-91a5-c7d22052d3da" data-action="Deal Block" data-label="Aero X16 | RTX 5060 (85 W) | 32 GB DDR5" data-dimension48="Aero X16 | RTX 5060 (85 W) | 32 GB DDR5" data-dimension25="$1224.99">View Deal</a></p></div><div class="product"><a data-dimension112="c84f6eea-bb35-11f1-9367-c59fdeb25968" data-action="Deal Block" data-label="Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED" data-dimension48="Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED" data-dimension25="$1499" href="https://www.walmart.com/ip/Lenovo-Legion-5i-15-1-WQXGA-Laptop-Core-i7-14700HX-16GB-1TB-NVIDIA-GN22-X4-83LY0000US/14618706354" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ES7y3yzMVNiUYVRM5ARBjT" name="Lenovo Legion 5i" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ES7y3yzMVNiUYVRM5ARBjT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/Lenovo-Legion-5i-15-1-WQXGA-Laptop-Core-i7-14700HX-16GB-1TB-NVIDIA-GN22-X4-83LY0000US/14618706354" target="_blank" rel="nofollow" data-dimension112="c84f6eea-bb35-11f1-9367-c59fdeb25968" data-action="Deal Block" data-label="Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED" data-dimension48="Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED" data-dimension25="$1499">Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED: was $2299.99 now $1499</a></strong><br>While this is still a lot of money for an RTX 5060 machine, there are two main points to consider. One, it's got a 100 W GPU power limit, which is better than most. And two, it's got a 165 Hz OLED display, which means you get some of the best screen tech around crammed within a 15.1 inch frame. The CPU is plenty punchy, and it's also got a proper 1 TB SSD. The RTX 5060 will need a fair bit of DLSS help to push pixels at 1600p resolution, but this lappy is still well worth considering for the cash.</p><p><strong>Key specs: RTX 5060 (100 W) | Core i7 14700HX | 15.1-inch | 1600p | 165 Hz OLED | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.walmart.com/ip/Lenovo-Legion-5i-15-1-WQXGA-Laptop-Core-i7-14700HX-16GB-1TB-NVIDIA-GN22-X4-83LY0000US/14618706354" target="_blank" rel="nofollow" data-dimension112="c84f6eea-bb35-11f1-9367-c59fdeb25968" data-action="Deal Block" data-label="Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED" data-dimension48="Legion 5i | RTX 5060 (100 W) | 16 GB DDR5 | OLED" data-dimension25="$1499">View Deal</a></p></div><h2 class="article-body__section" id="section-1-500"><span>$1,500+</span></h2><div class="product"><a data-dimension112="db0e636c-c0ab-11f1-99fc-ffcae29bf7bf" data-action="Deal Block" data-label="TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5" data-dimension48="TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5" data-dimension25="$1599.99" href="https://www.bestbuy.com/product/asus-tuf-gaming-a16-16-165hz-fhd-gaming-laptop-amd-ryzen-9-8940hx-2025-16gb-memory-geforce-rtx-5070-512gb-storage-jaegar-gray/JJGHGSXCV8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="MrnxPJ2LvS5YYCVZY7vy7R" name="Asus TUF A16" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/MrnxPJ2LvS5YYCVZY7vy7R-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/asus-tuf-gaming-a16-16-165hz-fhd-gaming-laptop-amd-ryzen-9-8940hx-2025-16gb-memory-geforce-rtx-5070-512gb-storage-jaegar-gray/JJGHGSXCV8" target="_blank" rel="nofollow" data-dimension112="db0e636c-c0ab-11f1-99fc-ffcae29bf7bf" data-action="Deal Block" data-label="TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5" data-dimension48="TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5" data-dimension25="$1599.99">TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5: was $2224.99 now $1599.99</a></strong><br>Ah, one of my favorites. This Asus has properly powerful RTX 5070 with a 115 W limit, a 16-core, 32-thread AMD chip with serious grunt, and a 1200p, 165 Hz screen that should give the GPU little trouble. The downside? It's got a teeny tiny SSD. We're <a href="https://www.pcgamer.com/amazon-prime-day-ssd-deals/" target="_blank">finding deals on those too</a>, so I'd be sticking a 1 TB drive in this beastie at the earliest opportunity.</p><p><strong>Key specs: RTX 5070 (115 W) | Ryzen 9 8940HX | 16-inch | 1200p | 165 Hz | 16 GB DDR5 | 512 GB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/asus-tuf-gaming-a16-16-165hz-fhd-gaming-laptop-amd-ryzen-9-8940hx-2025-16gb-memory-geforce-rtx-5070-512gb-storage-jaegar-gray/JJGHGSXCV8" target="_blank" rel="nofollow" data-dimension112="db0e636c-c0ab-11f1-99fc-ffcae29bf7bf" data-action="Deal Block" data-label="TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5" data-dimension48="TUF Gaming A16 | RTX 5070 (115 W) | 16 GB DDR5" data-dimension25="$1599.99">View Deal</a></p></div><div class="product"><a data-dimension112="db0e63ee-c0ab-11f1-9136-3be5e95ea1ee" data-action="Deal Block" data-label="Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5" data-dimension48="Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5" data-dimension25="$1618" href="https://www.walmart.com/ip/GIGABYTE-Gaming-A16-16-Laptop-Intel-Core-i7-13620H-32GB-RAM-1TB-SSD-GeForce-RTX-5070-165Hz-IPS-Black-Steel-CWHI3US864SH/19960921727" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="EZnfGSPwbeRukWtnZaGFDT" name="GigabyteGamingA16 (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/EZnfGSPwbeRukWtnZaGFDT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/GIGABYTE-Gaming-A16-16-Laptop-Intel-Core-i7-13620H-32GB-RAM-1TB-SSD-GeForce-RTX-5070-165Hz-IPS-Black-Steel-CWHI3US864SH/19960921727" target="_blank" rel="nofollow" data-dimension112="db0e63ee-c0ab-11f1-9136-3be5e95ea1ee" data-action="Deal Block" data-label="Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5" data-dimension48="Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5" data-dimension25="$1618">Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5: was $1849.99 now $1618</a></strong><br>This Gigabyte lappy has a very stylish chassis, 32 GB of DDR5, a 1 TB SSD, and an RTX 5070 mobile. You're paying a pretty penny for all that RAM, but this machine is still cheaper than any other RTX 5070/32 GB combo I can find. The GPU has been power limited to 85 W, but it should still have little issue firing pixels at a 1200p screen.</p><p><strong>Key specs: RTX 5070 (85 W) | Core i7 13620H | 16-inch | 1200p | 165 Hz | 32 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.walmart.com/ip/GIGABYTE-Gaming-A16-16-Laptop-Intel-Core-i7-13620H-32GB-RAM-1TB-SSD-GeForce-RTX-5070-165Hz-IPS-Black-Steel-CWHI3US864SH/19960921727" target="_blank" rel="nofollow" data-dimension112="db0e63ee-c0ab-11f1-9136-3be5e95ea1ee" data-action="Deal Block" data-label="Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5" data-dimension48="Gaming A16 | RTX 5070 (85 W) | 32 GB DDR5" data-dimension25="$1618">View Deal</a></p></div><div class="product"><a data-dimension112="c84f703e-bb35-11f1-8bee-875e71202754" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="$1599.99" href="https://www.newegg.com/msi-16-0-geforce-rtx-5070-ti-laptop-gpu-fhd-16gb-memory-512-gb-nvme-ssd-512gb-hdd/p/2WC-000C-0JJ10" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1273px;"><p class="vanilla-image-block" style="padding-top:99.21%;"><img id="L8EiHLSsFi8GFPQWs77aRF" name="1778069308.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/L8EiHLSsFi8GFPQWs77aRF-1920-80.jpg" mos="" align="middle" fullscreen="" width="1273" height="1263" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/msi-16-0-geforce-rtx-5070-ti-laptop-gpu-fhd-16gb-memory-512-gb-nvme-ssd-512gb-hdd/p/2WC-000C-0JJ10" target="_blank" rel="nofollow" data-dimension112="c84f703e-bb35-11f1-8bee-875e71202754" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="$1599.99">Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5: was $2199 now $1599.99</a></strong><br>I'm a big fan of this mildly anachronistic gaming laptop. It's thick, can be loud, but it delivers on gaming performance and does so for an affordable price tag. The RTX 5070 Ti at its heart is a quality 12 GB mobile GPU, has a 140 W power limit, and if you run it on balanced mode you'll still get good gaming performance without the turbine whine of the fans. This one's got a 1200p screen, which should give the GPU very little trouble. Unfortunately, it's also got a 512 GB SSD, which is very small. Still, it's a lot of gaming hardware for the cash regardless.<br><strong></strong><br><strong>Key specs: RTX 5070 Ti (140 W) | Core Ultra 7 255HX | 16-inch | 1200p | 144 Hz | 16 GB DDR5 | 512 GB SSD</strong></p><p><strong>Price check: </strong><a href="https://www.walmart.com/ip/MSI-Vector-16-HX-AI-16-144Hz-FHD-Gaming-Laptop-Intel-Ultra-7-255HX-GeForce-RTX-5070Ti-16GB-Memory-1TBSSD-Cosmo-Gray/17971805588" target="_blank">Walmart $1,719.99 (1 TB SSD)</a><a class="view-deal button" href="https://www.newegg.com/msi-16-0-geforce-rtx-5070-ti-laptop-gpu-fhd-16gb-memory-512-gb-nvme-ssd-512gb-hdd/p/2WC-000C-0JJ10" target="_blank" rel="nofollow" data-dimension112="c84f703e-bb35-11f1-8bee-875e71202754" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="$1599.99">View Deal</a></p></div><div class="product"><a data-dimension112="db0e64d4-c0ab-11f1-a224-e7c8099b3aaf" data-action="Deal Block" data-label="ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="$1799.99" href="https://www.bestbuy.com/product/asus-rog-strix-g16-16-fhd-165hz-gaming-laptop-amd-ryzen-9-hx-16gb-ram-nvidia-geforce-rtx-5070-ti-1tb-ssd-eclipse-gray/JJGGLHJLTS" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="qnATrbjvpG6UVWmHYA9jNm" name="AsusROGStrixG16 (2)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/qnATrbjvpG6UVWmHYA9jNm-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/asus-rog-strix-g16-16-fhd-165hz-gaming-laptop-amd-ryzen-9-hx-16gb-ram-nvidia-geforce-rtx-5070-ti-1tb-ssd-eclipse-gray/JJGGLHJLTS" target="_blank" rel="nofollow" data-dimension112="db0e64d4-c0ab-11f1-a224-e7c8099b3aaf" data-action="Deal Block" data-label="ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="$1799.99">ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5: was $2299.99 now $1799.99</a></strong><br>This lappy has a honking, chonking, AMD Ryzen 9 8940HX CPU throbbing away in its RGB lit chassis. It's a 16-core 32-thread beastie from the previous generation, which, in combination with a 140 W RTX 5070 Ti mobile, should make for some serious gaming performance. The screen is a 165 Hz 1200p model, too, which the graphics chip should have no problem maxing out in most games.</p><p><strong>Key specs: RTX 5070 Ti (140 W) | Ryzen 9 8940HX | 16-inch | 1200p | 165 Hz | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/asus-rog-strix-g16-16-fhd-165hz-gaming-laptop-amd-ryzen-9-hx-16gb-ram-nvidia-geforce-rtx-5070-ti-1tb-ssd-eclipse-gray/JJGGLHJLTS" target="_blank" rel="nofollow" data-dimension112="db0e64d4-c0ab-11f1-a224-e7c8099b3aaf" data-action="Deal Block" data-label="ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="ROG Strix G16 | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="$1799.99">View Deal</a></p></div><div class="product"><a data-dimension112="c84f711a-bb35-11f1-ace5-49400cc556b0" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5" data-dimension25="$2299" href="https://www.newegg.com/msi-16-geforce-rtx-5080-laptop-gpu-intel-core-ultra-9-275hx-16gb-memory-1-tb-ssd/p/N82E16834156737" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="YRF7AxHdthuqes6XhTuTdY" name="MSIVector16HXAI" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YRF7AxHdthuqes6XhTuTdY-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/msi-16-geforce-rtx-5080-laptop-gpu-intel-core-ultra-9-275hx-16gb-memory-1-tb-ssd/p/N82E16834156737" target="_blank" rel="nofollow" data-dimension112="c84f711a-bb35-11f1-ace5-49400cc556b0" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5" data-dimension25="$2299">Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5: was $2599 now $2299</a></strong><br>This Vector is still the cheapest RTX 5080 gaming laptops around, even if it does go up and down like a yo-yo. Our Dave reviewed the<a href="https://www.pcgamer.com/hardware/gaming-laptops/msi-vector-16-hx-ai-gaming-laptop-review/" target="_blank"> Vector 16 HX AI</a> last year and likes the value proposition you get when you take into account that mega GPU, although it is a bit of a hairdryer on full whack. Still, stick it in Balanced mode and the noise is much more reasonable.</p><p><strong>Key specs: RTX 5080 | Core Ultra 9 275 HX | 16-inch | 1600p | 240 Hz | 16 GB DDR5 | 1 TB SSD</strong></p><p><strong>Price check:</strong> <a href="https://www.bestbuy.com/product/msi-vector-16-hx-ai-400-16-240hz-qhd-gaming-laptop-intel-ultra-9-275hx-geforce-rtx-5080-16gb-memory-1tb-ssd-cosmo-gray/J3P7TXRSQV" target="_blank">Best Buy $2,349.99</a> | <a href="https://www.walmart.com/ip/MSI-16-GeForce-RTX-5080-Laptop-GPU-Intel-Core-Ultra-9-275HX-16GB-Memory-1-TB-SSD-Windows-11-Home-Gaming-Laptop-240-Hz-Vector-16-HX-AI-A2XWIG-050US/16173414561" target="_blank">Walmart $2,229</a><a class="view-deal button" href="https://www.newegg.com/msi-16-geforce-rtx-5080-laptop-gpu-intel-core-ultra-9-275hx-16gb-memory-1-tb-ssd/p/N82E16834156737" target="_blank" rel="nofollow" data-dimension112="c84f711a-bb35-11f1-ace5-49400cc556b0" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5080 (175 W) | 16 GB DDR5" data-dimension25="$2299">View Deal</a></p></div><h2 class="article-body__section" id="section-handheld-gaming-pcs"><span>Handheld gaming PCs</span></h2><div class="product"><a data-dimension112="ad8c6452-c24a-11f1-97b8-1df82f3fe6ce" data-action="Deal Block" data-label="Claw A1M | Core Ultra 7 155H" data-dimension48="Claw A1M | Core Ultra 7 155H" data-dimension25="$562.99" href="https://www.bestbuy.com/product/claw-a1m-7-120hz-fhd-1080p-gaming-handheld-intel-core-cu7-155h-intel-arc-16gb-1tbssd/J3P7TXP4S8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="JLbPzr9W7MHeYVAXgrtgc" name="MSIClawA1M" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/JLbPzr9W7MHeYVAXgrtgc-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/claw-a1m-7-120hz-fhd-1080p-gaming-handheld-intel-core-cu7-155h-intel-arc-16gb-1tbssd/J3P7TXP4S8" target="_blank" rel="nofollow" data-dimension112="ad8c6452-c24a-11f1-97b8-1df82f3fe6ce" data-action="Deal Block" data-label="Claw A1M | Core Ultra 7 155H" data-dimension48="Claw A1M | Core Ultra 7 155H" data-dimension25="$562.99">Claw A1M | Core Ultra 7 155H: was $749.99 now $562.99</a></strong><br>While many handheld gaming PCs are priced out of reasonable consideration at the moment, it's time for the return of the OG Claw. It's got a Meteor Lake Intel chip with eight Xe cores, which should do just fine for indie gaming—and some more demanding stuff with XeSS upscaling assistance. Plus, it's considerably cheaper than the Steam Deck OLED right now, especially with a 1 TB SSD. Out of the two? The MSI is simply better value, although you don't get a fancy screen.<br><br><strong>Key specs: Core Ultra 7 155H | 7-inch | 1080p | 120 Hz | 16 GB LPDDR5x | 1 TB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/claw-a1m-7-120hz-fhd-1080p-gaming-handheld-intel-core-cu7-155h-intel-arc-16gb-1tbssd/J3P7TXP4S8" target="_blank" rel="nofollow" data-dimension112="ad8c6452-c24a-11f1-97b8-1df82f3fe6ce" data-action="Deal Block" data-label="Claw A1M | Core Ultra 7 155H" data-dimension48="Claw A1M | Core Ultra 7 155H" data-dimension25="$562.99">View Deal</a></p></div><div class="product"><a data-dimension112="c362ff52-c240-11f1-ba7d-e7f8e2992f96" data-action="Deal Block" data-label="ROG Xbox Ally | Z2 A" data-dimension48="ROG Xbox Ally | Z2 A" data-dimension25="$599.99" href="https://www.bestbuy.com/product/rog-xbox-ally-7-fhd-120hz-gaming-handheld-3-month-xbox-game-pass-premium-amd-ryzen-z2-a-16gb-ram-512gb-ssd-windows/JJGHGPGFL4" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Nu2EAs8YVDuNs5T5AMyVeD" name="XboxAlly" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Nu2EAs8YVDuNs5T5AMyVeD-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/rog-xbox-ally-7-fhd-120hz-gaming-handheld-3-month-xbox-game-pass-premium-amd-ryzen-z2-a-16gb-ram-512gb-ssd-windows/JJGHGPGFL4" target="_blank" rel="nofollow" data-dimension112="c362ff52-c240-11f1-ba7d-e7f8e2992f96" data-action="Deal Block" data-label="ROG Xbox Ally | Z2 A" data-dimension48="ROG Xbox Ally | Z2 A" data-dimension25="$599.99">ROG Xbox Ally | Z2 A: $599.99</a></strong><br>Okay, so this model doesn't have the properly punchy Z2 Extreme chip of the ROG Xbox Ally X below. As such, it's nowhere near as powerful, and more suited to indie games rather than the demanding stuff. That being said, handheld gaming PCs are rising to silly prices right now, and this one's still got a super-comfortable chassis, a good screen, and the Xbox FSE interface.<br><br><strong>Key specs: Ryzen Z2 A | 7-inch | 1080p | 144 Hz | 16 GB LPDDR5x | 512 GB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/rog-xbox-ally-7-fhd-120hz-gaming-handheld-3-month-xbox-game-pass-premium-amd-ryzen-z2-a-16gb-ram-512gb-ssd-windows/JJGHGPGFL4" target="_blank" rel="nofollow" data-dimension112="c362ff52-c240-11f1-ba7d-e7f8e2992f96" data-action="Deal Block" data-label="ROG Xbox Ally | Z2 A" data-dimension48="ROG Xbox Ally | Z2 A" data-dimension25="$599.99">View Deal</a></p></div><div class="product"><a data-dimension112="c84f72d2-bb35-11f1-b879-5f7ff3fbbd53" data-action="Deal Block" data-label="Deck OLED | 512 GB SSD" data-dimension48="Deck OLED | 512 GB SSD" data-dimension25="$789" href="https://store.steampowered.com/steamdeck" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="V6GL5u24VrvuQZMNoP8SN3" name="1700239679.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/V6GL5u24VrvuQZMNoP8SN3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://store.steampowered.com/steamdeck" target="_blank" rel="nofollow" data-dimension112="c84f72d2-bb35-11f1-b879-5f7ff3fbbd53" data-action="Deal Block" data-label="Deck OLED | 512 GB SSD" data-dimension48="Deck OLED | 512 GB SSD" data-dimension25="$789">Deck OLED | 512 GB SSD: $789</a></strong><br>Okay, there are heaps of more powerful handhelds around, but the original version is still the archetype of what a mobile PC gaming device should be. It's just as powerful as the original model, just with an OLED screen, so all those Steam Deck-compatible games should run well. It's the OG PC gaming handheld, and it still demands respect.<br><br><strong>Key specs: 512 GB SSD | OLED | SteamOS</strong><a class="view-deal button" href="https://store.steampowered.com/steamdeck" target="_blank" rel="nofollow" data-dimension112="c84f72d2-bb35-11f1-b879-5f7ff3fbbd53" data-action="Deal Block" data-label="Deck OLED | 512 GB SSD" data-dimension48="Deck OLED | 512 GB SSD" data-dimension25="$789">View Deal</a></p></div><div class="product"><a data-dimension112="c84f7340-bb35-11f1-a065-415f7140f94b" data-action="Deal Block" data-label="ROG Xbox Ally X | Z2 Extreme" data-dimension48="ROG Xbox Ally X | Z2 Extreme" data-dimension25="$999.99" href="https://www.bestbuy.com/product/rog-xbox-ally-x-7-fhd-120hz-gaming-handheld-3-month-xbox-game-pass-premium-amd-ryzen-ai-z2-extreme-24gb-ram-1tb-ssd-windows/JJGHGPLVHW" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:909px;"><p class="vanilla-image-block" style="padding-top:98.90%;"><img id="NKD5vfbCAMtPGXxPPpxTvn" name="1767720022.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/NKD5vfbCAMtPGXxPPpxTvn-1920-80.jpg" mos="" align="middle" fullscreen="" width="909" height="899" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/rog-xbox-ally-x-7-fhd-120hz-gaming-handheld-3-month-xbox-game-pass-premium-amd-ryzen-ai-z2-extreme-24gb-ram-1tb-ssd-windows/JJGHGPLVHW" target="_blank" rel="nofollow" data-dimension112="c84f7340-bb35-11f1-a065-415f7140f94b" data-action="Deal Block" data-label="ROG Xbox Ally X | Z2 Extreme" data-dimension48="ROG Xbox Ally X | Z2 Extreme" data-dimension25="$999.99">ROG Xbox Ally X | Z2 Extreme: $999.99</a></strong><br>It is a borderline ludicrous amount of cash to drop on a gaming handheld <em>really, </em>but the ROG Xbox Ally X is a truly great device. I thought the design ridiculous until I had <a href="https://www.pcgamer.com/hardware/handheld-gaming-pcs/asus-rog-xbox-ally-x-review/" target="_blank">my review unit in-hand</a>. It's super comfortable to use, the new library makes Windows usable, and the Z2 Extreme chip is powerful. Could do with a bit of a discount, but this is the cheapest you'll find it today.<br><br><strong>Key specs: Ryzen AI Z2 Extreme | 7-inch | 1080p | 120 Hz | 24 GB LPDDR5x-8000 | 1 TB SSD</strong><a class="view-deal button" href="https://www.bestbuy.com/product/rog-xbox-ally-x-7-fhd-120hz-gaming-handheld-3-month-xbox-game-pass-premium-amd-ryzen-ai-z2-extreme-24gb-ram-1tb-ssd-windows/JJGHGPLVHW" target="_blank" rel="nofollow" data-dimension112="c84f7340-bb35-11f1-a065-415f7140f94b" data-action="Deal Block" data-label="ROG Xbox Ally X | Z2 Extreme" data-dimension48="ROG Xbox Ally X | Z2 Extreme" data-dimension25="$999.99">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-amazon-prime-day-uk-gaming-laptop-deals"><span>Amazon Prime Day UK gaming laptop deals</span></h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.co.uk/s?k=gaming+laptops" target="_blank">Big discounts on current gen and previous gen gaming laptops</a></li><li><strong>Currys:</strong> <a href="https://www.currys.co.uk/gaming/pc-gaming/gaming-laptops" target="_blank">Regular deals on many gaming laptops from major brands</a></li><li><strong>Lenovo:</strong> <a href="https://www.lenovo.com/gb/en/c/laptops/legion-laptops/" target="_blank">Legion machines with regular discounts</a></li><li><strong>Laptops Direct:</strong> <a href="https://www.laptopsdirect.co.uk/ct/laptops-and-netbooks/laptops/gaming" target="_blank">£100s off RTX 50-series gaming laptops</a></li><li><strong>Overclockers: </strong><a href="https://www.overclockers.co.uk/laptops/gaming-laptops" target="_blank">Big savings on MSI gaming laptops</a></li><li><strong>Scan: </strong><a href="https://www.scan.co.uk/search?q=gaming+laptops" target="_blank">Regular discounts on gaming laptops from major brands</a></li><li><strong>PC Specialist: </strong><a href="https://www.pcspecialist.co.uk/gaming-editing-laptops/" target="_blank">Configurable RTX 50-series laptops</a></li><li><strong>Cyberpower: </strong><a href="https://www.cyberpowersystem.co.uk/category/gaming-laptops/" target="_blank">Up to £900 off gaming laptops</a></li></ul><ul><li><strong>RTX 5060:</strong> <a href="https://www.scan.co.uk/products/156-medion-erazer-deputy-15-p1-full-hd-144hz-intel-core-i5-13420h-16gb-ddr5-1tb-ssd-8gb-geforce-rtx" target="_blank">Medion Erazer Deputy  | <strong>£1,000 @ Scan</strong></a></li><li><strong>RTX 5070:</strong> <a href="https://www.amazon.co.uk/Gigabyte-GAMING-A16-Gaming-Laptop/dp/B0F4KPHPLR" target="_blank">Gigabyte A16 | <strong>£1,400 @ Amazon</strong></a></li><li><strong>RTX 5070 Ti:</strong> <a href="https://www.amazon.co.uk/Predator-Helios-PHN16-73-Gaming-Laptop/dp/B0BW94XWN4/" target="_blank">Acer Predator Helios Neo 16 | <strong>£1,700 @ Amazon</strong></a></li><li><strong>RTX 5080: </strong><a href="https://www.amazon.co.uk/MSI-Stealth-GeForce-LPDDR5X-Windows/dp/B0DX2JYGH6/?th=1" target="_blank">MSI Stealth A16+ | <strong>£2,299 @ Amazon</strong></a></li></ul><div class="product"><a data-dimension112="c84f75c0-bb35-11f1-9c2e-117fa39bf436" data-action="Deal Block" data-label="Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5" data-dimension48="Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5" data-dimension25="£999.98" href="https://www.scan.co.uk/products/156-medion-erazer-deputy-15-p1-full-hd-144hz-intel-core-i5-13420h-16gb-ddr5-1tb-ssd-8gb-geforce-rtx" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="34V264tTJ7zwyTvxMLZZJF" name="Medionerazerdeputy" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/34V264tTJ7zwyTvxMLZZJF-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.scan.co.uk/products/156-medion-erazer-deputy-15-p1-full-hd-144hz-intel-core-i5-13420h-16gb-ddr5-1tb-ssd-8gb-geforce-rtx" target="_blank" rel="nofollow" data-dimension112="c84f75c0-bb35-11f1-9c2e-117fa39bf436" data-action="Deal Block" data-label="Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5" data-dimension48="Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5" data-dimension25="£999.98">Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5: £999.98</a></strong><br>This laptop is a bit of a chonk, but for this sort of cash it's well worth considering. Our James <a href="https://www.pcgamer.com/hardware/gaming-laptops/medion-erazer-deputy-15-p1-review/" target="_blank">reviewed a version with a different CPU last year</a>, and found it to deliver good 1080p performance from its RTX 5060 mobile GPU. It's got a slightly dull screen, and the chassis design won't set your heart aflame, but you'll struggle to get more gaming performance for the price.</p><p><strong>Key specs: RTX 5060 (115 W) | Core i5 13420H | 15.6-inch | 1080p | 144 Hz | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.scan.co.uk/products/156-medion-erazer-deputy-15-p1-full-hd-144hz-intel-core-i5-13420h-16gb-ddr5-1tb-ssd-8gb-geforce-rtx" target="_blank" rel="nofollow" data-dimension112="c84f75c0-bb35-11f1-9c2e-117fa39bf436" data-action="Deal Block" data-label="Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5" data-dimension48="Erazer Deputy | RTX 5060 (115 W) | 16 GB DDR5" data-dimension25="£999.98">View Deal</a></p></div><div class="product"><a data-dimension112="c84f762e-bb35-11f1-baed-91264a0e2b33" data-action="Deal Block" data-label="Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5" data-dimension48="Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5" data-dimension25="£1099.99" href="https://www.amazon.co.uk/Acer-Nitro-ANV16-42-Gaming-Laptop/dp/B089JY36ZJ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="aLi5QxdXSNXQNvf2k6HCzU" name="AcerNitroV16 (2)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/aLi5QxdXSNXQNvf2k6HCzU-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Acer-Nitro-ANV16-42-Gaming-Laptop/dp/B089JY36ZJ/" target="_blank" rel="nofollow" data-dimension112="c84f762e-bb35-11f1-baed-91264a0e2b33" data-action="Deal Block" data-label="Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5" data-dimension48="Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5" data-dimension25="£1099.99">Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5: £1099.99</a></strong><br>This little Nitro might not have all the bells and whistles of fancier machines, but it's certainly got everything you need to get gaming. The RTX 5060 at its heart has an 85 W power limit, which is a little on the tight side, but it 1200p, 180 Hz screen shouldn't be too taxing. The CPU is a six-core AMD chip and it's got 16 GB of RAM—but the SSD is very small. Still, for the price it's very hard to beat.</p><p><strong>Key specs: RTX 5060 (85 W) | Ryzen 5 240 | 16-inch | 1200p | 180 Hz | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.amazon.co.uk/Acer-Nitro-ANV16-42-Gaming-Laptop/dp/B089JY36ZJ/" target="_blank" rel="nofollow" data-dimension112="c84f762e-bb35-11f1-baed-91264a0e2b33" data-action="Deal Block" data-label="Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5" data-dimension48="Nitro V16 | RTX 5060 (85 W) | 16 GB DDR5" data-dimension25="£1099.99">View Deal</a></p></div><div class="product"><a data-dimension112="c84f769c-bb35-11f1-8510-c13d43b224a0" data-action="Deal Block" data-label="Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension48="Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension25="£1349.99" href="https://www.currys.co.uk/products/gigabyte-a16-16-gaming-laptop-amd-ryzen-7-rtx-5070-1-tb-ssd-10286515.html" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="VpKAUyoViEw7nYkRBsYuDd" name="GigabyteA16RTX5060" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VpKAUyoViEw7nYkRBsYuDd-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.currys.co.uk/products/gigabyte-a16-16-gaming-laptop-amd-ryzen-7-rtx-5070-1-tb-ssd-10286515.html" target="_blank" rel="nofollow" data-dimension112="c84f769c-bb35-11f1-8510-c13d43b224a0" data-action="Deal Block" data-label="Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension48="Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension25="£1349.99">Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5: was £1649.99 now £1349.99</a></strong><br>We <a href="https://www.pcgamer.com/hardware/gaming-laptops/gigabyte-gaming-a16-gaming-laptop-review/" target="_blank">reviewed</a> the RTX 5060 version of this laptop late last year, and found it to be good—with one primary caveat. The 85 W RTX 5060 at its core isn't the fastest variant you'll find, and this RTX 5070 version has the same power limit. However, the A16 has an excellent chassis design, a decently fast screen, and a great smattering of budget components that still make it a desirable thing.</p><p><strong>Key specs: RTX 5070 (85 W) | Core i7 13620H | 15.6-inch | 1200p | 165 Hz | 16 GB DDR5 | 1 TB SSD</strong></p><p><strong>Price check:</strong> <a href="https://www.amazon.co.uk/Gigabyte-GAMING-A16-Gaming-Laptop/dp/B0F4KPHPLR/?th=1" target="_blank">Amazon £1,400</a><a class="view-deal button" href="https://www.currys.co.uk/products/gigabyte-a16-16-gaming-laptop-amd-ryzen-7-rtx-5070-1-tb-ssd-10286515.html" target="_blank" rel="nofollow" data-dimension112="c84f769c-bb35-11f1-8510-c13d43b224a0" data-action="Deal Block" data-label="Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension48="Gaming A16 | RTX 5070 (85 W) | 16 GB DDR5" data-dimension25="£1349.99">View Deal</a></p></div><div class="product"><a data-dimension112="db0e65ec-c0ab-11f1-a3b3-9793c718df90" data-action="Deal Block" data-label="Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5" data-dimension48="Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5" data-dimension25="£1699.99" href="https://www.amazon.co.uk/Predator-Helios-PHN16-73-Gaming-Laptop/dp/B0BW94XWN4/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="XKivTTssb55gVZXCjKLmGG" name="AcerPredatorHeliosNeo16RTX5070Ti" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/XKivTTssb55gVZXCjKLmGG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Predator-Helios-PHN16-73-Gaming-Laptop/dp/B0BW94XWN4/" target="_blank" rel="nofollow" data-dimension112="db0e65ec-c0ab-11f1-a3b3-9793c718df90" data-action="Deal Block" data-label="Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5" data-dimension48="Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5" data-dimension25="£1699.99">Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5: was £1899.99 now £1699.99</a></strong><br>A relatively small discount, perhaps—but this Acer has a lot going for it. You're getting a 115 W RTX 5070 mobile, a 20-core, high-clocked Intel CPU, and a 240 Hz screen for speedy visuals. That's a very potent combination of components, and one that's near-impossible to find for cheaper right now. I'd be tempted by the  RTX 5070 Ti MSI below if I was ranging into this sort of cash, but this one's still got a helluva lot of plus points.</p><p><strong>Key specs: RTX 5070 (115 W) | Core Ultra 7 275HX | 16-inch | 1600p | 240 Hz | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.amazon.co.uk/Predator-Helios-PHN16-73-Gaming-Laptop/dp/B0BW94XWN4/" target="_blank" rel="nofollow" data-dimension112="db0e65ec-c0ab-11f1-a3b3-9793c718df90" data-action="Deal Block" data-label="Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5" data-dimension48="Predator Helios Neo 16 AI | RTX 5070 (115 W) | 16 GB DDR5" data-dimension25="£1699.99">View Deal</a></p></div><div class="product"><a data-dimension112="db0e665a-c0ab-11f1-96e3-25250e8fbb34" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="£1799.98" href="https://www.laptopsdirect.co.uk/msi-vector-16-hx-ai-a2xwhg-403uk-intel-core-ultra-7-16gb-ram-512gb-ssd-gefo-9s7-15m352-403/version.asp" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xzoWtmmqgk7wbVdZcGCzjm" name="MSIVecotr16HXAI" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xzoWtmmqgk7wbVdZcGCzjm-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.laptopsdirect.co.uk/msi-vector-16-hx-ai-a2xwhg-403uk-intel-core-ultra-7-16gb-ram-512gb-ssd-gefo-9s7-15m352-403/version.asp" target="_blank" rel="nofollow" data-dimension112="db0e665a-c0ab-11f1-96e3-25250e8fbb34" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="£1799.98">Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5: £1799.98</a></strong><br>RTX 5070 Ti gaming laptop deals are becoming rarer at this point, but this Vector is a stalwart of our pages. It's got specs that make a lot more sense than the rest, with a full-fat 140 W GPU and a 240 Hz screen, alongside a 20-core Intel chip. It's a shame about the tiny 512 GB SSD and the slightly old-school chassis, but I'd still pick up one of these over the pricier competition.</p><p><strong>Key specs: RTX 5070 Ti (140 W) | Core Ultra 7 255HX | 16-inch | 1600p | 240 Hz | 16 GB DDR5 | 512 GB SSD</strong></p><p><strong>Price check: </strong><a href="https://www.amazon.co.uk/MSI-Vector-144Hz-Gaming-Laptop/dp/B0DTN2RZ1Q/" target="_blank">Amazon<strong> </strong>£1800.06</a><a class="view-deal button" href="https://www.laptopsdirect.co.uk/msi-vector-16-hx-ai-a2xwhg-403uk-intel-core-ultra-7-16gb-ram-512gb-ssd-gefo-9s7-15m352-403/version.asp" target="_blank" rel="nofollow" data-dimension112="db0e665a-c0ab-11f1-96e3-25250e8fbb34" data-action="Deal Block" data-label="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension48="Vector 16 HX AI | RTX 5070 Ti (140 W) | 16 GB DDR5" data-dimension25="£1799.98">View Deal</a></p></div><div class="product"><a data-dimension112="501949e0-c234-11f1-952f-4f05c80b29aa" data-action="Deal Block" data-label="Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5" data-dimension48="Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5" data-dimension25="£2299.99" href="https://www.amazon.co.uk/MSI-Stealth-GeForce-LPDDR5X-Windows/dp/B0DX2JYGH6/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="kWR2cFMTQMmYdnWRvRqFGL" name="MSIStealth (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/kWR2cFMTQMmYdnWRvRqFGL-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/MSI-Stealth-GeForce-LPDDR5X-Windows/dp/B0DX2JYGH6/" target="_blank" rel="nofollow" data-dimension112="501949e0-c234-11f1-952f-4f05c80b29aa" data-action="Deal Block" data-label="Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5" data-dimension48="Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5" data-dimension25="£2299.99">Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5: was £2781.52 now £2299.99</a></strong><br>The downside here is the power limit on the GPU—but being an RTX 5080 mobile, it should still deliver whopping great chunks of performance. The CPU is a beastly 12-core, 24-thread model, and you even get 32 GB of DDR5 and a 2 TB SSD wrapped up in a slim chassis. Plus, did I mention the 240Hz OLED screen? Not bad at all for the cash.<br><br><strong>Key specs: RTX 5080 (105 W) | Ryzen AI 9 HX 370 | 16-inch | 1600p | 240 Hz OLED | 32 GB DDR5 | 2 TB SSD</strong><a class="view-deal button" href="https://www.amazon.co.uk/MSI-Stealth-GeForce-LPDDR5X-Windows/dp/B0DX2JYGH6/" target="_blank" rel="nofollow" data-dimension112="501949e0-c234-11f1-952f-4f05c80b29aa" data-action="Deal Block" data-label="Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5" data-dimension48="Stealth A16 AI+ | RTX 5080 (105 W) | 16 GB DDR5" data-dimension25="£2299.99">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><section class="article__schema-question"><h3>How do I become a Prime member for Amazon Prime Day?</h3><article class="article__schema-answer"><p>You can sign up on <a href="https://www.amazon.com/amazonprime" target="_blank">Amazon's Prime membership page</a> for a 30-day free trial. Remember though, you'll have to create an Amazon account and provide payment card details—so if you only want the Prime benefits for Prime Day itself, make sure to remember to cancel your subscription before your 30-day membership ends. </p></article></section>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ October Prime Day gaming headset deals ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The October Prime Day sales may have ended, but many of the deals on gaming headsets are still running, and likely will for a little while yet. Amazon's event ended on October 7, but that doesn't mean there's a hard cut off on the discounts. Especially as many other retailers (like Best Buy and Newegg) keep going with their own sales for a bit longer.</p><p><strong>👉</strong><a href="https://www.amazon.com/primeday" target="_blank"><strong>ALL Amazon's Prime Day deals</strong></a><strong>👈</strong><br><strong>👉</strong><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>OUR favorite Prime Day PC gaming deals</strong></a><strong>👈</strong></p><p>A great headset is more than just a gaming device. Music, podcast listening, YouTube-watching—all of these things are improved by an excellent set of drivers in a comfortable frame. I've tested tons of them over my years at PC Gamer, and my background in audio means I know a good one when I hear it. </p><p>Take a look at our <a href="https://www.pcgamer.com/best-gaming-headset/" target="_blank">best gaming headset</a> guide for even more suggestions, and the rest of the deals below.</p><h2 id="where-are-the-best-amazon-prime-day-gaming-headset-deals">Where are the best Amazon Prime Day gaming headset deals?</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.com/s?k=gaming+headset&i=electronics&rh=n%3A172282%2Cp_n_feature_forty-one_browse-bin%3A119653281011&dc&ds=v1%3AYlTWCegsZPdMBEOYikyaEPvG3xBtQF2QJgiIoil5bck&crid=1S2CWEAHPWH24&qid=1732111870&rnid=119653280011&sprefix=gaming+headset%2Celectronics%2C150&ref=sr_nr_p_n_feature_forty-one_browse-bin_1" target="_blank"><strong>All the gaming headset discounts and deals</strong></a></li><li><strong>Razer: </strong><a href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0FH5XX7GP" target="_blank">Our best gaming headset pick, the BlackShark V3, down to $130</a></li><li><strong>Newegg: </strong><a href="https://www.newegg.com/p/pl?d=gaming+headset" target="_blank">Top brand headsets from $40</a></li><li><strong>Asus: </strong><a href="https://www.amazon.com/dp/B0DNTLYK6Z" target="_blank">ROG Pelta RGB wireless headset for $80 at Amazon</a></li><li><strong>HyperX: </strong><a href="https://www.amazon.com/dp/B09TRW57WB" target="_blank">300-hour battery life Cloud Alpha Wireless for<strong> </strong>$109</a></li><li><strong>B&H Photo: </strong><a href="https://www.bhphotovideo.com/c/search?q=gaming%20headset&sts=ma" target="_blank">Logitech, SteelSeries and more gaming headsets with big discounts</a></li><li><strong>Best Buy</strong>: <a href="https://www.bestbuy.com/site/pc-gaming-hardware/gaming-headsets/pcmcat230800050019.c?id=pcmcat230800050019" target="_blank">Up to $130 off SteelSeries headsets and much, much more</a></li></ul><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-althbqx *:not(svg):not(path) { box-sizing: border-box; }    #widget-althbqx h1, #widget-althbqx p, #widget-althbqx h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-althbqx, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-althbqx); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-althbqx tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-althbqx tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-althbqx td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-althbqx: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-althbqx: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-althbqx td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-althbqx td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-althbqx td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-althbqx td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-althbqx td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-althbqx td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-althbqx: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-althbqx: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-althbqx"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 65 gaming headset reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Gaming Headsets";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%22w6WYsS2FA3zWJ4ACZJXHZY%22%2C%22title%22%3A%22Corsair%20HS35%20v3%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fcorsair-hs35-v3-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-03T09%3A32%3A20Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F6ZyoLet3jJCn5mjWhKYdeY.jpg%22%2C%22strapline%22%3A%22A%20very%20affordable%20mid-range%20headset%20that%20pulls%20off%20everything%20with%20aplomb%20with%20no%20surprises%2C%20good%20or%20bad.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Corsair%22%5D%2C%22score%22%3A83%2C%22summary%22%3A%22A%20very%20affordable%20mid-range%20headset%20that%20pulls%20off%20everything%20with%20aplomb%20with%20no%20surprises%2C%20good%20or%20bad.%22%7D%2C%7B%22id%22%3A%22PQ56xSGYsYtPRvi4Wh6CeE%22%2C%22title%22%3A%22PowerA%20LucidSound%20LS500%2FP%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fpowera-lucidsound-ls500-p-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-27T12%3A41%3A27Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FmaNkZ3jnkczCBKB8iq5mZb.jpg%22%2C%22strapline%22%3A%22A%20potential%20slam%20dunk%20for%20budget%20headsets.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20headset%22%2C%22budget%20gaming%20headset%22%2C%22headphones%22%2C%22PowerA%22%2C%22headset%22%2C%22wireless%20gaming%20headset%22%5D%2C%22score%22%3A85%2C%22summary%22%3A%22A%20potential%20slam%20dunk%20for%20budget%20headsets.%22%7D%2C%7B%22id%22%3A%22JwThLDNwxgCGyRTzTaZt4a%22%2C%22title%22%3A%22Glorious%20GHS%20InfinitePlay%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fglorious-ghs-infiniteplay-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-21T13%3A00%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FuP36bLJB5gFxYMZz4LwyAH.jpg%22%2C%22strapline%22%3A%22This%20versatile%20set%20of%20cans%20impresses%20with%20its%20hot%20swappable%20battery%20system%2C%20but%20it's%20just%20okay%20otherwise.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Review%22%2C%22Hardware%22%2C%22gaming%20headset%22%2C%22wireless%20gaming%20headset%22%2C%22Glorious%22%2C%22GHS%20Wireless%20InfinitePlay%22%2C%22hot-swappable%20battery%22%2C%22detachable%20microphone%22%2C%22black%22%2C%22orange%22%5D%2C%22score%22%3A73%2C%22summary%22%3A%22This%20versatile%20set%20of%20cans%20impresses%20with%20its%20hot%20swappable%20battery%20system%2C%20but%20it's%20just%20okay%20otherwise.%22%7D%2C%7B%22id%22%3A%22s9WtMdYoQP5sp33SpUnq4C%22%2C%22title%22%3A%22SteelSeries%20Arctis%20Nova%207X%20Wireless%20Gen%202%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fsteelseries-arctis-nova-7x-wireless-gen-2-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-16T14%3A11%3A36Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FcX9zSi5CERmTziS62pyGvh.jpg%22%2C%22strapline%22%3A%22A%20helpful%20refinement.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Steelseries%22%2C%22gaming%20headset%22%2C%22wireless%20gaming%20headset%22%5D%2C%22score%22%3A88%2C%22summary%22%3A%22A%20helpful%20refinement.%22%7D%2C%7B%22id%22%3A%22ikg4z8e5VuYyGXKoXDzwjk%22%2C%22title%22%3A%22Sony%20Inzone%20H6%20Air%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fsony-inzone-h6-air-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-15T16%3A03%3A41Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FrHb7DAHDN542aSnFte5pz8.jpg%22%2C%22strapline%22%3A%22An%20open-back%20beast.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Sony%22%2C%22InZone%22%2C%22gaming%20headset%22%5D%2C%22score%22%3A85%2C%22summary%22%3A%22An%20open-back%20beast.%22%7D%2C%7B%22id%22%3A%22mxyvdCJppbdZZaKPXnwTg8%22%2C%22title%22%3A%22Turtle%20Beach%20Stealth%20Pro%20II%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fturtle-beach-stealth-pro-ii-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-05-28T11%3A54%3A08Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fmg9x5CCSyRHZBafgUqhBGG.jpg%22%2C%22strapline%22%3A%22It's%20hard%20to%20say%20a%20%24350%20headset%20is%20worth%20it%2C%20but%20boy%2C%20does%20Turtle%20Beach%20get%20close.%20%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22headset%22%2C%22Review%22%2C%22gaming%20headset%22%2C%22wireless%20gaming%20headset%22%2C%22Turtle%20Beach%22%2C%22Turtle%20Beach%20Stealth%20Pro%20II%22%5D%2C%22score%22%3A85%2C%22summary%22%3A%22It's%20hard%20to%20say%20a%20%24350%20headset%20is%20worth%20it%2C%20but%20boy%2C%20does%20Turtle%20Beach%20get%20close.%20%22%7D%2C%7B%22id%22%3A%22YbLLpcP4j6Frqd5kqLubZe%22%2C%22title%22%3A%22Rig%20R5%20Spear%20Max%20HD%20gaming%20headset%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Frig-r5-spear-max-hd-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-05-15T16%3A14%3A01Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FbiZQkyi7AmUM549kn6RxYL.jpg%22%2C%22strapline%22%3A%22A%20very%20interesting%20wired%20headset%2C%20with%20some%20tuning%20I%20can't%20quite%20get%20my%20head%20around.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20headset%22%2C%22wired%20headset%22%2C%22Nacon%22%2C%22Rig%22%2C%22Rig%20R5%20Spear%20Max%20HD%22%2C%22USB%20DAC%22%2C%22graphene%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20very%20interesting%20wired%20headset%2C%20with%20some%20tuning%20I%20can't%20quite%20get%20my%20head%20around.%22%7D%2C%7B%22id%22%3A%22PnnNAytHEPEaZ8kW3F6tNo%22%2C%22title%22%3A%22SteelSeries%20Arctis%20Nova%20Pro%20Omni%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fsteelseries-arctis-nova-pro-omni-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-05-07T14%3A14%3A18Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FyWy8QEvNRfckMcDLwSzJ7H.jpg%22%2C%22strapline%22%3A%22Omni%20upgrade.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20headset%22%2C%22wireless%22%2C%22DAC%22%2C%22audiophile%22%2C%22battery%20life%22%2C%22price%22%5D%2C%22score%22%3A85%2C%22summary%22%3A%22Omni%20upgrade.%22%7D%2C%7B%22id%22%3A%22MvJVBSf3cuGo5MCvFusxmF%22%2C%22title%22%3A%22Glorious%20GHS%20Eternal%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fglorious-ghs-eternal-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-04-30T16%3A08%3A54Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FHbySM3myBsKN8ebDgRk7Ha.jpg%22%2C%22strapline%22%3A%22This%20ticks%20all%20the%20right%20boxes%2C%20but%20is%20outclassed%20by%20budget%20headsets%20that%20push%20the%20boat%20out.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20headset%22%2C%22wired%20headset%22%2C%22Glorious%22%2C%22RGB%22%2C%22budget%22%2C%22budget%20gaming%20headset%22%2C%22headset%22%2C%22Audio%22%2C%22Sound%22%2C%22gaming%20headsets%22%2C%22wired%22%5D%2C%22score%22%3A79%2C%22summary%22%3A%22This%20ticks%20all%20the%20right%20boxes%2C%20but%20is%20outclassed%20by%20budget%20headsets%20that%20push%20the%20boat%20out.%22%7D%2C%7B%22id%22%3A%22eZeHjSaSC3R7KBnAESqJvi%22%2C%22title%22%3A%22HyperX%20Cloud%20Flight%202%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fhyperx-cloud-flight-2-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-04-20T15%3A19%3A15Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fh6dFCbMx4hVzqMZ6yVirvM.jpg%22%2C%22strapline%22%3A%22The%20Cloud%20Flight%202%20is%20a%20worthy%20sequel%20that%20avoids%20the%20gimmicks%20and%20just%20focuses%20on%20nailing%20the%20essentials%20very%20well.%20%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20headset%22%2C%22wireless%20gaming%20headset%22%2C%22HyperX%22%5D%2C%22score%22%3A83%2C%22summary%22%3A%22The%20Cloud%20Flight%202%20is%20a%20worthy%20sequel%20that%20avoids%20the%20gimmicks%20and%20just%20focuses%20on%20nailing%20the%20essentials%20very%20well.%20%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 65;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Gaming Headsets Widget"></iframe></div><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/FwyM4eeyg40" allowfullscreen></iframe></div></div><h2 class="article-body__section" id="section-amazon-prime-day-wired-gaming-headset-deals"><span>Amazon Prime Day wired gaming headset deals</span></h2><div class="product"><a data-dimension112="5a0dce22-bb35-11f1-a38d-21ea3ff3bd97" data-action="Deal Block" data-label="GHS Eternal | 40 mm drivers" data-dimension48="GHS Eternal | 40 mm drivers" data-dimension25="$33.93" href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="AJ9J3xmw76BBiXYbhAtpX9" name="Gaming headset deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dce22-bb35-11f1-a38d-21ea3ff3bd97" data-action="Deal Block" data-label="GHS Eternal | 40 mm drivers" data-dimension48="GHS Eternal | 40 mm drivers" data-dimension25="$33.93">GHS Eternal | 40 mm drivers: was $59.99 now $33.93</a></strong><br>With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. </p><p><strong>Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</strong><a class="view-deal button" href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dce22-bb35-11f1-a38d-21ea3ff3bd97" data-action="Deal Block" data-label="GHS Eternal | 40 mm drivers" data-dimension48="GHS Eternal | 40 mm drivers" data-dimension25="$33.93">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dcfa8-bb35-11f1-935d-ad1101cbf994" data-action="Deal Block" data-label="BlackShark V2 X | 50 mm drivers" data-dimension48="BlackShark V2 X | 50 mm drivers" data-dimension25="$39.99" href="https://www.amazon.com/Razer-BlackShark-Xbox-Gaming-Headset-Console/dp/B0CXGTGPZQ?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="9LEAfzyk7pbwsTRYiJxGT8" name="BlackSharkV2X" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/9LEAfzyk7pbwsTRYiJxGT8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-BlackShark-Xbox-Gaming-Headset-Console/dp/B0CXGTGPZQ?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dcfa8-bb35-11f1-935d-ad1101cbf994" data-action="Deal Block" data-label="BlackShark V2 X | 50 mm drivers" data-dimension48="BlackShark V2 X | 50 mm drivers" data-dimension25="$39.99">BlackShark V2 X | 50 mm drivers: was $49.99 now $39.99</a></strong><br>A stone-cold classic, and one of our favourite budget gaming headsets. With 50 mm Triforce titanium drivers, a lightweight design, and a decent mic, it's one of the archetypes of everything a good, well-priced wired gaming headset should be. </p><p><strong>Key specs: 50 mm drivers | 12-28,000 Hz | Closed-back | Wired</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/razer-blackshark-v2-x-wired-over-the-ear-gaming-headset-for-pc-ps5-ps4-switch-xbox-xs-and-xbox-one-quartz/J3GTVWWR7Q" target="_blank">Best Buy $39.99 (pink)</a><strong> </strong>| <a href="https://www.walmart.com/ip/Razer-BlackShark-V2-X-Xbox-Wired-Gaming-Headset-Black/12859457980" target="_blank">Walmart $49.99</a><a class="view-deal button" href="https://www.amazon.com/Razer-BlackShark-Xbox-Gaming-Headset-Console/dp/B0CXGTGPZQ?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dcfa8-bb35-11f1-935d-ad1101cbf994" data-action="Deal Block" data-label="BlackShark V2 X | 50 mm drivers" data-dimension48="BlackShark V2 X | 50 mm drivers" data-dimension25="$39.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dcec2-bb35-11f1-b9fb-672ed4304807" data-action="Deal Block" data-label="G432 | 50 mm drivers" data-dimension48="G432 | 50 mm drivers" data-dimension25="$39.99" href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="2tUAoKQRgcyuBATm2MWW8Y" name="LogitechG432" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" target="_blank" rel="nofollow" data-dimension112="5a0dcec2-bb35-11f1-b9fb-672ed4304807" data-action="Deal Block" data-label="G432 | 50 mm drivers" data-dimension48="G432 | 50 mm drivers" data-dimension25="$39.99">G432 | 50 mm drivers: was $79.99 now $39.99</a></strong><br>Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash.</p><p><strong>Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired </strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/logitech-g432-wired-over-the-ear-gaming-headset-for-windows-black-blue/J7H7ZYXL22" target="_blank">Best Buy $39.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" target="_blank" rel="nofollow" data-dimension112="5a0dcec2-bb35-11f1-b9fb-672ed4304807" data-action="Deal Block" data-label="G432 | 50 mm drivers" data-dimension48="G432 | 50 mm drivers" data-dimension25="$39.99">View Deal</a></p></div><div class="product"><a data-dimension112="e96b948e-c0ab-11f1-8220-b76e23ef1f49" data-action="Deal Block" data-label="Cloud II | 53 mm drivers" data-dimension48="Cloud II | 53 mm drivers" data-dimension25="$47.48" href="https://www.amazon.com/HyperX-Cloud-Gaming-Headset-KHX-HSCP-RD/dp/B00SAYCXWG" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1289px;"><p class="vanilla-image-block" style="padding-top:99.22%;"><img id="AToN5X8jetU8hietgMCqNL" name="1791196492.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/AToN5X8jetU8hietgMCqNL-1920-80.jpg" mos="" align="middle" fullscreen="" width="1289" height="1279" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/HyperX-Cloud-Gaming-Headset-KHX-HSCP-RD/dp/B00SAYCXWG" target="_blank" rel="nofollow" data-dimension112="e96b948e-c0ab-11f1-8220-b76e23ef1f49" data-action="Deal Block" data-label="Cloud II | 53 mm drivers" data-dimension48="Cloud II | 53 mm drivers" data-dimension25="$47.48">Cloud II | 53 mm drivers: was $79.99 now $47.48</a></strong><br>An oldie, but still a goodie. Which is why <em>eleven years later</em> the headset is still being made and sold. In fact, it's an even older headset, given that it was actually just a rebadged QPad QH-90. But none of that changes the fact that in 2026 this is still a great-sounding headset for a really solid price. The comfortable pads, the wide frequency response, and just bullet-proof build quality mean I am still happy recommending one of my favorite headsets of all-time.<br><br><strong>Key specs: 53 mm drivers | 15 - 25,000 Hz response | Closed back | 320 g</strong><br><br><strong>Price check:</strong> <a href="https://www.newegg.com/hyperx-4p5m0aa-black-red/p/N82E16826700375" target="_blank">Newegg $47.48</a><a class="view-deal button" href="https://www.amazon.com/HyperX-Cloud-Gaming-Headset-KHX-HSCP-RD/dp/B00SAYCXWG" target="_blank" rel="nofollow" data-dimension112="e96b948e-c0ab-11f1-8220-b76e23ef1f49" data-action="Deal Block" data-label="Cloud II | 53 mm drivers" data-dimension48="Cloud II | 53 mm drivers" data-dimension25="$47.48">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd08e-bb35-11f1-98fb-b7c444df88c2" data-action="Deal Block" data-label="Cloud III | 53 mm drivers" data-dimension48="Cloud III | 53 mm drivers" data-dimension25="$57.99" href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="WcvQLZ9svEqddBva629wu3" name="HyperXCloudIII" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" target="_blank" rel="nofollow" data-dimension112="5a0dd08e-bb35-11f1-98fb-b7c444df88c2" data-action="Deal Block" data-label="Cloud III | 53 mm drivers" data-dimension48="Cloud III | 53 mm drivers" data-dimension25="$57.99">Cloud III | 53 mm drivers: was $99.99 now $57.99</a></strong><br>We found this headset to be very comfy in <a href="https://www.pcgamer.com/hyper-x-cloud-iii-gaming-headset-review/" target="_blank">our review</a>, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look.</p><p><strong>Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired </strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/hyperx-cloud-iii-wired-gaming-headset-for-pc-ps5-ps4-xbox-series-xs-xbox-one-nintendo-switch-and-mobile-black-red/JJGG7K86X9/sku/6542540" target="_blank">Best Buy $57.99</a><a class="view-deal button" href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" target="_blank" rel="nofollow" data-dimension112="5a0dd08e-bb35-11f1-98fb-b7c444df88c2" data-action="Deal Block" data-label="Cloud III | 53 mm drivers" data-dimension48="Cloud III | 53 mm drivers" data-dimension25="$57.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dcf3a-bb35-11f1-9b7c-fd4cfe3e725f" data-action="Deal Block" data-label="Kraken V4 X | 40 mm drivers" data-dimension48="Kraken V4 X | 40 mm drivers" data-dimension25="$59.99" href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="oNZmqeexBrnWvrT2VvsYhe" name="RazerKrakenV4X" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" target="_blank" rel="nofollow" data-dimension112="5a0dcf3a-bb35-11f1-9b7c-fd4cfe3e725f" data-action="Deal Block" data-label="Kraken V4 X | 40 mm drivers" data-dimension48="Kraken V4 X | 40 mm drivers" data-dimension25="$59.99">Kraken V4 X | 40 mm drivers: was $79.99 now $59.99</a></strong><br>If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too.</p><p><strong>Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired </strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/razer-kraken-v4-x-wired-over-the-ear-gaming-headset-for-pc-mac-playstation-nintendo-switch-steam-deck-mobile-and-tablet-black/J39HWFH8XQ" target="_blank">Best Buy $59.99</a><a class="view-deal button" href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" target="_blank" rel="nofollow" data-dimension112="5a0dcf3a-bb35-11f1-9b7c-fd4cfe3e725f" data-action="Deal Block" data-label="Kraken V4 X | 40 mm drivers" data-dimension48="Kraken V4 X | 40 mm drivers" data-dimension25="$59.99">View Deal</a></p></div><div class="product"><a data-dimension112="e96b954c-c0ab-11f1-9ee2-7b239e793dd6" data-action="Deal Block" data-label="Inzone H6 Air | 40 mm drivers" data-dimension48="Inzone H6 Air | 40 mm drivers" data-dimension25="$168.00" href="https://www.amazon.com/Sony-INZONE-Open-Back-Gaming-Headset/dp/B0GT6CX8MV" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1089px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="TCqXpduXYNenXfV2VWeJ7F" name="1791197303.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TCqXpduXYNenXfV2VWeJ7F-1920-80.jpg" mos="" align="middle" fullscreen="" width="1089" height="1089" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Sony-INZONE-Open-Back-Gaming-Headset/dp/B0GT6CX8MV" target="_blank" rel="nofollow" data-dimension112="e96b954c-c0ab-11f1-9ee2-7b239e793dd6" data-action="Deal Block" data-label="Inzone H6 Air | 40 mm drivers" data-dimension48="Inzone H6 Air | 40 mm drivers" data-dimension25="$168.00">Inzone H6 Air | 40 mm drivers: was $199.99 now $168.00</a></strong><br>Okay, hear me out. I know that $170 feels like <em>a lot</em> of money to spend out on a wired gaming headset, but Sony has really dug into its audio heritage to deliver a set of open-back cans with '<a href="https://www.pcgamer.com/hardware/gaming-headsets/sony-inzone-h6-air-review/" target="_blank"><em>wonderfully immersive audio</em></a>' (as we say in our review). The drivers come from the company's MDR-MV1 studio monitoring headphones and combined with the open-back nature of the ear cups this offers a beautifully broad soundstage. And they're supremely light, too.<br><strong></strong><br><strong>Key specs: 40 mm drivers | 10 - 20,000 Hz response | Open back | 199 g</strong><br><br><strong>Price check:</strong> <a href="https://www.bestbuy.com/product/sony-inzone-h6-air-wired-open-back-gaming-headset-for-pc-ps5-ps4-xbox-and-mobile-black/J7XSRH5W4W" target="_blank">Best Buy $169.99</a><a class="view-deal button" href="https://www.amazon.com/Sony-INZONE-Open-Back-Gaming-Headset/dp/B0GT6CX8MV" target="_blank" rel="nofollow" data-dimension112="e96b954c-c0ab-11f1-9ee2-7b239e793dd6" data-action="Deal Block" data-label="Inzone H6 Air | 40 mm drivers" data-dimension48="Inzone H6 Air | 40 mm drivers" data-dimension25="$168.00">View Deal</a></p></div><div class="product"><a data-dimension112="c9ae5fe0-c16f-11f1-af6f-8b24387c16ad" data-action="Deal Block" data-label="ROG Kithara | 100 mm drivers" data-dimension48="ROG Kithara | 100 mm drivers" data-dimension25="$218.49" href="https://www.amazon.com/dp/B0GG53SPJC" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:969px;"><p class="vanilla-image-block" style="padding-top:154.80%;"><img id="dP4YcddiQeBgTxnPTvEzaG" name="71B5EMO2G7L._AC_SL1500_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/dP4YcddiQeBgTxnPTvEzaG-1920-80.jpg" mos="" align="middle" fullscreen="" width="969" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0GG53SPJC" target="_blank" rel="nofollow" data-dimension112="c9ae5fe0-c16f-11f1-af6f-8b24387c16ad" data-action="Deal Block" data-label="ROG Kithara | 100 mm drivers" data-dimension48="ROG Kithara | 100 mm drivers" data-dimension25="$218.49">ROG Kithara | 100 mm drivers: was $299.99 now $218.49</a></strong><br>Yes, this is still a huge amount of cash to spend on a gaming headset, especially a wired one. But the Kithara has a party trick—and it comes in the form of two 100 mm planar magnetic drivers. These are cherished by audiophiles for their accuracy, and while this headset might make you look like you work for air traffic control, it sounds fantastic. Just ask our Phil, who <a href="https://www.pcgamer.com/hardware/gaming-headsets/asus-rog-kithara-review/" target="_blank">reviewed it earlier this year</a> and came back raving about the audio.<br><strong></strong><br><strong>Key specs: 100 mm planar magnetic drivers | 8 - 55,000 Hz response | Open back | 420 g</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0GG53SPJC" target="_blank" rel="nofollow" data-dimension112="c9ae5fe0-c16f-11f1-af6f-8b24387c16ad" data-action="Deal Block" data-label="ROG Kithara | 100 mm drivers" data-dimension48="ROG Kithara | 100 mm drivers" data-dimension25="$218.49">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-amazon-prime-wireless-gaming-headset-deals"><span>Amazon Prime wireless gaming headset deals</span></h2><div class="product"><a data-dimension112="5a0dd3a4-bb35-11f1-9915-e96e50a05361" data-action="Deal Block" data-label="ROG Pelta | 50 mm drivers | 70-hour battery life" data-dimension48="ROG Pelta | 50 mm drivers | 70-hour battery life" data-dimension25="$79.99" href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="drDHYUcwrYrLw28sd8Fqbk" name="Asus ROG Pelta" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/drDHYUcwrYrLw28sd8Fqbk-1920-80.png" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/" target="_blank" rel="nofollow" data-dimension112="5a0dd3a4-bb35-11f1-9915-e96e50a05361" data-action="Deal Block" data-label="ROG Pelta | 50 mm drivers | 70-hour battery life" data-dimension48="ROG Pelta | 50 mm drivers | 70-hour battery life" data-dimension25="$79.99">ROG Pelta | 50 mm drivers | 70-hour battery life: was $129.49 now $79.99</a></strong><br>50 mm titanium drivers deliver crisp sound, and the battery can offer up to 90 hours of power under the best conditions. Our James gave this set a very positive <a href="https://www.pcgamer.com/hardware/gaming-headsets/asus-rog-pelta-review/" target="_blank">review</a>, and he stands by their excellent sound and superb comfort to this day. I checked, and everything.</p><p><strong>Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wireless | 70-hour battery life</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/asus-rog-pelta-wireless-gaming-headset-for-pc-mac-ps5-ps4-and-switch-black/JJGGLQW2P4" target="_blank">Best Buy $79.99</a><a class="view-deal button" href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/" target="_blank" rel="nofollow" data-dimension112="5a0dd3a4-bb35-11f1-9915-e96e50a05361" data-action="Deal Block" data-label="ROG Pelta | 50 mm drivers | 70-hour battery life" data-dimension48="ROG Pelta | 50 mm drivers | 70-hour battery life" data-dimension25="$79.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd32c-bb35-11f1-8b37-3f2a4a87dc75" data-action="Deal Block" data-label="BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life" data-dimension25="$79.99" href="https://www.amazon.com/dp/B0FH5YWH7B" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="y8nW9mzCQf3WPcnnXgfpK8" name="Razer BlackShark v3" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/y8nW9mzCQf3WPcnnXgfpK8-1920-80.png" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FH5YWH7B" target="_blank" rel="nofollow" data-dimension112="5a0dd32c-bb35-11f1-8b37-3f2a4a87dc75" data-action="Deal Block" data-label="BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life" data-dimension25="$79.99">BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life: was $99.99 now $79.99</a></strong><br>Featuring the same comfy build and drivers as some of its more expensive cousins, you also finally get a detachable mic arm, too. The volume dial is much more fiddly, but it's a small price to pay if you're on a budget.</p><p><strong>Key specs: 50 mm drivers | 12-28,000 Hz | Closed back | Wireless | 70-hour battery life</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FH5YWH7B" target="_blank" rel="nofollow" data-dimension112="5a0dd32c-bb35-11f1-8b37-3f2a4a87dc75" data-action="Deal Block" data-label="BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life" data-dimension25="$79.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd480-bb35-11f1-a9f8-950f02604e95" data-action="Deal Block" data-label="Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life" data-dimension48="Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life" data-dimension25="$108.99" href="https://www.amazon.com/HyperX-Cloud-Alpha-Wireless-Noise-canceling/dp/B09TRW57WB/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:570px;"><p class="vanilla-image-block" style="padding-top:99.65%;"><img id="2DE2efMvbuHQCqKHfxWyBU" name="Cloud Alpha Wireless" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/2DE2efMvbuHQCqKHfxWyBU-1920-80.png" mos="" align="middle" fullscreen="" width="570" height="568" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/HyperX-Cloud-Alpha-Wireless-Noise-canceling/dp/B09TRW57WB/" target="_blank" rel="nofollow" data-dimension112="5a0dd480-bb35-11f1-a9f8-950f02604e95" data-action="Deal Block" data-label="Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life" data-dimension48="Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life" data-dimension25="$108.99">Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life: was $199.99 now $108.99</a></strong><br>I think I can convince you this is a headset worth looking at with one bite of the cherry—300-hour battery life. Yep, that's not a typo. To this day, the longest-lasting gaming headset we've ever tested, the HyperX Cloud Alpha Wireless isn't just a one-trick pony, as it also sounds great and is remarkably comfortable to boot. The mic is merely average, but otherwise, it's a superstar.</p><p><strong>Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wireless | 300-hour battery life</strong><br><br><strong>Price check: </strong><a href="https://www.newegg.com/hyperx-cloud-alpha-wireless-dts-black-red/p/3EE-0025-00012" target="_blank">Newegg $108.99</a> | <a href="https://www.bestbuy.com/product/hyperx-cloud-alpha-wireless-gaming-headset-for-pc-ps5-and-ps4-black-red/JJG2RHYFHS" target="_blank">Best Buy $108.99</a><a class="view-deal button" href="https://www.amazon.com/HyperX-Cloud-Alpha-Wireless-Noise-canceling/dp/B09TRW57WB/" target="_blank" rel="nofollow" data-dimension112="5a0dd480-bb35-11f1-a9f8-950f02604e95" data-action="Deal Block" data-label="Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life" data-dimension48="Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life" data-dimension25="$108.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd412-bb35-11f1-84bd-514997cac014" data-action="Deal Block" data-label="Void V2 | 50 mm drivers | 70-hour battery life" data-dimension48="Void V2 | 50 mm drivers | 70-hour battery life" data-dimension25="$103.75" href="https://www.amazon.com/Corsair-Wireless-Gaming-Headset-Bluetooth/dp/B0DYVD72P2" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="BocRmXrtUuMG97GyoFq5pn" name="CorsairVoidV2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/BocRmXrtUuMG97GyoFq5pn-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Corsair-Wireless-Gaming-Headset-Bluetooth/dp/B0DYVD72P2" target="_blank" rel="nofollow" data-dimension112="5a0dd412-bb35-11f1-84bd-514997cac014" data-action="Deal Block" data-label="Void V2 | 50 mm drivers | 70-hour battery life" data-dimension48="Void V2 | 50 mm drivers | 70-hour battery life" data-dimension25="$103.75">Void V2 | 50 mm drivers | 70-hour battery life: was $129.99 now $103.75</a></strong><br>The Void V2 is certainly a stylish gaming headset, and we found it to be very comfortable in <a href="https://www.pcgamer.com/hardware/gaming-headsets/corsair-void-wireless-v2-review/" target="_blank">our review</a>, too. It's a versatile set with an extra Bluetooth connection alongside the 2.4 GHz dongle, and delivers a clear, accurate sound, making for a light-touch set with great day-to-day sensibilities. It's a shame Corsair wants you to install some fairly bloaty software, and there's no wired connection, but otherwise it's a great wireless set for the cash.</p><p><strong>Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wireless | 70-hour battery life</strong></p><p><strong>Price check: </strong><a href="https://www.newegg.com/p/N82E16826816223?Item=N82E16826816223" target="_blank">Newegg $79.99</a> |<strong> </strong><a href="https://www.bestbuy.com/product/corsair-void-v2-wireless-gaming-headset-for-pc-ps5-ps4-nintendo-switch-and-mobile-carbon/J39TSCQVT4/sku/6616893" target="_blank">Best Buy $79.99</a><em><strong></strong></em><a class="view-deal button" href="https://www.amazon.com/Corsair-Wireless-Gaming-Headset-Bluetooth/dp/B0DYVD72P2" target="_blank" rel="nofollow" data-dimension112="5a0dd412-bb35-11f1-84bd-514997cac014" data-action="Deal Block" data-label="Void V2 | 50 mm drivers | 70-hour battery life" data-dimension48="Void V2 | 50 mm drivers | 70-hour battery life" data-dimension25="$103.75">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd4ee-bb35-11f1-8060-c5770a8bc867" data-action="Deal Block" data-label="BlackShark V3 | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 | 50 mm drivers | 70-hour battery life" data-dimension25="$129.99" href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0FH5XX7GP" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="kQv9RLHKr3LEYdXVZAfLL8" name="Razer BlackShark v3" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/kQv9RLHKr3LEYdXVZAfLL8-1920-80.png" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0FH5XX7GP" target="_blank" rel="nofollow" data-dimension112="5a0dd4ee-bb35-11f1-8060-c5770a8bc867" data-action="Deal Block" data-label="BlackShark V3 | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 | 50 mm drivers | 70-hour battery life" data-dimension25="$129.99">BlackShark V3 | 50 mm drivers | 70-hour battery life: was $149.99 now $129.99</a></strong><br>This wireless gaming headset leaves little to be desired. Featuring excellent-sounding titanium TriForce drivers, you're getting enviable gaming and music audio at a very reasonable price. The honking-great volume knob makes it easier than ever to fine-tune your soundscape when things get hectic, too. Our <a href="https://www.pcgamer.com/best-gaming-headset/#section-best-gaming-headset" target="_blank">best gaming headset</a> pick for a reason? Yes indeedy.</p><p><strong>Key specs: 50 mm drivers | 12 - 28,000 Hz | Closed-back | Wireless | 70-hour battery life</strong><br><br><strong>Price check:</strong> <a href="https://www.newegg.com/p/1VH-000G-002W8" target="_blank">Newegg $129.99</a><a class="view-deal button" href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0FH5XX7GP" target="_blank" rel="nofollow" data-dimension112="5a0dd4ee-bb35-11f1-8060-c5770a8bc867" data-action="Deal Block" data-label="BlackShark V3 | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 | 50 mm drivers | 70-hour battery life" data-dimension25="$129.99">View Deal</a></p></div><div class="product"><a data-dimension112="763643bc-c17b-11f1-8063-a51c1deb720f" data-action="Deal Block" data-label="Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life" data-dimension48="Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life" data-dimension25="$159.99" href="https://www.amazon.com/SteelSeries-Arctis-Wireless-Gaming-Headset/dp/B0FRNR8Y11/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="rnY9XEPo6jMGZJ7DPrZKCX" name="SteelSeriesArctisNova7Gen2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rnY9XEPo6jMGZJ7DPrZKCX-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/SteelSeries-Arctis-Wireless-Gaming-Headset/dp/B0FRNR8Y11/?th=1" target="_blank" rel="nofollow" data-dimension112="763643bc-c17b-11f1-8063-a51c1deb720f" data-action="Deal Block" data-label="Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life" data-dimension48="Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life" data-dimension25="$159.99">Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life: was $199.99 now $159.99</a></strong><br>We gave this headset <a href="https://www.pcgamer.com/hardware/gaming-headsets/steelseries-arctis-nova-7x-wireless-gen-2-review/" target="_blank">a score of 88%</a> a few months ago, which goes some way to showing how much our Reece likes it. While the specs sheet isn't quite as class leading as some, it's extremely comfortable and delivers precise audio to your earholes with panache. It's still a pricey thing even with a discount, but at what price head comfort?</p><p><strong>Key specs: 40 mm drivers | 20 - 22,000 Hz | Closed-back | Wireless | 54-hour battery life</strong><a class="view-deal button" href="https://www.amazon.com/SteelSeries-Arctis-Wireless-Gaming-Headset/dp/B0FRNR8Y11/?th=1" target="_blank" rel="nofollow" data-dimension112="763643bc-c17b-11f1-8063-a51c1deb720f" data-action="Deal Block" data-label="Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life" data-dimension48="Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life" data-dimension25="$159.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd55c-bb35-11f1-8f0a-add58667ab78" data-action="Deal Block" data-label="Scape | 40 mm drivers | 40-hour battery life" data-dimension48="Scape | 40 mm drivers | 40-hour battery life" data-dimension25="$169.99" href="https://www.amazon.com/Fractal-Design-Scape-Flip-Mute/dp/B0D5HGK3C2?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="CU6r3N7racZASkNBfhBBeR" name="Design Scape" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/CU6r3N7racZASkNBfhBBeR-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Fractal-Design-Scape-Flip-Mute/dp/B0D5HGK3C2?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dd55c-bb35-11f1-8f0a-add58667ab78" data-action="Deal Block" data-label="Scape | 40 mm drivers | 40-hour battery life" data-dimension48="Scape | 40 mm drivers | 40-hour battery life" data-dimension25="$169.99">Scape | 40 mm drivers | 40-hour battery life: was $199.99 now $169.99</a></strong><br>With a neat magnetic charging stand, a comfortable fit, and lush sound, the <a href="https://www.pcgamer.com/hardware/gaming-headsets/fractal-design-scape-review" target="_blank">Fractal Design Scape</a> earns its hefty MSRP. It's let down a little by a lack of noise cancelling and an average microphone, but it's a gorgeous set of cans. Oh, and pretty much the most convenient headset I've ever used. There's that, too.</p><p><strong>Key specs: 40 mm drivers | 20 - 20,000 Hz | Closed-back | Wireless | 40-hour battery life</strong></p><p><strong>Price check: </strong><a href="https://www.newegg.com/p/N82E16826743003" target="_blank">Newegg $169.99</a><a class="view-deal button" href="https://www.amazon.com/Fractal-Design-Scape-Flip-Mute/dp/B0D5HGK3C2?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dd55c-bb35-11f1-8f0a-add58667ab78" data-action="Deal Block" data-label="Scape | 40 mm drivers | 40-hour battery life" data-dimension48="Scape | 40 mm drivers | 40-hour battery life" data-dimension25="$169.99">View Deal</a></p></div><div class="product"><a data-dimension112="76364452-c17b-11f1-8068-edd6957e5306" data-action="Deal Block" data-label="BlackShark V3 Pro | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 Pro | 50 mm drivers | 70-hour battery life" data-dimension25="$208.98" href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0F3QDLZKG/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="2mVx2UvEedwys4KHKTF32Y" name="RazerBlackSharkV3Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/2mVx2UvEedwys4KHKTF32Y-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0F3QDLZKG/" target="_blank" rel="nofollow" data-dimension112="76364452-c17b-11f1-8068-edd6957e5306" data-action="Deal Block" data-label="BlackShark V3 Pro | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 Pro | 50 mm drivers | 70-hour battery life" data-dimension25="$208.98">BlackShark V3 Pro | 50 mm drivers | 70-hour battery life: was $249.99 now $208.98</a></strong><br>Ey? Why would you spend more on the Pro version, when the standard BlackShark V3 is our best gaming headset overall? Well, it all depends if you want to add noise cancelling into the mix. Our Dave <a href="https://www.pcgamer.com/hardware/gaming-headsets/razer-blackshark-v3-pro-review/" target="_blank">didn't find it the most effective of implementations</a>, but it's still a dose of ANC added on top of one of our favorite gaming headsets of all time. Something to consider, anyway.</p><p><strong>Key specs: 50 mm drivers | 12 - 28,000 Hz | Closed-back | ANC | Wireless | 70-hour battery life</strong><a class="view-deal button" href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0F3QDLZKG/" target="_blank" rel="nofollow" data-dimension112="76364452-c17b-11f1-8068-edd6957e5306" data-action="Deal Block" data-label="BlackShark V3 Pro | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 Pro | 50 mm drivers | 70-hour battery life" data-dimension25="$208.98">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-amazon-prime-day-gaming-earbud-deals"><span>Amazon Prime Day gaming earbud deals</span></h2><div class="product"><a data-dimension112="5a0dd69c-bb35-11f1-b8db-7be6c7fdd1ae" data-action="Deal Block" data-label="Vivace | In-ear monitors" data-dimension48="Vivace | In-ear monitors" data-dimension25="$28.41" href="https://www.amazon.com/Linsoul-Tripowin-0DiBi-Detachable-Enthusiasts/dp/B0DJQVQ1QG" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1318px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="StRaQra3Nbm5V2o5nUsP9H" name="1782231578.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/StRaQra3Nbm5V2o5nUsP9H-1920-80.jpg" mos="" align="middle" fullscreen="" width="1318" height="1318" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Linsoul-Tripowin-0DiBi-Detachable-Enthusiasts/dp/B0DJQVQ1QG" target="_blank" rel="nofollow" data-dimension112="5a0dd69c-bb35-11f1-b8db-7be6c7fdd1ae" data-action="Deal Block" data-label="Vivace | In-ear monitors" data-dimension48="Vivace | In-ear monitors" data-dimension25="$28.41">Vivace | In-ear monitors: was $29.90 now $28.41</a></strong><br>These are cheap, but you'd be surprised how far a pair of in-ear monitors can go for gaming. They're great for positioning, staying alert, and at this price, saving some cash. These are what our Jacob Fox uses whenever he plays Counter-Strike now (which is, err, probably too much...).</p><p><strong>Key specs: 10 mm Titanium Dynamic Drivers</strong><a class="view-deal button" href="https://www.amazon.com/Linsoul-Tripowin-0DiBi-Detachable-Enthusiasts/dp/B0DJQVQ1QG" target="_blank" rel="nofollow" data-dimension112="5a0dd69c-bb35-11f1-b8db-7be6c7fdd1ae" data-action="Deal Block" data-label="Vivace | In-ear monitors" data-dimension48="Vivace | In-ear monitors" data-dimension25="$28.41">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd746-bb35-11f1-a475-912ddf49ba69" data-action="Deal Block" data-label="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" data-dimension48="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" data-dimension25="$59" href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:930px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="LjJiAaeT6h5YZ9JGiq7c5Z" name="image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z-1920-80.png" mos="" align="middle" fullscreen="" width="930" height="930" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank" rel="nofollow" data-dimension112="5a0dd746-bb35-11f1-a475-912ddf49ba69" data-action="Deal Block" data-label="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" data-dimension48="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" data-dimension25="$59">Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds): was $79 now $59</a></strong><br>These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too.</p><p><strong>Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</strong><a class="view-deal button" href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank" rel="nofollow" data-dimension112="5a0dd746-bb35-11f1-a475-912ddf49ba69" data-action="Deal Block" data-label="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" data-dimension48="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" data-dimension25="$59">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd7fa-bb35-11f1-9a84-81f84c7c49e5" data-action="Deal Block" data-label="Air Pro 4 | 52-hour battery life" data-dimension48="Air Pro 4 | 52-hour battery life" data-dimension25="$62.99" href="https://www.amazon.com/EarFun-Canceling-Snapdragon-Bluetooth-Detection/dp/B0D5M9SH1X?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:603px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="yhHvaNNYLo8WiaXqTXoPHK" name="image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yhHvaNNYLo8WiaXqTXoPHK-1920-80.png" mos="" align="middle" fullscreen="" width="603" height="603" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/EarFun-Canceling-Snapdragon-Bluetooth-Detection/dp/B0D5M9SH1X?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dd7fa-bb35-11f1-9a84-81f84c7c49e5" data-action="Deal Block" data-label="Air Pro 4 | 52-hour battery life" data-dimension48="Air Pro 4 | 52-hour battery life" data-dimension25="$62.99">Air Pro 4 | 52-hour battery life: was $79.90 now $62.99</a></strong><br>If you're looking for a cheap(er) pair of earbuds with some premium specs, the EarFun Air Pro 4 are much better than the name might suggest. They sound great and have excellent battery life, though the lack of a 2.4 GHz mode is a slight disappointment. Bluetooth with Game Mode is good enough, though. </p><p><strong>Key specs: 10 mm drivers | 52-hour battery life | 20 Hz - 22 kHz</strong><a class="view-deal button" href="https://www.amazon.com/EarFun-Canceling-Snapdragon-Bluetooth-Detection/dp/B0D5M9SH1X?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dd7fa-bb35-11f1-9a84-81f84c7c49e5" data-action="Deal Block" data-label="Air Pro 4 | 52-hour battery life" data-dimension48="Air Pro 4 | 52-hour battery life" data-dimension25="$62.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd8b8-bb35-11f1-a9f5-816341837447" data-action="Deal Block" data-label="Air Pro 4+ | 54-hour battery life" data-dimension48="Air Pro 4+ | 54-hour battery life" data-dimension25="$79.99" href="https://www.amazon.com/EarFun-Cancelling-Translation-Snapdragon-Bluetooth/dp/B0FSKRJFKT" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:591px;"><p class="vanilla-image-block" style="padding-top:99.83%;"><img id="Eevtoy5dhGxgba3aeducMe" name="Air Pro 4+" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Eevtoy5dhGxgba3aeducMe-1920-80.png" mos="" align="middle" fullscreen="" width="591" height="590" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/EarFun-Cancelling-Translation-Snapdragon-Bluetooth/dp/B0FSKRJFKT" target="_blank" rel="nofollow" data-dimension112="5a0dd8b8-bb35-11f1-a9f5-816341837447" data-action="Deal Block" data-label="Air Pro 4+ | 54-hour battery life" data-dimension48="Air Pro 4+ | 54-hour battery life" data-dimension25="$79.99">Air Pro 4+ | 54-hour battery life: was $99.99 now $79.99</a></strong><br>These are the earbuds our Jacob Fox uses literally every day, and for good reason: they're the best earbuds on the market for the price. When he <a href="https://www.pcgamer.com/hardware/earbuds-headphones/earfun-air-pro-4-review/" target="_blank">reviewed them</a>, he noted their combination of great battery life and audio quality, and that hasn't changed. They also have a pretty competent low-latency mode, though no 2.4 GHz wireless connectivity.</p><p><strong>Key specs: Armature + dynamic drivers | 54-hour battery life (including case) | Bluetooth 6.0</strong><a class="view-deal button" href="https://www.amazon.com/EarFun-Cancelling-Translation-Snapdragon-Bluetooth/dp/B0FSKRJFKT" target="_blank" rel="nofollow" data-dimension112="5a0dd8b8-bb35-11f1-a9f5-816341837447" data-action="Deal Block" data-label="Air Pro 4+ | 54-hour battery life" data-dimension48="Air Pro 4+ | 54-hour battery life" data-dimension25="$79.99">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-amazon-prime-gaming-headset-deals-in-the-uk"><span>Amazon Prime gaming headset deals in the UK</span></h2><p><strong>Headsets and earbuds: </strong></p><ul><li><strong>Amazon:</strong> <a href="https://www.amazon.co.uk/s?k=gaming+headset&crid=1O4O8SEH9OV6U&sprefix=gaming+headset" target="_blank">Major discounts on gaming headsets from all the best brands</a></li><li><strong>Scan:</strong> <a href="https://www.scan.co.uk/shop/gaming/headsets/967/1326#sale=1" target="_blank">Gaming headsets from £29</a></li><li><strong>Argos: </strong><a href="https://www.argos.co.uk/search/gaming-headset/?clickOrigin=searchbar:productdetailsterm:gaming+headset" target="_blank">No seriously, Argos. Regular discounts on some excellent headsets from many of the major manufacturers</a></li><li><strong>Overclockers: </strong><a href="https://www.overclockers.co.uk/peripherals/headphones-headsets?q=gaming%20headset&srule=most-sold&page=1" target="_blank">Razer headsets from as little as £40</a></li></ul><h2 id="wired-headsets">Wired headsets</h2><div class="product"><a data-dimension112="5a0dddcc-bb35-11f1-91d2-b560946218cc" data-action="Deal Block" data-label="Quantum 100 | 40 mm drivers" data-dimension48="Quantum 100 | 40 mm drivers" data-dimension25="£19.99" href="https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:846px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QpbyfGXi5wHEk3EUKrQ3cb" name="1698849268.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb-1920-80.jpg" mos="" align="middle" fullscreen="" width="846" height="846" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/" target="_blank" rel="nofollow" data-dimension112="5a0dddcc-bb35-11f1-91d2-b560946218cc" data-action="Deal Block" data-label="Quantum 100 | 40 mm drivers" data-dimension48="Quantum 100 | 40 mm drivers" data-dimension25="£19.99">Quantum 100 | 40 mm drivers: was £29.99 now £19.99</a></strong><br>JBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's "Quantum Sound Signature", memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money.</p><p><strong>Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired</strong><a class="view-deal button" href="https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/" target="_blank" rel="nofollow" data-dimension112="5a0dddcc-bb35-11f1-91d2-b560946218cc" data-action="Deal Block" data-label="Quantum 100 | 40 mm drivers" data-dimension48="Quantum 100 | 40 mm drivers" data-dimension25="£19.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0ddec6-bb35-11f1-8c91-9bb9125b5585" data-action="Deal Block" data-label="BlackShark V2 X | 50 mm drivers" data-dimension48="BlackShark V2 X | 50 mm drivers" data-dimension25="£41.95" href="https://www.amazon.co.uk/dp/B089SSFV85/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4QzNmFUxfvewhzjtGeEth7" name="Razer BlackShark V2 X (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4QzNmFUxfvewhzjtGeEth7-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/dp/B089SSFV85/" target="_blank" rel="nofollow" data-dimension112="5a0ddec6-bb35-11f1-8c91-9bb9125b5585" data-action="Deal Block" data-label="BlackShark V2 X | 50 mm drivers" data-dimension48="BlackShark V2 X | 50 mm drivers" data-dimension25="£41.95">BlackShark V2 X | 50 mm drivers: was £59.99 now £41.95</a></strong><br>This is a gaming headset that keeps cropping up in the deals, and it's remarkably good value even at full whack. With 50 mm drivers that are great for music, gaming, or anything else you want to pump into your lugholes, plus a good-looking and comfortable design, there's really not a lot to complain about here for the price. Maybe the green cable? Nah, I actually think it's kinda cool.</p><p><strong>Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired </strong><a class="view-deal button" href="https://www.amazon.co.uk/dp/B089SSFV85/" target="_blank" rel="nofollow" data-dimension112="5a0ddec6-bb35-11f1-8c91-9bb9125b5585" data-action="Deal Block" data-label="BlackShark V2 X | 50 mm drivers" data-dimension48="BlackShark V2 X | 50 mm drivers" data-dimension25="£41.95">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dde62-bb35-11f1-8355-e9e67a18179b" data-action="Deal Block" data-label="G335 | 40 mm drivers" data-dimension48="G335 | 40 mm drivers" data-dimension25="£34.90" href="https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1095px;"><p class="vanilla-image-block" style="padding-top:136.99%;"><img id="4zYtRMX5cd9pAbB5K6yiNa" name="71QEWj+ioXS._AC_SL1500_.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa-1920-80.jpg" mos="" align="middle" fullscreen="" width="1095" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/" target="_blank" rel="nofollow" data-dimension112="5a0dde62-bb35-11f1-8355-e9e67a18179b" data-action="Deal Block" data-label="G335 | 40 mm drivers" data-dimension48="G335 | 40 mm drivers" data-dimension25="£34.90">G335 | 40 mm drivers: was £49.99 now £34.90</a></strong><br>This Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40 mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans.</p><p><strong>Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired</strong></p><p><strong>Price check: </strong><a href="https://www.currys.co.uk/products/logitech-g335-gaming-headset-black-10227173.html" target="_blank">Currys £49.99</a><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/" target="_blank" rel="nofollow" data-dimension112="5a0dde62-bb35-11f1-8355-e9e67a18179b" data-action="Deal Block" data-label="G335 | 40 mm drivers" data-dimension48="G335 | 40 mm drivers" data-dimension25="£34.90">View Deal</a></p></div><div class="product"><a data-dimension112="5a0ddf34-bb35-11f1-b4d2-732dae1318cf" data-action="Deal Block" data-label="Cloud Alpha | 50 mm drivers" data-dimension48="Cloud Alpha | 50 mm drivers" data-dimension25="£69.99" href="https://www.amazon.co.uk/HyperX-HX-HSCA-RD-EM-Gaming-Headset-Noir/dp/B076GT6XJ9/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="egByYsNqvf3uRFtrUrmvRk" name="HyperX Cloud ALpha" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/egByYsNqvf3uRFtrUrmvRk-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/HyperX-HX-HSCA-RD-EM-Gaming-Headset-Noir/dp/B076GT6XJ9/" target="_blank" rel="nofollow" data-dimension112="5a0ddf34-bb35-11f1-b4d2-732dae1318cf" data-action="Deal Block" data-label="Cloud Alpha | 50 mm drivers" data-dimension48="Cloud Alpha | 50 mm drivers" data-dimension25="£69.99">Cloud Alpha | 50 mm drivers: was £89.99 now £69.99</a></strong><br>Our best <a href="https://www.pcgamer.com/best-gaming-headset/#section-best-wired-gaming-headset" target="_blank">wired gaming headset pick</a>, here at a very reasonable price. The Cloud Alpha might be getting on a bit these days, but it still reins supreme for its combination of value, audio, and comfort. You can spend more and get better, but you're unlikely to beat it for less.</p><p><strong>Key specs: 50 mm drivers | 13-27,000Hz | Closed-back | Wired</strong></p><p><strong>Price check: </strong><a href="https://www.currys.co.uk/products/hyperx-cloud-alpha-gaming-headset-black-and-red-10168923.html" target="_blank">Currys £89.99</a><a class="view-deal button" href="https://www.amazon.co.uk/HyperX-HX-HSCA-RD-EM-Gaming-Headset-Noir/dp/B076GT6XJ9/" target="_blank" rel="nofollow" data-dimension112="5a0ddf34-bb35-11f1-b4d2-732dae1318cf" data-action="Deal Block" data-label="Cloud Alpha | 50 mm drivers" data-dimension48="Cloud Alpha | 50 mm drivers" data-dimension25="£69.99">View Deal</a></p></div><h2 id="wireless-headsets">Wireless headsets</h2><div class="product"><a data-dimension112="5a0ddffc-bb35-11f1-99bc-955c313bd500" data-action="Deal Block" data-label="G321 Lightspeed | 40 mm drivers" data-dimension48="G321 Lightspeed | 40 mm drivers" data-dimension25="£34.99" href="https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:153px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="jMLjXCziHPvivaafPHDC6Z" name="1698849674.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z-1920-80.jpg" mos="" align="middle" fullscreen="" width="153" height="153" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1" target="_blank" rel="nofollow" data-dimension112="5a0ddffc-bb35-11f1-99bc-955c313bd500" data-action="Deal Block" data-label="G321 Lightspeed | 40 mm drivers" data-dimension48="G321 Lightspeed | 40 mm drivers" data-dimension25="£34.99">G321 Lightspeed | 40 mm drivers: was £59.99 now £34.99</a></strong><br>This very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in <a href="https://www.pcgamer.com/hardware/gaming-headsets/logitech-g321-lightspeed-review/" target="_blank">his review</a>. It won't blow you away with bass or features, but at this price it's still worth considering.</p><p><strong>Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless </strong></p><p><strong>Price check: </strong><a href="https://www.currys.co.uk/products/logitech-g321-lightspeed-wireless-bluetooth-gaming-headset-black-10289632.html" target="_blank">Currys £49.99</a><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1" target="_blank" rel="nofollow" data-dimension112="5a0ddffc-bb35-11f1-99bc-955c313bd500" data-action="Deal Block" data-label="G321 Lightspeed | 40 mm drivers" data-dimension48="G321 Lightspeed | 40 mm drivers" data-dimension25="£34.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0de060-bb35-11f1-a637-2f1962783fb6" data-action="Deal Block" data-label="Air Pro 4 | 52-hour battery life" data-dimension48="Air Pro 4 | 52-hour battery life" data-dimension25="£55.99" href="https://www.amazon.co.uk/EarFun-Cancelling-Earphones-Bluetooth-Detection-Black/dp/B0D5M9SH1X" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:603px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="yhHvaNNYLo8WiaXqTXoPHK" name="image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yhHvaNNYLo8WiaXqTXoPHK-1920-80.png" mos="" align="middle" fullscreen="" width="603" height="603" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/EarFun-Cancelling-Earphones-Bluetooth-Detection-Black/dp/B0D5M9SH1X" target="_blank" rel="nofollow" data-dimension112="5a0de060-bb35-11f1-a637-2f1962783fb6" data-action="Deal Block" data-label="Air Pro 4 | 52-hour battery life" data-dimension48="Air Pro 4 | 52-hour battery life" data-dimension25="£55.99">Air Pro 4 | 52-hour battery life: was £79.99 now £55.99</a></strong><br>If you're looking for a cheap pair of earbuds with some premium specs, the EarFun Air Pro 4 are much better than the name might suggest. They sound great and have excellent battery life, though the lack of a 2.4 GHz mode is a slight disappointment. Bluetooth with Game Mode is good enough, though. </p><p><strong>Key specs: 10 mm drivers | 52-hour battery life | 20 Hz - 22 kHz</strong><a class="view-deal button" href="https://www.amazon.co.uk/EarFun-Cancelling-Earphones-Bluetooth-Detection-Black/dp/B0D5M9SH1X" target="_blank" rel="nofollow" data-dimension112="5a0de060-bb35-11f1-a637-2f1962783fb6" data-action="Deal Block" data-label="Air Pro 4 | 52-hour battery life" data-dimension48="Air Pro 4 | 52-hour battery life" data-dimension25="£55.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0de0c4-bb35-11f1-b03a-dd7f3f0fd6a8" data-action="Deal Block" data-label="Stealth 600 | 50mm drivers | 80-hour battery life" data-dimension48="Stealth 600 | 50mm drivers | 80-hour battery life" data-dimension25="£69.99" href="https://www.amazon.co.uk/Turtle-Beach-Wireless-Speakers-Bluetooth/dp/B0CZX7MB48/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="jGGLzNcgVWDY6FbjmZiNQC" name="TurtleBeachStealth600" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jGGLzNcgVWDY6FbjmZiNQC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Turtle-Beach-Wireless-Speakers-Bluetooth/dp/B0CZX7MB48/" target="_blank" rel="nofollow" data-dimension112="5a0de0c4-bb35-11f1-b03a-dd7f3f0fd6a8" data-action="Deal Block" data-label="Stealth 600 | 50mm drivers | 80-hour battery life" data-dimension48="Stealth 600 | 50mm drivers | 80-hour battery life" data-dimension25="£69.99">Stealth 600 | 50mm drivers | 80-hour battery life: was £99.99 now £69.99</a></strong><br>The <a href="https://www.pcgamer.com/hardware/gaming-headsets/turtle-beach-stealth-600-gen-3-review/" target="_blank">Turtle Beach Stealth 600 Gen 3</a> is a remarkably good gaming headset, which came as something of a surprise to us given that we haven't been huge fans of some of the other Turtle Beach offerings. It's an understated, somewhat-stylish affair with a clear mic, excellent soundstage, and superb battery life. The headband could do with a touch more padding, but otherwise this is well worth some serious consideration.</p><p><strong>Key specs: 50mm drivers | 20-20,000 Hz | Closed-back | Wireless | 80-hour battery life</strong><a class="view-deal button" href="https://www.amazon.co.uk/Turtle-Beach-Wireless-Speakers-Bluetooth/dp/B0CZX7MB48/" target="_blank" rel="nofollow" data-dimension112="5a0de0c4-bb35-11f1-b03a-dd7f3f0fd6a8" data-action="Deal Block" data-label="Stealth 600 | 50mm drivers | 80-hour battery life" data-dimension48="Stealth 600 | 50mm drivers | 80-hour battery life" data-dimension25="£69.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0de196-bb35-11f1-9a63-0f8c2d425558" data-action="Deal Block" data-label="Arctis Nova 3X | 40 mm drivers | 40-hour battery life" data-dimension48="Arctis Nova 3X | 40 mm drivers | 40-hour battery life" data-dimension25="£69.99" href="https://www.amazon.co.uk/SteelSeries-Arctis-Wireless-Gaming-Headset/dp/B0F6CW9ZCX/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ujyvdFtwkUgSvJgguHt68H" name="SteelSeriesArctisNova3X" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ujyvdFtwkUgSvJgguHt68H-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/SteelSeries-Arctis-Wireless-Gaming-Headset/dp/B0F6CW9ZCX/" target="_blank" rel="nofollow" data-dimension112="5a0de196-bb35-11f1-9a63-0f8c2d425558" data-action="Deal Block" data-label="Arctis Nova 3X | 40 mm drivers | 40-hour battery life" data-dimension48="Arctis Nova 3X | 40 mm drivers | 40-hour battery life" data-dimension25="£69.99">Arctis Nova 3X | 40 mm drivers | 40-hour battery life: was £99.99 now £69.99</a></strong><br>SteelSeries knows how to make a lightweight and comfy gaming headset, and this one is no exception. It's got the same chassis design as some of the more expensive models, all without skimping on the important bits, like accurate drivers and a good microphone. It's removable, too, which means you can take advantage of the Bluetooth connection and wear it outside, all without looking like a prize plum thanks to its subtle design.</p><p><strong>Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wireless | 40-hour battery life</strong><a class="view-deal button" href="https://www.amazon.co.uk/SteelSeries-Arctis-Wireless-Gaming-Headset/dp/B0F6CW9ZCX/" target="_blank" rel="nofollow" data-dimension112="5a0de196-bb35-11f1-9a63-0f8c2d425558" data-action="Deal Block" data-label="Arctis Nova 3X | 40 mm drivers | 40-hour battery life" data-dimension48="Arctis Nova 3X | 40 mm drivers | 40-hour battery life" data-dimension25="£69.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0de1fa-bb35-11f1-9b76-73dea59e55a8" data-action="Deal Block" data-label="BlackShark V3 | 50 mm drivers | 80-hour battery life" data-dimension48="BlackShark V3 | 50 mm drivers | 80-hour battery life" data-dimension25="£115.30" href="https://www.amazon.co.uk/Razer-BlackShark-sports-Detachable-Microphone-Black/dp/B0F93VMJ93?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="UrEhKmoBUu3RuU92zjnBgV" name="Razer BlackShark V3" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/UrEhKmoBUu3RuU92zjnBgV-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Razer-BlackShark-sports-Detachable-Microphone-Black/dp/B0F93VMJ93?th=1" target="_blank" rel="nofollow" data-dimension112="5a0de1fa-bb35-11f1-9b76-73dea59e55a8" data-action="Deal Block" data-label="BlackShark V3 | 50 mm drivers | 80-hour battery life" data-dimension48="BlackShark V3 | 50 mm drivers | 80-hour battery life" data-dimension25="£115.30">BlackShark V3 | 50 mm drivers | 80-hour battery life: was £149.99 now £115.30</a></strong><br>It's only a small discount, but this set of cans sits at the top of our <a href="https://www.pcgamer.com/best-gaming-headset/" target="_blank">best gaming headset</a> guide for a reason. It's superbly comfortable, the harmonic plug-enhanced drivers sound great for music and gaming alike, and it's pretty much everything we want a gaming headset to be. It might go cheaper over the course of the event, but even at full price it's well worth paying for.</p><p><strong>Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wireless | 80-hour battery life</strong><a class="view-deal button" href="https://www.amazon.co.uk/Razer-BlackShark-sports-Detachable-Microphone-Black/dp/B0F93VMJ93?th=1" target="_blank" rel="nofollow" data-dimension112="5a0de1fa-bb35-11f1-9b76-73dea59e55a8" data-action="Deal Block" data-label="BlackShark V3 | 50 mm drivers | 80-hour battery life" data-dimension48="BlackShark V3 | 50 mm drivers | 80-hour battery life" data-dimension25="£115.30">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h3 class="article-body__section" id="section-faq"><span>FAQ</span></h3><section class="article__schema-question"><h3>When is Amazon Prime Day 2026?</h3><article class="article__schema-answer"><p>The current Prime Day sale event began on <strong>October 7</strong>, and will run though until the end of <strong>October 8</strong>. The deals were rolling in before then, though, and likely will be for a little while afterwards as well.</p></article></section><section class="article__schema-question"><h3>What should I look for in an Amazon Prime Day gaming headset deal?</h3><article class="article__schema-answer"><p>Before you throw open your pocketbook, knowing what features are most important to you in a gaming headset will guide you towards the right purchase. Consider how long you will wear it per day and for what purpose.</p><p>If that's going to be all-day long, then look out for cushy features like memory foam earcups and plenty of headband padding. Lighter is better is often a good rule to follow when it comes to comfort, although it must be said that some of our favorite gaming headsets can be quite heavy.</p><p>That's the trade-off you sometimes need to make for good drivers, although that's not always the case. Speaking of which, larger drivers are often better at handling bass, but many headsets have some sort of software boost for those that like plenty of low-end thump, even if the drivers are on the smaller side. I wouldn't buy a 50 mm driver-toting headset over a 40 mm model simply because one number is bigger than the other, so make sure to pay attention to the <a href="https://www.pcgamer.com/best-gaming-headset/" target="_blank">recommendations and reviews</a> to find out what the sound is really like.</p><p>A noise-cancelling mic is also a good idea for multiplayer gamers, so your teammates don't have to listen to your <a href="https://www.pcgamer.com/best-mechanical-keyboard/" target="_blank">mechanical keyboard</a> going click-clack. Noise cancelling is a good thing to consider for the cans themselves as well, particularly if you game in a shared space.</p><p>If you're going wireless, consider dropping RGB lighting down your priority list, as it'll sap battery life like nobody's business. Otherwise, if you're looking to stand out among streamers, an RGB headset will surely hypnotize those fans into subscribing.</p><p>Oh, and should you be concerned about wireless latency? Nope, not as long as you're buying something with a 2.4 GHz wireless connection. Bluetooth is a nice optional extra to have, enabling you to take your headset out into the big wide world, but it's a bit laggy for gaming—so treat it as an extra rather than the main event.</p></article></section> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-headsets/the-best-amazon-prime-day-2026-gaming-headset-deals-im-hunting-down-the-best-sounding-cans-for-the-lowest-prices/</link>
                                                                            <description>
                            <![CDATA[ Treat yourself to a new pair of cans. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">3XCZfpsYgsNo9mNRWv4oSg</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/dg66pUZETFLytu6o3WBwZC-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 08 Jun 2026 16:07:11 +0000</pubDate>                                                                                                                                <updated>Thu, 08 Oct 2026 12:28:55 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Headsets]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Gaming Audio]]></category>
                                                                                                                    <dc:creator><![CDATA[ Andy Edser ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-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/dg66pUZETFLytu6o3WBwZC-1920-80.jpg">
                                                            <media:credit><![CDATA[SteelSeries]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[SteelSeries gaming headset on a Prime Day background]]></media:description>                                                            <media:text><![CDATA[SteelSeries gaming headset on a Prime Day background]]></media:text>
                                <media:title type="plain"><![CDATA[SteelSeries gaming headset on a Prime Day background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/dg66pUZETFLytu6o3WBwZC-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The October Prime Day sales may have ended, but many of the deals on gaming headsets are still running, and likely will for a little while yet. Amazon's event ended on October 7, but that doesn't mean there's a hard cut off on the discounts. Especially as many other retailers (like Best Buy and Newegg) keep going with their own sales for a bit longer.</p><p><strong>👉</strong><a href="https://www.amazon.com/primeday" target="_blank"><strong>ALL Amazon's Prime Day deals</strong></a><strong>👈</strong><br><strong>👉</strong><a href="https://www.pcgamer.com/best-amazon-prime-day-pc-gaming-deals/" target="_blank"><strong>OUR favorite Prime Day PC gaming deals</strong></a><strong>👈</strong></p><p>A great headset is more than just a gaming device. Music, podcast listening, YouTube-watching—all of these things are improved by an excellent set of drivers in a comfortable frame. I've tested tons of them over my years at PC Gamer, and my background in audio means I know a good one when I hear it. </p><p>Take a look at our <a href="https://www.pcgamer.com/best-gaming-headset/" target="_blank">best gaming headset</a> guide for even more suggestions, and the rest of the deals below.</p><h2 id="where-are-the-best-amazon-prime-day-gaming-headset-deals">Where are the best Amazon Prime Day gaming headset deals?</h2><ul><li><strong>Amazon: </strong><a href="https://www.amazon.com/s?k=gaming+headset&i=electronics&rh=n%3A172282%2Cp_n_feature_forty-one_browse-bin%3A119653281011&dc&ds=v1%3AYlTWCegsZPdMBEOYikyaEPvG3xBtQF2QJgiIoil5bck&crid=1S2CWEAHPWH24&qid=1732111870&rnid=119653280011&sprefix=gaming+headset%2Celectronics%2C150&ref=sr_nr_p_n_feature_forty-one_browse-bin_1" target="_blank"><strong>All the gaming headset discounts and deals</strong></a></li><li><strong>Razer: </strong><a href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0FH5XX7GP" target="_blank">Our best gaming headset pick, the BlackShark V3, down to $130</a></li><li><strong>Newegg: </strong><a href="https://www.newegg.com/p/pl?d=gaming+headset" target="_blank">Top brand headsets from $40</a></li><li><strong>Asus: </strong><a href="https://www.amazon.com/dp/B0DNTLYK6Z" target="_blank">ROG Pelta RGB wireless headset for $80 at Amazon</a></li><li><strong>HyperX: </strong><a href="https://www.amazon.com/dp/B09TRW57WB" target="_blank">300-hour battery life Cloud Alpha Wireless for<strong> </strong>$109</a></li><li><strong>B&H Photo: </strong><a href="https://www.bhphotovideo.com/c/search?q=gaming%20headset&sts=ma" target="_blank">Logitech, SteelSeries and more gaming headsets with big discounts</a></li><li><strong>Best Buy</strong>: <a href="https://www.bestbuy.com/site/pc-gaming-hardware/gaming-headsets/pcmcat230800050019.c?id=pcmcat230800050019" target="_blank">Up to $130 off SteelSeries headsets and much, much more</a></li></ul><div class="vizualizer-embed"><iframe   srcdoc="<!DOCTYPE html><html><head>  <style>    #widget-althbqx *:not(svg):not(path) { box-sizing: border-box; }    #widget-althbqx h1, #widget-althbqx p, #widget-althbqx h3 { margin: 0; line-height: normal; }    body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; }  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; }}#widget-althbqx, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-orange-50: oklch(98% .016 73.684); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-lime-700: oklch(53.2% .157 131.589); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-blue-50: oklch(97% .014 254.604); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-600: oklch(51.1% .262 276.966); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-pink-600: oklch(59.2% .249 .584); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-900: oklch(20.8% .042 265.755); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-black: #000; --color-white: #fff; --spacing: 4px; --breakpoint-xl: 1280px; --container-sm: 384px; --container-md: 448px; --container-lg: 512px; --container-xl: 576px; --container-2xl: 672px; --container-4xl: 896px; --container-6xl: 1152px; --container-7xl: 1280px; --text-xs: 12px; --text-xs--line-height: calc(1 / .75); --text-sm: 14px; --text-sm--line-height: calc(1.25 / .875); --text-base: 16px; --text-base--line-height: 1.5; --text-lg: 18px; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 20px; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 24px; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 30px; --text-3xl--line-height: 1.2; --text-4xl: 36px; --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 24px; --radius-4xl: 32px; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --blur-sm: 8px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {  ::placeholder { color: currentcolor; }  @supports (color:color-mix(in lab,red,red)) {  ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden="until-found"])) { display: none !important; }@layer components;.\@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(--spacing) * 0); }.top-0 { top: calc(var(--spacing) * 0); }.top-1 { top: calc(var(--spacing) * 1); }.top-1\/2 { top: 50%; }.top-3 { top: calc(var(--spacing) * 3); }.top-4 { top: calc(var(--spacing) * 4); }.top-\[76px\] { top: 76px; }.top-\[80px\] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(--spacing) * 0); }.right-1 { right: calc(var(--spacing) * 1); }.right-2 { right: calc(var(--spacing) * 2); }.right-3 { right: calc(var(--spacing) * 3); }.right-4 { right: calc(var(--spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(--spacing) * 0); }.bottom-3 { bottom: calc(var(--spacing) * 3); }.bottom-4 { bottom: calc(var(--spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(--spacing) * -2); }.left-0 { left: calc(var(--spacing) * 0); }.left-1 { left: calc(var(--spacing) * 1); }.left-1\/2 { left: 50%; }.left-2 { left: calc(var(--spacing) * 2); }.left-3 { left: calc(var(--spacing) * 3); }.left-4 { left: calc(var(--spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-\[60\] { z-index: 60; }.z-\[99\] { z-index: 99; }.z-\[100\] { z-index: 100; }.z-\[9999\] { z-index: 9999; }.z-\[10000\] { z-index: 10000; }.z-\[10001\] { z-index: 10001; }.z-\[var\(--burger-btn-z-index\,1\)\] { z-index: var(--burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) {  .container { max-width: 640px; }}@media (min-width: 768px) {  .container { max-width: 768px; }}@media (min-width: 1024px) {  .container { max-width: 1024px; }}@media (min-width: 1280px) {  .container { max-width: 1280px; }}@media (min-width: 1536px) {  .container { max-width: 1536px; }}.m-0 { margin: calc(var(--spacing) * 0); }.m-1 { margin: calc(var(--spacing) * 1); }.m-4 { margin: calc(var(--spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(--spacing) * -4); }.mx-0 { margin-inline: calc(var(--spacing) * 0); }.mx-1 { margin-inline: calc(var(--spacing) * 1); }.mx-2 { margin-inline: calc(var(--spacing) * 2); }.mx-4 { margin-inline: calc(var(--spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(--spacing) * -2); }.my-0 { margin-block: calc(var(--spacing) * 0); }.my-1 { margin-block: calc(var(--spacing) * 1); }.my-2 { margin-block: calc(var(--spacing) * 2); }.my-3 { margin-block: calc(var(--spacing) * 3); }.my-4 { margin-block: calc(var(--spacing) * 4); }.my-5 { margin-block: calc(var(--spacing) * 5); }.my-6 { margin-block: calc(var(--spacing) * 6); }.my-7 { margin-block: calc(var(--spacing) * 7); }.my-8 { margin-block: calc(var(--spacing) * 8); }.my-10 { margin-block: calc(var(--spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(--spacing) * 4); }.me-2 { margin-inline-end: calc(var(--spacing) * 2); }.prose { color: var(--tw-prose-#widget-althbqx); max-width: 65ch; }.prose :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote strong):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type="A"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where(ol[type="a"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-alpha; }.prose :where(ol[type="I"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where(ol[type="i"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: lower-roman; }.prose :where(ol[type="1"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *))::marker { color: var(--tw-prose-bullets); }.prose :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-color: var(--tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(--tw-prose-quote-borders); quotes: "“" "”" "‘" "’"; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-kbd); box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: "`"; }.prose :where(a code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h1 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(blockquote code):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(thead th code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: inherit; }.prose :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-pre-code); background-color: var(--tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(pre code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after { content: none; }.prose :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-th-borders); }.prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-althbqx tr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 1px; border-bottom-color: var(--tw-prose-td-borders); }.prose :where(t#widget-althbqx tr:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-bottom-width: 0px; }.prose :where(t#widget-althbqx td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~="not-prose"], [class~="not-prose"] *)) { border-top-width: 1px; border-top-color: var(--tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { --tw-prose-#widget-althbqx: oklch(37.3% .034 259.733); --tw-prose-headings: oklch(21% .034 264.665); --tw-prose-lead: oklch(44.6% .03 256.802); --tw-prose-links: oklch(21% .034 264.665); --tw-prose-bold: oklch(21% .034 264.665); --tw-prose-counters: oklch(55.1% .027 264.364); --tw-prose-bullets: oklch(87.2% .01 258.338); --tw-prose-hr: oklch(92.8% .006 264.531); --tw-prose-quotes: oklch(21% .034 264.665); --tw-prose-quote-borders: oklch(92.8% .006 264.531); --tw-prose-captions: oklch(55.1% .027 264.364); --tw-prose-kbd: oklch(21% .034 264.665); --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); --tw-prose-code: oklch(21% .034 264.665); --tw-prose-pre-code: oklch(92.8% .006 264.531); --tw-prose-pre-bg: oklch(27.8% .033 256.848); --tw-prose-th-borders: oklch(87.2% .01 258.338); --tw-prose-td-borders: oklch(92.8% .006 264.531); --tw-prose-invert-#widget-althbqx: oklch(87.2% .01 258.338); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.7% .022 261.325); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.7% .022 261.325); --tw-prose-invert-bullets: oklch(44.6% .03 256.802); --tw-prose-invert-hr: oklch(37.3% .034 259.733); --tw-prose-invert-quotes: oklch(96.7% .003 264.542); --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); --tw-prose-invert-captions: oklch(70.7% .022 261.325); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87.2% .01 258.338); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(44.6% .03 256.802); --tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(t#widget-althbqx td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-althbqx td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose :where(t#widget-althbqx td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(picture):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(ul > li):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h2 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h3 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-lg :where(h4 + *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-althbqx td, tfoot td):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-althbqx td:first-child, tfoot td:first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-althbqx td:last-child, tfoot td:last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"], [class~="not-prose"] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(--spacing) * 0); }.mt-1 { margin-top: calc(var(--spacing) * 1); }.mt-2 { margin-top: calc(var(--spacing) * 2); }.mt-3 { margin-top: calc(var(--spacing) * 3); }.mt-4 { margin-top: calc(var(--spacing) * 4); }.mt-5 { margin-top: calc(var(--spacing) * 5); }.mt-6 { margin-top: calc(var(--spacing) * 6); }.mt-7 { margin-top: calc(var(--spacing) * 7); }.mt-8 { margin-top: calc(var(--spacing) * 8); }.mt-10 { margin-top: calc(var(--spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(--spacing) * -1); }.mr-0 { margin-right: calc(var(--spacing) * 0); }.mr-1 { margin-right: calc(var(--spacing) * 1); }.mr-1\.5 { margin-right: calc(var(--spacing) * 1.5); }.mr-2 { margin-right: calc(var(--spacing) * 2); }.mr-3 { margin-right: calc(var(--spacing) * 3); }.mr-4 { margin-right: calc(var(--spacing) * 4); }.mr-5 { margin-right: calc(var(--spacing) * 5); }.mr-8 { margin-right: calc(var(--spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(--spacing) * 0); }.mb-1 { margin-bottom: calc(var(--spacing) * 1); }.mb-2 { margin-bottom: calc(var(--spacing) * 2); }.mb-3 { margin-bottom: calc(var(--spacing) * 3); }.mb-4 { margin-bottom: calc(var(--spacing) * 4); }.mb-5 { margin-bottom: calc(var(--spacing) * 5); }.mb-6 { margin-bottom: calc(var(--spacing) * 6); }.mb-7 { margin-bottom: calc(var(--spacing) * 7); }.mb-8 { margin-bottom: calc(var(--spacing) * 8); }.mb-10 { margin-bottom: calc(var(--spacing) * 10); }.-ml-1 { margin-left: calc(var(--spacing) * -1); }.-ml-2 { margin-left: calc(var(--spacing) * -2); }.-ml-5 { margin-left: calc(var(--spacing) * -5); }.ml-0 { margin-left: calc(var(--spacing) * 0); }.ml-0\.5 { margin-left: calc(var(--spacing) * .5); }.ml-1 { margin-left: calc(var(--spacing) * 1); }.ml-2 { margin-left: calc(var(--spacing) * 2); }.ml-3 { margin-left: calc(var(--spacing) * 3); }.ml-4 { margin-left: calc(var(--spacing) * 4); }.ml-6 { margin-left: calc(var(--spacing) * 6); }.ml-8 { margin-left: calc(var(--spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(--spacing) * 1); height: calc(var(--spacing) * 1); }.size-1\.5 { width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); }.size-2 { width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); }.size-3 { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); }.size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }.size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }.size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }.size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }.size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); }.size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }.size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }.size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }.size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }.size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }.size-40 { width: calc(var(--spacing) * 40); height: calc(var(--spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(--spacing) * 1); }.h-1\.5 { height: calc(var(--spacing) * 1.5); }.h-2 { height: calc(var(--spacing) * 2); }.h-3 { height: calc(var(--spacing) * 3); }.h-4 { height: calc(var(--spacing) * 4); }.h-5 { height: calc(var(--spacing) * 5); }.h-6 { height: calc(var(--spacing) * 6); }.h-7 { height: calc(var(--spacing) * 7); }.h-8 { height: calc(var(--spacing) * 8); }.h-9 { height: calc(var(--spacing) * 9); }.h-10 { height: calc(var(--spacing) * 10); }.h-12 { height: calc(var(--spacing) * 12); }.h-14 { height: calc(var(--spacing) * 14); }.h-16 { height: calc(var(--spacing) * 16); }.h-20 { height: calc(var(--spacing) * 20); }.h-24 { height: calc(var(--spacing) * 24); }.h-28 { height: calc(var(--spacing) * 28); }.h-64 { height: calc(var(--spacing) * 64); }.h-\[30px\] { height: 30px; }.h-\[40px\] { height: 40px; }.h-\[44px\] { height: 44px; }.h-\[76px\] { height: 76px; }.h-\[600px\] { height: 600px; }.h-\[var\(--logo-height-mobile\,25px\)\] { height: var(--logo-height-mobile,25px); }.h-\[var\(--site-header-height\,60px\)\] { height: var(--site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(--spacing) * 0); }.max-h-6 { max-height: calc(var(--spacing) * 6); }.max-h-12 { max-height: calc(var(--spacing) * 12); }.max-h-32 { max-height: calc(var(--spacing) * 32); }.max-h-80 { max-height: calc(var(--spacing) * 80); }.max-h-\[90vh\] { max-height: 90vh; }.max-h-\[var\(--logo-height-mobile\,25px\)\] { max-height: var(--logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(--spacing) * 8); }.min-h-10 { min-height: calc(var(--spacing) * 10); }.min-h-\[400px\] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(--spacing) * 0); }.w-1 { width: calc(var(--spacing) * 1); }.w-1\.5 { width: calc(var(--spacing) * 1.5); }.w-1\/3 { width: 33.3333%; }.w-1\/4 { width: 25%; }.w-2 { width: calc(var(--spacing) * 2); }.w-3 { width: calc(var(--spacing) * 3); }.w-4 { width: calc(var(--spacing) * 4); }.w-5 { width: calc(var(--spacing) * 5); }.w-6 { width: calc(var(--spacing) * 6); }.w-8 { width: calc(var(--spacing) * 8); }.w-9 { width: calc(var(--spacing) * 9); }.w-10 { width: calc(var(--spacing) * 10); }.w-12 { width: calc(var(--spacing) * 12); }.w-16 { width: calc(var(--spacing) * 16); }.w-20 { width: calc(var(--spacing) * 20); }.w-24 { width: calc(var(--spacing) * 24); }.w-28 { width: calc(var(--spacing) * 28); }.w-32 { width: calc(var(--spacing) * 32); }.w-36 { width: calc(var(--spacing) * 36); }.w-40 { width: calc(var(--spacing) * 40); }.w-44 { width: calc(var(--spacing) * 44); }.w-48 { width: calc(var(--spacing) * 48); }.w-56 { width: calc(var(--spacing) * 56); }.w-64 { width: calc(var(--spacing) * 64); }.w-\[140px\] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(--container-2xl); }.max-w-4xl { max-width: var(--container-4xl); }.max-w-6xl { max-width: var(--container-6xl); }.max-w-7xl { max-width: var(--container-7xl); }.max-w-32 { max-width: calc(var(--spacing) * 32); }.max-w-40 { max-width: calc(var(--spacing) * 40); }.max-w-64 { max-width: calc(var(--spacing) * 64); }.max-w-\[960px\] { max-width: 960px; }.max-w-\[65ch\] { max-width: 65ch; }.max-w-\[1200px\] { max-width: 1200px; }.max-w-\[min\(var\(--site-header-max-width\,970px\)\,98dvw\)\] { max-width: min(var(--site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(--container-lg); }.max-w-md { max-width: var(--container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(--breakpoint-xl); }.max-w-sm { max-width: var(--container-sm); }.max-w-xl { max-width: var(--container-xl); }.min-w-0 { min-width: calc(var(--spacing) * 0); }.min-w-8 { min-width: calc(var(--spacing) * 8); }.min-w-10 { min-width: calc(var(--spacing) * 10); }.min-w-16 { min-width: calc(var(--spacing) * 16); }.min-w-20 { min-width: calc(var(--spacing) * 20); }.min-w-36 { min-width: calc(var(--spacing) * 36); }.min-w-40 { min-width: calc(var(--spacing) * 40); }.min-w-52 { min-width: calc(var(--spacing) * 52); }.min-w-\[800px\] { min-width: 800px; }.min-w-\[var\(--tray-bell-min-width\,40px\)\] { min-width: var(--tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(--spacing) * 1); }.basis-2 { flex-basis: calc(var(--spacing) * 2); }.basis-3 { flex-basis: calc(var(--spacing) * 3); }.basis-11 { flex-basis: calc(var(--spacing) * 11); }.basis-13 { flex-basis: calc(var(--spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { --tw-translate-x: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-x-2 { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-0 { --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-x-4 { --tw-translate-x: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1 { --tw-translate-y: calc(var(--spacing) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }.-translate-y-full { --tw-translate-y: -100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-4 { --tw-translate-y: calc(var(--spacing) * 4); translate: var(--tw-translate-x) var(--tw-translate-y); }.translate-y-full { --tw-translate-y: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }.scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }.scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }.animate-pulse { animation: var(--animate-pulse); }.animate-spin { animation: var(--animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }.snap-mandatory { --tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(--spacing) * 0); }.gap-1 { gap: calc(var(--spacing) * 1); }.gap-1\.5 { gap: calc(var(--spacing) * 1.5); }.gap-2 { gap: calc(var(--spacing) * 2); }.gap-2\.5 { gap: calc(var(--spacing) * 2.5); }.gap-3 { gap: calc(var(--spacing) * 3); }.gap-4 { gap: calc(var(--spacing) * 4); }.gap-5 { gap: calc(var(--spacing) * 5); }.gap-6 { gap: calc(var(--spacing) * 6); }.gap-8 { gap: calc(var(--spacing) * 8); }.gap-\[var\(--site-header-gap\,0\10.4px\)\] { gap: var(--site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(--spacing) * 1); }.gap-x-3 { column-gap: calc(var(--spacing) * 3); }.gap-x-4 { column-gap: calc(var(--spacing) * 4); }.gap-x-5 { column-gap: calc(var(--spacing) * 5); }.gap-x-8 { column-gap: calc(var(--spacing) * 8); }.gap-x-10 { column-gap: calc(var(--spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(--spacing) * 1); }.gap-y-2 { row-gap: calc(var(--spacing) * 2); }.gap-y-3 { row-gap: calc(var(--spacing) * 3); }.gap-y-4 { row-gap: calc(var(--spacing) * 4); }.gap-y-6 { row-gap: calc(var(--spacing) * 6); }.gap-y-12 { row-gap: calc(var(--spacing) * 12); }:where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(--color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(--color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(--radius-2xl); }.rounded-3xl { border-radius: var(--radius-3xl); }.rounded-4xl { border-radius: var(--radius-4xl); }.rounded-\[50\%\] { border-radius: 50%; }.rounded-\[var\(--image--border-radius\,0\)\] { border-radius: var(--image--border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(--radius-lg); }.rounded-md { border-radius: var(--radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(--radius-sm); }.rounded-xl { border-radius: var(--radius-xl); }.rounded-xs { border-radius: var(--radius-xs); }.rounded-t-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }.border { border-style: var(--tw-border-style); border-width: 1px; }.border-0 { border-style: var(--tw-border-style); border-width: 0px; }.border-1 { border-style: var(--tw-border-style); border-width: 1px; }.border-2 { border-style: var(--tw-border-style); border-width: 2px; }.border-8 { border-style: var(--tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(--tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(--tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(--tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(--tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(--tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }.border-dashed { --tw-border-style: dashed; border-style: dashed; }.border-none { --tw-border-style: none; border-style: none; }.border-solid { --tw-border-style: solid; border-style: solid; }.border-\(--footer-nav-border-color\) { border-color: var(--footer-nav-border-color); }.border-\[\#DC1F26\] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(--color-black); }.border-gray-100 { border-color: var(--color-gray-100); }.border-gray-200 { border-color: var(--color-gray-200); }.border-gray-300 { border-color: var(--color-gray-300); }.border-gray-400 { border-color: var(--color-gray-400); }.border-gray-500 { border-color: var(--color-gray-500); }.border-gray-600 { border-color: var(--color-gray-600); }.border-gray-700 { border-color: var(--color-gray-700); }.border-gray-800 { border-color: var(--color-gray-800); }.border-green-600 { border-color: var(--color-green-600); }.border-neutral-100 { border-color: var(--color-neutral-100); }.border-neutral-200 { border-color: var(--color-neutral-200); }.border-neutral-300 { border-color: var(--color-neutral-300); }.border-red-600 { border-color: var(--color-red-600); }.border-rose-100 { border-color: var(--color-rose-100); }.border-slate-600 { border-color: var(--color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(--color-white); }.border-yellow-300 { border-color: var(--color-yellow-300); }.border-yellow-500 { border-color: var(--color-yellow-500); }.border-t-black { border-top-color: var(--color-black); }.border-t-neutral-500 { border-top-color: var(--color-neutral-500); }.border-r-neutral-100 { border-right-color: var(--color-neutral-100); }.border-r-neutral-200 { border-right-color: var(--color-neutral-200); }.border-b-black { border-bottom-color: var(--color-black); }.border-b-neutral-200 { border-bottom-color: var(--color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(--color-neutral-300); }.border-l-neutral-200 { border-left-color: var(--color-neutral-200); }.bg-\(--footer-bg-color\) { background-color: var(--footer-bg-color); }.bg-\[\#33333370\] { background-color: rgba(51, 51, 51, 0.44); }.bg-\[\#DC1F26\] { background-color: rgb(220, 31, 38); }.bg-\[\#ededed\] { background-color: rgb(237, 237, 237); }.bg-\[var\(--region-redirect-banner-background\,var\(--brand-color-1\)\)\] { background-color: var(--region-redirect-banner-background,var(--brand-color-1)); }.bg-\[var\(--site-header-background-color\,white\)\] { background-color: var(--site-header-background-color,white); }.bg-amber-50 { background-color: var(--color-amber-50); }.bg-black { background-color: var(--color-black); }.bg-blue-50 { background-color: var(--color-blue-50); }.bg-gray-50 { background-color: var(--color-gray-50); }.bg-gray-100 { background-color: var(--color-gray-100); }.bg-gray-200 { background-color: var(--color-gray-200); }.bg-gray-300 { background-color: var(--color-gray-300); }.bg-gray-500 { background-color: var(--color-gray-500); }.bg-gray-500\/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) {  .bg-gray-500\/75 { background-color: color-mix(in oklab,var(--color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(--color-gray-800); }.bg-gray-900 { background-color: var(--color-gray-900); }.bg-gray-950 { background-color: var(--color-gray-950); }.bg-green-50 { background-color: var(--color-green-50); }.bg-green-100 { background-color: var(--color-green-100); }.bg-green-500 { background-color: var(--color-green-500); }.bg-green-600 { background-color: var(--color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(--color-neutral-50); }.bg-neutral-50\/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-50\/50 { background-color: color-mix(in oklab,var(--color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(--color-neutral-100); }.bg-neutral-200 { background-color: var(--color-neutral-200); }.bg-neutral-300 { background-color: var(--color-neutral-300); }.bg-neutral-500 { background-color: var(--color-neutral-500); }.bg-neutral-600 { background-color: var(--color-neutral-600); }.bg-neutral-800 { background-color: var(--color-neutral-800); }.bg-neutral-900 { background-color: var(--color-neutral-900); }.bg-neutral-900\/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) {  .bg-neutral-900\/40 { background-color: color-mix(in oklab,var(--color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(--color-neutral-950); }.bg-orange-50 { background-color: var(--color-orange-50); }.bg-purple-50 { background-color: var(--color-purple-50); }.bg-red-50 { background-color: var(--color-red-50); }.bg-red-100 { background-color: var(--color-red-100); }.bg-red-500 { background-color: var(--color-red-500); }.bg-red-600 { background-color: var(--color-red-600); }.bg-rose-50 { background-color: var(--color-rose-50); }.bg-rose-500 { background-color: var(--color-rose-500); }.bg-slate-50 { background-color: var(--color-slate-50); }.bg-slate-500 { background-color: var(--color-slate-500); }.bg-slate-900 { background-color: var(--color-slate-900); }.bg-teal-50 { background-color: var(--color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(--color-white); }.bg-yellow-50 { background-color: var(--color-yellow-50); }.bg-yellow-500 { background-color: var(--color-yellow-500); }.bg-zinc-300 { background-color: var(--color-zinc-300); }.bg-zinc-800 { background-color: var(--color-zinc-800); }.bg-zinc-900 { background-color: var(--color-zinc-900); }.bg-gradient-to-l { --tw-gradient-position: to left in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { --tw-gradient-from: var(--color-gray-100); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-gray-950 { --tw-gradient-from: var(--color-gray-950); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.from-white { --tw-gradient-from: var(--color-white); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-200 { --tw-gradient-to: var(--color-gray-200); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-gray-800 { --tw-gradient-to: var(--color-gray-800); --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(--color-gray-500); }.fill-white { fill: var(--color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(--spacing) * 0); }.p-1 { padding: calc(var(--spacing) * 1); }.p-1\.5 { padding: calc(var(--spacing) * 1.5); }.p-2 { padding: calc(var(--spacing) * 2); }.p-3 { padding: calc(var(--spacing) * 3); }.p-4 { padding: calc(var(--spacing) * 4); }.p-5 { padding: calc(var(--spacing) * 5); }.p-6 { padding: calc(var(--spacing) * 6); }.p-8 { padding: calc(var(--spacing) * 8); }.px-0 { padding-inline: calc(var(--spacing) * 0); }.px-1 { padding-inline: calc(var(--spacing) * 1); }.px-2 { padding-inline: calc(var(--spacing) * 2); }.px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }.px-3 { padding-inline: calc(var(--spacing) * 3); }.px-4 { padding-inline: calc(var(--spacing) * 4); }.px-5 { padding-inline: calc(var(--spacing) * 5); }.px-6 { padding-inline: calc(var(--spacing) * 6); }.px-8 { padding-inline: calc(var(--spacing) * 8); }.px-12 { padding-inline: calc(var(--spacing) * 12); }.py-0 { padding-block: calc(var(--spacing) * 0); }.py-0\.5 { padding-block: calc(var(--spacing) * .5); }.py-1 { padding-block: calc(var(--spacing) * 1); }.py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }.py-2 { padding-block: calc(var(--spacing) * 2); }.py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }.py-3 { padding-block: calc(var(--spacing) * 3); }.py-4 { padding-block: calc(var(--spacing) * 4); }.py-5 { padding-block: calc(var(--spacing) * 5); }.py-6 { padding-block: calc(var(--spacing) * 6); }.py-7 { padding-block: calc(var(--spacing) * 7); }.py-8 { padding-block: calc(var(--spacing) * 8); }.py-10 { padding-block: calc(var(--spacing) * 10); }.py-12 { padding-block: calc(var(--spacing) * 12); }.py-24 { padding-block: calc(var(--spacing) * 24); }.pt-1 { padding-top: calc(var(--spacing) * 1); }.pt-2 { padding-top: calc(var(--spacing) * 2); }.pt-3 { padding-top: calc(var(--spacing) * 3); }.pt-4 { padding-top: calc(var(--spacing) * 4); }.pt-5 { padding-top: calc(var(--spacing) * 5); }.pt-6 { padding-top: calc(var(--spacing) * 6); }.pt-7 { padding-top: calc(var(--spacing) * 7); }.pt-8 { padding-top: calc(var(--spacing) * 8); }.pr-0 { padding-right: calc(var(--spacing) * 0); }.pr-1 { padding-right: calc(var(--spacing) * 1); }.pr-2 { padding-right: calc(var(--spacing) * 2); }.pr-3 { padding-right: calc(var(--spacing) * 3); }.pr-4 { padding-right: calc(var(--spacing) * 4); }.pr-5 { padding-right: calc(var(--spacing) * 5); }.pr-6 { padding-right: calc(var(--spacing) * 6); }.pr-8 { padding-right: calc(var(--spacing) * 8); }.pr-10 { padding-right: calc(var(--spacing) * 10); }.pr-12 { padding-right: calc(var(--spacing) * 12); }.pb-0 { padding-bottom: calc(var(--spacing) * 0); }.pb-1 { padding-bottom: calc(var(--spacing) * 1); }.pb-2 { padding-bottom: calc(var(--spacing) * 2); }.pb-3 { padding-bottom: calc(var(--spacing) * 3); }.pb-4 { padding-bottom: calc(var(--spacing) * 4); }.pb-5 { padding-bottom: calc(var(--spacing) * 5); }.pb-6 { padding-bottom: calc(var(--spacing) * 6); }.pb-8 { padding-bottom: calc(var(--spacing) * 8); }.pb-12 { padding-bottom: calc(var(--spacing) * 12); }.pb-\[var\(--strapline-padding-bottom\,12px\)\] { padding-bottom: var(--strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(--spacing) * 0); }.pl-1 { padding-left: calc(var(--spacing) * 1); }.pl-1\.5 { padding-left: calc(var(--spacing) * 1.5); }.pl-2 { padding-left: calc(var(--spacing) * 2); }.pl-3 { padding-left: calc(var(--spacing) * 3); }.pl-4 { padding-left: calc(var(--spacing) * 4); }.pl-8 { padding-left: calc(var(--spacing) * 8); }.pl-9 { padding-left: calc(var(--spacing) * 9); }.pl-12 { padding-left: calc(var(--spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(--spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(--font-mono); }.font-sans { font-family: var(--font-sans); }.font-serif { font-family: var(--font-serif); }.text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }.text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }.text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }.text-\[10px\] { font-size: 10px; }.text-\[11px\] { font-size: 11px; }.text-\[length\:var\(--strapline-font-size\,13px\)\] { font-size: var(--strapline-font-size,13px); }.leading-2 { --tw-leading: calc(var(--spacing) * 2); line-height: calc(var(--spacing) * 2); }.leading-3 { --tw-leading: calc(var(--spacing) * 3); line-height: calc(var(--spacing) * 3); }.leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }.leading-5 { --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }.leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }.leading-7 { --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); }.leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }.leading-10 { --tw-leading: calc(var(--spacing) * 10); line-height: calc(var(--spacing) * 10); }.leading-none { --tw-leading: 1; line-height: 1; }.leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); }.leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); }.leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }.font-black { --tw-font-weight: var(--font-weight-black); font-weight: var(--font-weight-black); }.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }.font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }.font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }.font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }.tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }.tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }.tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }.tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }.tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-\(--footer-text-color\) { color: var(--footer-text-color); }.text-\[\#DC1F26\] { color: rgb(220, 31, 38); }.text-\[var\(--site-header-text-color\,\#333\)\] { color: var(--site-header-text-color,#333); }.text-amber-700 { color: var(--color-amber-700); }.text-black { color: var(--color-black); }.text-blue-500 { color: var(--color-blue-500); }.text-blue-700 { color: var(--color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(--color-gray-50); }.text-gray-100 { color: var(--color-gray-100); }.text-gray-200 { color: var(--color-gray-200); }.text-gray-300 { color: var(--color-gray-300); }.text-gray-400 { color: var(--color-gray-400); }.text-gray-500 { color: var(--color-gray-500); }.text-gray-600 { color: var(--color-gray-600); }.text-gray-700 { color: var(--color-gray-700); }.text-gray-800 { color: var(--color-gray-800); }.text-gray-900 { color: var(--color-gray-900); }.text-green-50 { color: var(--color-green-50); }.text-green-400 { color: var(--color-green-400); }.text-green-500 { color: var(--color-green-500); }.text-green-600 { color: var(--color-green-600); }.text-green-700 { color: var(--color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(--color-lime-700); }.text-neutral-100 { color: var(--color-neutral-100); }.text-neutral-200 { color: var(--color-neutral-200); }.text-neutral-300 { color: var(--color-neutral-300); }.text-neutral-400 { color: var(--color-neutral-400); }.text-neutral-500 { color: var(--color-neutral-500); }.text-neutral-600 { color: var(--color-neutral-600); }.text-neutral-700 { color: var(--color-neutral-700); }.text-neutral-800 { color: var(--color-neutral-800); }.text-neutral-900 { color: var(--color-neutral-900); }.text-orange-700 { color: var(--color-orange-700); }.text-pink-600 { color: var(--color-pink-600); }.text-purple-700 { color: var(--color-purple-700); }.text-red-50 { color: var(--color-red-50); }.text-red-500 { color: var(--color-red-500); }.text-red-600 { color: var(--color-red-600); }.text-red-700 { color: var(--color-red-700); }.text-rose-600 { color: var(--color-rose-600); }.text-slate-50 { color: var(--color-slate-50); }.text-slate-500 { color: var(--color-slate-500); }.text-teal-700 { color: var(--color-teal-700); }.text-white { color: var(--color-white); }.text-yellow-700 { color: var(--color-yellow-700); }.text-yellow-800 { color: var(--color-yellow-800); }.\[text-transform\:var\(--strapline-text-transform\,uppercase\)\] { text-transform: var(--strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(--color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.4\)\] { --tw-shadow: 0 20px 60px -15px var(--tw-shadow-color,#0006); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-inner { --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-none { --tw-shadow: 0 0 #0000; box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color,#0000000d); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-0 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-1 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-4 { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.ring-amber-600 { --tw-ring-color: var(--color-amber-600); }.ring-black { --tw-ring-color: var(--color-black); }.ring-blue-600 { --tw-ring-color: var(--color-blue-600); }.ring-gray-300 { --tw-ring-color: var(--color-gray-300); }.ring-green-600 { --tw-ring-color: var(--color-green-600); }.ring-orange-600 { --tw-ring-color: var(--color-orange-600); }.ring-purple-400 { --tw-ring-color: var(--color-purple-400); }.ring-purple-600 { --tw-ring-color: var(--color-purple-600); }.ring-red-600 { --tw-ring-color: var(--color-red-600); }.ring-slate-600 { --tw-ring-color: var(--color-slate-600); }.ring-teal-600 { --tw-ring-color: var(--color-teal-600); }.ring-white { --tw-ring-color: var(--color-white); }.ring-yellow-600 { --tw-ring-color: var(--color-yellow-600); }.outline-hidden { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(--tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.brightness-0 { --tw-brightness: brightness(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.contrast-100 { --tw-contrast: contrast(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.invert { --tw-invert: invert(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }.backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }.duration-75 { --tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { --tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { --tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { --tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }.ease-in { --tw-ease: var(--ease-in); transition-timing-function: var(--ease-in); }.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }.ease-out { --tw-ease: var(--ease-out); transition-timing-function: var(--ease-out); }.prose-neutral { --tw-prose-#widget-althbqx: oklch(37.1% 0 0); --tw-prose-headings: oklch(20.5% 0 0); --tw-prose-lead: oklch(43.9% 0 0); --tw-prose-links: oklch(20.5% 0 0); --tw-prose-bold: oklch(20.5% 0 0); --tw-prose-counters: oklch(55.6% 0 0); --tw-prose-bullets: oklch(87% 0 0); --tw-prose-hr: oklch(92.2% 0 0); --tw-prose-quotes: oklch(20.5% 0 0); --tw-prose-quote-borders: oklch(92.2% 0 0); --tw-prose-captions: oklch(55.6% 0 0); --tw-prose-kbd: oklch(20.5% 0 0); --tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); --tw-prose-code: oklch(20.5% 0 0); --tw-prose-pre-code: oklch(92.2% 0 0); --tw-prose-pre-bg: oklch(26.9% 0 0); --tw-prose-th-borders: oklch(87% 0 0); --tw-prose-td-borders: oklch(92.2% 0 0); --tw-prose-invert-#widget-althbqx: oklch(87% 0 0); --tw-prose-invert-headings: #fff; --tw-prose-invert-lead: oklch(70.8% 0 0); --tw-prose-invert-links: #fff; --tw-prose-invert-bold: #fff; --tw-prose-invert-counters: oklch(70.8% 0 0); --tw-prose-invert-bullets: oklch(43.9% 0 0); --tw-prose-invert-hr: oklch(37.1% 0 0); --tw-prose-invert-quotes: oklch(97% 0 0); --tw-prose-invert-quote-borders: oklch(37.1% 0 0); --tw-prose-invert-captions: oklch(70.8% 0 0); --tw-prose-invert-kbd: #fff; --tw-prose-invert-kbd-shadows: #ffffff1a; --tw-prose-invert-code: #fff; --tw-prose-invert-pre-code: oklch(87% 0 0); --tw-prose-invert-pre-bg: #00000080; --tw-prose-invert-th-borders: oklch(43.9% 0 0); --tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { --tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { --tw-ring-inset: inset; }:is(.\*\:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) {  .group-hover\:text-\[\#DC1F26\]:is(:where(.group):hover *) { color: rgb(220, 31, 38); }  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited\:text-inherit:visited { color: inherit; }.empty\:border-none:empty { --tw-border-style: none; border-style: none; }@media (hover: hover) {  .hover\:border-black:hover { border-color: var(--color-black); }  .hover\:border-neutral-300:hover { border-color: var(--color-neutral-300); }  .hover\:bg-\[\#b8181e\]:hover { background-color: rgb(184, 24, 30); }  .hover\:bg-black:hover { background-color: var(--color-black); }  .hover\:bg-blue-50:hover { background-color: var(--color-blue-50); }  .hover\:bg-green-50:hover { background-color: var(--color-green-50); }  .hover\:bg-green-700:hover { background-color: var(--color-green-700); }  .hover\:bg-indigo-50:hover { background-color: var(--color-indigo-50); }  .hover\:bg-neutral-50:hover { background-color: var(--color-neutral-50); }  .hover\:bg-neutral-100:hover { background-color: var(--color-neutral-100); }  .hover\:bg-neutral-200:hover { background-color: var(--color-neutral-200); }  .hover\:bg-neutral-800:hover { background-color: var(--color-neutral-800); }  .hover\:bg-red-50:hover { background-color: var(--color-red-50); }  .hover\:bg-red-700:hover { background-color: var(--color-red-700); }  .hover\:text-\[\#DC1F26\]:hover { color: rgb(220, 31, 38); }  .hover\:text-blue-600:hover { color: var(--color-blue-600); }  .hover\:text-gray-500:hover { color: var(--color-gray-500); }  .hover\:text-indigo-600:hover { color: var(--color-indigo-600); }  .hover\:text-inherit:hover { color: inherit; }  .hover\:text-neutral-700:hover { color: var(--color-neutral-700); }  .hover\:text-neutral-900:hover { color: var(--color-neutral-900); }  .hover\:text-red-600:hover { color: var(--color-red-600); }  .hover\:no-underline:hover { text-decoration-line: none; }  .hover\:underline:hover { text-decoration-line: underline; }  .hover\:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); }  .hover\:underline-offset-2:hover { text-underline-offset: 2px; }}.focus\:border-rose-500:focus { border-color: var(--color-rose-500); }.focus\:text-inherit:focus { color: inherit; }.focus\:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus\:ring-1:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-4:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus\:ring-\[\#DC1F26\]:focus { --tw-ring-color: #dc1f26; }.focus\:ring-\[\#DC1F26\]\/20:focus { --tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus\:ring-rose-500:focus { --tw-ring-color: var(--color-rose-500); }.focus\:ring-offset-1:focus { --tw-ring-offset-width: 1px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:ring-offset-2:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); }.focus\:outline-hidden:focus { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus\:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus\:outline-1:focus { outline-style: var(--tw-outline-style); outline-width: 1px; }.focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }.focus\:\[outline-style\:auto\]:focus { outline-style: auto; }.focus-visible\:ring-2:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }.focus-visible\:ring-gray-900:focus-visible { --tw-ring-color: var(--color-gray-900); }.focus-visible\:outline-hidden:focus-visible { --tw-outline-style: none; outline-style: none; }@media (forced-colors: active) {  .focus-visible\:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active\:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) {  .max-sm\:top-full { top: 100%; }  .max-sm\:left-2\/4 { left: 50%; }  .max-sm\:hidden { display: none; }  .max-sm\:min-w-\[300px\] { min-width: 300px; }  .max-sm\:-translate-x-2\/4 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }}@media (min-width: 640px) {  .sm\:visible { visibility: visible; }  .sm\:relative { position: relative; }  .sm\:top-4 { top: calc(var(--spacing) * 4); }  .sm\:top-\[88px\] { top: 88px; }  .sm\:top-\[92px\] { top: 92px; }  .sm\:right-3 { right: calc(var(--spacing) * 3); }  .sm\:right-4 { right: calc(var(--spacing) * 4); }  .sm\:left-3 { left: calc(var(--spacing) * 3); }  .sm\:order-3 { order: 3; }  .sm\:mx-auto { margin-inline: auto; }  .sm\:my-8 { margin-block: calc(var(--spacing) * 8); }  .sm\:mt-5 { margin-top: calc(var(--spacing) * 5); }  .sm\:mt-6 { margin-top: calc(var(--spacing) * 6); }  .sm\:mb-6 { margin-bottom: calc(var(--spacing) * 6); }  .sm\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }  .sm\:block { display: block; }  .sm\:flex { display: flex; }  .sm\:hidden { display: none; }  .sm\:inline { display: inline; }  .sm\:h-6 { height: calc(var(--spacing) * 6); }  .sm\:h-12 { height: calc(var(--spacing) * 12); }  .sm\:h-\[50px\] { height: 50px; }  .sm\:h-\[var\(--logo-height-desktop\,auto\)\] { height: var(--logo-height-desktop,auto); }  .sm\:max-h-full { max-height: 100%; }  .sm\:w-6 { width: calc(var(--spacing) * 6); }  .sm\:w-12 { width: calc(var(--spacing) * 12); }  .sm\:w-64 { width: calc(var(--spacing) * 64); }  .sm\:w-\[480px\] { width: 480px; }  .sm\:max-w-full { max-width: 100%; }  .sm\:max-w-sm { max-width: var(--container-sm); }  .sm\:min-w-auto { min-width: auto; }  .sm\:translate-y-0 { --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); }  .sm\:scale-95 { --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:scale-100 { --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); }  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }  .sm\:flex-row { flex-direction: row; }  .sm\:items-center { align-items: center; }  .sm\:border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }  .sm\:border-solid { --tw-border-style: solid; border-style: solid; }  .sm\:border-gray-300 { border-color: var(--color-gray-300); }  .sm\:p-0 { padding: calc(var(--spacing) * 0); }  .sm\:p-3 { padding: calc(var(--spacing) * 3); }  .sm\:p-6 { padding: calc(var(--spacing) * 6); }  .sm\:p-8 { padding: calc(var(--spacing) * 8); }  .sm\:px-0 { padding-inline: calc(var(--spacing) * 0); }  .sm\:px-4 { padding-inline: calc(var(--spacing) * 4); }  .sm\:py-4 { padding-block: calc(var(--spacing) * 4); }  .sm\:pl-14 { padding-left: calc(var(--spacing) * 14); }  .sm\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }  .sm\:text-base { font-size: var(--text-base); line-height: var(--tw-leading,var(--text-base--line-height)); }}@media (min-width: 768px) {  .md\:visible { visibility: visible; }  .md\:inline { display: inline; }  .md\:h-screen { height: 100vh; }  .md\:w-80 { width: calc(var(--spacing) * 80); }  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }  .md\:flex-row { flex-direction: row; }  .md\:overflow-hidden { overflow: hidden; }  .md\:overflow-y-auto { overflow-y: auto; }  .md\:p-12 { padding: calc(var(--spacing) * 12); }  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }  .md\:text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }}.prose-headings\:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"], [class~="not-prose"] *)), .prose-p\:font-serif :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-family: var(--font-serif); }.prose-p\:leading-relaxed :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }.prose-p\:text-neutral-700 :where(p):not(:where([class~="not-prose"], [class~="not-prose"] *)) { color: var(--color-neutral-700); }@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }@property --tw-rotate-x { syntax: "*"; inherits: false; }@property --tw-rotate-y { syntax: "*"; inherits: false; }@property --tw-rotate-z { syntax: "*"; inherits: false; }@property --tw-skew-x { syntax: "*"; inherits: false; }@property --tw-skew-y { syntax: "*"; inherits: false; }@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-gradient-position { syntax: "*"; inherits: false; }@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }@property --tw-gradient-stops { syntax: "*"; inherits: false; }@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }@property --tw-leading { syntax: "*"; inherits: false; }@property --tw-font-weight { syntax: "*"; inherits: false; }@property --tw-tracking { syntax: "*"; inherits: false; }@property --tw-ordinal { syntax: "*"; inherits: false; }@property --tw-slashed-zero { syntax: "*"; inherits: false; }@property --tw-numeric-figure { syntax: "*"; inherits: false; }@property --tw-numeric-spacing { syntax: "*"; inherits: false; }@property --tw-numeric-fraction { syntax: "*"; inherits: false; }@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-shadow-color { syntax: "*"; inherits: false; }@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-ring-color { syntax: "*"; inherits: false; }@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-inset-ring-color { syntax: "*"; inherits: false; }@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-ring-inset { syntax: "*"; inherits: false; }@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }@property --tw-blur { syntax: "*"; inherits: false; }@property --tw-brightness { syntax: "*"; inherits: false; }@property --tw-contrast { syntax: "*"; inherits: false; }@property --tw-grayscale { syntax: "*"; inherits: false; }@property --tw-hue-rotate { syntax: "*"; inherits: false; }@property --tw-invert { syntax: "*"; inherits: false; }@property --tw-opacity { syntax: "*"; inherits: false; }@property --tw-saturate { syntax: "*"; inherits: false; }@property --tw-sepia { syntax: "*"; inherits: false; }@property --tw-drop-shadow { syntax: "*"; inherits: false; }@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }@property --tw-backdrop-blur { syntax: "*"; inherits: false; }@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }@property --tw-backdrop-invert { syntax: "*"; inherits: false; }@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }@property --tw-duration { syntax: "*"; inherits: false; }@property --tw-ease { syntax: "*"; inherits: false; }@keyframes spin {   100% { transform: rotate(360deg); }}@keyframes pulse {   50% { opacity: 0.5; }}      .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }      .pcg-result-item { margin: 0; padding: 0; list-style: none; }      .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; }      .pcg-result-btn.hovered { background-color: #f9fafb; }      .pcg-result-border { border-bottom: 1px solid #f5f5f5; }      .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; }      .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; }      .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }      .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; }      .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; }      .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; }      .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; }      .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; }      .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; }      .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; }      .pcg-reader-loading p { color: #DC1F26; }      .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; }      .pcg-reader-header { margin-bottom: 2rem; }      .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; }      .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; }      .pcg-reader-meta-divider { color: #d4d4d8; }      .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; }      .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; }       .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; }       .pcg-prose-content a:hover { text-decoration: underline; }       .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }    </style></head><body style="margin:0; padding:0; background:transparent;">  <div style="position: relative;">    <div class="w-full max-w-2xl mx-auto flex justify-center" id="widget-althbqx"><div class="w-full max-w-2xl mx-auto font-sans relative"><div id="pcg-search-container" class="bg-[#ededed] p-2 sm:p-3 rounded-full shadow-sm relative z-20 flex items-center"><div class="relative w-full text-sm sm:text-base md:text-lg"><div class="absolute left-4 top-1/2 -translate-y-1/2 text-[#DC1F26]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-5 h-5 sm:w-6 sm:h-6" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input id="pcg-search" placeholder="Search our 65 gaming headset reviews" class="w-full bg-white border-2 border-[#DC1F26] rounded-full py-3 sm:py-4 pl-12 sm:pl-14 pr-10 outline-none text-black placeholder-neutral-500 shadow-inner focus:ring-4 focus:ring-[#DC1F26]/20 transition-all font-medium text-ellipsis overflow-hidden" type="text" value=""></div></div><div id="pcg-footer-stats" class="mt-4 text-center text-sm sm:text-base font-semibold text-neutral-600 px-4">PC Gamer has reviewed <span id="pcg-total-reviews">1336</span> PC gaming goodies since 2020</div></div>      <section id="pcg-dropdown-container" class="absolute top-[76px] sm:top-[88px] left-2 right-2 sm:left-3 sm:right-3 z-50 bg-white border-2 border-[#DC1F26] rounded-2xl shadow-xl flex-col overflow-hidden" style="display: none; max-height: 380px;">        <header style="display: flex; align-items: center; justify-content: space-between; background: #fafafa; padding: 0.75rem 1rem; border-bottom: 1px solid #f5f5f5;">          <h3 id="pcg-dropdown-title" style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin: 0;">Latest Reviews</h3>          <div style="display: flex; align-items: center;">            <span style="font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; margin-right: 1.25rem; user-select: none;">Score</span>            <button id="pcg-close-btn" aria-label="Close" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">               <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <nav aria-label="Search Results" id="pcg-results" style="overflow-y: auto;">        </nav>      </section>            <article id="pcg-reader-container" class="absolute top-[80px] sm:top-[92px] left-2 right-2 sm:left-3 sm:right-3 z-[100] bg-white border-2 border-[#DC1F26] rounded-2xl shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] flex-col overflow-hidden" style="display: none; height: 600px;">        <header style="display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #f5f5f5; flex: none; background: white; position: relative;">          <div style="flex: 1;">            <span style="font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #a3a3a3;">Reader view</span>          </div>                    <div style="position: absolute; left: 50%; transform: translateX(-50%); text-align: center;" id="pcg-reader-link-container">          </div>          <div style="flex: 1; display: flex; justify-content: flex-end;">            <button id="pcg-reader-close" aria-label="Close Reader" style="color: #a3a3a3; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;">              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>            </button>          </div>        </header>        <div id="pcg-reader-content" style="flex: 1; padding: 1rem 1rem 3rem; overflow-y: auto; background: white; font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;">        </div>      </article>    </div>  </div>        <script>        const API_BASE = "https://airedale-version-review-widget-builder.ai.studio";        const CATEGORY = "Gaming Headsets";        const INITIALLY_OPEN = false;        // Embedded complete category data        let LOCAL_REVIEWS = JSON.parse(decodeURIComponent("%5B%7B%22id%22%3A%22w6WYsS2FA3zWJ4ACZJXHZY%22%2C%22title%22%3A%22Corsair%20HS35%20v3%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fcorsair-hs35-v3-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-03T09%3A32%3A20Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F6ZyoLet3jJCn5mjWhKYdeY.jpg%22%2C%22strapline%22%3A%22A%20very%20affordable%20mid-range%20headset%20that%20pulls%20off%20everything%20with%20aplomb%20with%20no%20surprises%2C%20good%20or%20bad.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Corsair%22%5D%2C%22score%22%3A83%2C%22summary%22%3A%22A%20very%20affordable%20mid-range%20headset%20that%20pulls%20off%20everything%20with%20aplomb%20with%20no%20surprises%2C%20good%20or%20bad.%22%7D%2C%7B%22id%22%3A%22PQ56xSGYsYtPRvi4Wh6CeE%22%2C%22title%22%3A%22PowerA%20LucidSound%20LS500%2FP%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fpowera-lucidsound-ls500-p-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-27T12%3A41%3A27Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FmaNkZ3jnkczCBKB8iq5mZb.jpg%22%2C%22strapline%22%3A%22A%20potential%20slam%20dunk%20for%20budget%20headsets.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20headset%22%2C%22budget%20gaming%20headset%22%2C%22headphones%22%2C%22PowerA%22%2C%22headset%22%2C%22wireless%20gaming%20headset%22%5D%2C%22score%22%3A85%2C%22summary%22%3A%22A%20potential%20slam%20dunk%20for%20budget%20headsets.%22%7D%2C%7B%22id%22%3A%22JwThLDNwxgCGyRTzTaZt4a%22%2C%22title%22%3A%22Glorious%20GHS%20InfinitePlay%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fglorious-ghs-infiniteplay-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-07-21T13%3A00%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FuP36bLJB5gFxYMZz4LwyAH.jpg%22%2C%22strapline%22%3A%22This%20versatile%20set%20of%20cans%20impresses%20with%20its%20hot%20swappable%20battery%20system%2C%20but%20it's%20just%20okay%20otherwise.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Review%22%2C%22Hardware%22%2C%22gaming%20headset%22%2C%22wireless%20gaming%20headset%22%2C%22Glorious%22%2C%22GHS%20Wireless%20InfinitePlay%22%2C%22hot-swappable%20battery%22%2C%22detachable%20microphone%22%2C%22black%22%2C%22orange%22%5D%2C%22score%22%3A73%2C%22summary%22%3A%22This%20versatile%20set%20of%20cans%20impresses%20with%20its%20hot%20swappable%20battery%20system%2C%20but%20it's%20just%20okay%20otherwise.%22%7D%2C%7B%22id%22%3A%22s9WtMdYoQP5sp33SpUnq4C%22%2C%22title%22%3A%22SteelSeries%20Arctis%20Nova%207X%20Wireless%20Gen%202%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fsteelseries-arctis-nova-7x-wireless-gen-2-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-16T14%3A11%3A36Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FcX9zSi5CERmTziS62pyGvh.jpg%22%2C%22strapline%22%3A%22A%20helpful%20refinement.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Steelseries%22%2C%22gaming%20headset%22%2C%22wireless%20gaming%20headset%22%5D%2C%22score%22%3A88%2C%22summary%22%3A%22A%20helpful%20refinement.%22%7D%2C%7B%22id%22%3A%22ikg4z8e5VuYyGXKoXDzwjk%22%2C%22title%22%3A%22Sony%20Inzone%20H6%20Air%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fsony-inzone-h6-air-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-06-15T16%3A03%3A41Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FrHb7DAHDN542aSnFte5pz8.jpg%22%2C%22strapline%22%3A%22An%20open-back%20beast.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Sony%22%2C%22InZone%22%2C%22gaming%20headset%22%5D%2C%22score%22%3A85%2C%22summary%22%3A%22An%20open-back%20beast.%22%7D%2C%7B%22id%22%3A%22mxyvdCJppbdZZaKPXnwTg8%22%2C%22title%22%3A%22Turtle%20Beach%20Stealth%20Pro%20II%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fturtle-beach-stealth-pro-ii-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-05-28T11%3A54%3A08Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fmg9x5CCSyRHZBafgUqhBGG.jpg%22%2C%22strapline%22%3A%22It's%20hard%20to%20say%20a%20%24350%20headset%20is%20worth%20it%2C%20but%20boy%2C%20does%20Turtle%20Beach%20get%20close.%20%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22headset%22%2C%22Review%22%2C%22gaming%20headset%22%2C%22wireless%20gaming%20headset%22%2C%22Turtle%20Beach%22%2C%22Turtle%20Beach%20Stealth%20Pro%20II%22%5D%2C%22score%22%3A85%2C%22summary%22%3A%22It's%20hard%20to%20say%20a%20%24350%20headset%20is%20worth%20it%2C%20but%20boy%2C%20does%20Turtle%20Beach%20get%20close.%20%22%7D%2C%7B%22id%22%3A%22YbLLpcP4j6Frqd5kqLubZe%22%2C%22title%22%3A%22Rig%20R5%20Spear%20Max%20HD%20gaming%20headset%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Frig-r5-spear-max-hd-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-05-15T16%3A14%3A01Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FbiZQkyi7AmUM549kn6RxYL.jpg%22%2C%22strapline%22%3A%22A%20very%20interesting%20wired%20headset%2C%20with%20some%20tuning%20I%20can't%20quite%20get%20my%20head%20around.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20headset%22%2C%22wired%20headset%22%2C%22Nacon%22%2C%22Rig%22%2C%22Rig%20R5%20Spear%20Max%20HD%22%2C%22USB%20DAC%22%2C%22graphene%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22A%20very%20interesting%20wired%20headset%2C%20with%20some%20tuning%20I%20can't%20quite%20get%20my%20head%20around.%22%7D%2C%7B%22id%22%3A%22PnnNAytHEPEaZ8kW3F6tNo%22%2C%22title%22%3A%22SteelSeries%20Arctis%20Nova%20Pro%20Omni%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fsteelseries-arctis-nova-pro-omni-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-05-07T14%3A14%3A18Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FyWy8QEvNRfckMcDLwSzJ7H.jpg%22%2C%22strapline%22%3A%22Omni%20upgrade.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20headset%22%2C%22wireless%22%2C%22DAC%22%2C%22audiophile%22%2C%22battery%20life%22%2C%22price%22%5D%2C%22score%22%3A85%2C%22summary%22%3A%22Omni%20upgrade.%22%7D%2C%7B%22id%22%3A%22MvJVBSf3cuGo5MCvFusxmF%22%2C%22title%22%3A%22Glorious%20GHS%20Eternal%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fglorious-ghs-eternal-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-04-30T16%3A08%3A54Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FHbySM3myBsKN8ebDgRk7Ha.jpg%22%2C%22strapline%22%3A%22This%20ticks%20all%20the%20right%20boxes%2C%20but%20is%20outclassed%20by%20budget%20headsets%20that%20push%20the%20boat%20out.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20headset%22%2C%22wired%20headset%22%2C%22Glorious%22%2C%22RGB%22%2C%22budget%22%2C%22budget%20gaming%20headset%22%2C%22headset%22%2C%22Audio%22%2C%22Sound%22%2C%22gaming%20headsets%22%2C%22wired%22%5D%2C%22score%22%3A79%2C%22summary%22%3A%22This%20ticks%20all%20the%20right%20boxes%2C%20but%20is%20outclassed%20by%20budget%20headsets%20that%20push%20the%20boat%20out.%22%7D%2C%7B%22id%22%3A%22eZeHjSaSC3R7KBnAESqJvi%22%2C%22title%22%3A%22HyperX%20Cloud%20Flight%202%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fhyperx-cloud-flight-2-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-04-20T15%3A19%3A15Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fh6dFCbMx4hVzqMZ6yVirvM.jpg%22%2C%22strapline%22%3A%22The%20Cloud%20Flight%202%20is%20a%20worthy%20sequel%20that%20avoids%20the%20gimmicks%20and%20just%20focuses%20on%20nailing%20the%20essentials%20very%20well.%20%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20headset%22%2C%22wireless%20gaming%20headset%22%2C%22HyperX%22%5D%2C%22score%22%3A83%2C%22summary%22%3A%22The%20Cloud%20Flight%202%20is%20a%20worthy%20sequel%20that%20avoids%20the%20gimmicks%20and%20just%20focuses%20on%20nailing%20the%20essentials%20very%20well.%20%22%7D%5D"));                const searchInput = document.getElementById("pcg-search");        const resultsContainer = document.getElementById("pcg-results");        const dropdownContainer = document.getElementById("pcg-dropdown-container");        const closeBtn = document.getElementById("pcg-close-btn");        const titleSpan = document.getElementById("pcg-dropdown-title");                const readerContainer = document.getElementById("pcg-reader-container");        const readerContent = document.getElementById("pcg-reader-content");        const readerCloseBtn = document.getElementById("pcg-reader-close");                let debounceTimer;                function updateIframeHeight(isDropdownOpen, isReaderOpen = false) {          let newHeight = '140px';          if (isReaderOpen) {            newHeight = '720px';          } else if (isDropdownOpen) {            newHeight = '500px';          }                    let resizedSuccessfully = false;          try {            if (window.frameElement) {              window.frameElement.style.height = newHeight;              resizedSuccessfully = true;            }          } catch (e) {            // Ignore cross-origin error when accessing frameElement          }                    if (!resizedSuccessfully && window.parent && window.parent !== window) {            try {              // Send message to parent only for cross-origin resizing               // using '*' to avoid target origin mismatch errors              window.parent.postMessage({ type: 'pcg-widget-resize', height: newHeight }, '*');            } catch (e) {}          }        }        function closeReader() {          readerContainer.style.display = 'none';          readerContent.innerHTML = '';          updateIframeHeight(dropdownContainer.style.display === 'flex', false);        }        if (readerCloseBtn) readerCloseBtn.addEventListener('click', closeReader);                function closeDropdown() {          dropdownContainer.style.display = 'none';          updateIframeHeight(false, readerContainer.style.display === 'flex');        }                function openDropdown() {          dropdownContainer.style.display = 'flex';          closeReader();          updateIframeHeight(true, false);        }                if (closeBtn) closeBtn.addEventListener("click", closeDropdown);                document.addEventListener("click", (e) => {           if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) {               closeDropdown();           }        });                const TOTAL_COUNT = 1336;        const CATEGORY_COUNT = 65;        function initializeStats() {           const totalSpan = document.getElementById("pcg-total-reviews");           if (totalSpan) totalSpan.textContent = TOTAL_COUNT;                      if (searchInput && CATEGORY_COUNT > 0) {             function formatCat(cat) {               if (cat === "PC gaming hardware") return "PC gaming hardware";               if (cat === "Handheld Gaming PCs") return "handheld gaming PC";                if (cat === "Gaming PCs") return "gaming PC";               if (cat === "Gaming Mice") return "gaming mouse";               if (cat === "Memory" || cat === "Cooling" || cat === "Lighting" || cat === "Hardware") return cat.toLowerCase();               if (cat === "Earbuds & Headphones") return "earbud & headphone";               return cat.replace(/s$/i, '').toLowerCase();             }             const formattedCat = formatCat(CATEGORY);             searchInput.placeholder = CATEGORY_COUNT > 50 ? "Search our " + CATEGORY_COUNT + " " + formattedCat + " reviews" : "Search our " + formattedCat + " reviews";           }        }                initializeStats();        function fetchResults(q) {          if (q) {             titleSpan.textContent = "Search Results";          } else {             titleSpan.textContent = "Latest " + (CATEGORY === "PC gaming hardware" ? "PC gaming hardware" : CATEGORY) + " Reviews";          }                     if (!q) {            renderResults(LOCAL_REVIEWS);            return;          }                    resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#737373;">Loading...</p>';                    fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&q=" + encodeURIComponent(q) + "&limit=20")            .then(res => res.json())            .then(data => {               renderResults(data.results || []);            })            .catch(err => {               console.error("Search failed:", err);               resultsContainer.innerHTML = '<p style="padding:2rem;text-align:center;color:#DC1F26;">Error searching reviews.</p>';            });        }                function renderResults(results) {          if(!results || results.length === 0) {            resultsContainer.innerHTML = '<p class="pcg-reader-msg">No results found.</p>';            return;          }          let html = '<ul class="pcg-results-list">';          results.forEach((res, i) => {            let scoreHtml = res.score ? '<div class="pcg-score" aria-label="Score: ' + res.score + '">' + res.score + '</div>' : '';                        // Format URL properly            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;                        let borderClass = i < results.length - 1 ? 'pcg-result-border' : '';                        let dateHtml = '';            if (res.publishDate) {              try {                let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });                dateHtml = '<span class="pcg-meta-date">' + dateStr + '</span>';              } catch(e) {}            }                        let subHtml = '<span class="pcg-result-summary">' + (res.summary || "") + '</span>';                        html += '<li class="pcg-result-item"><button aria-label="Read ' + (res.title || "Review").replace(/"/g, '&quot;') + '" onclick="openReaderInPage(\'' + targetUrl + '\')" class="pcg-result-btn ' + borderClass + '" onmouseover="this.classList.add(\'hovered\')" onmouseout="this.classList.remove(\'hovered\')" >' +                  '<div class="pcg-result-content">' +                    '<div class="pcg-result-meta-row">' +                       '<span class="pcg-result-title">' + (res.title || "Review") + '</span>' +                      dateHtml +                     '</div>' +                    subHtml +                  '</div>' +                  '<div class="pcg-result-actions">' +                    scoreHtml +                    '<span class="pcg-result-arrow" aria-hidden="true">→</span>' +                  '</div>' +              '</button></li>';          });          html += '</ul>';          resultsContainer.innerHTML = html;                    updateJSONLD(results);        }        function updateJSONLD(results) {          let ldScript = document.getElementById('pcg-json-ld');          if (!ldScript) {            ldScript = document.createElement('script');            ldScript.type = 'application/ld+json';            ldScript.id = 'pcg-json-ld';            document.head.appendChild(ldScript);          }                    const itemListElements = results.slice(0, 50).map((res, index) => {            let targetUrl = res.url.startsWith("http") ? res.url : "https://www.pcgamer.com" + res.url;            let itemName = (res.title || "Product").replace(/\s+review$/i, '');            let schemaItem = {              "@type": "Product",              "name": itemName,              "image": res.image || targetUrl,              "review": {                "@type": "Review",                "url": targetUrl,                "name": res.title || "Review",                "datePublished": res.publishDate || new Date().toISOString().split('T')[0],                "author": {                  "@type": "Organization",                  "name": "PC Gamer"                },                "publisher": {                  "@type": "Organization",                  "name": "PC Gamer"                }              }            };            if (res.score) {              schemaItem.review.reviewRating = {                "@type": "Rating",                "ratingValue": res.score,                "bestRating": "100",                "worstRating": "1"              };            }            return {              "@type": "ListItem",              "position": index + 1,              "item": schemaItem            };          });          const schema = {            "@context": "https://schema.org",            "@type": "ItemList",            "itemListElement": itemListElements          };          ldScript.textContent = JSON.stringify(schema);        }        function openReaderInPage(targetUrl) {          closeDropdown();          readerContainer.style.display = 'flex';          updateIframeHeight(false, true);          const readerLinkContainer = document.getElementById("pcg-reader-link-container");          if (readerLinkContainer) {            readerLinkContainer.innerHTML = '<a href="' + targetUrl + '" target="_blank" rel="noopener noreferrer" class="bg-[#DC1F26] text-white px-3 py-1.5 rounded-full font-sans text-[11px] md:text-xs font-bold hover:bg-black transition-colors border-2 border-[#DC1F26] hover:border-black shadow-sm inline-block" style="text-decoration: none;">Read full review</a>';          }          readerContent.innerHTML = '<div class="pcg-reader-loading"><p>Loading article...</p></div>';          fetch(API_BASE + "/api/content?q=" + btoa(targetUrl))            .then(res => res.json())            .then(data => {               if(!data || !data.content) {                 readerContent.innerHTML = '<div class="pcg-reader-msg">Could not load article content.</div>';                 return;               }               let html = '<div class="pcg-prose-content">';               html += '<header class="pcg-reader-header">';               html += '<h1 class="pcg-reader-title">' + (data.title || '') + '</h1>';                              if (data.byline || data.date) {                 html += '<div class="pcg-reader-meta">';                 if (data.byline) {                   html += '<span>BY ' + data.byline + '</span>';                 }                 if (data.byline && data.date) {                   html += '<span class="pcg-reader-meta-divider">|</span>';                 }                 if (data.date) {                   html += '<span>PUBLISHED ' + data.date + '</span>';                 }                 html += '</div>';               }               html += '</header>';                              html += '<div class="pcg-reader-body">';               html += data.content;               html += '</div></div>';                              readerContent.innerHTML = html;            })            .catch(err => {               console.error(err);               readerContent.innerHTML = '<div class="pcg-reader-msg">An error occurred loading the article.</div>';            });        }        const searchBoxContainer = document.getElementById("pcg-search-container");        if (searchBoxContainer) {           searchBoxContainer.addEventListener("click", () => {              openDropdown();           });        }                if (searchInput) {          searchInput.addEventListener("focus", () => {             openDropdown();          });          searchInput.addEventListener("click", () => {             openDropdown();          });          searchInput.addEventListener("input", (e) => {            openDropdown();            clearTimeout(debounceTimer);            debounceTimer = setTimeout(() => fetchResults(e.target.value), 500);          });                    // Initial render with embedded cache          fetchResults("");                    if (INITIALLY_OPEN) {            openDropdown();          }                    // Background revalidate          fetch(API_BASE + "/api/reviews?category=" + encodeURIComponent(CATEGORY) + "&limit=10")            .then(res => res.json())            .then(data => {               if (data && data.results && data.results.length > 0) {                 LOCAL_REVIEWS = data.results;                 // If the user hasn't typed anything yet, refresh the UI silently                 if (!searchInput.value) {                   fetchResults("");                 }               }            })            .catch(err => console.error("Background refresh failed:", err));        }      </script>    </body></html>"   width="100%"   height="140"   style="border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;"   title="PC Gamer Gaming Headsets Widget"></iframe></div><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/FwyM4eeyg40" allowfullscreen></iframe></div></div><h2 class="article-body__section" id="section-amazon-prime-day-wired-gaming-headset-deals"><span>Amazon Prime Day wired gaming headset deals</span></h2><div class="product"><a data-dimension112="5a0dce22-bb35-11f1-a38d-21ea3ff3bd97" data-action="Deal Block" data-label="GHS Eternal | 40 mm drivers" data-dimension48="GHS Eternal | 40 mm drivers" data-dimension25="$33.93" href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="AJ9J3xmw76BBiXYbhAtpX9" name="Gaming headset deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/AJ9J3xmw76BBiXYbhAtpX9-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dce22-bb35-11f1-a38d-21ea3ff3bd97" data-action="Deal Block" data-label="GHS Eternal | 40 mm drivers" data-dimension48="GHS Eternal | 40 mm drivers" data-dimension25="$33.93">GHS Eternal | 40 mm drivers: was $59.99 now $33.93</a></strong><br>With a solid build quality, good compatibility and sweet design, the Glorious GHS is a thoroughly middle-of-the-pack budget gaming headset, but is a bit of a steal with a third off. </p><p><strong>Key specs: 40 mm drivers | 20 hz - 20 kHz | 255 g</strong><a class="view-deal button" href="https://www.amazon.com/GLORIOUS-GHS-Eternal-Adjustable-Detachable/dp/B0GHZPFZ7R?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dce22-bb35-11f1-a38d-21ea3ff3bd97" data-action="Deal Block" data-label="GHS Eternal | 40 mm drivers" data-dimension48="GHS Eternal | 40 mm drivers" data-dimension25="$33.93">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dcfa8-bb35-11f1-935d-ad1101cbf994" data-action="Deal Block" data-label="BlackShark V2 X | 50 mm drivers" data-dimension48="BlackShark V2 X | 50 mm drivers" data-dimension25="$39.99" href="https://www.amazon.com/Razer-BlackShark-Xbox-Gaming-Headset-Console/dp/B0CXGTGPZQ?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="9LEAfzyk7pbwsTRYiJxGT8" name="BlackSharkV2X" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/9LEAfzyk7pbwsTRYiJxGT8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-BlackShark-Xbox-Gaming-Headset-Console/dp/B0CXGTGPZQ?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dcfa8-bb35-11f1-935d-ad1101cbf994" data-action="Deal Block" data-label="BlackShark V2 X | 50 mm drivers" data-dimension48="BlackShark V2 X | 50 mm drivers" data-dimension25="$39.99">BlackShark V2 X | 50 mm drivers: was $49.99 now $39.99</a></strong><br>A stone-cold classic, and one of our favourite budget gaming headsets. With 50 mm Triforce titanium drivers, a lightweight design, and a decent mic, it's one of the archetypes of everything a good, well-priced wired gaming headset should be. </p><p><strong>Key specs: 50 mm drivers | 12-28,000 Hz | Closed-back | Wired</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/razer-blackshark-v2-x-wired-over-the-ear-gaming-headset-for-pc-ps5-ps4-switch-xbox-xs-and-xbox-one-quartz/J3GTVWWR7Q" target="_blank">Best Buy $39.99 (pink)</a><strong> </strong>| <a href="https://www.walmart.com/ip/Razer-BlackShark-V2-X-Xbox-Wired-Gaming-Headset-Black/12859457980" target="_blank">Walmart $49.99</a><a class="view-deal button" href="https://www.amazon.com/Razer-BlackShark-Xbox-Gaming-Headset-Console/dp/B0CXGTGPZQ?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dcfa8-bb35-11f1-935d-ad1101cbf994" data-action="Deal Block" data-label="BlackShark V2 X | 50 mm drivers" data-dimension48="BlackShark V2 X | 50 mm drivers" data-dimension25="$39.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dcec2-bb35-11f1-b9fb-672ed4304807" data-action="Deal Block" data-label="G432 | 50 mm drivers" data-dimension48="G432 | 50 mm drivers" data-dimension25="$39.99" href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="2tUAoKQRgcyuBATm2MWW8Y" name="LogitechG432" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/2tUAoKQRgcyuBATm2MWW8Y-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" target="_blank" rel="nofollow" data-dimension112="5a0dcec2-bb35-11f1-b9fb-672ed4304807" data-action="Deal Block" data-label="G432 | 50 mm drivers" data-dimension48="G432 | 50 mm drivers" data-dimension25="$39.99">G432 | 50 mm drivers: was $79.99 now $39.99</a></strong><br>Logitech has been cranking out decent budget gaming headsets for a while, but this one's actually more of a mid-range set with a very healthy discount. The black and blue colorway won't be for everyone, but with 7.1 surround sound, a flip-to-mute mic, and DTS Headphone:X 2.0 support, this is certainly a whole lot of headset for the cash.</p><p><strong>Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired </strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/logitech-g432-wired-over-the-ear-gaming-headset-for-windows-black-blue/J7H7ZYXL22" target="_blank">Best Buy $39.99</a><a class="view-deal button" href="https://www.amazon.com/Logitech-Surround-Gaming-Headset-Leatherette/dp/B07MRMHML9/" target="_blank" rel="nofollow" data-dimension112="5a0dcec2-bb35-11f1-b9fb-672ed4304807" data-action="Deal Block" data-label="G432 | 50 mm drivers" data-dimension48="G432 | 50 mm drivers" data-dimension25="$39.99">View Deal</a></p></div><div class="product"><a data-dimension112="e96b948e-c0ab-11f1-8220-b76e23ef1f49" data-action="Deal Block" data-label="Cloud II | 53 mm drivers" data-dimension48="Cloud II | 53 mm drivers" data-dimension25="$47.48" href="https://www.amazon.com/HyperX-Cloud-Gaming-Headset-KHX-HSCP-RD/dp/B00SAYCXWG" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1289px;"><p class="vanilla-image-block" style="padding-top:99.22%;"><img id="AToN5X8jetU8hietgMCqNL" name="1791196492.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/AToN5X8jetU8hietgMCqNL-1920-80.jpg" mos="" align="middle" fullscreen="" width="1289" height="1279" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/HyperX-Cloud-Gaming-Headset-KHX-HSCP-RD/dp/B00SAYCXWG" target="_blank" rel="nofollow" data-dimension112="e96b948e-c0ab-11f1-8220-b76e23ef1f49" data-action="Deal Block" data-label="Cloud II | 53 mm drivers" data-dimension48="Cloud II | 53 mm drivers" data-dimension25="$47.48">Cloud II | 53 mm drivers: was $79.99 now $47.48</a></strong><br>An oldie, but still a goodie. Which is why <em>eleven years later</em> the headset is still being made and sold. In fact, it's an even older headset, given that it was actually just a rebadged QPad QH-90. But none of that changes the fact that in 2026 this is still a great-sounding headset for a really solid price. The comfortable pads, the wide frequency response, and just bullet-proof build quality mean I am still happy recommending one of my favorite headsets of all-time.<br><br><strong>Key specs: 53 mm drivers | 15 - 25,000 Hz response | Closed back | 320 g</strong><br><br><strong>Price check:</strong> <a href="https://www.newegg.com/hyperx-4p5m0aa-black-red/p/N82E16826700375" target="_blank">Newegg $47.48</a><a class="view-deal button" href="https://www.amazon.com/HyperX-Cloud-Gaming-Headset-KHX-HSCP-RD/dp/B00SAYCXWG" target="_blank" rel="nofollow" data-dimension112="e96b948e-c0ab-11f1-8220-b76e23ef1f49" data-action="Deal Block" data-label="Cloud II | 53 mm drivers" data-dimension48="Cloud II | 53 mm drivers" data-dimension25="$47.48">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd08e-bb35-11f1-98fb-b7c444df88c2" data-action="Deal Block" data-label="Cloud III | 53 mm drivers" data-dimension48="Cloud III | 53 mm drivers" data-dimension25="$57.99" href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="WcvQLZ9svEqddBva629wu3" name="HyperXCloudIII" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/WcvQLZ9svEqddBva629wu3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" target="_blank" rel="nofollow" data-dimension112="5a0dd08e-bb35-11f1-98fb-b7c444df88c2" data-action="Deal Block" data-label="Cloud III | 53 mm drivers" data-dimension48="Cloud III | 53 mm drivers" data-dimension25="$57.99">Cloud III | 53 mm drivers: was $99.99 now $57.99</a></strong><br>We found this headset to be very comfy in <a href="https://www.pcgamer.com/hyper-x-cloud-iii-gaming-headset-review/" target="_blank">our review</a>, with a balanced sound that still manages to keep a decent whack of bass. Our major drawback was the MSRP, but at $58 this set of cans is well worth a look.</p><p><strong>Key specs: 53 mm drivers | 15-25,000 Hz | Closed-back | Wired </strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/hyperx-cloud-iii-wired-gaming-headset-for-pc-ps5-ps4-xbox-series-xs-xbox-one-nintendo-switch-and-mobile-black-red/JJGG7K86X9/sku/6542540" target="_blank">Best Buy $57.99</a><a class="view-deal button" href="https://www.amazon.com/HyperX-Cloud-III-Ultra-Clear-USB/dp/B0C3BV19Q3/" target="_blank" rel="nofollow" data-dimension112="5a0dd08e-bb35-11f1-98fb-b7c444df88c2" data-action="Deal Block" data-label="Cloud III | 53 mm drivers" data-dimension48="Cloud III | 53 mm drivers" data-dimension25="$57.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dcf3a-bb35-11f1-9b7c-fd4cfe3e725f" data-action="Deal Block" data-label="Kraken V4 X | 40 mm drivers" data-dimension48="Kraken V4 X | 40 mm drivers" data-dimension25="$59.99" href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="oNZmqeexBrnWvrT2VvsYhe" name="RazerKrakenV4X" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oNZmqeexBrnWvrT2VvsYhe-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" target="_blank" rel="nofollow" data-dimension112="5a0dcf3a-bb35-11f1-9b7c-fd4cfe3e725f" data-action="Deal Block" data-label="Kraken V4 X | 40 mm drivers" data-dimension48="Kraken V4 X | 40 mm drivers" data-dimension25="$59.99">Kraken V4 X | 40 mm drivers: was $79.99 now $59.99</a></strong><br>If you're wondering why you might pay a little more than the Razer headsets above for, well, another Razer headset, the answer is comfort. Don't get me wrong, the BlackShark V2 X is a comfy thing to wear, but the plush, cushy memory foam cushions of the Kraken are well worth considering if you're looking for as much all-day usage as possible. It still sounds great, too.</p><p><strong>Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wired </strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/razer-kraken-v4-x-wired-over-the-ear-gaming-headset-for-pc-mac-playstation-nintendo-switch-steam-deck-mobile-and-tablet-black/J39HWFH8XQ" target="_blank">Best Buy $59.99</a><a class="view-deal button" href="https://www.amazon.com/Razer-Kraken-Wired-Gaming-Headset-Smartphone/dp/B0D9ZQTZ8N/" target="_blank" rel="nofollow" data-dimension112="5a0dcf3a-bb35-11f1-9b7c-fd4cfe3e725f" data-action="Deal Block" data-label="Kraken V4 X | 40 mm drivers" data-dimension48="Kraken V4 X | 40 mm drivers" data-dimension25="$59.99">View Deal</a></p></div><div class="product"><a data-dimension112="e96b954c-c0ab-11f1-9ee2-7b239e793dd6" data-action="Deal Block" data-label="Inzone H6 Air | 40 mm drivers" data-dimension48="Inzone H6 Air | 40 mm drivers" data-dimension25="$168.00" href="https://www.amazon.com/Sony-INZONE-Open-Back-Gaming-Headset/dp/B0GT6CX8MV" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1089px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="TCqXpduXYNenXfV2VWeJ7F" name="1791197303.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TCqXpduXYNenXfV2VWeJ7F-1920-80.jpg" mos="" align="middle" fullscreen="" width="1089" height="1089" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Sony-INZONE-Open-Back-Gaming-Headset/dp/B0GT6CX8MV" target="_blank" rel="nofollow" data-dimension112="e96b954c-c0ab-11f1-9ee2-7b239e793dd6" data-action="Deal Block" data-label="Inzone H6 Air | 40 mm drivers" data-dimension48="Inzone H6 Air | 40 mm drivers" data-dimension25="$168.00">Inzone H6 Air | 40 mm drivers: was $199.99 now $168.00</a></strong><br>Okay, hear me out. I know that $170 feels like <em>a lot</em> of money to spend out on a wired gaming headset, but Sony has really dug into its audio heritage to deliver a set of open-back cans with '<a href="https://www.pcgamer.com/hardware/gaming-headsets/sony-inzone-h6-air-review/" target="_blank"><em>wonderfully immersive audio</em></a>' (as we say in our review). The drivers come from the company's MDR-MV1 studio monitoring headphones and combined with the open-back nature of the ear cups this offers a beautifully broad soundstage. And they're supremely light, too.<br><strong></strong><br><strong>Key specs: 40 mm drivers | 10 - 20,000 Hz response | Open back | 199 g</strong><br><br><strong>Price check:</strong> <a href="https://www.bestbuy.com/product/sony-inzone-h6-air-wired-open-back-gaming-headset-for-pc-ps5-ps4-xbox-and-mobile-black/J7XSRH5W4W" target="_blank">Best Buy $169.99</a><a class="view-deal button" href="https://www.amazon.com/Sony-INZONE-Open-Back-Gaming-Headset/dp/B0GT6CX8MV" target="_blank" rel="nofollow" data-dimension112="e96b954c-c0ab-11f1-9ee2-7b239e793dd6" data-action="Deal Block" data-label="Inzone H6 Air | 40 mm drivers" data-dimension48="Inzone H6 Air | 40 mm drivers" data-dimension25="$168.00">View Deal</a></p></div><div class="product"><a data-dimension112="c9ae5fe0-c16f-11f1-af6f-8b24387c16ad" data-action="Deal Block" data-label="ROG Kithara | 100 mm drivers" data-dimension48="ROG Kithara | 100 mm drivers" data-dimension25="$218.49" href="https://www.amazon.com/dp/B0GG53SPJC" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:969px;"><p class="vanilla-image-block" style="padding-top:154.80%;"><img id="dP4YcddiQeBgTxnPTvEzaG" name="71B5EMO2G7L._AC_SL1500_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/dP4YcddiQeBgTxnPTvEzaG-1920-80.jpg" mos="" align="middle" fullscreen="" width="969" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0GG53SPJC" target="_blank" rel="nofollow" data-dimension112="c9ae5fe0-c16f-11f1-af6f-8b24387c16ad" data-action="Deal Block" data-label="ROG Kithara | 100 mm drivers" data-dimension48="ROG Kithara | 100 mm drivers" data-dimension25="$218.49">ROG Kithara | 100 mm drivers: was $299.99 now $218.49</a></strong><br>Yes, this is still a huge amount of cash to spend on a gaming headset, especially a wired one. But the Kithara has a party trick—and it comes in the form of two 100 mm planar magnetic drivers. These are cherished by audiophiles for their accuracy, and while this headset might make you look like you work for air traffic control, it sounds fantastic. Just ask our Phil, who <a href="https://www.pcgamer.com/hardware/gaming-headsets/asus-rog-kithara-review/" target="_blank">reviewed it earlier this year</a> and came back raving about the audio.<br><strong></strong><br><strong>Key specs: 100 mm planar magnetic drivers | 8 - 55,000 Hz response | Open back | 420 g</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0GG53SPJC" target="_blank" rel="nofollow" data-dimension112="c9ae5fe0-c16f-11f1-af6f-8b24387c16ad" data-action="Deal Block" data-label="ROG Kithara | 100 mm drivers" data-dimension48="ROG Kithara | 100 mm drivers" data-dimension25="$218.49">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-amazon-prime-wireless-gaming-headset-deals"><span>Amazon Prime wireless gaming headset deals</span></h2><div class="product"><a data-dimension112="5a0dd3a4-bb35-11f1-9915-e96e50a05361" data-action="Deal Block" data-label="ROG Pelta | 50 mm drivers | 70-hour battery life" data-dimension48="ROG Pelta | 50 mm drivers | 70-hour battery life" data-dimension25="$79.99" href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="drDHYUcwrYrLw28sd8Fqbk" name="Asus ROG Pelta" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/drDHYUcwrYrLw28sd8Fqbk-1920-80.png" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/" target="_blank" rel="nofollow" data-dimension112="5a0dd3a4-bb35-11f1-9915-e96e50a05361" data-action="Deal Block" data-label="ROG Pelta | 50 mm drivers | 70-hour battery life" data-dimension48="ROG Pelta | 50 mm drivers | 70-hour battery life" data-dimension25="$79.99">ROG Pelta | 50 mm drivers | 70-hour battery life: was $129.49 now $79.99</a></strong><br>50 mm titanium drivers deliver crisp sound, and the battery can offer up to 90 hours of power under the best conditions. Our James gave this set a very positive <a href="https://www.pcgamer.com/hardware/gaming-headsets/asus-rog-pelta-review/" target="_blank">review</a>, and he stands by their excellent sound and superb comfort to this day. I checked, and everything.</p><p><strong>Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wireless | 70-hour battery life</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/asus-rog-pelta-wireless-gaming-headset-for-pc-mac-ps5-ps4-and-switch-black/JJGGLQW2P4" target="_blank">Best Buy $79.99</a><a class="view-deal button" href="https://www.amazon.com/ASUS-ROG-Lightweight-Titanium-Plated-Super-Wideband/dp/B0DNTLYK6Z/" target="_blank" rel="nofollow" data-dimension112="5a0dd3a4-bb35-11f1-9915-e96e50a05361" data-action="Deal Block" data-label="ROG Pelta | 50 mm drivers | 70-hour battery life" data-dimension48="ROG Pelta | 50 mm drivers | 70-hour battery life" data-dimension25="$79.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd32c-bb35-11f1-8b37-3f2a4a87dc75" data-action="Deal Block" data-label="BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life" data-dimension25="$79.99" href="https://www.amazon.com/dp/B0FH5YWH7B" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="y8nW9mzCQf3WPcnnXgfpK8" name="Razer BlackShark v3" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/y8nW9mzCQf3WPcnnXgfpK8-1920-80.png" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FH5YWH7B" target="_blank" rel="nofollow" data-dimension112="5a0dd32c-bb35-11f1-8b37-3f2a4a87dc75" data-action="Deal Block" data-label="BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life" data-dimension25="$79.99">BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life: was $99.99 now $79.99</a></strong><br>Featuring the same comfy build and drivers as some of its more expensive cousins, you also finally get a detachable mic arm, too. The volume dial is much more fiddly, but it's a small price to pay if you're on a budget.</p><p><strong>Key specs: 50 mm drivers | 12-28,000 Hz | Closed back | Wireless | 70-hour battery life</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FH5YWH7B" target="_blank" rel="nofollow" data-dimension112="5a0dd32c-bb35-11f1-8b37-3f2a4a87dc75" data-action="Deal Block" data-label="BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 X HyperSpeed | 50 mm drivers | 70-hour battery life" data-dimension25="$79.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd480-bb35-11f1-a9f8-950f02604e95" data-action="Deal Block" data-label="Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life" data-dimension48="Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life" data-dimension25="$108.99" href="https://www.amazon.com/HyperX-Cloud-Alpha-Wireless-Noise-canceling/dp/B09TRW57WB/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:570px;"><p class="vanilla-image-block" style="padding-top:99.65%;"><img id="2DE2efMvbuHQCqKHfxWyBU" name="Cloud Alpha Wireless" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/2DE2efMvbuHQCqKHfxWyBU-1920-80.png" mos="" align="middle" fullscreen="" width="570" height="568" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/HyperX-Cloud-Alpha-Wireless-Noise-canceling/dp/B09TRW57WB/" target="_blank" rel="nofollow" data-dimension112="5a0dd480-bb35-11f1-a9f8-950f02604e95" data-action="Deal Block" data-label="Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life" data-dimension48="Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life" data-dimension25="$108.99">Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life: was $199.99 now $108.99</a></strong><br>I think I can convince you this is a headset worth looking at with one bite of the cherry—300-hour battery life. Yep, that's not a typo. To this day, the longest-lasting gaming headset we've ever tested, the HyperX Cloud Alpha Wireless isn't just a one-trick pony, as it also sounds great and is remarkably comfortable to boot. The mic is merely average, but otherwise, it's a superstar.</p><p><strong>Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wireless | 300-hour battery life</strong><br><br><strong>Price check: </strong><a href="https://www.newegg.com/hyperx-cloud-alpha-wireless-dts-black-red/p/3EE-0025-00012" target="_blank">Newegg $108.99</a> | <a href="https://www.bestbuy.com/product/hyperx-cloud-alpha-wireless-gaming-headset-for-pc-ps5-and-ps4-black-red/JJG2RHYFHS" target="_blank">Best Buy $108.99</a><a class="view-deal button" href="https://www.amazon.com/HyperX-Cloud-Alpha-Wireless-Noise-canceling/dp/B09TRW57WB/" target="_blank" rel="nofollow" data-dimension112="5a0dd480-bb35-11f1-a9f8-950f02604e95" data-action="Deal Block" data-label="Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life" data-dimension48="Cloud Alpha Wireless | 40 mm drivers | 300-hour battery life" data-dimension25="$108.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd412-bb35-11f1-84bd-514997cac014" data-action="Deal Block" data-label="Void V2 | 50 mm drivers | 70-hour battery life" data-dimension48="Void V2 | 50 mm drivers | 70-hour battery life" data-dimension25="$103.75" href="https://www.amazon.com/Corsair-Wireless-Gaming-Headset-Bluetooth/dp/B0DYVD72P2" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="BocRmXrtUuMG97GyoFq5pn" name="CorsairVoidV2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/BocRmXrtUuMG97GyoFq5pn-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Corsair-Wireless-Gaming-Headset-Bluetooth/dp/B0DYVD72P2" target="_blank" rel="nofollow" data-dimension112="5a0dd412-bb35-11f1-84bd-514997cac014" data-action="Deal Block" data-label="Void V2 | 50 mm drivers | 70-hour battery life" data-dimension48="Void V2 | 50 mm drivers | 70-hour battery life" data-dimension25="$103.75">Void V2 | 50 mm drivers | 70-hour battery life: was $129.99 now $103.75</a></strong><br>The Void V2 is certainly a stylish gaming headset, and we found it to be very comfortable in <a href="https://www.pcgamer.com/hardware/gaming-headsets/corsair-void-wireless-v2-review/" target="_blank">our review</a>, too. It's a versatile set with an extra Bluetooth connection alongside the 2.4 GHz dongle, and delivers a clear, accurate sound, making for a light-touch set with great day-to-day sensibilities. It's a shame Corsair wants you to install some fairly bloaty software, and there's no wired connection, but otherwise it's a great wireless set for the cash.</p><p><strong>Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wireless | 70-hour battery life</strong></p><p><strong>Price check: </strong><a href="https://www.newegg.com/p/N82E16826816223?Item=N82E16826816223" target="_blank">Newegg $79.99</a> |<strong> </strong><a href="https://www.bestbuy.com/product/corsair-void-v2-wireless-gaming-headset-for-pc-ps5-ps4-nintendo-switch-and-mobile-carbon/J39TSCQVT4/sku/6616893" target="_blank">Best Buy $79.99</a><em><strong></strong></em><a class="view-deal button" href="https://www.amazon.com/Corsair-Wireless-Gaming-Headset-Bluetooth/dp/B0DYVD72P2" target="_blank" rel="nofollow" data-dimension112="5a0dd412-bb35-11f1-84bd-514997cac014" data-action="Deal Block" data-label="Void V2 | 50 mm drivers | 70-hour battery life" data-dimension48="Void V2 | 50 mm drivers | 70-hour battery life" data-dimension25="$103.75">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd4ee-bb35-11f1-8060-c5770a8bc867" data-action="Deal Block" data-label="BlackShark V3 | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 | 50 mm drivers | 70-hour battery life" data-dimension25="$129.99" href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0FH5XX7GP" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="kQv9RLHKr3LEYdXVZAfLL8" name="Razer BlackShark v3" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/kQv9RLHKr3LEYdXVZAfLL8-1920-80.png" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0FH5XX7GP" target="_blank" rel="nofollow" data-dimension112="5a0dd4ee-bb35-11f1-8060-c5770a8bc867" data-action="Deal Block" data-label="BlackShark V3 | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 | 50 mm drivers | 70-hour battery life" data-dimension25="$129.99">BlackShark V3 | 50 mm drivers | 70-hour battery life: was $149.99 now $129.99</a></strong><br>This wireless gaming headset leaves little to be desired. Featuring excellent-sounding titanium TriForce drivers, you're getting enviable gaming and music audio at a very reasonable price. The honking-great volume knob makes it easier than ever to fine-tune your soundscape when things get hectic, too. Our <a href="https://www.pcgamer.com/best-gaming-headset/#section-best-gaming-headset" target="_blank">best gaming headset</a> pick for a reason? Yes indeedy.</p><p><strong>Key specs: 50 mm drivers | 12 - 28,000 Hz | Closed-back | Wireless | 70-hour battery life</strong><br><br><strong>Price check:</strong> <a href="https://www.newegg.com/p/1VH-000G-002W8" target="_blank">Newegg $129.99</a><a class="view-deal button" href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0FH5XX7GP" target="_blank" rel="nofollow" data-dimension112="5a0dd4ee-bb35-11f1-8060-c5770a8bc867" data-action="Deal Block" data-label="BlackShark V3 | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 | 50 mm drivers | 70-hour battery life" data-dimension25="$129.99">View Deal</a></p></div><div class="product"><a data-dimension112="763643bc-c17b-11f1-8063-a51c1deb720f" data-action="Deal Block" data-label="Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life" data-dimension48="Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life" data-dimension25="$159.99" href="https://www.amazon.com/SteelSeries-Arctis-Wireless-Gaming-Headset/dp/B0FRNR8Y11/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="rnY9XEPo6jMGZJ7DPrZKCX" name="SteelSeriesArctisNova7Gen2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rnY9XEPo6jMGZJ7DPrZKCX-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/SteelSeries-Arctis-Wireless-Gaming-Headset/dp/B0FRNR8Y11/?th=1" target="_blank" rel="nofollow" data-dimension112="763643bc-c17b-11f1-8063-a51c1deb720f" data-action="Deal Block" data-label="Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life" data-dimension48="Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life" data-dimension25="$159.99">Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life: was $199.99 now $159.99</a></strong><br>We gave this headset <a href="https://www.pcgamer.com/hardware/gaming-headsets/steelseries-arctis-nova-7x-wireless-gen-2-review/" target="_blank">a score of 88%</a> a few months ago, which goes some way to showing how much our Reece likes it. While the specs sheet isn't quite as class leading as some, it's extremely comfortable and delivers precise audio to your earholes with panache. It's still a pricey thing even with a discount, but at what price head comfort?</p><p><strong>Key specs: 40 mm drivers | 20 - 22,000 Hz | Closed-back | Wireless | 54-hour battery life</strong><a class="view-deal button" href="https://www.amazon.com/SteelSeries-Arctis-Wireless-Gaming-Headset/dp/B0FRNR8Y11/?th=1" target="_blank" rel="nofollow" data-dimension112="763643bc-c17b-11f1-8063-a51c1deb720f" data-action="Deal Block" data-label="Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life" data-dimension48="Arctis Nova 7 Gen 2 | 40 mm drivers | 54-hour battery life" data-dimension25="$159.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd55c-bb35-11f1-8f0a-add58667ab78" data-action="Deal Block" data-label="Scape | 40 mm drivers | 40-hour battery life" data-dimension48="Scape | 40 mm drivers | 40-hour battery life" data-dimension25="$169.99" href="https://www.amazon.com/Fractal-Design-Scape-Flip-Mute/dp/B0D5HGK3C2?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="CU6r3N7racZASkNBfhBBeR" name="Design Scape" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/CU6r3N7racZASkNBfhBBeR-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Fractal-Design-Scape-Flip-Mute/dp/B0D5HGK3C2?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dd55c-bb35-11f1-8f0a-add58667ab78" data-action="Deal Block" data-label="Scape | 40 mm drivers | 40-hour battery life" data-dimension48="Scape | 40 mm drivers | 40-hour battery life" data-dimension25="$169.99">Scape | 40 mm drivers | 40-hour battery life: was $199.99 now $169.99</a></strong><br>With a neat magnetic charging stand, a comfortable fit, and lush sound, the <a href="https://www.pcgamer.com/hardware/gaming-headsets/fractal-design-scape-review" target="_blank">Fractal Design Scape</a> earns its hefty MSRP. It's let down a little by a lack of noise cancelling and an average microphone, but it's a gorgeous set of cans. Oh, and pretty much the most convenient headset I've ever used. There's that, too.</p><p><strong>Key specs: 40 mm drivers | 20 - 20,000 Hz | Closed-back | Wireless | 40-hour battery life</strong></p><p><strong>Price check: </strong><a href="https://www.newegg.com/p/N82E16826743003" target="_blank">Newegg $169.99</a><a class="view-deal button" href="https://www.amazon.com/Fractal-Design-Scape-Flip-Mute/dp/B0D5HGK3C2?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dd55c-bb35-11f1-8f0a-add58667ab78" data-action="Deal Block" data-label="Scape | 40 mm drivers | 40-hour battery life" data-dimension48="Scape | 40 mm drivers | 40-hour battery life" data-dimension25="$169.99">View Deal</a></p></div><div class="product"><a data-dimension112="76364452-c17b-11f1-8068-edd6957e5306" data-action="Deal Block" data-label="BlackShark V3 Pro | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 Pro | 50 mm drivers | 70-hour battery life" data-dimension25="$208.98" href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0F3QDLZKG/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="2mVx2UvEedwys4KHKTF32Y" name="RazerBlackSharkV3Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/2mVx2UvEedwys4KHKTF32Y-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0F3QDLZKG/" target="_blank" rel="nofollow" data-dimension112="76364452-c17b-11f1-8068-edd6957e5306" data-action="Deal Block" data-label="BlackShark V3 Pro | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 Pro | 50 mm drivers | 70-hour battery life" data-dimension25="$208.98">BlackShark V3 Pro | 50 mm drivers | 70-hour battery life: was $249.99 now $208.98</a></strong><br>Ey? Why would you spend more on the Pro version, when the standard BlackShark V3 is our best gaming headset overall? Well, it all depends if you want to add noise cancelling into the mix. Our Dave <a href="https://www.pcgamer.com/hardware/gaming-headsets/razer-blackshark-v3-pro-review/" target="_blank">didn't find it the most effective of implementations</a>, but it's still a dose of ANC added on top of one of our favorite gaming headsets of all time. Something to consider, anyway.</p><p><strong>Key specs: 50 mm drivers | 12 - 28,000 Hz | Closed-back | ANC | Wireless | 70-hour battery life</strong><a class="view-deal button" href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0F3QDLZKG/" target="_blank" rel="nofollow" data-dimension112="76364452-c17b-11f1-8068-edd6957e5306" data-action="Deal Block" data-label="BlackShark V3 Pro | 50 mm drivers | 70-hour battery life" data-dimension48="BlackShark V3 Pro | 50 mm drivers | 70-hour battery life" data-dimension25="$208.98">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-amazon-prime-day-gaming-earbud-deals"><span>Amazon Prime Day gaming earbud deals</span></h2><div class="product"><a data-dimension112="5a0dd69c-bb35-11f1-b8db-7be6c7fdd1ae" data-action="Deal Block" data-label="Vivace | In-ear monitors" data-dimension48="Vivace | In-ear monitors" data-dimension25="$28.41" href="https://www.amazon.com/Linsoul-Tripowin-0DiBi-Detachable-Enthusiasts/dp/B0DJQVQ1QG" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1318px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="StRaQra3Nbm5V2o5nUsP9H" name="1782231578.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/StRaQra3Nbm5V2o5nUsP9H-1920-80.jpg" mos="" align="middle" fullscreen="" width="1318" height="1318" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Linsoul-Tripowin-0DiBi-Detachable-Enthusiasts/dp/B0DJQVQ1QG" target="_blank" rel="nofollow" data-dimension112="5a0dd69c-bb35-11f1-b8db-7be6c7fdd1ae" data-action="Deal Block" data-label="Vivace | In-ear monitors" data-dimension48="Vivace | In-ear monitors" data-dimension25="$28.41">Vivace | In-ear monitors: was $29.90 now $28.41</a></strong><br>These are cheap, but you'd be surprised how far a pair of in-ear monitors can go for gaming. They're great for positioning, staying alert, and at this price, saving some cash. These are what our Jacob Fox uses whenever he plays Counter-Strike now (which is, err, probably too much...).</p><p><strong>Key specs: 10 mm Titanium Dynamic Drivers</strong><a class="view-deal button" href="https://www.amazon.com/Linsoul-Tripowin-0DiBi-Detachable-Enthusiasts/dp/B0DJQVQ1QG" target="_blank" rel="nofollow" data-dimension112="5a0dd69c-bb35-11f1-b8db-7be6c7fdd1ae" data-action="Deal Block" data-label="Vivace | In-ear monitors" data-dimension48="Vivace | In-ear monitors" data-dimension25="$28.41">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd746-bb35-11f1-a475-912ddf49ba69" data-action="Deal Block" data-label="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" data-dimension48="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" data-dimension25="$59" href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:930px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="LjJiAaeT6h5YZ9JGiq7c5Z" name="image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/LjJiAaeT6h5YZ9JGiq7c5Z-1920-80.png" mos="" align="middle" fullscreen="" width="930" height="930" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank" rel="nofollow" data-dimension112="5a0dd746-bb35-11f1-a475-912ddf49ba69" data-action="Deal Block" data-label="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" data-dimension48="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" data-dimension25="$59">Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds): was $79 now $59</a></strong><br>These earbuds might not be ideal just for gaming (their low-latency mode is pretty poor), but for listening to music and more casual gaming, they're great. They have a great sound profile, sit comfortably, and look pretty snazzy, too.</p><p><strong>Key specs: Bluetooth 5.4 | 42.5-hour battery life (9.5 from earbuds) | 20 Hz – 20 kHz frequency response</strong><a class="view-deal button" href="https://www.amazon.com/Nothing-Ear-Integration-Cancelling-Equaliser/dp/B0CXPR5412" target="_blank" rel="nofollow" data-dimension112="5a0dd746-bb35-11f1-a475-912ddf49ba69" data-action="Deal Block" data-label="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" data-dimension48="Ear (a) | Bluetooth | 42.5-hour battery life (9.5 from earbuds)" data-dimension25="$59">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd7fa-bb35-11f1-9a84-81f84c7c49e5" data-action="Deal Block" data-label="Air Pro 4 | 52-hour battery life" data-dimension48="Air Pro 4 | 52-hour battery life" data-dimension25="$62.99" href="https://www.amazon.com/EarFun-Canceling-Snapdragon-Bluetooth-Detection/dp/B0D5M9SH1X?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:603px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="yhHvaNNYLo8WiaXqTXoPHK" name="image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yhHvaNNYLo8WiaXqTXoPHK-1920-80.png" mos="" align="middle" fullscreen="" width="603" height="603" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/EarFun-Canceling-Snapdragon-Bluetooth-Detection/dp/B0D5M9SH1X?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dd7fa-bb35-11f1-9a84-81f84c7c49e5" data-action="Deal Block" data-label="Air Pro 4 | 52-hour battery life" data-dimension48="Air Pro 4 | 52-hour battery life" data-dimension25="$62.99">Air Pro 4 | 52-hour battery life: was $79.90 now $62.99</a></strong><br>If you're looking for a cheap(er) pair of earbuds with some premium specs, the EarFun Air Pro 4 are much better than the name might suggest. They sound great and have excellent battery life, though the lack of a 2.4 GHz mode is a slight disappointment. Bluetooth with Game Mode is good enough, though. </p><p><strong>Key specs: 10 mm drivers | 52-hour battery life | 20 Hz - 22 kHz</strong><a class="view-deal button" href="https://www.amazon.com/EarFun-Canceling-Snapdragon-Bluetooth-Detection/dp/B0D5M9SH1X?th=1" target="_blank" rel="nofollow" data-dimension112="5a0dd7fa-bb35-11f1-9a84-81f84c7c49e5" data-action="Deal Block" data-label="Air Pro 4 | 52-hour battery life" data-dimension48="Air Pro 4 | 52-hour battery life" data-dimension25="$62.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dd8b8-bb35-11f1-a9f5-816341837447" data-action="Deal Block" data-label="Air Pro 4+ | 54-hour battery life" data-dimension48="Air Pro 4+ | 54-hour battery life" data-dimension25="$79.99" href="https://www.amazon.com/EarFun-Cancelling-Translation-Snapdragon-Bluetooth/dp/B0FSKRJFKT" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:591px;"><p class="vanilla-image-block" style="padding-top:99.83%;"><img id="Eevtoy5dhGxgba3aeducMe" name="Air Pro 4+" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Eevtoy5dhGxgba3aeducMe-1920-80.png" mos="" align="middle" fullscreen="" width="591" height="590" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/EarFun-Cancelling-Translation-Snapdragon-Bluetooth/dp/B0FSKRJFKT" target="_blank" rel="nofollow" data-dimension112="5a0dd8b8-bb35-11f1-a9f5-816341837447" data-action="Deal Block" data-label="Air Pro 4+ | 54-hour battery life" data-dimension48="Air Pro 4+ | 54-hour battery life" data-dimension25="$79.99">Air Pro 4+ | 54-hour battery life: was $99.99 now $79.99</a></strong><br>These are the earbuds our Jacob Fox uses literally every day, and for good reason: they're the best earbuds on the market for the price. When he <a href="https://www.pcgamer.com/hardware/earbuds-headphones/earfun-air-pro-4-review/" target="_blank">reviewed them</a>, he noted their combination of great battery life and audio quality, and that hasn't changed. They also have a pretty competent low-latency mode, though no 2.4 GHz wireless connectivity.</p><p><strong>Key specs: Armature + dynamic drivers | 54-hour battery life (including case) | Bluetooth 6.0</strong><a class="view-deal button" href="https://www.amazon.com/EarFun-Cancelling-Translation-Snapdragon-Bluetooth/dp/B0FSKRJFKT" target="_blank" rel="nofollow" data-dimension112="5a0dd8b8-bb35-11f1-a9f5-816341837447" data-action="Deal Block" data-label="Air Pro 4+ | 54-hour battery life" data-dimension48="Air Pro 4+ | 54-hour battery life" data-dimension25="$79.99">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h2 class="article-body__section" id="section-amazon-prime-gaming-headset-deals-in-the-uk"><span>Amazon Prime gaming headset deals in the UK</span></h2><p><strong>Headsets and earbuds: </strong></p><ul><li><strong>Amazon:</strong> <a href="https://www.amazon.co.uk/s?k=gaming+headset&crid=1O4O8SEH9OV6U&sprefix=gaming+headset" target="_blank">Major discounts on gaming headsets from all the best brands</a></li><li><strong>Scan:</strong> <a href="https://www.scan.co.uk/shop/gaming/headsets/967/1326#sale=1" target="_blank">Gaming headsets from £29</a></li><li><strong>Argos: </strong><a href="https://www.argos.co.uk/search/gaming-headset/?clickOrigin=searchbar:productdetailsterm:gaming+headset" target="_blank">No seriously, Argos. Regular discounts on some excellent headsets from many of the major manufacturers</a></li><li><strong>Overclockers: </strong><a href="https://www.overclockers.co.uk/peripherals/headphones-headsets?q=gaming%20headset&srule=most-sold&page=1" target="_blank">Razer headsets from as little as £40</a></li></ul><h2 id="wired-headsets">Wired headsets</h2><div class="product"><a data-dimension112="5a0dddcc-bb35-11f1-91d2-b560946218cc" data-action="Deal Block" data-label="Quantum 100 | 40 mm drivers" data-dimension48="Quantum 100 | 40 mm drivers" data-dimension25="£19.99" href="https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:846px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QpbyfGXi5wHEk3EUKrQ3cb" name="1698849268.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QpbyfGXi5wHEk3EUKrQ3cb-1920-80.jpg" mos="" align="middle" fullscreen="" width="846" height="846" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/" target="_blank" rel="nofollow" data-dimension112="5a0dddcc-bb35-11f1-91d2-b560946218cc" data-action="Deal Block" data-label="Quantum 100 | 40 mm drivers" data-dimension48="Quantum 100 | 40 mm drivers" data-dimension25="£19.99">Quantum 100 | 40 mm drivers: was £29.99 now £19.99</a></strong><br>JBL has a reputation for good audio quality, and this headset is hard to argue with at this price. Featuring JBL's "Quantum Sound Signature", memory foam ear cushions and a good quality detachable boom microphone, it's difficult to think of a better value headset for the money.</p><p><strong>Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired</strong><a class="view-deal button" href="https://www.amazon.co.uk/JBL-Quantum-Gaming-Wired-Over-ear-Black/dp/B083X24CFF/" target="_blank" rel="nofollow" data-dimension112="5a0dddcc-bb35-11f1-91d2-b560946218cc" data-action="Deal Block" data-label="Quantum 100 | 40 mm drivers" data-dimension48="Quantum 100 | 40 mm drivers" data-dimension25="£19.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0ddec6-bb35-11f1-8c91-9bb9125b5585" data-action="Deal Block" data-label="BlackShark V2 X | 50 mm drivers" data-dimension48="BlackShark V2 X | 50 mm drivers" data-dimension25="£41.95" href="https://www.amazon.co.uk/dp/B089SSFV85/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4QzNmFUxfvewhzjtGeEth7" name="Razer BlackShark V2 X (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4QzNmFUxfvewhzjtGeEth7-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/dp/B089SSFV85/" target="_blank" rel="nofollow" data-dimension112="5a0ddec6-bb35-11f1-8c91-9bb9125b5585" data-action="Deal Block" data-label="BlackShark V2 X | 50 mm drivers" data-dimension48="BlackShark V2 X | 50 mm drivers" data-dimension25="£41.95">BlackShark V2 X | 50 mm drivers: was £59.99 now £41.95</a></strong><br>This is a gaming headset that keeps cropping up in the deals, and it's remarkably good value even at full whack. With 50 mm drivers that are great for music, gaming, or anything else you want to pump into your lugholes, plus a good-looking and comfortable design, there's really not a lot to complain about here for the price. Maybe the green cable? Nah, I actually think it's kinda cool.</p><p><strong>Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wired </strong><a class="view-deal button" href="https://www.amazon.co.uk/dp/B089SSFV85/" target="_blank" rel="nofollow" data-dimension112="5a0ddec6-bb35-11f1-8c91-9bb9125b5585" data-action="Deal Block" data-label="BlackShark V2 X | 50 mm drivers" data-dimension48="BlackShark V2 X | 50 mm drivers" data-dimension25="£41.95">View Deal</a></p></div><div class="product"><a data-dimension112="5a0dde62-bb35-11f1-8355-e9e67a18179b" data-action="Deal Block" data-label="G335 | 40 mm drivers" data-dimension48="G335 | 40 mm drivers" data-dimension25="£34.90" href="https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1095px;"><p class="vanilla-image-block" style="padding-top:136.99%;"><img id="4zYtRMX5cd9pAbB5K6yiNa" name="71QEWj+ioXS._AC_SL1500_.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4zYtRMX5cd9pAbB5K6yiNa-1920-80.jpg" mos="" align="middle" fullscreen="" width="1095" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/" target="_blank" rel="nofollow" data-dimension112="5a0dde62-bb35-11f1-8355-e9e67a18179b" data-action="Deal Block" data-label="G335 | 40 mm drivers" data-dimension48="G335 | 40 mm drivers" data-dimension25="£34.90">G335 | 40 mm drivers: was £49.99 now £34.90</a></strong><br>This Logitech headset is a lightweight marvel with memory foam earphone pads and a refined yet colourful aesthetic. The 40 mm neodymium drivers are well-rounded and it comes with a handy in-line volume control on its extra-long wire. The microphone is nothing to write home about, but for this price these make an excellent entry-level set of cans.</p><p><strong>Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wired</strong></p><p><strong>Price check: </strong><a href="https://www.currys.co.uk/products/logitech-g335-gaming-headset-black-10227173.html" target="_blank">Currys £49.99</a><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-Microphone-Comfortable-Lightweight-PlayStation/dp/B07W6J6TG5/" target="_blank" rel="nofollow" data-dimension112="5a0dde62-bb35-11f1-8355-e9e67a18179b" data-action="Deal Block" data-label="G335 | 40 mm drivers" data-dimension48="G335 | 40 mm drivers" data-dimension25="£34.90">View Deal</a></p></div><div class="product"><a data-dimension112="5a0ddf34-bb35-11f1-b4d2-732dae1318cf" data-action="Deal Block" data-label="Cloud Alpha | 50 mm drivers" data-dimension48="Cloud Alpha | 50 mm drivers" data-dimension25="£69.99" href="https://www.amazon.co.uk/HyperX-HX-HSCA-RD-EM-Gaming-Headset-Noir/dp/B076GT6XJ9/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="egByYsNqvf3uRFtrUrmvRk" name="HyperX Cloud ALpha" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/egByYsNqvf3uRFtrUrmvRk-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/HyperX-HX-HSCA-RD-EM-Gaming-Headset-Noir/dp/B076GT6XJ9/" target="_blank" rel="nofollow" data-dimension112="5a0ddf34-bb35-11f1-b4d2-732dae1318cf" data-action="Deal Block" data-label="Cloud Alpha | 50 mm drivers" data-dimension48="Cloud Alpha | 50 mm drivers" data-dimension25="£69.99">Cloud Alpha | 50 mm drivers: was £89.99 now £69.99</a></strong><br>Our best <a href="https://www.pcgamer.com/best-gaming-headset/#section-best-wired-gaming-headset" target="_blank">wired gaming headset pick</a>, here at a very reasonable price. The Cloud Alpha might be getting on a bit these days, but it still reins supreme for its combination of value, audio, and comfort. You can spend more and get better, but you're unlikely to beat it for less.</p><p><strong>Key specs: 50 mm drivers | 13-27,000Hz | Closed-back | Wired</strong></p><p><strong>Price check: </strong><a href="https://www.currys.co.uk/products/hyperx-cloud-alpha-gaming-headset-black-and-red-10168923.html" target="_blank">Currys £89.99</a><a class="view-deal button" href="https://www.amazon.co.uk/HyperX-HX-HSCA-RD-EM-Gaming-Headset-Noir/dp/B076GT6XJ9/" target="_blank" rel="nofollow" data-dimension112="5a0ddf34-bb35-11f1-b4d2-732dae1318cf" data-action="Deal Block" data-label="Cloud Alpha | 50 mm drivers" data-dimension48="Cloud Alpha | 50 mm drivers" data-dimension25="£69.99">View Deal</a></p></div><h2 id="wireless-headsets">Wireless headsets</h2><div class="product"><a data-dimension112="5a0ddffc-bb35-11f1-99bc-955c313bd500" data-action="Deal Block" data-label="G321 Lightspeed | 40 mm drivers" data-dimension48="G321 Lightspeed | 40 mm drivers" data-dimension25="£34.99" href="https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:153px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="jMLjXCziHPvivaafPHDC6Z" name="1698849674.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jMLjXCziHPvivaafPHDC6Z-1920-80.jpg" mos="" align="middle" fullscreen="" width="153" height="153" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1" target="_blank" rel="nofollow" data-dimension112="5a0ddffc-bb35-11f1-99bc-955c313bd500" data-action="Deal Block" data-label="G321 Lightspeed | 40 mm drivers" data-dimension48="G321 Lightspeed | 40 mm drivers" data-dimension25="£34.99">G321 Lightspeed | 40 mm drivers: was £59.99 now £34.99</a></strong><br>This very lightweight, very comfortable headset has a balanced sound profile to match, as our James found in <a href="https://www.pcgamer.com/hardware/gaming-headsets/logitech-g321-lightspeed-review/" target="_blank">his review</a>. It won't blow you away with bass or features, but at this price it's still worth considering.</p><p><strong>Key specs: 40 mm drivers | 20-20,000Hz | Closed-back | Wireless </strong></p><p><strong>Price check: </strong><a href="https://www.currys.co.uk/products/logitech-g321-lightspeed-wireless-bluetooth-gaming-headset-black-10289632.html" target="_blank">Currys £49.99</a><a class="view-deal button" href="https://www.amazon.co.uk/Logitech-LIGHTSPEED-Wireless-Bluetooth-Nintendo/dp/B0FL7NNGRG?th=1" target="_blank" rel="nofollow" data-dimension112="5a0ddffc-bb35-11f1-99bc-955c313bd500" data-action="Deal Block" data-label="G321 Lightspeed | 40 mm drivers" data-dimension48="G321 Lightspeed | 40 mm drivers" data-dimension25="£34.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0de060-bb35-11f1-a637-2f1962783fb6" data-action="Deal Block" data-label="Air Pro 4 | 52-hour battery life" data-dimension48="Air Pro 4 | 52-hour battery life" data-dimension25="£55.99" href="https://www.amazon.co.uk/EarFun-Cancelling-Earphones-Bluetooth-Detection-Black/dp/B0D5M9SH1X" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:603px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="yhHvaNNYLo8WiaXqTXoPHK" name="image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yhHvaNNYLo8WiaXqTXoPHK-1920-80.png" mos="" align="middle" fullscreen="" width="603" height="603" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/EarFun-Cancelling-Earphones-Bluetooth-Detection-Black/dp/B0D5M9SH1X" target="_blank" rel="nofollow" data-dimension112="5a0de060-bb35-11f1-a637-2f1962783fb6" data-action="Deal Block" data-label="Air Pro 4 | 52-hour battery life" data-dimension48="Air Pro 4 | 52-hour battery life" data-dimension25="£55.99">Air Pro 4 | 52-hour battery life: was £79.99 now £55.99</a></strong><br>If you're looking for a cheap pair of earbuds with some premium specs, the EarFun Air Pro 4 are much better than the name might suggest. They sound great and have excellent battery life, though the lack of a 2.4 GHz mode is a slight disappointment. Bluetooth with Game Mode is good enough, though. </p><p><strong>Key specs: 10 mm drivers | 52-hour battery life | 20 Hz - 22 kHz</strong><a class="view-deal button" href="https://www.amazon.co.uk/EarFun-Cancelling-Earphones-Bluetooth-Detection-Black/dp/B0D5M9SH1X" target="_blank" rel="nofollow" data-dimension112="5a0de060-bb35-11f1-a637-2f1962783fb6" data-action="Deal Block" data-label="Air Pro 4 | 52-hour battery life" data-dimension48="Air Pro 4 | 52-hour battery life" data-dimension25="£55.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0de0c4-bb35-11f1-b03a-dd7f3f0fd6a8" data-action="Deal Block" data-label="Stealth 600 | 50mm drivers | 80-hour battery life" data-dimension48="Stealth 600 | 50mm drivers | 80-hour battery life" data-dimension25="£69.99" href="https://www.amazon.co.uk/Turtle-Beach-Wireless-Speakers-Bluetooth/dp/B0CZX7MB48/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="jGGLzNcgVWDY6FbjmZiNQC" name="TurtleBeachStealth600" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jGGLzNcgVWDY6FbjmZiNQC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Turtle-Beach-Wireless-Speakers-Bluetooth/dp/B0CZX7MB48/" target="_blank" rel="nofollow" data-dimension112="5a0de0c4-bb35-11f1-b03a-dd7f3f0fd6a8" data-action="Deal Block" data-label="Stealth 600 | 50mm drivers | 80-hour battery life" data-dimension48="Stealth 600 | 50mm drivers | 80-hour battery life" data-dimension25="£69.99">Stealth 600 | 50mm drivers | 80-hour battery life: was £99.99 now £69.99</a></strong><br>The <a href="https://www.pcgamer.com/hardware/gaming-headsets/turtle-beach-stealth-600-gen-3-review/" target="_blank">Turtle Beach Stealth 600 Gen 3</a> is a remarkably good gaming headset, which came as something of a surprise to us given that we haven't been huge fans of some of the other Turtle Beach offerings. It's an understated, somewhat-stylish affair with a clear mic, excellent soundstage, and superb battery life. The headband could do with a touch more padding, but otherwise this is well worth some serious consideration.</p><p><strong>Key specs: 50mm drivers | 20-20,000 Hz | Closed-back | Wireless | 80-hour battery life</strong><a class="view-deal button" href="https://www.amazon.co.uk/Turtle-Beach-Wireless-Speakers-Bluetooth/dp/B0CZX7MB48/" target="_blank" rel="nofollow" data-dimension112="5a0de0c4-bb35-11f1-b03a-dd7f3f0fd6a8" data-action="Deal Block" data-label="Stealth 600 | 50mm drivers | 80-hour battery life" data-dimension48="Stealth 600 | 50mm drivers | 80-hour battery life" data-dimension25="£69.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0de196-bb35-11f1-9a63-0f8c2d425558" data-action="Deal Block" data-label="Arctis Nova 3X | 40 mm drivers | 40-hour battery life" data-dimension48="Arctis Nova 3X | 40 mm drivers | 40-hour battery life" data-dimension25="£69.99" href="https://www.amazon.co.uk/SteelSeries-Arctis-Wireless-Gaming-Headset/dp/B0F6CW9ZCX/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ujyvdFtwkUgSvJgguHt68H" name="SteelSeriesArctisNova3X" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ujyvdFtwkUgSvJgguHt68H-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/SteelSeries-Arctis-Wireless-Gaming-Headset/dp/B0F6CW9ZCX/" target="_blank" rel="nofollow" data-dimension112="5a0de196-bb35-11f1-9a63-0f8c2d425558" data-action="Deal Block" data-label="Arctis Nova 3X | 40 mm drivers | 40-hour battery life" data-dimension48="Arctis Nova 3X | 40 mm drivers | 40-hour battery life" data-dimension25="£69.99">Arctis Nova 3X | 40 mm drivers | 40-hour battery life: was £99.99 now £69.99</a></strong><br>SteelSeries knows how to make a lightweight and comfy gaming headset, and this one is no exception. It's got the same chassis design as some of the more expensive models, all without skimping on the important bits, like accurate drivers and a good microphone. It's removable, too, which means you can take advantage of the Bluetooth connection and wear it outside, all without looking like a prize plum thanks to its subtle design.</p><p><strong>Key specs: 40 mm drivers | 20-20,000 Hz | Closed-back | Wireless | 40-hour battery life</strong><a class="view-deal button" href="https://www.amazon.co.uk/SteelSeries-Arctis-Wireless-Gaming-Headset/dp/B0F6CW9ZCX/" target="_blank" rel="nofollow" data-dimension112="5a0de196-bb35-11f1-9a63-0f8c2d425558" data-action="Deal Block" data-label="Arctis Nova 3X | 40 mm drivers | 40-hour battery life" data-dimension48="Arctis Nova 3X | 40 mm drivers | 40-hour battery life" data-dimension25="£69.99">View Deal</a></p></div><div class="product"><a data-dimension112="5a0de1fa-bb35-11f1-9b76-73dea59e55a8" data-action="Deal Block" data-label="BlackShark V3 | 50 mm drivers | 80-hour battery life" data-dimension48="BlackShark V3 | 50 mm drivers | 80-hour battery life" data-dimension25="£115.30" href="https://www.amazon.co.uk/Razer-BlackShark-sports-Detachable-Microphone-Black/dp/B0F93VMJ93?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="UrEhKmoBUu3RuU92zjnBgV" name="Razer BlackShark V3" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/UrEhKmoBUu3RuU92zjnBgV-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/Razer-BlackShark-sports-Detachable-Microphone-Black/dp/B0F93VMJ93?th=1" target="_blank" rel="nofollow" data-dimension112="5a0de1fa-bb35-11f1-9b76-73dea59e55a8" data-action="Deal Block" data-label="BlackShark V3 | 50 mm drivers | 80-hour battery life" data-dimension48="BlackShark V3 | 50 mm drivers | 80-hour battery life" data-dimension25="£115.30">BlackShark V3 | 50 mm drivers | 80-hour battery life: was £149.99 now £115.30</a></strong><br>It's only a small discount, but this set of cans sits at the top of our <a href="https://www.pcgamer.com/best-gaming-headset/" target="_blank">best gaming headset</a> guide for a reason. It's superbly comfortable, the harmonic plug-enhanced drivers sound great for music and gaming alike, and it's pretty much everything we want a gaming headset to be. It might go cheaper over the course of the event, but even at full price it's well worth paying for.</p><p><strong>Key specs: 50 mm drivers | 20-20,000 Hz | Closed-back | Wireless | 80-hour battery life</strong><a class="view-deal button" href="https://www.amazon.co.uk/Razer-BlackShark-sports-Detachable-Microphone-Black/dp/B0F93VMJ93?th=1" target="_blank" rel="nofollow" data-dimension112="5a0de1fa-bb35-11f1-9b76-73dea59e55a8" data-action="Deal Block" data-label="BlackShark V3 | 50 mm drivers | 80-hour battery life" data-dimension48="BlackShark V3 | 50 mm drivers | 80-hour battery life" data-dimension25="£115.30">View Deal</a></p></div><ul><li><a href="#main"><strong>Back to top ^</strong></a></li></ul><h3 class="article-body__section" id="section-faq"><span>FAQ</span></h3><section class="article__schema-question"><h3>When is Amazon Prime Day 2026?</h3><article class="article__schema-answer"><p>The current Prime Day sale event began on <strong>October 7</strong>, and will run though until the end of <strong>October 8</strong>. The deals were rolling in before then, though, and likely will be for a little while afterwards as well.</p></article></section><section class="article__schema-question"><h3>What should I look for in an Amazon Prime Day gaming headset deal?</h3><article class="article__schema-answer"><p>Before you throw open your pocketbook, knowing what features are most important to you in a gaming headset will guide you towards the right purchase. Consider how long you will wear it per day and for what purpose.</p><p>If that's going to be all-day long, then look out for cushy features like memory foam earcups and plenty of headband padding. Lighter is better is often a good rule to follow when it comes to comfort, although it must be said that some of our favorite gaming headsets can be quite heavy.</p><p>That's the trade-off you sometimes need to make for good drivers, although that's not always the case. Speaking of which, larger drivers are often better at handling bass, but many headsets have some sort of software boost for those that like plenty of low-end thump, even if the drivers are on the smaller side. I wouldn't buy a 50 mm driver-toting headset over a 40 mm model simply because one number is bigger than the other, so make sure to pay attention to the <a href="https://www.pcgamer.com/best-gaming-headset/" target="_blank">recommendations and reviews</a> to find out what the sound is really like.</p><p>A noise-cancelling mic is also a good idea for multiplayer gamers, so your teammates don't have to listen to your <a href="https://www.pcgamer.com/best-mechanical-keyboard/" target="_blank">mechanical keyboard</a> going click-clack. Noise cancelling is a good thing to consider for the cans themselves as well, particularly if you game in a shared space.</p><p>If you're going wireless, consider dropping RGB lighting down your priority list, as it'll sap battery life like nobody's business. Otherwise, if you're looking to stand out among streamers, an RGB headset will surely hypnotize those fans into subscribing.</p><p>Oh, and should you be concerned about wireless latency? Nope, not as long as you're buying something with a 2.4 GHz wireless connection. Bluetooth is a nice optional extra to have, enabling you to take your headset out into the big wide world, but it's a bit laggy for gaming—so treat it as an extra rather than the main event.</p></article></section>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Retailers seem to be gearing up for Prime Day with these gaming PC deals for around $1,500, though I'm not sure which I'd pick ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Oh boy, is that the time already? Yep, it is: we're approaching another Amazon Prime Day. It'll be running from June 23 through June 26, but we always see some good deals sneaking in ahead of the official dates. And it looks like retailers might have started the deal cogs churning especially early this year because two PCs I've found around the $1,500 mark have *sniffs* something of that special Prime Day air about them.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Admittedly, they're not <em>quite </em>as impressive as some of the deals on gaming PC we saw last year, but it's unfortunately difficult to expect anything quite so grand this year, given the <a href="https://www.pcgamer.com/hardware/memory/ram-and-storage-is-ridiculously-expensive-right-now-because-of-drumroll-ai-of-course-and-theres-little-reason-to-think-prices-will-drop-any-time-soon/" target="_blank">global memory shortage</a> and <a href="https://www.pcgamer.com/hardware/heres-how-the-iran-war-is-hitting-key-supplies-for-components-according-to-supply-chain-experts/" target="_blank">other supply issues</a>. Whether you're looking at the Nvidia or AMD rig here, they're pretty stellar value in the current market—though both are limited to just 16 GB of RAM.</p><p>The AMD rig is technically more powerful and is only $50 more. But you're getting a much more well-rounded and well-utilized feature set with Nvidia, and a better CPU, so it's a tough call.</p><h2 class="article-body__section" id="section-quick-links"><span>Quick links</span></h2><ul><li><strong>RTX 5070</strong> <strong>|</strong> <strong>iBuyPower Element Pro</strong> <strong>|</strong> <a href="https://www.walmart.com/ip/iBUYPOWER-Element-Pro-Gaming-PC-Desktop-Computer-AMD-Ryzen-7-7800X3D-CPU-NVIDIA-GeForce-RTX-5070-12GB-GPU-16GB-DDR5-5200MHz-RAM-1TB-NVMe-SSD-Windows/19996117406?classType=VARIANT&from=/search" target="_blank"><strong>$1,449 @ Walmart</strong></a></li><li><strong>RX 9070 XT</strong> <strong>|</strong> <strong>Andromeda Insights AMD Spectra</strong> <strong>|</strong> <a href="https://www.newegg.com/andromeda-insights-gaming-desktop-pcs-amd-radeon-rx-9070-xt-16gb-amd-ryzen-5-9600x-16gb-ddr5-ssd-ssd-1-tb-hdd-ubg-rx9070xt-9600x-1tb-16gb-850w-air-blk/p/3D5-006J-000D4?Item=3D5-006J-000D4" target="_blank"><strong>$1,500 @ Newegg</strong></a></li></ul><h2 class="article-body__section" id="section-gaming-pc-deals"><span>Gaming PC deals</span></h2><div class="product"><a data-dimension112="5a81d450-db73-440c-9e23-855146a45110" data-action="Deal Block" data-label="Element Pro | RTX 5070" data-dimension48="Element Pro | RTX 5070" data-dimension25="$1449" href="https://www.walmart.com/ip/iBUYPOWER-Element-Pro-Gaming-PC-Desktop-Computer-AMD-Ryzen-7-7800X3D-CPU-NVIDIA-GeForce-RTX-5070-12GB-GPU-16GB-DDR5-5200MHz-RAM-1TB-NVMe-SSD-Windows/19996117406" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:587px;"><p class="vanilla-image-block" style="padding-top:100.17%;"><img id="VjaMKGwBbtsANRbxGu5FjM" name="Element Pro | RTX 5070" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VjaMKGwBbtsANRbxGu5FjM-1920-80.png" mos="" align="middle" fullscreen="" width="587" height="588" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/iBUYPOWER-Element-Pro-Gaming-PC-Desktop-Computer-AMD-Ryzen-7-7800X3D-CPU-NVIDIA-GeForce-RTX-5070-12GB-GPU-16GB-DDR5-5200MHz-RAM-1TB-NVMe-SSD-Windows/19996117406" target="_blank" rel="nofollow" data-dimension112="5a81d450-db73-440c-9e23-855146a45110" data-action="Deal Block" data-label="Element Pro | RTX 5070" data-dimension48="Element Pro | RTX 5070" data-dimension25="$1449">Element Pro | RTX 5070: was $1999 now $1449</a></strong><br>It might have the 'just 16 GB of RAM' caveat that's now standard for mid-range rigs in 2026 given the <a href="https://www.pcgamer.com/hardware/memory/ram-and-storage-is-ridiculously-expensive-right-now-because-of-drumroll-ai-of-course-and-theres-little-reason-to-think-prices-will-drop-any-time-soon/" target="_blank">RAMpocalypse</a>, but we are talking an RTX 5070 rig for under $1,500. And that's with an X3D chip, too, which is still fantastic for gaming even if it is a previous-gen one.</p><p><strong>Key specs: Ryzen 7 7800X3D | RTX 5070 | 16 GB DDR5-5200 | 1 TB SSD</strong><a class="view-deal button" href="https://www.walmart.com/ip/iBUYPOWER-Element-Pro-Gaming-PC-Desktop-Computer-AMD-Ryzen-7-7800X3D-CPU-NVIDIA-GeForce-RTX-5070-12GB-GPU-16GB-DDR5-5200MHz-RAM-1TB-NVMe-SSD-Windows/19996117406" target="_blank" rel="nofollow" data-dimension112="5a81d450-db73-440c-9e23-855146a45110" data-action="Deal Block" data-label="Element Pro | RTX 5070" data-dimension48="Element Pro | RTX 5070" data-dimension25="$1449">View Deal</a></p></div><p>There are two very reasonable, err, reasons for opting for <a href="https://www.walmart.com/ip/iBUYPOWER-Element-Pro-Gaming-PC-Desktop-Computer-AMD-Ryzen-7-7800X3D-CPU-NVIDIA-GeForce-RTX-5070-12GB-GPU-16GB-DDR5-5200MHz-RAM-1TB-NVMe-SSD-Windows/19996117406" target="_blank">this $1449 RTX 5070 prebuilt</a> rather than the technically more powerful RX 9070 XT one below. First and foremost, you're getting much wider upscaling and frame gen support. FSR has <em>technically</em>—there's that word, again—kept up with DLSS in a lot of ways, but the latest iterations of the tech simply haven't been adopted in anywhere near as many games.</p><p>Secondly, this build has a better CPU. Yes, it's older, but if you look to the end of that SKU name you'll notice an 'X3D', which means this chip has 3D V-Cache. That means a bunch of cache, which games love to chew through. This will be doubly important if you're planning on playing CPU-intensive games, or just not playing very graphically intensive ones.</p><div class="product"><a data-dimension112="ce9476aa-38ff-452a-9863-fec65082d8a6" data-action="Deal Block" data-label="AMD Spectra | RX 9070 XT" data-dimension48="AMD Spectra | RX 9070 XT" data-dimension25="$1499.99" href="https://www.newegg.com/andromeda-insights-gaming-desktop-pcs-amd-radeon-rx-9070-xt-16gb-amd-ryzen-5-9600x-16gb-ddr5-ssd-ssd-1-tb-hdd-ubg-rx9070xt-9600x-1tb-16gb-850w-air-blk/p/3D5-006J-000D4?Item=3D5-006J-000D4" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:711px;"><p class="vanilla-image-block" style="padding-top:94.51%;"><img id="7acNZjEXUraUfk4x63BmNc" name="AMD Spectra | RX 9070 XT" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/7acNZjEXUraUfk4x63BmNc-1920-80.png" mos="" align="middle" fullscreen="" width="711" height="672" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/andromeda-insights-gaming-desktop-pcs-amd-radeon-rx-9070-xt-16gb-amd-ryzen-5-9600x-16gb-ddr5-ssd-ssd-1-tb-hdd-ubg-rx9070xt-9600x-1tb-16gb-850w-air-blk/p/3D5-006J-000D4?Item=3D5-006J-000D4" target="_blank" rel="nofollow" data-dimension112="ce9476aa-38ff-452a-9863-fec65082d8a6" data-action="Deal Block" data-label="AMD Spectra | RX 9070 XT" data-dimension48="AMD Spectra | RX 9070 XT" data-dimension25="$1499.99">AMD Spectra | RX 9070 XT: was $1799.99 now $1499.99</a></strong><br>For the price, this is as high-end of a rig as I've seen in quite a while. Sure, it's a little bit of a glass cannon as it's only rocking 16 GB of RAM and a mid-range CPU, but that 9070 XT is definitely high-end, making this build great for gaming. You'll have to keep your library relatively light, and your background apps closed, but you'll then be able to churn through frames.</p><p><strong>Key specs: Ryzen 5 9600X | RX 9070 XT | 16 GB DDR5-6000 | 1 TB SSD</strong><a class="view-deal button" href="https://www.newegg.com/andromeda-insights-gaming-desktop-pcs-amd-radeon-rx-9070-xt-16gb-amd-ryzen-5-9600x-16gb-ddr5-ssd-ssd-1-tb-hdd-ubg-rx9070xt-9600x-1tb-16gb-850w-air-blk/p/3D5-006J-000D4?Item=3D5-006J-000D4" target="_blank" rel="nofollow" data-dimension112="ce9476aa-38ff-452a-9863-fec65082d8a6" data-action="Deal Block" data-label="AMD Spectra | RX 9070 XT" data-dimension48="AMD Spectra | RX 9070 XT" data-dimension25="$1499.99">View Deal</a></p></div><p>Compared to the previous RTX 5070 one, this build has the beefier GPU—by a not-insignificant margin in some games, according to <a href="https://www.pcgamer.com/hardware/graphics-cards/amd-radeon-rx-9700-xt-review-asus-prime-oc/#section-amd-radeon-rx-9070-xt-performance-and-benchmarks" target="_blank">our testing</a>—and you're only paying $50 more for the privilege. If you're happy foregoing widespread multi frame gen support and don't play lots of CPU-intensive titles then I'd say it's a good shout.</p><p>It's also worth noting that it will make more sense to upgrade to a next-gen X3D chip from this CPU than from a 7800X3D, meaning there'll be a more reasonable CPU upgrade path here. AMD has recently confirmed <a href="https://www.pcgamer.com/hardware/processors/amd-confirms-that-am5-will-continue-to-be-supported-by-new-processors-through-to-2029-and-drop-the-deets-on-a-forthcoming-expo-update/" target="_blank">the AM5 socket will be sticking around until 2029</a>, too, so no worries on that front.</p><h2 id="check-out-all-of-walmart-s-gaming-pc-deals-2">👉<a href="https://www.walmart.com/search?q=gaming+pc" target="_blank">Check out all of Walmart's gaming PC deals</a>👈</h2><h2 id="here-are-all-of-newegg-s-gaming-pc-deals">👉<a href="https://www.newegg.com/p/pl?d=gaming+pc&N=4131" target="_blank">Here are all of Newegg's gaming PC deals</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-pcs/retailers-seem-to-be-gearing-up-for-prime-day-with-these-gaming-pc-deals-for-around-usd1-500-though-im-not-sure-which-id-pick/</link>
                                                                            <description>
                            <![CDATA[ Nvidia or AMD, the perennial question. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">gcwmRzTYcuEJPXBihBi2DC</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/GbmN2qrTEzdWpQysJFeu7g-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 08 Jun 2026 15:28:52 +0000</pubDate>                                                                                                                                <updated>Fri, 12 Jun 2026 10:02:21 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming PCs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Fox ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob&#039;s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world&#039;s #1 PC Gaming site full-time. It&#039;s definitely not an ego thing, he assures us.&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/GbmN2qrTEzdWpQysJFeu7g-1920-80.jpg">
                                                            <media:credit><![CDATA[iBuyPower, Andromeda Insights]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Two gaming PCs on a custom PC Gamer &#039;Deals&#039; background.]]></media:description>                                                            <media:text><![CDATA[Two gaming PCs on a custom PC Gamer &#039;Deals&#039; background.]]></media:text>
                                <media:title type="plain"><![CDATA[Two gaming PCs on a custom PC Gamer &#039;Deals&#039; background.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/GbmN2qrTEzdWpQysJFeu7g-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Oh boy, is that the time already? Yep, it is: we're approaching another Amazon Prime Day. It'll be running from June 23 through June 26, but we always see some good deals sneaking in ahead of the official dates. And it looks like retailers might have started the deal cogs churning especially early this year because two PCs I've found around the $1,500 mark have *sniffs* something of that special Prime Day air about them.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Admittedly, they're not <em>quite </em>as impressive as some of the deals on gaming PC we saw last year, but it's unfortunately difficult to expect anything quite so grand this year, given the <a href="https://www.pcgamer.com/hardware/memory/ram-and-storage-is-ridiculously-expensive-right-now-because-of-drumroll-ai-of-course-and-theres-little-reason-to-think-prices-will-drop-any-time-soon/" target="_blank">global memory shortage</a> and <a href="https://www.pcgamer.com/hardware/heres-how-the-iran-war-is-hitting-key-supplies-for-components-according-to-supply-chain-experts/" target="_blank">other supply issues</a>. Whether you're looking at the Nvidia or AMD rig here, they're pretty stellar value in the current market—though both are limited to just 16 GB of RAM.</p><p>The AMD rig is technically more powerful and is only $50 more. But you're getting a much more well-rounded and well-utilized feature set with Nvidia, and a better CPU, so it's a tough call.</p><h2 class="article-body__section" id="section-quick-links"><span>Quick links</span></h2><ul><li><strong>RTX 5070</strong> <strong>|</strong> <strong>iBuyPower Element Pro</strong> <strong>|</strong> <a href="https://www.walmart.com/ip/iBUYPOWER-Element-Pro-Gaming-PC-Desktop-Computer-AMD-Ryzen-7-7800X3D-CPU-NVIDIA-GeForce-RTX-5070-12GB-GPU-16GB-DDR5-5200MHz-RAM-1TB-NVMe-SSD-Windows/19996117406?classType=VARIANT&from=/search" target="_blank"><strong>$1,449 @ Walmart</strong></a></li><li><strong>RX 9070 XT</strong> <strong>|</strong> <strong>Andromeda Insights AMD Spectra</strong> <strong>|</strong> <a href="https://www.newegg.com/andromeda-insights-gaming-desktop-pcs-amd-radeon-rx-9070-xt-16gb-amd-ryzen-5-9600x-16gb-ddr5-ssd-ssd-1-tb-hdd-ubg-rx9070xt-9600x-1tb-16gb-850w-air-blk/p/3D5-006J-000D4?Item=3D5-006J-000D4" target="_blank"><strong>$1,500 @ Newegg</strong></a></li></ul><h2 class="article-body__section" id="section-gaming-pc-deals"><span>Gaming PC deals</span></h2><div class="product"><a data-dimension112="5a81d450-db73-440c-9e23-855146a45110" data-action="Deal Block" data-label="Element Pro | RTX 5070" data-dimension48="Element Pro | RTX 5070" data-dimension25="$1449" href="https://www.walmart.com/ip/iBUYPOWER-Element-Pro-Gaming-PC-Desktop-Computer-AMD-Ryzen-7-7800X3D-CPU-NVIDIA-GeForce-RTX-5070-12GB-GPU-16GB-DDR5-5200MHz-RAM-1TB-NVMe-SSD-Windows/19996117406" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:587px;"><p class="vanilla-image-block" style="padding-top:100.17%;"><img id="VjaMKGwBbtsANRbxGu5FjM" name="Element Pro | RTX 5070" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VjaMKGwBbtsANRbxGu5FjM-1920-80.png" mos="" align="middle" fullscreen="" width="587" height="588" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/iBUYPOWER-Element-Pro-Gaming-PC-Desktop-Computer-AMD-Ryzen-7-7800X3D-CPU-NVIDIA-GeForce-RTX-5070-12GB-GPU-16GB-DDR5-5200MHz-RAM-1TB-NVMe-SSD-Windows/19996117406" target="_blank" rel="nofollow" data-dimension112="5a81d450-db73-440c-9e23-855146a45110" data-action="Deal Block" data-label="Element Pro | RTX 5070" data-dimension48="Element Pro | RTX 5070" data-dimension25="$1449">Element Pro | RTX 5070: was $1999 now $1449</a></strong><br>It might have the 'just 16 GB of RAM' caveat that's now standard for mid-range rigs in 2026 given the <a href="https://www.pcgamer.com/hardware/memory/ram-and-storage-is-ridiculously-expensive-right-now-because-of-drumroll-ai-of-course-and-theres-little-reason-to-think-prices-will-drop-any-time-soon/" target="_blank">RAMpocalypse</a>, but we are talking an RTX 5070 rig for under $1,500. And that's with an X3D chip, too, which is still fantastic for gaming even if it is a previous-gen one.</p><p><strong>Key specs: Ryzen 7 7800X3D | RTX 5070 | 16 GB DDR5-5200 | 1 TB SSD</strong><a class="view-deal button" href="https://www.walmart.com/ip/iBUYPOWER-Element-Pro-Gaming-PC-Desktop-Computer-AMD-Ryzen-7-7800X3D-CPU-NVIDIA-GeForce-RTX-5070-12GB-GPU-16GB-DDR5-5200MHz-RAM-1TB-NVMe-SSD-Windows/19996117406" target="_blank" rel="nofollow" data-dimension112="5a81d450-db73-440c-9e23-855146a45110" data-action="Deal Block" data-label="Element Pro | RTX 5070" data-dimension48="Element Pro | RTX 5070" data-dimension25="$1449">View Deal</a></p></div><p>There are two very reasonable, err, reasons for opting for <a href="https://www.walmart.com/ip/iBUYPOWER-Element-Pro-Gaming-PC-Desktop-Computer-AMD-Ryzen-7-7800X3D-CPU-NVIDIA-GeForce-RTX-5070-12GB-GPU-16GB-DDR5-5200MHz-RAM-1TB-NVMe-SSD-Windows/19996117406" target="_blank">this $1449 RTX 5070 prebuilt</a> rather than the technically more powerful RX 9070 XT one below. First and foremost, you're getting much wider upscaling and frame gen support. FSR has <em>technically</em>—there's that word, again—kept up with DLSS in a lot of ways, but the latest iterations of the tech simply haven't been adopted in anywhere near as many games.</p><p>Secondly, this build has a better CPU. Yes, it's older, but if you look to the end of that SKU name you'll notice an 'X3D', which means this chip has 3D V-Cache. That means a bunch of cache, which games love to chew through. This will be doubly important if you're planning on playing CPU-intensive games, or just not playing very graphically intensive ones.</p><div class="product"><a data-dimension112="ce9476aa-38ff-452a-9863-fec65082d8a6" data-action="Deal Block" data-label="AMD Spectra | RX 9070 XT" data-dimension48="AMD Spectra | RX 9070 XT" data-dimension25="$1499.99" href="https://www.newegg.com/andromeda-insights-gaming-desktop-pcs-amd-radeon-rx-9070-xt-16gb-amd-ryzen-5-9600x-16gb-ddr5-ssd-ssd-1-tb-hdd-ubg-rx9070xt-9600x-1tb-16gb-850w-air-blk/p/3D5-006J-000D4?Item=3D5-006J-000D4" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:711px;"><p class="vanilla-image-block" style="padding-top:94.51%;"><img id="7acNZjEXUraUfk4x63BmNc" name="AMD Spectra | RX 9070 XT" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/7acNZjEXUraUfk4x63BmNc-1920-80.png" mos="" align="middle" fullscreen="" width="711" height="672" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/andromeda-insights-gaming-desktop-pcs-amd-radeon-rx-9070-xt-16gb-amd-ryzen-5-9600x-16gb-ddr5-ssd-ssd-1-tb-hdd-ubg-rx9070xt-9600x-1tb-16gb-850w-air-blk/p/3D5-006J-000D4?Item=3D5-006J-000D4" target="_blank" rel="nofollow" data-dimension112="ce9476aa-38ff-452a-9863-fec65082d8a6" data-action="Deal Block" data-label="AMD Spectra | RX 9070 XT" data-dimension48="AMD Spectra | RX 9070 XT" data-dimension25="$1499.99">AMD Spectra | RX 9070 XT: was $1799.99 now $1499.99</a></strong><br>For the price, this is as high-end of a rig as I've seen in quite a while. Sure, it's a little bit of a glass cannon as it's only rocking 16 GB of RAM and a mid-range CPU, but that 9070 XT is definitely high-end, making this build great for gaming. You'll have to keep your library relatively light, and your background apps closed, but you'll then be able to churn through frames.</p><p><strong>Key specs: Ryzen 5 9600X | RX 9070 XT | 16 GB DDR5-6000 | 1 TB SSD</strong><a class="view-deal button" href="https://www.newegg.com/andromeda-insights-gaming-desktop-pcs-amd-radeon-rx-9070-xt-16gb-amd-ryzen-5-9600x-16gb-ddr5-ssd-ssd-1-tb-hdd-ubg-rx9070xt-9600x-1tb-16gb-850w-air-blk/p/3D5-006J-000D4?Item=3D5-006J-000D4" target="_blank" rel="nofollow" data-dimension112="ce9476aa-38ff-452a-9863-fec65082d8a6" data-action="Deal Block" data-label="AMD Spectra | RX 9070 XT" data-dimension48="AMD Spectra | RX 9070 XT" data-dimension25="$1499.99">View Deal</a></p></div><p>Compared to the previous RTX 5070 one, this build has the beefier GPU—by a not-insignificant margin in some games, according to <a href="https://www.pcgamer.com/hardware/graphics-cards/amd-radeon-rx-9700-xt-review-asus-prime-oc/#section-amd-radeon-rx-9070-xt-performance-and-benchmarks" target="_blank">our testing</a>—and you're only paying $50 more for the privilege. If you're happy foregoing widespread multi frame gen support and don't play lots of CPU-intensive titles then I'd say it's a good shout.</p><p>It's also worth noting that it will make more sense to upgrade to a next-gen X3D chip from this CPU than from a 7800X3D, meaning there'll be a more reasonable CPU upgrade path here. AMD has recently confirmed <a href="https://www.pcgamer.com/hardware/processors/amd-confirms-that-am5-will-continue-to-be-supported-by-new-processors-through-to-2029-and-drop-the-deets-on-a-forthcoming-expo-update/" target="_blank">the AM5 socket will be sticking around until 2029</a>, too, so no worries on that front.</p><h2 id="check-out-all-of-walmart-s-gaming-pc-deals-2">👉<a href="https://www.walmart.com/search?q=gaming+pc" target="_blank">Check out all of Walmart's gaming PC deals</a>👈</h2><h2 id="here-are-all-of-newegg-s-gaming-pc-deals">👉<a href="https://www.newegg.com/p/pl?d=gaming+pc&N=4131" target="_blank">Here are all of Newegg's gaming PC deals</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ At just 36 g, the Corsair Sabre V2 Pro is our favourite lightweight gaming mouse, and it's now at its best price ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="4f699744-81d5-4346-8a96-c7f97089d757" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$79.99" href="https://www.amazon.com/Corsair-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="e7TA4FRFqGxXcTQ3K8AJTb" name="PCGamer Deal Block (60)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/e7TA4FRFqGxXcTQ3K8AJTb-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>There's a handful of reasons to go for Corsair's Sabre V2 Pro (sensors, polling, look, shape etc), but arguably its best is how it balances feel with weight. Despite being a miniscule 36 g, it's sturdy and great for competitive play. And a great deal with a $20 discount. </p><p><strong>Key specs: 33,000 DPI | 8,000 Hz polling | 70 hours of battery life | Wireless | 36 g </strong><a class="view-deal button" href="https://www.amazon.com/Corsair-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8" target="_blank" rel="nofollow" data-dimension112="4f699744-81d5-4346-8a96-c7f97089d757" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$79.99">View Deal</a></p></div><p>As competitive-level gaming mice get lighter and lighter, there's a worry that they'll get more costly and less sturdy as a result. <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/" target="_blank">Corsair's Sabre V2 Pro</a> calms that worry by being both well-built and reasonably priced, even at MSRP. </p><p>But, you don't need to pay its MSRP to get what is, in our approximation, the <a href="https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-lightweight-gaming-mouse" target="_blank">best lightweight gaming mouse</a> on the market. <a href="https://www.amazon.com/Corsair-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8" target="_blank">Right now, you can pay $80 at Amazon to get one for yourself</a>. The only downside is that it's only the black model that gets the discount. </p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Our Jacob gave this little rodent 92% in his review last year, claiming it is "a mouse that can truly lay claim to the 'ultralight' title."</p><p>At a mere 36 grams, it's easy to see why. Despite that tiny size, it doesn't have chunks taken out of it, like some of its competitors, and doesn't feel cheap either. You also wouldn't purely buy it for the weight, as it's backed up with some killer specs. </p><p>The Marksman S optical sensor is fantastic, and it comes up to 33,000 DPI, a max acceleration of 50 G, max speed of 750 IPS and even up to 8,000 Hz polling. I probably wouldn't stick it any higher than 1,000 Hz in normal play (as it cuts the battery life down from 70 hours to a mere 16), but it's still a nice option to have should you be skilled enough to get the use out of it. </p><p>You are only getting one onboard profile, though, so on-the-fly customisation is a bit tough, and the UPE skates are a little worse than traditional PTFE. You are getting better durability in return, but it's still a tradeoff worth noting. </p><p>However, with those caveats out of the way, this truly is an excellent competitive mouse, and it was a genuine boon to Jacob in his FPS games. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/zQt4xr8PZSMcsUhBiR9NqM-1920-80.jpg" alt="The ultralight Corsair Sabre V2 Pro gaming mouse" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aRDsr462K3icKKVPkVZAqM-1920-80.jpg" alt="The ultralight Corsair Sabre V2 Pro gaming mouse" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QsTjvivYNdLCkryhwvvtoM-1920-80.jpg" alt="The ultralight Corsair Sabre V2 Pro gaming mouse" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7GQCeZ37pDaS6PKe8JPbqM-1920-80.jpg" alt="The ultralight Corsair Sabre V2 Pro gaming mouse" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>One thing the mouse is missing is any of the more flashy elements some gaming mice go for. You get no RGB here, and only a handful of buttons. To me, that's a neutral-to-positive choice for Corsair, but some do really like their mouse to shine at night. </p><p>Still, if you find most gaming mice are a little on the heavy side and want something snappy and light to help you hit headshots, the Sabre V2 Pro is an excellent lightweight wireless gaming mouse. At $20 off, we have seen it go this low before, but never any lower, so it's a great pick at its price point. And importantly, it's sturdy, looks nice, and performs excellently. </p><h2 id="check-out-all-of-amazon-s-gaming-mouse-deals">👉 <a href="https://www.amazon.com/s?k=gaming+mouse&crid=3ESLXIUWOQPCD&sprefix=gaming+mou%2Caps%2C176&ref=nb_sb_noss_2" target="_blank">Check out all of Amazon's gaming mouse deals</a> 👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-mice/at-just-36-g-the-corsair-sabre-v2-pro-is-our-favourite-lightweight-gaming-mouse-and-its-now-at-its-best-price/</link>
                                                                            <description>
                            <![CDATA[ That's almost half the weight of a typical gaming mouse. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">GLR4LqEA9TFQb35GZdLjkP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/o6ojoZ29tEFCYvAhSRg7LR-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 03 Jun 2026 12:00:29 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Mice]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&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/o6ojoZ29tEFCYvAhSRg7LR-1920-80.jpg">
                                                            <media:credit><![CDATA[Corsair]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Corsair Sabre V2 Pro on a pink deals background]]></media:description>                                                            <media:text><![CDATA[Corsair Sabre V2 Pro on a pink deals background]]></media:text>
                                <media:title type="plain"><![CDATA[Corsair Sabre V2 Pro on a pink deals background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/o6ojoZ29tEFCYvAhSRg7LR-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="4f699744-81d5-4346-8a96-c7f97089d757" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$79.99" href="https://www.amazon.com/Corsair-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="e7TA4FRFqGxXcTQ3K8AJTb" name="PCGamer Deal Block (60)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/e7TA4FRFqGxXcTQ3K8AJTb-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>There's a handful of reasons to go for Corsair's Sabre V2 Pro (sensors, polling, look, shape etc), but arguably its best is how it balances feel with weight. Despite being a miniscule 36 g, it's sturdy and great for competitive play. And a great deal with a $20 discount. </p><p><strong>Key specs: 33,000 DPI | 8,000 Hz polling | 70 hours of battery life | Wireless | 36 g </strong><a class="view-deal button" href="https://www.amazon.com/Corsair-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8" target="_blank" rel="nofollow" data-dimension112="4f699744-81d5-4346-8a96-c7f97089d757" data-action="Deal Block" data-label="Sabre V2 Pro" data-dimension48="Sabre V2 Pro" data-dimension25="$79.99">View Deal</a></p></div><p>As competitive-level gaming mice get lighter and lighter, there's a worry that they'll get more costly and less sturdy as a result. <a href="https://www.pcgamer.com/hardware/gaming-mice/corsair-sabre-v2-pro-ultralight-wireless-gaming-mouse-review/" target="_blank">Corsair's Sabre V2 Pro</a> calms that worry by being both well-built and reasonably priced, even at MSRP. </p><p>But, you don't need to pay its MSRP to get what is, in our approximation, the <a href="https://www.pcgamer.com/the-best-gaming-mouse/#section-the-best-lightweight-gaming-mouse" target="_blank">best lightweight gaming mouse</a> on the market. <a href="https://www.amazon.com/Corsair-Sabre-Ultralight-Wireless-Gaming/dp/B0FKJ2J2R8" target="_blank">Right now, you can pay $80 at Amazon to get one for yourself</a>. The only downside is that it's only the black model that gets the discount. </p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Our Jacob gave this little rodent 92% in his review last year, claiming it is "a mouse that can truly lay claim to the 'ultralight' title."</p><p>At a mere 36 grams, it's easy to see why. Despite that tiny size, it doesn't have chunks taken out of it, like some of its competitors, and doesn't feel cheap either. You also wouldn't purely buy it for the weight, as it's backed up with some killer specs. </p><p>The Marksman S optical sensor is fantastic, and it comes up to 33,000 DPI, a max acceleration of 50 G, max speed of 750 IPS and even up to 8,000 Hz polling. I probably wouldn't stick it any higher than 1,000 Hz in normal play (as it cuts the battery life down from 70 hours to a mere 16), but it's still a nice option to have should you be skilled enough to get the use out of it. </p><p>You are only getting one onboard profile, though, so on-the-fly customisation is a bit tough, and the UPE skates are a little worse than traditional PTFE. You are getting better durability in return, but it's still a tradeoff worth noting. </p><p>However, with those caveats out of the way, this truly is an excellent competitive mouse, and it was a genuine boon to Jacob in his FPS games. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/zQt4xr8PZSMcsUhBiR9NqM-1920-80.jpg" alt="The ultralight Corsair Sabre V2 Pro gaming mouse" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aRDsr462K3icKKVPkVZAqM-1920-80.jpg" alt="The ultralight Corsair Sabre V2 Pro gaming mouse" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QsTjvivYNdLCkryhwvvtoM-1920-80.jpg" alt="The ultralight Corsair Sabre V2 Pro gaming mouse" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7GQCeZ37pDaS6PKe8JPbqM-1920-80.jpg" alt="The ultralight Corsair Sabre V2 Pro gaming mouse" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>One thing the mouse is missing is any of the more flashy elements some gaming mice go for. You get no RGB here, and only a handful of buttons. To me, that's a neutral-to-positive choice for Corsair, but some do really like their mouse to shine at night. </p><p>Still, if you find most gaming mice are a little on the heavy side and want something snappy and light to help you hit headshots, the Sabre V2 Pro is an excellent lightweight wireless gaming mouse. At $20 off, we have seen it go this low before, but never any lower, so it's a great pick at its price point. And importantly, it's sturdy, looks nice, and performs excellently. </p><h2 id="check-out-all-of-amazon-s-gaming-mouse-deals">👉 <a href="https://www.amazon.com/s?k=gaming+mouse&crid=3ESLXIUWOQPCD&sprefix=gaming+mou%2Caps%2C176&ref=nb_sb_noss_2" target="_blank">Check out all of Amazon's gaming mouse deals</a> 👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This RTX 5060 Ti graphics card is just $30 more than an RTX 5060 and it's the best GPU deal I've seen in a long time  ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="RTX 5060 Ti | 8 GB" data-dimension48="RTX 5060 Ti | 8 GB" data-dimension25="$379.99" href="https://www.amazon.com/msi-RTX-5060-8G-Performance/dp/B0G2B2VTG3/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1350px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="48rJFRxq7BBKFHB3bC5EFM" name="msi_geforce_rtx_5060_ti_8gb_graphics_card" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/48rJFRxq7BBKFHB3bC5EFM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1350" height="1350" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/msi-RTX-5060-8G-Performance/dp/B0G2B2VTG3/" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="RTX 5060 Ti | 8 GB" data-dimension48="RTX 5060 Ti | 8 GB" data-dimension25="$379.99">RTX 5060 Ti | 8 GB: was $439.99 now $379.99</a></strong><br>The 8 GB version of the new RTX 5060 Ti is a lot cheaper than the 16 GB one, and while the extra VRAM will be useful in the future, it's certainly not worth paying $180 more for it, despite the <a href="https://www.pcgamer.com/hardware/graphics-cards/my-real-world-testing-shows-8-gb-gpus-are-still-enough-for-gaming-in-2026-but-im-surprised-at-just-how-much-faster-the-16-gb-versions-are/" target="_blank">clear benefits</a>. This is a great little GPU for the money.</p><p><strong>Key specs: 4608 shaders | 2617 MHz boost | 8 GB GDDR7</strong></p><p><strong>RTX 5060 Ti 8 GB price check:</strong> <a href="https://www.bestbuy.com/product/pny-geforce-rtx-5060-ti-overclocked-8gb-gddr7-pci-express-5-0-graphics-card-with-dual-fan-black/JXF2C46FJC" target="_blank">Best Buy $379.99</a> | <a href="https://www.newegg.com/zotac-gaming-geforce-rtx-5060-ti-8gb-twin-edge-oc-graphics-card-air-cooler/p/N82E16814500638" target="_blank">Newegg $379.99</a> | <a href="https://www.walmart.com/ip/MSI-GeForce-RTX-5060-Ti-8G-VENTUS-3X-OC-Graphics-Card-8GB-GDDR7-DPx3-HDMIx1-DLSS-4/19967969850" target="_blank">Walmart $379.99</a> | <a href="https://www.bhphotovideo.com/c/product/1892388-REG/gigabyte_gv_n506twf2oc_8gd_geforce_rtx_5060_ti.html" target="_blank">B&H $394.99</a><a class="view-deal button" href="https://www.amazon.com/msi-RTX-5060-8G-Performance/dp/B0G2B2VTG3/" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="RTX 5060 Ti | 8 GB" data-dimension48="RTX 5060 Ti | 8 GB" data-dimension25="$379.99">View Deal</a></p></div><p>If you're looking to get a sensibly priced 1080p/1440p-level graphics card, there's only one clear choice right now: This GeForce RTX 5060 Ti for <a href="https://www.amazon.com/msi-RTX-5060-8G-Performance/dp/B0G2B2VTG3/" target="_blank">$380 at Amazon</a>. It's also the same price at <a href="https://www.newegg.com/zotac-gaming-geforce-rtx-5060-ti-8gb-twin-edge-oc-graphics-card-air-cooler/p/N82E16814500638" target="_blank">Newegg</a>, <a href="https://www.bestbuy.com/product/pny-geforce-rtx-5060-ti-overclocked-8gb-gddr7-pci-express-5-0-graphics-card-with-dual-fan-black/JXF2C46FJC" target="_blank">Best Buy</a>, and <a href="https://www.walmart.com/ip/MSI-GeForce-RTX-5060-Ti-8G-VENTUS-3X-OC-Graphics-Card-8GB-GDDR7-DPx3-HDMIx1-DLSS-4/19967969850" target="_blank">Walmart</a>, so you should have no problems picking one up.</p><p>What makes this deal stand out is that current GPU prices are pretty grim, but here you're only paying $30 more than you would for an <a href="https://www.amazon.com/GIGABYTE-GeForce-WINDFORCE-Graphics-GV-N5060WF2OC-8GD/dp/B0F8LDHQ7Y/" target="_blank">RTX 5060</a>. Yes, it's an 8 GB version, and I'll address that in a moment, but the 16 GB variants start at an absurd <a href="https://www.newegg.com/msi-rtx-5060-ti-16g-ventus-2x-oc-black-plus-geforce-rtx-5060-ti-16gb-graphics-card-double-fans/p/N82E16814137992?Item=N82E16814137992" target="_blank">$560</a>. It's also the <em>only</em> GeForce RTX 50-series card at MSRP.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>You can buy a Radeon RX 9060 XT 8 GB card for less, <a href="https://www.amazon.com/GIGABYTE-Radeon-Graphics-GV-R9060XTGAMING-OC-8GD/dp/B0F91K2KBX/" target="_blank">$360 at Amazon</a>, and while AMD and Nvidia's models are almost perfectly matched in performance, the latter's DLSS 4.5 tips the scales in favor of the RTX 5060 Ti. Not necessarily because the upscaling and frame generation algorithms are better, but simply because <a href="https://www.pcgamer.com/hardware/graphics-cards/007-first-light-joins-an-ever-expanding-list-of-2026-games-without-up-to-date-amd-fsr-or-intel-xess-support/" target="_blank">more games support DLSS 4.5 than FSR 4</a>.</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');    @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,900;1,900&display=swap');        /* Reset & Base */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper *, #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper *:before, #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper *:after, #fv-chart-1779969770697-upeg5b0cl-slideshow *, #fv-chart-1779969770697-upeg5b0cl-slideshow *:before, #fv-chart-1779969770697-upeg5b0cl-slideshow *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper, #fv-chart-1779969770697-upeg5b0cl-slideshow { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper {        position: relative !important; overflow: visible !important;        --riv-primary: #E33235;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ededed !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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-inner-wrapper.fv-no-header.fv-is-image-compare {        padding-top: 0 !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.fv-full-bleed {                width: 100vw !important;        margin-left: calc(50% - 50vw) !important;            }        body {        overflow-x: clip !important;    }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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;    }            /* Slideshow Styles */    #fv-chart-1779969770697-upeg5b0cl-slideshow {        position: relative !important;        width: 100% !important;        margin: 1rem 0 !important;        --riv-primary: #E33235;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-slides-wrapper {        position: relative !important;        width: 100% !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-slide {        width: 100% !important;        animation: fv-fade-in 0.3s ease-in-out;    }      @keyframes fv-fade-in {        from { opacity: 0; }        to { opacity: 1; }    }        /* Top Navigation Row (Redesign) */    #fv-chart-1779969770697-upeg5b0cl-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-1779969770697-upeg5b0cl-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-1779969770697-upeg5b0cl-slideshow .fv-nav-btn svg {        width: 18px !important;        height: 18px !important;        stroke-width: 3px !important;        filter: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-nav-btn:hover {        opacity: 0.9 !important;        transform: translateY(-1px) !important;    }        #fv-chart-1779969770697-upeg5b0cl-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-1779969770697-upeg5b0cl-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;    }        /* Slideshow Dropdown Navigation */    #fv-chart-1779969770697-upeg5b0cl-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-1779969770697-upeg5b0cl-slideshow .fv-slideshow-select:focus {        outline: 2px solid #E33235 !important;        border-color: #E33235 !important;    }        /* Typography */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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; }    /* Versus Chart */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper { flex: 1; min-width: 0; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-inside-left { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-inside-right { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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; }    /* Image Comparison Styles */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-container {        width: auto !important;        margin-left: -1.5rem !important;        margin-right: -1.5rem !important;        margin-bottom: 2rem !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.fv-full-bleed .fv-image-compare-container {        width: 100% !important;        max-width: none !important;        margin: 0 auto !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper {        position: relative !important;        width: 100% !important;        overflow: hidden !important;        border-radius: 0 !important;        background-color: #000 !important;        touch-action: pan-y !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-inner {        position: relative !important;        width: 100% !important;        height: 100% !important;        display: block !important;        transform-origin: center center !important;        transition: transform 0.1s ease-out !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-bg {        display: block !important;        width: 100% !important;        height: auto !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-fg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        width: 100% !important;        height: 100% !important;        object-fit: cover !important;        clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-slider {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 32px !important;        transform: translateX(-50%) !important;        cursor: ew-resize !important;        z-index: 10 !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-slider-line {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 4px !important;        background-color: white !important;        transform: translateX(-50%) !important;        box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;        pointer-events: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-handle {        position: absolute !important;        top: 50% !important;        left: 50% !important;        transform: translate(-50%, -50%) !important;        width: 32px !important;        height: 32px !important;        background-color: white !important;        border-radius: 50% !important;        box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        gap: 4px !important;        pointer-events: none !important;        z-index: 11 !important;        overflow: hidden !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-handle.fv-image-compare-handle-square {        border-radius: 6px !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-arrow-left {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-right: 4px solid #4b5563 !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-arrow-right {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-left: 4px solid #4b5563 !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-label {        position: absolute !important;        top: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        padding: 0.25rem 0.75rem !important;        border-radius: 0.25rem !important;        font-size: 0.875rem !important;        font-weight: 500 !important;        pointer-events: none !important;        backdrop-filter: blur(4px) !important;        z-index: 5 !important;        transition: right 0.3s ease, opacity 0.2s ease !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-label-left {        left: 1rem !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-label-right {        right: 1rem !important;    }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-expand-btn,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-close-btn {        position: absolute !important;        bottom: 1rem !important;        right: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        border: none !important;        border-radius: 0.25rem !important;        padding: 0.5rem !important;        cursor: pointer !important;        z-index: 20 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        backdrop-filter: blur(4px) !important;        transition: background-color 0.2s !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-expand-btn:hover,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-close-btn:hover {        background-color: rgba(0, 0, 0, 0.7) !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-close-btn {        display: none !important;        top: 1rem !important;        bottom: auto !important;    }    /* Fullscreen State */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen {        position: fixed !important;        top: 0 !important;        left: 0 !important;        right: 0 !important;        bottom: 0 !important;        width: 100% !important;        height: 100% !important;        z-index: 999999 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        background-color: rgba(0, 0, 0, 0.9) !important;        margin: 0 !important;        touch-action: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner {        width: 100% !important;        height: 100% !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        cursor: grab !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active {        cursor: grabbing !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg {        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn {        display: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn {        display: flex !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right {        right: 4rem !important;    }    /* Footer */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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;    }    /* Display Mode Controls */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-dropdown-title:focus { outline: none !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-dropdown-title::-ms-expand { display: none !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Multi-Value Legend */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-row, #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Multi-Value Bar Logic */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }        /* Stacked Bar */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }    /* Grouped Bar */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Shop The Look */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; transition: min-height 0.3s ease !important; overflow: hidden !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.fv-full-bleed .fv-stl-container { width: 100% !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.fv-full-bleed .fv-stl-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn { 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), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 300ms !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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn:hover { transform: scale(1.1) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn:focus { outline: 2px solid transparent !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #000000 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn[aria-expanded="true"] { background-color: #3b82f6 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-pulse { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-stl-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; }    @keyframes fv-stl-ping { 75%, 100% { transform: scale(2); opacity: 0; } }    @media (max-width: 640px) {        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-pulse { animation-fill-mode: none !important; }    }    /* Shop the look button */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; height: 2.5rem !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; color: #111827 !important; padding: 0 1rem 0 3rem !important; border-radius: 0.25rem !important; font-weight: 700 !important; font-size: 0.875rem !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; z-index: 10 !important; display: flex !important; align-items: center !important; text-transform: uppercase !important; overflow: hidden !important; white-space: nowrap !important; max-width: calc(100% - 2rem) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn:hover { background-color: #ffffff !important; transform: scale(1.05) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-logo { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; object-fit: cover !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; flex-shrink: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; color: #1f2937 !important; flex-shrink: 0 !important; }    /* All Products Modal */    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl { position: fixed !important; inset: 0 !important; background-color: rgba(0, 0, 0, 0) !important; backdrop-filter: blur(0px) !important; -webkit-backdrop-filter: blur(0px) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 99999 !important; pointer-events: none !important; transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease !important; padding: 1rem !important; overflow: hidden !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl { position: absolute !important; padding: 0 !important; align-items: flex-end !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.is-active { background-color: rgba(0, 0, 0, 0.2) !important; backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; pointer-events: auto !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-content { width: 100% !important; max-width: 42rem !important; max-height: 100% !important; display: flex !important; flex-direction: column !important; position: relative !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-radius: 1rem !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important; opacity: 0 !important; transform: scale(0.95) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.is-active .fv-stl-all-products-content { opacity: 1 !important; transform: scale(1) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.is-active .fv-stl-all-products-content { transform: translateY(0) !important; }        /* V2 Bottom Sheet Style */    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.v2 { align-items: flex-end !important; padding: 0 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.v2:not(.mobile-view *) { justify-content: flex-end !important; }    }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.v2 .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.v2:not(.mobile-view *) .fv-stl-all-products-content { max-width: 700px !important; border-radius: 1.5rem 0 0 0 !important; }    }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.v2.is-active .fv-stl-all-products-content { transform: translateY(0) !important; opacity: 1 !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1.5rem !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; position: sticky !important; top: 0 !important; background-color: rgba(255, 255, 255, 0.8) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; z-index: 10 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-header { padding: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-logo { height: 1.5rem !important; width: auto !important; object-fit: contain !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-logo { height: 1.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-title { font-size: 1.125rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-close { width: 2rem !important; height: 2rem !important; border-radius: 9999px !important; background-color: rgba(0, 0, 0, 0.05) !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; cursor: pointer !important; z-index: 10 !important; color: #6b7280 !important; transition: all 0.2s !important; padding: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-close:hover { background-color: rgba(0, 0, 0, 0.1) !important; color: #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-list { list-style: none !important; padding: 1.5rem !important; margin: 0 !important; overflow-y: auto !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 0.75rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-list { padding: 0.75rem !important; gap: 0.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-item { margin: 0 !important; padding: 0.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-link { display: flex !important; align-items: flex-start !important; padding: 0.75rem !important; text-decoration: none !important; color: inherit !important; transition: all 0.2s !important; border-radius: 1rem !important; border: 1px solid transparent !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-link { padding: 0.5rem !important; border-radius: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-link:hover { background-color: #ffffff !important; border-color: #e5e7eb !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-item.is-highlighted .fv-stl-all-products-link { background-color: #ffffff !important; border-color: #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-image-container { position: relative !important; margin-right: 1.25rem !important; flex-shrink: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-image-container { margin-right: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-number { position: absolute !important; top: -0.5rem !important; left: -0.5rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; background-color: #0f172a !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.75rem !important; font-weight: 700 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #ffffff !important; z-index: 10 !important; font-family: sans-serif !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-number { top: -0.375rem !important; left: -0.375rem !important; width: 1.25rem !important; height: 1.25rem !important; font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-image-wrapper { width: 6rem !important; height: 6rem !important; border-radius: 0.75rem !important; overflow: hidden !important; background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.02) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-image-wrapper { width: 4rem !important; height: 4rem !important; border-radius: 0.5rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-placeholder { width: 2rem !important; height: 2rem !important; color: #d1d5db !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-placeholder { width: 1.5rem !important; height: 1.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; margin-top: 0.25rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-info { margin-top: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-brand { font-size: 0.625rem !important; font-weight: 700 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin: 0 0 0.375rem 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-brand { font-size: 0.5625rem !important; margin: 0 0 0.25rem 0 !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-name { font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 0.375rem 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.25 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-name { font-size: 0.875rem !important; margin: 0 0 0.25rem 0 !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-meta { display: flex !important; align-items: center !important; font-size: 0.875rem !important; margin-bottom: 0.375rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-meta { font-size: 0.75rem !important; margin-bottom: 0.25rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-price { font-weight: 700 !important; color: #111827 !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-sale-price { font-weight: 700 !important; color: #dc2626 !important; margin-right: 0.5rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-sale-price { margin-right: 0.375rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-original-price { color: #9ca3af !important; text-decoration: line-through !important; font-size: 0.75rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-original-price { font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-commentary { font-size: 0.875rem !important; color: #4b5563 !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.375 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-commentary { font-size: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-action { width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important; background-color: #f9fafb !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; margin-left: 1rem !important; flex-shrink: 0 !important; border: 1px solid #f3f4f6 !important; transition: all 0.2s !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-action { width: 2rem !important; height: 2rem !important; margin-left: 0.75rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-action svg { width: 14px !important; height: 14px !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-link:hover .fv-stl-all-products-action { background-color: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }    /* Image Annotation Styles */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; overflow: hidden !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.fv-full-bleed .fv-ia-container { width: 100% !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.fv-full-bleed .fv-ia-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-node-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-node-button:hover { transform: scale(1.1) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-node-button.is-active { background-color: #E33235 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-pulse-ring { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-node-button:hover + .fv-ia-static-tooltip { display: block !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-logo-explore-bar .fv-logo { margin: 0 auto !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-explore-wrapper { position: absolute !important; right: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-logo-explore-bar { flex-direction: column !important; min-height: auto !important; gap: 0.75rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-ia-explore-wrapper { position: static !important; align-self: flex-end !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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: #E33235 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-explore-btn svg { transition: transform 0.2s !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-explore-btn:hover svg { transform: translateX(2px) !important; }    /* IA Modal Styles */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-active-modal-container { display: none !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-modals { display: block !important; position: static !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-modal-item { display: none !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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 #E33235 !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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-close-button:hover { background: #e5e7eb !important; color: #111827 !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-ia-node-description { font-size: 0.875rem !important; }    /* Error Handling */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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; }    /* Countdown Styles */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-container {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        justify-content: center !important;        padding: 1rem !important;        position: relative !important;        width: 100% !important;        box-sizing: border-box !important;        font-family: Montserrat, sans-serif !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-header {        text-align: center !important;        margin-bottom: 2rem !important;        z-index: 10 !important;        width: 100% !important;        display: flex !important;        flex-direction: column !important;        align-items: center !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-title {        font-size: 1.25rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0 !important;        font-style: italic !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-subhead {        font-size: 1.125rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0.25rem 0 0 0 !important;        font-style: italic !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-timer-wrap {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        width: 100% !important;        max-width: 64rem !important;        z-index: 10 !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-labels {        display: flex !important;        justify-content: center !important;        width: 100% !important;        margin-bottom: 0.5rem !important;        padding: 0 0.5rem !important;        font-size: 0.75rem !important;        font-weight: bold !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-labels > div {        flex: 1 !important;        text-align: center !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-box {        position: relative !important;        width: 100% !important;        border-top: 6px solid #333 !important;        border-bottom: 8px solid #333 !important;        padding: 1rem 0 !important;        background: linear-gradient(to bottom, #1f2937, #000000) !important;        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits {        display: flex !important;        justify-content: center !important;        font-size: 1.75rem !important;        font-weight: 900 !important;        letter-spacing: 0em !important;        font-family: monospace !important;        color: #fff !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits > div.digit-box {        flex: 1 !important;        text-align: center !important;        white-space: nowrap !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits > div.colon {        flex: 0 0 auto !important;        opacity: 0.5 !important;        position: relative !important;        top: -2px !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-spike-l {        position: absolute !important;        left: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-right: 15px solid #374151 !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-spike-r {        position: absolute !important;        right: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-left: 15px solid #374151 !important;    }    @media (min-width: 600px) {        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-container {            padding: 2rem !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-title {            font-size: 1.75rem !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-subhead {            font-size: 1.25rem !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits {            font-size: 2.25rem !important;            letter-spacing: 0 !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-labels {            font-size: 0.875rem !important;            padding: 0 1rem !important;            margin-bottom: 1rem !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-box {            padding: 1.5rem 0 !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits > div.colon {            top: -4px !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-spike-l {            left: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-right-width: 20px !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-spike-r {            right: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-left-width: 20px !important;        }    }        @media (min-width: 768px) {        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits {            font-size: 3.5rem !important;            letter-spacing: 0.05em !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits > div.colon {            top: -5px !important;        }    }    /* Mobile / Forced Mobile View / Labels on Top */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-pie-container,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-pie-container {        flex-direction: column !important; gap: 1rem !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title-wrapper,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-stacked-product,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-bar-product,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-stacked-product,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-bar-product {        flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label:not(.fv-grouped-product-title),    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-label,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-bar-container,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-bar-cluster,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-container,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-cluster {        width: 100% !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-wrapper,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-wrapper {        margin-left: 0 !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-label-space,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-label-space {        display: none !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-chart-space,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-chart-space {        padding-right: 0 !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-benchmark-title,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-benchmark-title {        font-size: 16px !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-dropdown-title,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-dropdown-title {        font-size: 16px !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-carousel-nav-btn,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-carousel-nav-btn {        padding: 8px 12px !important; font-size: 14px !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-chart-title,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-title {        padding: 0 8px !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-chart-subhead,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-subhead {        padding: 0 8px !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-header,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-header {        flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper {        flex: 1 !important; min-width: 0 !important; width: 100% !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-left,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-left {        text-align: center !important; padding-right: 0 !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-right,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-right {        text-align: center !important; padding-left: 0 !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-left,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-left {        text-align: center !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-right,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-right {        text-align: center !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-vs,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-vs {        text-align: center !important; padding: 0.25rem 0 !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-container,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-container {        max-width: 100% !important; width: 100% !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select {        font-size: 14px !important; width: 100% !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-btn,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-logo,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-icon,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-logo,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-icon {        width: 2rem !important; height: 2rem !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-icon svg,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-icon svg {        width: 14px !important; height: 14px !important;    }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view.fv-contains-line-chart .fv-footer-content {        margin-left: -1rem !important;        margin-right: -1rem !important;    }    @media (max-width: 599px) {         #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-pie-container {            flex-direction: column !important; gap: 1rem !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-row,        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stacked-product,        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-grouped-bar-product {            flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-label,        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-container,        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-cluster {            width: 100% !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-wrapper {            margin-left: 0 !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-label-space {            display: none !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-chart-space {            padding-right: 0 !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-benchmark-title {            font-size: 16px !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-dropdown-title {            font-size: 16px !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-carousel-nav-btn {            padding: 8px 12px !important; font-size: 14px !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-chart-title {            padding: 0 8px !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-chart-subhead {            padding: 0 8px !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-header {            flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper {            flex: 1 !important; min-width: 0 !important; width: 100% !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left {            text-align: center !important; padding-right: 0 !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right {            text-align: center !important; padding-left: 0 !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left {            text-align: center !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right {            text-align: center !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-vs {            text-align: center !important; padding: 0.25rem 0 !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-container {            max-width: 100% !important; width: 100% !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select {            font-size: 14px !important; width: 100% !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-logo,        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon {            width: 2rem !important; height: 2rem !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon svg {            width: 14px !important; height: 14px !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.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": "Gaming performance",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-05-28T12:02:50.698Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "RTX 5060 Ti 8 GB Palit Dual",    "RX 9060 XT 8 GB Asus Prime",    "RTX 5060",    "Black Myth Wukong (1080p High)",    "Cyberpunk 2077 (1080p RT Ultra)",    "F1 24 (1080p Ultra high)",    "Homeworld 3 (1080p Epic)",    "Metro Exodus Enhanced Edition (1080p Ultra)",    "The Talos Principle 2 (1080p Ultra)",    "Total War: Warhammer 3 (1080p Ultra)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "RTX 5060 – Black Myth Wukong (1080p High)",      "value": 64,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Black Myth Wukong (1080p High)",      "value": 74,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Black Myth Wukong (1080p High)",      "value": 71,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Cyberpunk 2077 (1080p RT Ultra)",      "value": 46,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Cyberpunk 2077 (1080p RT Ultra)",      "value": 52,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Cyberpunk 2077 (1080p RT Ultra)",      "value": 41,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – F1 24 (1080p Ultra high)",      "value": 73,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – F1 24 (1080p Ultra high)",      "value": 90,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – F1 24 (1080p Ultra high)",      "value": 82,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Homeworld 3 (1080p Epic)",      "value": 109,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Homeworld 3 (1080p Epic)",      "value": 108,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Homeworld 3 (1080p Epic)",      "value": 111,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Metro Exodus Enhanced Edition (1080p Ultra)",      "value": 87,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Metro Exodus Enhanced Edition (1080p Ultra)",      "value": 101,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Metro Exodus Enhanced Edition (1080p Ultra)",      "value": 93,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – The Talos Principle 2 (1080p Ultra)",      "value": 52,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – The Talos Principle 2 (1080p Ultra)",      "value": 69,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – The Talos Principle 2 (1080p Ultra)",      "value": 66,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Total War: Warhammer 3 (1080p Ultra)",      "value": 78,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Total War: Warhammer 3 (1080p Ultra)",      "value": 81,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Total War: Warhammer 3 (1080p Ultra)",      "value": 90,      "unitText": "Avg FPS"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Gaming performance",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-05-28T12:02:50.698Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "RTX 5060 Ti 8 GB Palit Dual",    "RX 9060 XT 8 GB Asus Prime",    "RTX 5060",    "Black Myth Wukong (1440p High)",    "Cyberpunk 2077 (1440p RT Ultra)",    "F1 24 (1440p Ultra High)",    "Homeworld 3 (1440p Epic)",    "Metro Exodus Enhanced Edition (1440p Ultra)",    "The Talos Principle 2 (1440p Ultra)",    "Total War: Warhammer 3 (1440p Ultra)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "RTX 5060 – Black Myth Wukong (1440p High)",      "value": 44,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Black Myth Wukong (1440p High)",      "value": 50,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Black Myth Wukong (1440p High)",      "value": 48,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Cyberpunk 2077 (1440p RT Ultra)",      "value": 23,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Cyberpunk 2077 (1440p RT Ultra)",      "value": 33,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Cyberpunk 2077 (1440p RT Ultra)",      "value": 26,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – F1 24 (1440p Ultra High)",      "value": 45,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – F1 24 (1440p Ultra High)",      "value": 59,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – F1 24 (1440p Ultra High)",      "value": 51,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Homeworld 3 (1440p Epic)",      "value": 89,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Homeworld 3 (1440p Epic)",      "value": 87,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Homeworld 3 (1440p Epic)",      "value": 75,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Metro Exodus Enhanced Edition (1440p Ultra)",      "value": 63,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Metro Exodus Enhanced Edition (1440p Ultra)",      "value": 75,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Metro Exodus Enhanced Edition (1440p Ultra)",      "value": 68,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – The Talos Principle 2 (1440p Ultra)",      "value": 41,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – The Talos Principle 2 (1440p Ultra)",      "value": 44,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – The Talos Principle 2 (1440p Ultra)",      "value": 47,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Total War: Warhammer 3 (1440p Ultra)",      "value": 55,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Total War: Warhammer 3 (1440p Ultra)",      "value": 57,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Total War: Warhammer 3 (1440p Ultra)",      "value": 60,      "unitText": "Avg FPS"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Gaming performance",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-05-28T12:02:50.698Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "RTX 5060 Ti 8 GB Palit Dual",    "RX 9060 XT 8 GB Asus Prime",    "RTX 5060",    "Black Myth Wukong (1440p High + Upscaling (quality))",    "Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))",    "F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)",    "Homeworld 3 (1440p Epic + upscaling (quality))",    "The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "RTX 5060 – Black Myth Wukong (1440p High + Upscaling (quality))",      "value": 73,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Black Myth Wukong (1440p High + Upscaling (quality))",      "value": 79,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Black Myth Wukong (1440p High + Upscaling (quality))",      "value": 76,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))",      "value": 81,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))",      "value": 93,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))",      "value": 90,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)",      "value": 101,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)",      "value": 131,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)",      "value": 146,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Homeworld 3 (1440p Epic + upscaling (quality))",      "value": 113,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Homeworld 3 (1440p Epic + upscaling (quality))",      "value": 113,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Homeworld 3 (1440p Epic + upscaling (quality))",      "value": 102,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)",      "value": 84,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)",      "value": 103,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)",      "value": 127,      "unitText": "Avg FPS"    }  ]}]</script>        <div id="fv-chart-1779969770697-upeg5b0cl-slideshow" class="fv-slideshow-container" data-slide-count="3" data-iframe-height="true">                            <div class="fv-slideshow-nav-row">                    <button class="fv-nav-btn prev disabled" aria-label="Previous Slide">                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg>                        <span>Previous</span>                    </button>                    <div class="fv-slide-counter">1 / 3</div>                    <button class="fv-nav-btn next" aria-label="Next Slide">                        <span>Next</span>                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg>                    </button>                </div>                          <div class="fv-slides-wrapper">                <div class="fv-slide" id="fv-chart-1779969770697-upeg5b0cl-slide-0-wrapper" data-index="0" style="display: block;">                <div id="fv-chart-1779969770697-upeg5b0cl-slide-0" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true">        <div class="fv-inner-wrapper    ">            <h3 class="fv-chart-title">Gaming performance</h3>                        <div class="fv-dropdown-wrapper">                <div class="fv-dropdown-title-container">                    <select class="fv-dropdown-title">                        <option value="0">Black Myth Wukong (1080p High)</option><option value="1">Cyberpunk 2077 (1080p RT Ultra)</option><option value="2">F1 24 (1080p Ultra high)</option><option value="3">Homeworld 3 (1080p Epic)</option><option value="4">Metro Exodus Enhanced Edition (1080p Ultra)</option><option value="5">The Talos Principle 2 (1080p Ultra)</option><option value="6">Total War: Warhammer 3 (1080p Ultra)</option>                    </select>                    <div class="fv-dropdown-chevron">                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>                    </div>                </div>            </div>            <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-Black Myth Wukong (1080p High)" data-chart-type="Bar" data-title="Black Myth Wukong (1080p High)" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 92.5%; background-color: #E33235;" data-target-width="92.5" 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">74</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.5%; background-color: #FE9F58;" data-target-width="77.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88.75%; background-color: #E33235;" data-target-width="88.75" 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">71</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72.5%; background-color: #FE9F58;" data-target-width="72.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">58</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E33235;" 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">64</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">48</span></div>    </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>20</span><span>40</span><span>60</span><span>80</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Black Myth Wukong (1080p High) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>74 Avg FPS, 62 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>71 Avg FPS, 58 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>64 Avg FPS, 48 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-Cyberpunk 2077 (1080p RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1080p RT Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.66666666666667%; background-color: #E33235;" data-target-width="86.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">52</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.333333333333336%; background-color: #FE9F58;" data-target-width="58.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.33333333333333%; background-color: #E33235;" data-target-width="68.33333333333333" 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">41</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43.333333333333336%; background-color: #FE9F58;" data-target-width="43.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76.66666666666667%; background-color: #E33235;" data-target-width="76.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">46</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div>    </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>15</span><span>30</span><span>45</span><span>60</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Cyberpunk 2077 (1080p RT Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>52 Avg FPS, 35 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>41 Avg FPS, 26 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>46 Avg FPS, 30 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-F1 24 (1080p Ultra high)" data-chart-type="Bar" data-title="F1 24 (1080p Ultra high)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" 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">90</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73%; background-color: #FE9F58;" data-target-width="73" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">73</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82%; background-color: #E33235;" data-target-width="82" 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">82</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66%; background-color: #FE9F58;" data-target-width="66" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">66</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73%; background-color: #E33235;" data-target-width="73" 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">73</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 39%; background-color: #FE9F58;" data-target-width="39" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">39</span></div>    </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>25</span><span>50</span><span>75</span><span>100</span></div>                    </div>    </div>        <table class="sr-only">            <caption>F1 24 (1080p Ultra high) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>90 Avg FPS, 73 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>82 Avg FPS, 66 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>73 Avg FPS, 39 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-Homeworld 3 (1080p Epic)" data-chart-type="Bar" data-title="Homeworld 3 (1080p Epic)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72%; background-color: #E33235;" data-target-width="72" 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">108</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 21.333333333333336%; background-color: #FE9F58;" data-target-width="21.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">32</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74%; background-color: #E33235;" data-target-width="74" 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">111</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42%; background-color: #FE9F58;" data-target-width="42" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">63</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72.66666666666667%; background-color: #E33235;" 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 class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35.333333333333336%; background-color: #FE9F58;" data-target-width="35.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">53</span></div>    </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>    </div>        <table class="sr-only">            <caption>Homeworld 3 (1080p Epic) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>108 Avg FPS, 32 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>111 Avg FPS, 63 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>109 Avg FPS, 53 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-Metro Exodus Enhanced Edition (1080p Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (1080p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.33333333333333%; background-color: #E33235;" data-target-width="67.33333333333333" 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">101</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43.333333333333336%; background-color: #FE9F58;" data-target-width="43.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">65</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62%; background-color: #E33235;" data-target-width="62" 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">93</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.66666666666667%; background-color: #FE9F58;" data-target-width="42.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">64</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.99999999999999%; background-color: #E33235;" data-target-width="57.99999999999999" 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">87</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 31.333333333333336%; background-color: #FE9F58;" data-target-width="31.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47</span></div>    </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>    </div>        <table class="sr-only">            <caption>Metro Exodus Enhanced Edition (1080p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>101 Avg FPS, 65 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>93 Avg FPS, 64 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>87 Avg FPS, 47 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-The Talos Principle 2 (1080p Ultra)" data-chart-type="Bar" data-title="The Talos Principle 2 (1080p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.25%; background-color: #E33235;" data-target-width="86.25" 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">69</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.25%; background-color: #FE9F58;" data-target-width="46.25" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" 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">66</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43.75%; background-color: #FE9F58;" data-target-width="43.75" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #E33235;" data-target-width="65" 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">52</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.5%; background-color: #FE9F58;" data-target-width="42.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">34</span></div>    </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>20</span><span>40</span><span>60</span><span>80</span></div>                    </div>    </div>        <table class="sr-only">            <caption>The Talos Principle 2 (1080p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>69 Avg FPS, 37 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>66 Avg FPS, 35 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>52 Avg FPS, 34 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-Total War: Warhammer 3 (1080p Ultra)" data-chart-type="Bar" data-title="Total War: Warhammer 3 (1080p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81%; background-color: #E33235;" data-target-width="81" 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">81</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 59%; background-color: #FE9F58;" data-target-width="59" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" 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">90</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42%; background-color: #FE9F58;" data-target-width="42" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78%; background-color: #E33235;" data-target-width="78" 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">78</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.99999999999999%; background-color: #FE9F58;" data-target-width="56.99999999999999" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">57</span></div>    </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>25</span><span>50</span><span>75</span><span>100</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Total War: Warhammer 3 (1080p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>81 Avg FPS, 59 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>90 Avg FPS, 42 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>78 Avg FPS, 57 1% Low FPS</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">                                </div>              </div>            </div>    </div>              </div><div class="fv-slide" id="fv-chart-1779969770697-upeg5b0cl-slide-1-wrapper" data-index="1" style="display: none;">                <div id="fv-chart-1779969770697-upeg5b0cl-slide-1" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true">        <div class="fv-inner-wrapper    ">            <h3 class="fv-chart-title">Gaming performance</h3>                        <div class="fv-dropdown-wrapper">                <div class="fv-dropdown-title-container">                    <select class="fv-dropdown-title">                        <option value="0">Black Myth Wukong (1440p High)</option><option value="1">Cyberpunk 2077 (1440p RT Ultra)</option><option value="2">F1 24 (1440p Ultra High)</option><option value="3">Homeworld 3 (1440p Epic)</option><option value="4">Metro Exodus Enhanced Edition (1440p Ultra)</option><option value="5">The Talos Principle 2 (1440p Ultra)</option><option value="6">Total War: Warhammer 3 (1440p Ultra)</option>                    </select>                    <div class="fv-dropdown-chevron">                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>                    </div>                </div>            </div>            <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-Black Myth Wukong (1440p High)" data-chart-type="Bar" data-title="Black Myth Wukong (1440p High)" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 83.33333333333334%; background-color: #E33235;" data-target-width="83.33333333333334" 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">50</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.66666666666667%; background-color: #FE9F58;" data-target-width="71.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E33235;" 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">48</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.66666666666667%; background-color: #FE9F58;" data-target-width="71.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #E33235;" data-target-width="73.33333333333333" 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">44</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61.66666666666667%; background-color: #FE9F58;" data-target-width="61.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div>    </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>15</span><span>30</span><span>45</span><span>60</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Black Myth Wukong (1440p High) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>50 Avg FPS, 43 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>48 Avg FPS, 43 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>44 Avg FPS, 37 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-Cyberpunk 2077 (1440p RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1440p RT Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" 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">33</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.5%; background-color: #FE9F58;" data-target-width="62.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">25</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #E33235;" data-target-width="65" 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">26</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.5%; background-color: #FE9F58;" data-target-width="42.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">17</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.49999999999999%; background-color: #E33235;" data-target-width="57.49999999999999" 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">23</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">12</span></div>    </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>10</span><span>20</span><span>30</span><span>40</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Cyberpunk 2077 (1440p RT Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>33 Avg FPS, 25 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>26 Avg FPS, 17 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>23 Avg FPS, 12 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-F1 24 (1440p Ultra High)" data-chart-type="Bar" data-title="F1 24 (1440p Ultra High)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 98.33333333333333%; background-color: #E33235;" data-target-width="98.33333333333333" 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">59</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.33333333333333%; background-color: #FE9F58;" data-target-width="78.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #E33235;" data-target-width="85" 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">51</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.33333333333333%; background-color: #FE9F58;" data-target-width="68.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" 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">45</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 21.666666666666668%; background-color: #FE9F58;" data-target-width="21.666666666666668" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13</span></div>    </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>15</span><span>30</span><span>45</span><span>60</span></div>                    </div>    </div>        <table class="sr-only">            <caption>F1 24 (1440p Ultra High) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>59 Avg FPS, 47 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>51 Avg FPS, 41 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>45 Avg FPS, 13 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-Homeworld 3 (1440p Epic)" data-chart-type="Bar" data-title="Homeworld 3 (1440p Epic)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 87%; background-color: #E33235;" data-target-width="87" 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">87</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42%; background-color: #FE9F58;" data-target-width="42" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" 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">75</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.99999999999999%; background-color: #FE9F58;" data-target-width="57.99999999999999" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">58</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 89%; background-color: #E33235;" data-target-width="89" 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">89</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52%; background-color: #FE9F58;" data-target-width="52" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">52</span></div>    </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>25</span><span>50</span><span>75</span><span>100</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Homeworld 3 (1440p Epic) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>87 Avg FPS, 42 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>75 Avg FPS, 58 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>89 Avg FPS, 52 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-Metro Exodus Enhanced Edition (1440p Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 93.75%; background-color: #E33235;" data-target-width="93.75" 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">75</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.25%; background-color: #FE9F58;" data-target-width="66.25" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">53</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #E33235;" data-target-width="85" 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">68</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61.25000000000001%; background-color: #FE9F58;" data-target-width="61.25000000000001" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">49</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.75%; background-color: #E33235;" data-target-width="78.75" 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">63</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.25%; background-color: #FE9F58;" data-target-width="56.25" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">45</span></div>    </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>20</span><span>40</span><span>60</span><span>80</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Metro Exodus Enhanced Edition (1440p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>75 Avg FPS, 53 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>68 Avg FPS, 49 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>63 Avg FPS, 45 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-The Talos Principle 2 (1440p Ultra)" data-chart-type="Bar" data-title="The Talos Principle 2 (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #E33235;" data-target-width="73.33333333333333" 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">44</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.33333333333333%; background-color: #E33235;" data-target-width="78.33333333333333" 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">47</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #FE9F58;" data-target-width="45" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">27</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.33333333333333%; background-color: #E33235;" data-target-width="68.33333333333333" 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">41</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35%; background-color: #FE9F58;" data-target-width="35" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21</span></div>    </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>15</span><span>30</span><span>45</span><span>60</span></div>                    </div>    </div>        <table class="sr-only">            <caption>The Talos Principle 2 (1440p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>44 Avg FPS, 30 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>47 Avg FPS, 27 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>41 Avg FPS, 21 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-Total War: Warhammer 3 (1440p Ultra)" data-chart-type="Bar" data-title="Total War: Warhammer 3 (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95%; background-color: #E33235;" data-target-width="95" 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">57</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.66666666666666%; background-color: #FE9F58;" data-target-width="66.66666666666666" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #E33235;" 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">60</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #FE9F58;" data-target-width="73.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 91.66666666666666%; background-color: #E33235;" data-target-width="91.66666666666666" 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">55</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.66666666666666%; background-color: #FE9F58;" data-target-width="66.66666666666666" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div>    </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>15</span><span>30</span><span>45</span><span>60</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Total War: Warhammer 3 (1440p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>57 Avg FPS, 40 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>60 Avg FPS, 44 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>55 Avg FPS, 40 1% Low FPS</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">                                </div>              </div>            </div>    </div>              </div><div class="fv-slide" id="fv-chart-1779969770697-upeg5b0cl-slide-2-wrapper" data-index="2" style="display: none;">                <div id="fv-chart-1779969770697-upeg5b0cl-slide-2" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true">        <div class="fv-inner-wrapper    ">            <h3 class="fv-chart-title">Gaming performance</h3>                        <div class="fv-dropdown-wrapper">                <div class="fv-dropdown-title-container">                    <select class="fv-dropdown-title">                        <option value="0">Black Myth Wukong (1440p High + Upscaling (quality))</option><option value="1">Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))</option><option value="2">F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)</option><option value="3">Homeworld 3 (1440p Epic + upscaling (quality))</option><option value="4">The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)</option>                    </select>                    <div class="fv-dropdown-chevron">                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>                    </div>                </div>            </div>            <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-2-bar-Black Myth Wukong (1440p High + Upscaling (quality))" data-chart-type="Bar" data-title="Black Myth Wukong (1440p High + Upscaling (quality))" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 98.75%; background-color: #E33235;" data-target-width="98.75" 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">79</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #FE9F58;" data-target-width="85" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">68</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95%; background-color: #E33235;" data-target-width="95" 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">76</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #FE9F58;" data-target-width="85" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">68</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 91.25%; background-color: #E33235;" data-target-width="91.25" 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">73</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.5%; background-color: #FE9F58;" data-target-width="77.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div>    </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>20</span><span>40</span><span>60</span><span>80</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Black Myth Wukong (1440p High + Upscaling (quality)) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>79 Avg FPS, 68 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>76 Avg FPS, 68 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>73 Avg FPS, 62 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-2-bar-Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))" data-chart-type="Bar" data-title="Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 93%; background-color: #E33235;" data-target-width="93" 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">93</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66%; background-color: #FE9F58;" data-target-width="66" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">66</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" 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">90</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">60</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81%; background-color: #E33235;" data-target-width="81" 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">81</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 54%; background-color: #FE9F58;" data-target-width="54" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">54</span></div>    </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>25</span><span>50</span><span>75</span><span>100</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Cyberpunk 2077 (1440p RT Ultra + upscaling (quality)) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>93 Avg FPS, 66 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>90 Avg FPS, 60 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>81 Avg FPS, 54 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-2-bar-F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)" data-chart-type="Bar" data-title="F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 87.33333333333333%; background-color: #E33235;" data-target-width="87.33333333333333" 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">131</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 69.33333333333334%; background-color: #FE9F58;" data-target-width="69.33333333333334" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">104</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97.33333333333334%; background-color: #E33235;" data-target-width="97.33333333333334" 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">146</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.33333333333333%; background-color: #FE9F58;" data-target-width="81.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">122</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.33333333333333%; background-color: #E33235;" data-target-width="67.33333333333333" 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">101</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 7.333333333333333%; background-color: #FE9F58;" data-target-width="7.333333333333333" data-target-margin="0">            </div><span class="fv-bar-value-outside">11</span></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>    </div>        <table class="sr-only">            <caption>F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>131 Avg FPS, 104 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>146 Avg FPS, 122 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>101 Avg FPS, 11 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-2-bar-Homeworld 3 (1440p Epic + upscaling (quality))" data-chart-type="Bar" data-title="Homeworld 3 (1440p Epic + upscaling (quality))" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.33333333333333%; background-color: #E33235;" data-target-width="75.33333333333333" 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">113</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30.666666666666664%; background-color: #FE9F58;" data-target-width="30.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">46</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68%; background-color: #E33235;" data-target-width="68" 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">102</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 34%; background-color: #FE9F58;" data-target-width="34" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.33333333333333%; background-color: #E33235;" data-target-width="75.33333333333333" 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">113</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40.666666666666664%; background-color: #FE9F58;" data-target-width="40.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div>    </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>    </div>        <table class="sr-only">            <caption>Homeworld 3 (1440p Epic + upscaling (quality)) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>113 Avg FPS, 46 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>102 Avg FPS, 51 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>113 Avg FPS, 61 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-2-bar-The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)" data-chart-type="Bar" data-title="The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.66666666666667%; background-color: #E33235;" data-target-width="68.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">103</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 47.333333333333336%; background-color: #FE9F58;" data-target-width="47.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">71</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84.66666666666667%; background-color: #E33235;" data-target-width="84.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">127</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52%; background-color: #FE9F58;" data-target-width="52" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">78</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.00000000000001%; background-color: #E33235;" data-target-width="56.00000000000001" 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">84</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 27.333333333333332%; background-color: #FE9F58;" data-target-width="27.333333333333332" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div>    </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>    </div>        <table class="sr-only">            <caption>The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>103 Avg FPS, 71 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>127 Avg FPS, 78 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>84 Avg FPS, 41 1% Low FPS</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">                                </div>              </div>            </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() {      /*  Global animation function for slideshow re-use */      window.fvAnimateCharts = function(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                /*  Reset to 0 first to ensure animation triggers */                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                /*  Force reflow */                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); /*  Reduced initial delay */            });          }          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);              });            }            /*  Execute */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');                        charts.forEach(function(chart) {                /*  If in carousel/dropdown mode, hidden charts are display:none. */                /*  We only animate what is visible. */                if (window.getComputedStyle(chart).display === 'none') return;                                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });      };            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);                /*  In slideshow mode, 'root' will be null because the container has '-slideshow' suffix. */        /*  We handle that logic below. */        if (!root && !isSlideshow) return;                /*  Setup internal interactions (Carousel/Dropdown/LineChart) for a specific chart wrapper */        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) {                    /*  Fallback for when width isn't available yet (e.g., hidden tab) */                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    /*  Mobile if container is small OR if it's a physical mobile device (overriding fixed-width iframes) */                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        /*  Initial check */            checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        /*  Always add window resize listener as a reliable fallback for DevTools and edge cases */            window.addEventListener('resize', checkMobileView);                        /*  Labels on top handler */            var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                /*  If there are multiple charts and we're not in a carousel/dropdown, we might have mixed types. */                /*  But typically, labels-on-top is a global setting. We'll apply it initially,  */                /*  and showInternalChart will toggle it if needed. */                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 === '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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');                        var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');                                                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);            });            /*  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');                        /*  Text Elements */            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 === 'Line') {                                 /*  Line chart animations if needed */                             } else if (cType !== 'Pie') {                                 window.fvAnimateCharts(chartWrapper);                             }                                                          /*  Update labels-on-top based on current chart type */                             var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === '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;                                        /*  Update Subhead and Caption */                    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 || '';                                                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;                /*  Zoom state */                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();                    /*  Max pan depends on how much the image is scaled beyond the wrapper */                    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; /*  Prevent click after pinch */                    } 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 });                }                /*  Expand/Close Logic */                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.preventDefault(); // Removed to allow text selection */                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        /*  Load high-res images if available */                            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.preventDefault(); // Removed to allow text selection */                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                /*  Close on Escape */                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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        /*  Remove highlights */                    var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    /*  Remove min-height after transition */                    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');                        /*  Ensure container is tall enough */                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                /*  Highlight and scroll to item */                        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();                        }                    }                });            });            /*  Shop All button */            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    /*  Ensure container is tall enough */                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            /*  Close button in all products modal */            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            /*  Close modals when clicking outside */            chartWrapper.addEventListener('click', function(e) {                /*  Only close if clicking on the wrapper or container, not inside a modal content */                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 */            window.fvAnimateCharts(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 primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';                    var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';                                        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 (true) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                var slideshowContainer = document.getElementById(uniqueId + '-slideshow');        /*  Check if container exists to prevent errors */    if (slideshowContainer) {        var currentSlideIndex = 0;        var slides = slideshowContainer.querySelectorAll('.fv-slide');        var counter = slideshowContainer.querySelector('.fv-slide-counter');        var prevBtn = slideshowContainer.querySelector('.fv-nav-btn.prev');        var nextBtn = slideshowContainer.querySelector('.fv-nav-btn.next');        var dropdown = slideshowContainer.querySelector('.fv-slideshow-select');        function updateControls(index) {            if (counter) counter.textContent = (index + 1) + ' / ' + slides.length;            if (dropdown) dropdown.value = index;                        if (prevBtn) {                if (index === 0) prevBtn.classList.add('disabled');                else prevBtn.classList.remove('disabled');            }            if (nextBtn) {                if (index === slides.length - 1) nextBtn.classList.add('disabled');                else nextBtn.classList.remove('disabled');            }        }        function showSlide(index) {            if (index < 0) return; /*  index = slides.length - 1; // Disable loop for linear nav style */            if (index >= slides.length) return; /*  index = 0; */                        currentSlideIndex = index;                        slides.forEach(function(slide, i) {                slide.style.display = i === index ? 'block' : 'none';                if (i === index) {                    /*  Re-trigger animations for the active slide */                    var chartEl = slide.querySelector('.fv-chart-wrapper');                    if (chartEl && window.fvAnimateCharts) {                        window.fvAnimateCharts(chartEl);                    }                }            });                        updateControls(currentSlideIndex);        }        if (prevBtn) {            prevBtn.addEventListener('click', function() { showSlide(currentSlideIndex - 1); });        }        if (nextBtn) {            nextBtn.addEventListener('click', function() { showSlide(currentSlideIndex + 1); });        }        if (dropdown) {            dropdown.addEventListener('change', function(e) { showSlide(parseInt(e.target.value)); });        }                /*  Initial setup */        updateControls(currentSlideIndex);                /*  Initial animation for the first slide */        if (slides.length > 0) {            var firstChart = slides[0].querySelector('.fv-chart-wrapper');             if (firstChart && window.fvAnimateCharts) {                setTimeout(function() { window.fvAnimateCharts(firstChart); }, 100);            }        }    }          } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1779969770697-upeg5b0cl', true); });      } else {        initialize('fv-chart-1779969770697-upeg5b0cl', true);      }    })();      </script></div><p>When you're clearly getting so much more performance over an RTX 5060, spending $30 is a no-brainer, and I'd be happy to pay just ten bucks more over an RX 9060 XT to have access to the full DLSS suite. The RTX 5060 Ti overclocks quite nicely, too, so with a bit of time and tweaking, you'll be able to squeeze a bit more zap out of the card.</p><p>There's nothing you can do about the 8 GB VRAM limit, of course, and there are definitely cases where there is <a href="https://www.pcgamer.com/hardware/graphics-cards/my-real-world-testing-shows-8-gb-gpus-are-still-enough-for-gaming-in-2026-but-im-surprised-at-just-how-much-faster-the-16-gb-versions-are/#section-analysis" target="_blank">a noticeable gap, in terms of frame rates, between having eight and 16 gigs of video memory</a>.</p><p>What that means is that over the years of using that card, there will be an increasing number of games getting released where you'll have to turn down the graphics settings more than you would if you had 16 GB of VRAM. There's no way to avoid this, other than to pay a small fortune for a graphics card that has more memory.</p><p>We live in some strange times when an 8 GB RTX 5060 Ti is the best graphics card worth buying right now, but that's the RAMpocalypse for you.</p><h2 id="check-out-all-of-amazon-s-graphics-card-deals-here">👉<a href="https://www.amazon.com/s?k=graphics+card+for+gaming+pc" target="_blank">Check out all of Amazon's graphics card deals here</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/graphics-cards/this-rtx-5060-ti-graphics-card-is-just-usd30-more-than-an-rtx-5060-and-its-the-best-gpu-deal-ive-seen-in-a-long-time/</link>
                                                                            <description>
                            <![CDATA[ It's also bang on MSRP, which feels like a miracle in the era of the RAMpocalypse. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">3uUQkBo5QzpsQeCaoj4c2E</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/DwMiNY72WA2muRWHJphve9-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 28 May 2026 12:36:56 +0000</pubDate>                                                                                                                                <updated>Thu, 28 May 2026 12:37:00 +0000</updated>
                                                                                                                                            <category><![CDATA[Graphics Cards]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nick Evanson ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HH5qHxdCSKxFpY2HXp2Q5K-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick, gaming, and computers all first met in the early 1980s. After leaving university, he became a physics and IT teacher and started writing about tech in the late 1990s. That resulted in him working with MadOnion to write the help files for 3DMark and PCMark. After a short stint working at Beyond3D.com, Nick joined Futuremark (MadOnion rebranded) full-time, as editor-in-chief for its PC gaming section, YouGamers. After the site shutdown, he became an engineering and computing lecturer for many years, but missed the writing bug. Cue four years at TechSpot.com covering everything and anything to do with tech and PCs. He freely admits to being far too obsessed with GPUs and open-world grindy RPGs, but who isn&#039;t these days?&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/DwMiNY72WA2muRWHJphve9-1920-80.jpg">
                                                            <media:credit><![CDATA[MSI]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An image of an MSI GeForce RTX 5060 Ti graphics card, against a colorful background with the phrase &#039;Deals&#039; on the right side, above a PC Gamer logo]]></media:description>                                                            <media:text><![CDATA[An image of an MSI GeForce RTX 5060 Ti graphics card, against a colorful background with the phrase &#039;Deals&#039; on the right side, above a PC Gamer logo]]></media:text>
                                <media:title type="plain"><![CDATA[An image of an MSI GeForce RTX 5060 Ti graphics card, against a colorful background with the phrase &#039;Deals&#039; on the right side, above a PC Gamer logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/DwMiNY72WA2muRWHJphve9-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="RTX 5060 Ti | 8 GB" data-dimension48="RTX 5060 Ti | 8 GB" data-dimension25="$379.99" href="https://www.amazon.com/msi-RTX-5060-8G-Performance/dp/B0G2B2VTG3/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1350px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="48rJFRxq7BBKFHB3bC5EFM" name="msi_geforce_rtx_5060_ti_8gb_graphics_card" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/48rJFRxq7BBKFHB3bC5EFM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1350" height="1350" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/msi-RTX-5060-8G-Performance/dp/B0G2B2VTG3/" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="RTX 5060 Ti | 8 GB" data-dimension48="RTX 5060 Ti | 8 GB" data-dimension25="$379.99">RTX 5060 Ti | 8 GB: was $439.99 now $379.99</a></strong><br>The 8 GB version of the new RTX 5060 Ti is a lot cheaper than the 16 GB one, and while the extra VRAM will be useful in the future, it's certainly not worth paying $180 more for it, despite the <a href="https://www.pcgamer.com/hardware/graphics-cards/my-real-world-testing-shows-8-gb-gpus-are-still-enough-for-gaming-in-2026-but-im-surprised-at-just-how-much-faster-the-16-gb-versions-are/" target="_blank">clear benefits</a>. This is a great little GPU for the money.</p><p><strong>Key specs: 4608 shaders | 2617 MHz boost | 8 GB GDDR7</strong></p><p><strong>RTX 5060 Ti 8 GB price check:</strong> <a href="https://www.bestbuy.com/product/pny-geforce-rtx-5060-ti-overclocked-8gb-gddr7-pci-express-5-0-graphics-card-with-dual-fan-black/JXF2C46FJC" target="_blank">Best Buy $379.99</a> | <a href="https://www.newegg.com/zotac-gaming-geforce-rtx-5060-ti-8gb-twin-edge-oc-graphics-card-air-cooler/p/N82E16814500638" target="_blank">Newegg $379.99</a> | <a href="https://www.walmart.com/ip/MSI-GeForce-RTX-5060-Ti-8G-VENTUS-3X-OC-Graphics-Card-8GB-GDDR7-DPx3-HDMIx1-DLSS-4/19967969850" target="_blank">Walmart $379.99</a> | <a href="https://www.bhphotovideo.com/c/product/1892388-REG/gigabyte_gv_n506twf2oc_8gd_geforce_rtx_5060_ti.html" target="_blank">B&H $394.99</a><a class="view-deal button" href="https://www.amazon.com/msi-RTX-5060-8G-Performance/dp/B0G2B2VTG3/" target="_blank" rel="nofollow" data-dimension112="cf04b0d7-0419-45b0-b86e-46e75592af77" data-action="Deal Block" data-label="RTX 5060 Ti | 8 GB" data-dimension48="RTX 5060 Ti | 8 GB" data-dimension25="$379.99">View Deal</a></p></div><p>If you're looking to get a sensibly priced 1080p/1440p-level graphics card, there's only one clear choice right now: This GeForce RTX 5060 Ti for <a href="https://www.amazon.com/msi-RTX-5060-8G-Performance/dp/B0G2B2VTG3/" target="_blank">$380 at Amazon</a>. It's also the same price at <a href="https://www.newegg.com/zotac-gaming-geforce-rtx-5060-ti-8gb-twin-edge-oc-graphics-card-air-cooler/p/N82E16814500638" target="_blank">Newegg</a>, <a href="https://www.bestbuy.com/product/pny-geforce-rtx-5060-ti-overclocked-8gb-gddr7-pci-express-5-0-graphics-card-with-dual-fan-black/JXF2C46FJC" target="_blank">Best Buy</a>, and <a href="https://www.walmart.com/ip/MSI-GeForce-RTX-5060-Ti-8G-VENTUS-3X-OC-Graphics-Card-8GB-GDDR7-DPx3-HDMIx1-DLSS-4/19967969850" target="_blank">Walmart</a>, so you should have no problems picking one up.</p><p>What makes this deal stand out is that current GPU prices are pretty grim, but here you're only paying $30 more than you would for an <a href="https://www.amazon.com/GIGABYTE-GeForce-WINDFORCE-Graphics-GV-N5060WF2OC-8GD/dp/B0F8LDHQ7Y/" target="_blank">RTX 5060</a>. Yes, it's an 8 GB version, and I'll address that in a moment, but the 16 GB variants start at an absurd <a href="https://www.newegg.com/msi-rtx-5060-ti-16g-ventus-2x-oc-black-plus-geforce-rtx-5060-ti-16gb-graphics-card-double-fans/p/N82E16814137992?Item=N82E16814137992" target="_blank">$560</a>. It's also the <em>only</em> GeForce RTX 50-series card at MSRP.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>You can buy a Radeon RX 9060 XT 8 GB card for less, <a href="https://www.amazon.com/GIGABYTE-Radeon-Graphics-GV-R9060XTGAMING-OC-8GD/dp/B0F91K2KBX/" target="_blank">$360 at Amazon</a>, and while AMD and Nvidia's models are almost perfectly matched in performance, the latter's DLSS 4.5 tips the scales in favor of the RTX 5060 Ti. Not necessarily because the upscaling and frame generation algorithms are better, but simply because <a href="https://www.pcgamer.com/hardware/graphics-cards/007-first-light-joins-an-ever-expanding-list-of-2026-games-without-up-to-date-amd-fsr-or-intel-xess-support/" target="_blank">more games support DLSS 4.5 than FSR 4</a>.</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');    @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,900;1,900&display=swap');        /* Reset & Base */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper *, #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper *:before, #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper *:after, #fv-chart-1779969770697-upeg5b0cl-slideshow *, #fv-chart-1779969770697-upeg5b0cl-slideshow *:before, #fv-chart-1779969770697-upeg5b0cl-slideshow *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper, #fv-chart-1779969770697-upeg5b0cl-slideshow { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper {        position: relative !important; overflow: visible !important;        --riv-primary: #E33235;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ededed !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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-inner-wrapper.fv-no-header.fv-is-image-compare {        padding-top: 0 !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.fv-full-bleed {                width: 100vw !important;        margin-left: calc(50% - 50vw) !important;            }        body {        overflow-x: clip !important;    }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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;    }            /* Slideshow Styles */    #fv-chart-1779969770697-upeg5b0cl-slideshow {        position: relative !important;        width: 100% !important;        margin: 1rem 0 !important;        --riv-primary: #E33235;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-slides-wrapper {        position: relative !important;        width: 100% !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-slide {        width: 100% !important;        animation: fv-fade-in 0.3s ease-in-out;    }      @keyframes fv-fade-in {        from { opacity: 0; }        to { opacity: 1; }    }        /* Top Navigation Row (Redesign) */    #fv-chart-1779969770697-upeg5b0cl-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-1779969770697-upeg5b0cl-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-1779969770697-upeg5b0cl-slideshow .fv-nav-btn svg {        width: 18px !important;        height: 18px !important;        stroke-width: 3px !important;        filter: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-nav-btn:hover {        opacity: 0.9 !important;        transform: translateY(-1px) !important;    }        #fv-chart-1779969770697-upeg5b0cl-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-1779969770697-upeg5b0cl-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;    }        /* Slideshow Dropdown Navigation */    #fv-chart-1779969770697-upeg5b0cl-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-1779969770697-upeg5b0cl-slideshow .fv-slideshow-select:focus {        outline: 2px solid #E33235 !important;        border-color: #E33235 !important;    }        /* Typography */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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; }    /* Versus Chart */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper { flex: 1; min-width: 0; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-inside-left { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-inside-right { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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; }    /* Image Comparison Styles */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-container {        width: auto !important;        margin-left: -1.5rem !important;        margin-right: -1.5rem !important;        margin-bottom: 2rem !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.fv-full-bleed .fv-image-compare-container {        width: 100% !important;        max-width: none !important;        margin: 0 auto !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper {        position: relative !important;        width: 100% !important;        overflow: hidden !important;        border-radius: 0 !important;        background-color: #000 !important;        touch-action: pan-y !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-inner {        position: relative !important;        width: 100% !important;        height: 100% !important;        display: block !important;        transform-origin: center center !important;        transition: transform 0.1s ease-out !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-bg {        display: block !important;        width: 100% !important;        height: auto !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-fg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        width: 100% !important;        height: 100% !important;        object-fit: cover !important;        clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-slider {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 32px !important;        transform: translateX(-50%) !important;        cursor: ew-resize !important;        z-index: 10 !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-slider-line {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 4px !important;        background-color: white !important;        transform: translateX(-50%) !important;        box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;        pointer-events: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-handle {        position: absolute !important;        top: 50% !important;        left: 50% !important;        transform: translate(-50%, -50%) !important;        width: 32px !important;        height: 32px !important;        background-color: white !important;        border-radius: 50% !important;        box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        gap: 4px !important;        pointer-events: none !important;        z-index: 11 !important;        overflow: hidden !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-handle.fv-image-compare-handle-square {        border-radius: 6px !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-arrow-left {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-right: 4px solid #4b5563 !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-arrow-right {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-left: 4px solid #4b5563 !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-label {        position: absolute !important;        top: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        padding: 0.25rem 0.75rem !important;        border-radius: 0.25rem !important;        font-size: 0.875rem !important;        font-weight: 500 !important;        pointer-events: none !important;        backdrop-filter: blur(4px) !important;        z-index: 5 !important;        transition: right 0.3s ease, opacity 0.2s ease !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-label-left {        left: 1rem !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-label-right {        right: 1rem !important;    }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-expand-btn,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-close-btn {        position: absolute !important;        bottom: 1rem !important;        right: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        border: none !important;        border-radius: 0.25rem !important;        padding: 0.5rem !important;        cursor: pointer !important;        z-index: 20 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        backdrop-filter: blur(4px) !important;        transition: background-color 0.2s !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-expand-btn:hover,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-close-btn:hover {        background-color: rgba(0, 0, 0, 0.7) !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-close-btn {        display: none !important;        top: 1rem !important;        bottom: auto !important;    }    /* Fullscreen State */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen {        position: fixed !important;        top: 0 !important;        left: 0 !important;        right: 0 !important;        bottom: 0 !important;        width: 100% !important;        height: 100% !important;        z-index: 999999 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        background-color: rgba(0, 0, 0, 0.9) !important;        margin: 0 !important;        touch-action: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner {        width: 100% !important;        height: 100% !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        cursor: grab !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active {        cursor: grabbing !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg {        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn {        display: none !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn {        display: flex !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right {        right: 4rem !important;    }    /* Footer */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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;    }    /* Display Mode Controls */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-dropdown-title:focus { outline: none !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-dropdown-title::-ms-expand { display: none !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Multi-Value Legend */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-row, #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Multi-Value Bar Logic */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }        /* Stacked Bar */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }    /* Grouped Bar */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Shop The Look */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; transition: min-height 0.3s ease !important; overflow: hidden !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.fv-full-bleed .fv-stl-container { width: 100% !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.fv-full-bleed .fv-stl-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn { 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), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 300ms !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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn:hover { transform: scale(1.1) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn:focus { outline: 2px solid transparent !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #000000 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn[aria-expanded="true"] { background-color: #3b82f6 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-pulse { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-stl-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; }    @keyframes fv-stl-ping { 75%, 100% { transform: scale(2); opacity: 0; } }    @media (max-width: 640px) {        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-hotspot-pulse { animation-fill-mode: none !important; }    }    /* Shop the look button */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; height: 2.5rem !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; color: #111827 !important; padding: 0 1rem 0 3rem !important; border-radius: 0.25rem !important; font-weight: 700 !important; font-size: 0.875rem !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; z-index: 10 !important; display: flex !important; align-items: center !important; text-transform: uppercase !important; overflow: hidden !important; white-space: nowrap !important; max-width: calc(100% - 2rem) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn:hover { background-color: #ffffff !important; transform: scale(1.05) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-logo { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; object-fit: cover !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; flex-shrink: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; color: #1f2937 !important; flex-shrink: 0 !important; }    /* All Products Modal */    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl { position: fixed !important; inset: 0 !important; background-color: rgba(0, 0, 0, 0) !important; backdrop-filter: blur(0px) !important; -webkit-backdrop-filter: blur(0px) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 99999 !important; pointer-events: none !important; transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease !important; padding: 1rem !important; overflow: hidden !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl { position: absolute !important; padding: 0 !important; align-items: flex-end !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.is-active { background-color: rgba(0, 0, 0, 0.2) !important; backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; pointer-events: auto !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-content { width: 100% !important; max-width: 42rem !important; max-height: 100% !important; display: flex !important; flex-direction: column !important; position: relative !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-radius: 1rem !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important; opacity: 0 !important; transform: scale(0.95) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.is-active .fv-stl-all-products-content { opacity: 1 !important; transform: scale(1) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.is-active .fv-stl-all-products-content { transform: translateY(0) !important; }        /* V2 Bottom Sheet Style */    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.v2 { align-items: flex-end !important; padding: 0 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.v2:not(.mobile-view *) { justify-content: flex-end !important; }    }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.v2 .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.v2:not(.mobile-view *) .fv-stl-all-products-content { max-width: 700px !important; border-radius: 1.5rem 0 0 0 !important; }    }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl.v2.is-active .fv-stl-all-products-content { transform: translateY(0) !important; opacity: 1 !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1.5rem !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; position: sticky !important; top: 0 !important; background-color: rgba(255, 255, 255, 0.8) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; z-index: 10 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-header { padding: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-logo { height: 1.5rem !important; width: auto !important; object-fit: contain !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-logo { height: 1.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-title { font-size: 1.125rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-close { width: 2rem !important; height: 2rem !important; border-radius: 9999px !important; background-color: rgba(0, 0, 0, 0.05) !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; cursor: pointer !important; z-index: 10 !important; color: #6b7280 !important; transition: all 0.2s !important; padding: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-close:hover { background-color: rgba(0, 0, 0, 0.1) !important; color: #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-list { list-style: none !important; padding: 1.5rem !important; margin: 0 !important; overflow-y: auto !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 0.75rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-list { padding: 0.75rem !important; gap: 0.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-item { margin: 0 !important; padding: 0.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-link { display: flex !important; align-items: flex-start !important; padding: 0.75rem !important; text-decoration: none !important; color: inherit !important; transition: all 0.2s !important; border-radius: 1rem !important; border: 1px solid transparent !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-link { padding: 0.5rem !important; border-radius: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-link:hover { background-color: #ffffff !important; border-color: #e5e7eb !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-item.is-highlighted .fv-stl-all-products-link { background-color: #ffffff !important; border-color: #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-image-container { position: relative !important; margin-right: 1.25rem !important; flex-shrink: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-image-container { margin-right: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-number { position: absolute !important; top: -0.5rem !important; left: -0.5rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; background-color: #0f172a !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.75rem !important; font-weight: 700 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #ffffff !important; z-index: 10 !important; font-family: sans-serif !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-number { top: -0.375rem !important; left: -0.375rem !important; width: 1.25rem !important; height: 1.25rem !important; font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-image-wrapper { width: 6rem !important; height: 6rem !important; border-radius: 0.75rem !important; overflow: hidden !important; background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.02) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-image-wrapper { width: 4rem !important; height: 4rem !important; border-radius: 0.5rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-placeholder { width: 2rem !important; height: 2rem !important; color: #d1d5db !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-placeholder { width: 1.5rem !important; height: 1.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; margin-top: 0.25rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-info { margin-top: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-brand { font-size: 0.625rem !important; font-weight: 700 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin: 0 0 0.375rem 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-brand { font-size: 0.5625rem !important; margin: 0 0 0.25rem 0 !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-name { font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 0.375rem 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.25 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-name { font-size: 0.875rem !important; margin: 0 0 0.25rem 0 !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-meta { display: flex !important; align-items: center !important; font-size: 0.875rem !important; margin-bottom: 0.375rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-meta { font-size: 0.75rem !important; margin-bottom: 0.25rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-price { font-weight: 700 !important; color: #111827 !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-sale-price { font-weight: 700 !important; color: #dc2626 !important; margin-right: 0.5rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-sale-price { margin-right: 0.375rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-original-price { color: #9ca3af !important; text-decoration: line-through !important; font-size: 0.75rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-original-price { font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-commentary { font-size: 0.875rem !important; color: #4b5563 !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.375 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-commentary { font-size: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-action { width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important; background-color: #f9fafb !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; margin-left: 1rem !important; flex-shrink: 0 !important; border: 1px solid #f3f4f6 !important; transition: all 0.2s !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-action { width: 2rem !important; height: 2rem !important; margin-left: 0.75rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-action svg { width: 14px !important; height: 14px !important; }    #fv-stl-all-products-modal-fv-chart-1779969770697-upeg5b0cl .fv-stl-all-products-link:hover .fv-stl-all-products-action { background-color: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }    /* Image Annotation Styles */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; overflow: hidden !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.fv-full-bleed .fv-ia-container { width: 100% !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.fv-full-bleed .fv-ia-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-node-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-node-button:hover { transform: scale(1.1) !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-node-button.is-active { background-color: #E33235 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-pulse-ring { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-node-button:hover + .fv-ia-static-tooltip { display: block !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-logo-explore-bar .fv-logo { margin: 0 auto !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-explore-wrapper { position: absolute !important; right: 0 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-logo-explore-bar { flex-direction: column !important; min-height: auto !important; gap: 0.75rem !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-ia-explore-wrapper { position: static !important; align-self: flex-end !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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: #E33235 !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-explore-btn svg { transition: transform 0.2s !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-explore-btn:hover svg { transform: translateX(2px) !important; }    /* IA Modal Styles */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-active-modal-container { display: none !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-modals { display: block !important; position: static !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-modal-item { display: none !important; }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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 #E33235 !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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-ia-close-button:hover { background: #e5e7eb !important; color: #111827 !important; }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-ia-node-description { font-size: 0.875rem !important; }    /* Error Handling */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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; }    /* Countdown Styles */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-container {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        justify-content: center !important;        padding: 1rem !important;        position: relative !important;        width: 100% !important;        box-sizing: border-box !important;        font-family: Montserrat, sans-serif !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-header {        text-align: center !important;        margin-bottom: 2rem !important;        z-index: 10 !important;        width: 100% !important;        display: flex !important;        flex-direction: column !important;        align-items: center !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-title {        font-size: 1.25rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0 !important;        font-style: italic !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-subhead {        font-size: 1.125rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0.25rem 0 0 0 !important;        font-style: italic !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-timer-wrap {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        width: 100% !important;        max-width: 64rem !important;        z-index: 10 !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-labels {        display: flex !important;        justify-content: center !important;        width: 100% !important;        margin-bottom: 0.5rem !important;        padding: 0 0.5rem !important;        font-size: 0.75rem !important;        font-weight: bold !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-labels > div {        flex: 1 !important;        text-align: center !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-box {        position: relative !important;        width: 100% !important;        border-top: 6px solid #333 !important;        border-bottom: 8px solid #333 !important;        padding: 1rem 0 !important;        background: linear-gradient(to bottom, #1f2937, #000000) !important;        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits {        display: flex !important;        justify-content: center !important;        font-size: 1.75rem !important;        font-weight: 900 !important;        letter-spacing: 0em !important;        font-family: monospace !important;        color: #fff !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits > div.digit-box {        flex: 1 !important;        text-align: center !important;        white-space: nowrap !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits > div.colon {        flex: 0 0 auto !important;        opacity: 0.5 !important;        position: relative !important;        top: -2px !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-spike-l {        position: absolute !important;        left: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-right: 15px solid #374151 !important;    }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-spike-r {        position: absolute !important;        right: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-left: 15px solid #374151 !important;    }    @media (min-width: 600px) {        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-container {            padding: 2rem !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-title {            font-size: 1.75rem !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-subhead {            font-size: 1.25rem !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits {            font-size: 2.25rem !important;            letter-spacing: 0 !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-labels {            font-size: 0.875rem !important;            padding: 0 1rem !important;            margin-bottom: 1rem !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-box {            padding: 1.5rem 0 !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits > div.colon {            top: -4px !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-spike-l {            left: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-right-width: 20px !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-spike-r {            right: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-left-width: 20px !important;        }    }        @media (min-width: 768px) {        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits {            font-size: 3.5rem !important;            letter-spacing: 0.05em !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-countdown-digits > div.colon {            top: -5px !important;        }    }    /* Mobile / Forced Mobile View / Labels on Top */    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-pie-container,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-pie-container {        flex-direction: column !important; gap: 1rem !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title-wrapper,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-stacked-product,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-bar-product,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-stacked-product,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-bar-product {        flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label:not(.fv-grouped-product-title),    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-label,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-bar-container,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-bar-cluster,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-container,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-cluster {        width: 100% !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-wrapper,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-wrapper {        margin-left: 0 !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-label-space,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-label-space {        display: none !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-chart-space,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-chart-space {        padding-right: 0 !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-benchmark-title,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-benchmark-title {        font-size: 16px !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-dropdown-title,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-dropdown-title {        font-size: 16px !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-carousel-nav-btn,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-carousel-nav-btn {        padding: 8px 12px !important; font-size: 14px !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-chart-title,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-title {        padding: 0 8px !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-chart-subhead,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-subhead {        padding: 0 8px !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-header,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-header {        flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper {        flex: 1 !important; min-width: 0 !important; width: 100% !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-left,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-left {        text-align: center !important; padding-right: 0 !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-right,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-right {        text-align: center !important; padding-left: 0 !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-left,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-left {        text-align: center !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-right,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-right {        text-align: center !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-vs,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-vs {        text-align: center !important; padding: 0.25rem 0 !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-container,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-container {        max-width: 100% !important; width: 100% !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select {        font-size: 14px !important; width: 100% !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-btn,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-logo,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-icon,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-logo,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-icon {        width: 2rem !important; height: 2rem !important;    }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-stl-shop-all-icon svg,    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.labels-on-top .fv-stl-shop-all-icon svg {        width: 14px !important; height: 14px !important;    }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }    #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.mobile-view.fv-contains-line-chart .fv-footer-content {        margin-left: -1rem !important;        margin-right: -1rem !important;    }    @media (max-width: 599px) {         #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-pie-container {            flex-direction: column !important; gap: 1rem !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-row,        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stacked-product,        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-grouped-bar-product {            flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-label,        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-container,        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-bar-cluster {            width: 100% !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-wrapper {            margin-left: 0 !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-label-space {            display: none !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-x-axis-chart-space {            padding-right: 0 !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-benchmark-title {            font-size: 16px !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-dropdown-title {            font-size: 16px !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-carousel-nav-btn {            padding: 8px 12px !important; font-size: 14px !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-chart-title {            padding: 0 8px !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-chart-subhead {            padding: 0 8px !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-header {            flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper {            flex: 1 !important; min-width: 0 !important; width: 100% !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left {            text-align: center !important; padding-right: 0 !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right {            text-align: center !important; padding-left: 0 !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left {            text-align: center !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right {            text-align: center !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-vs {            text-align: center !important; padding: 0.25rem 0 !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select-container {            max-width: 100% !important; width: 100% !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-versus-select {            font-size: 14px !important; width: 100% !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .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-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-logo,        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon {            width: 2rem !important; height: 2rem !important;        }#fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon svg {            width: 14px !important; height: 14px !important;        }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1779969770697-upeg5b0cl-slideshow .fv-chart-wrapper.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": "Gaming performance",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-05-28T12:02:50.698Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "RTX 5060 Ti 8 GB Palit Dual",    "RX 9060 XT 8 GB Asus Prime",    "RTX 5060",    "Black Myth Wukong (1080p High)",    "Cyberpunk 2077 (1080p RT Ultra)",    "F1 24 (1080p Ultra high)",    "Homeworld 3 (1080p Epic)",    "Metro Exodus Enhanced Edition (1080p Ultra)",    "The Talos Principle 2 (1080p Ultra)",    "Total War: Warhammer 3 (1080p Ultra)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "RTX 5060 – Black Myth Wukong (1080p High)",      "value": 64,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Black Myth Wukong (1080p High)",      "value": 74,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Black Myth Wukong (1080p High)",      "value": 71,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Cyberpunk 2077 (1080p RT Ultra)",      "value": 46,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Cyberpunk 2077 (1080p RT Ultra)",      "value": 52,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Cyberpunk 2077 (1080p RT Ultra)",      "value": 41,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – F1 24 (1080p Ultra high)",      "value": 73,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – F1 24 (1080p Ultra high)",      "value": 90,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – F1 24 (1080p Ultra high)",      "value": 82,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Homeworld 3 (1080p Epic)",      "value": 109,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Homeworld 3 (1080p Epic)",      "value": 108,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Homeworld 3 (1080p Epic)",      "value": 111,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Metro Exodus Enhanced Edition (1080p Ultra)",      "value": 87,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Metro Exodus Enhanced Edition (1080p Ultra)",      "value": 101,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Metro Exodus Enhanced Edition (1080p Ultra)",      "value": 93,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – The Talos Principle 2 (1080p Ultra)",      "value": 52,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – The Talos Principle 2 (1080p Ultra)",      "value": 69,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – The Talos Principle 2 (1080p Ultra)",      "value": 66,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Total War: Warhammer 3 (1080p Ultra)",      "value": 78,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Total War: Warhammer 3 (1080p Ultra)",      "value": 81,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Total War: Warhammer 3 (1080p Ultra)",      "value": 90,      "unitText": "Avg FPS"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Gaming performance",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-05-28T12:02:50.698Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "RTX 5060 Ti 8 GB Palit Dual",    "RX 9060 XT 8 GB Asus Prime",    "RTX 5060",    "Black Myth Wukong (1440p High)",    "Cyberpunk 2077 (1440p RT Ultra)",    "F1 24 (1440p Ultra High)",    "Homeworld 3 (1440p Epic)",    "Metro Exodus Enhanced Edition (1440p Ultra)",    "The Talos Principle 2 (1440p Ultra)",    "Total War: Warhammer 3 (1440p Ultra)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "RTX 5060 – Black Myth Wukong (1440p High)",      "value": 44,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Black Myth Wukong (1440p High)",      "value": 50,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Black Myth Wukong (1440p High)",      "value": 48,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Cyberpunk 2077 (1440p RT Ultra)",      "value": 23,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Cyberpunk 2077 (1440p RT Ultra)",      "value": 33,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Cyberpunk 2077 (1440p RT Ultra)",      "value": 26,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – F1 24 (1440p Ultra High)",      "value": 45,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – F1 24 (1440p Ultra High)",      "value": 59,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – F1 24 (1440p Ultra High)",      "value": 51,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Homeworld 3 (1440p Epic)",      "value": 89,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Homeworld 3 (1440p Epic)",      "value": 87,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Homeworld 3 (1440p Epic)",      "value": 75,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Metro Exodus Enhanced Edition (1440p Ultra)",      "value": 63,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Metro Exodus Enhanced Edition (1440p Ultra)",      "value": 75,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Metro Exodus Enhanced Edition (1440p Ultra)",      "value": 68,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – The Talos Principle 2 (1440p Ultra)",      "value": 41,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – The Talos Principle 2 (1440p Ultra)",      "value": 44,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – The Talos Principle 2 (1440p Ultra)",      "value": 47,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Total War: Warhammer 3 (1440p Ultra)",      "value": 55,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Total War: Warhammer 3 (1440p Ultra)",      "value": 57,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Total War: Warhammer 3 (1440p Ultra)",      "value": 60,      "unitText": "Avg FPS"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Gaming performance",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-05-28T12:02:50.698Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "RTX 5060 Ti 8 GB Palit Dual",    "RX 9060 XT 8 GB Asus Prime",    "RTX 5060",    "Black Myth Wukong (1440p High + Upscaling (quality))",    "Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))",    "F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)",    "Homeworld 3 (1440p Epic + upscaling (quality))",    "The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "RTX 5060 – Black Myth Wukong (1440p High + Upscaling (quality))",      "value": 73,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Black Myth Wukong (1440p High + Upscaling (quality))",      "value": 79,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Black Myth Wukong (1440p High + Upscaling (quality))",      "value": 76,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))",      "value": 81,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))",      "value": 93,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))",      "value": 90,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)",      "value": 101,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)",      "value": 131,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)",      "value": 146,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – Homeworld 3 (1440p Epic + upscaling (quality))",      "value": 113,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – Homeworld 3 (1440p Epic + upscaling (quality))",      "value": 113,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – Homeworld 3 (1440p Epic + upscaling (quality))",      "value": 102,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 – The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)",      "value": 84,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RTX 5060 Ti 8 GB Palit Dual – The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)",      "value": 103,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "RX 9060 XT 8 GB Asus Prime – The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)",      "value": 127,      "unitText": "Avg FPS"    }  ]}]</script>        <div id="fv-chart-1779969770697-upeg5b0cl-slideshow" class="fv-slideshow-container" data-slide-count="3" data-iframe-height="true">                            <div class="fv-slideshow-nav-row">                    <button class="fv-nav-btn prev disabled" aria-label="Previous Slide">                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg>                        <span>Previous</span>                    </button>                    <div class="fv-slide-counter">1 / 3</div>                    <button class="fv-nav-btn next" aria-label="Next Slide">                        <span>Next</span>                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg>                    </button>                </div>                          <div class="fv-slides-wrapper">                <div class="fv-slide" id="fv-chart-1779969770697-upeg5b0cl-slide-0-wrapper" data-index="0" style="display: block;">                <div id="fv-chart-1779969770697-upeg5b0cl-slide-0" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true">        <div class="fv-inner-wrapper    ">            <h3 class="fv-chart-title">Gaming performance</h3>                        <div class="fv-dropdown-wrapper">                <div class="fv-dropdown-title-container">                    <select class="fv-dropdown-title">                        <option value="0">Black Myth Wukong (1080p High)</option><option value="1">Cyberpunk 2077 (1080p RT Ultra)</option><option value="2">F1 24 (1080p Ultra high)</option><option value="3">Homeworld 3 (1080p Epic)</option><option value="4">Metro Exodus Enhanced Edition (1080p Ultra)</option><option value="5">The Talos Principle 2 (1080p Ultra)</option><option value="6">Total War: Warhammer 3 (1080p Ultra)</option>                    </select>                    <div class="fv-dropdown-chevron">                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>                    </div>                </div>            </div>            <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-Black Myth Wukong (1080p High)" data-chart-type="Bar" data-title="Black Myth Wukong (1080p High)" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 92.5%; background-color: #E33235;" data-target-width="92.5" 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">74</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.5%; background-color: #FE9F58;" data-target-width="77.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88.75%; background-color: #E33235;" data-target-width="88.75" 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">71</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72.5%; background-color: #FE9F58;" data-target-width="72.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">58</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E33235;" 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">64</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">48</span></div>    </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>20</span><span>40</span><span>60</span><span>80</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Black Myth Wukong (1080p High) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>74 Avg FPS, 62 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>71 Avg FPS, 58 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>64 Avg FPS, 48 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-Cyberpunk 2077 (1080p RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1080p RT Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.66666666666667%; background-color: #E33235;" data-target-width="86.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">52</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 58.333333333333336%; background-color: #FE9F58;" data-target-width="58.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.33333333333333%; background-color: #E33235;" data-target-width="68.33333333333333" 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">41</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43.333333333333336%; background-color: #FE9F58;" data-target-width="43.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">26</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 76.66666666666667%; background-color: #E33235;" data-target-width="76.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">46</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div>    </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>15</span><span>30</span><span>45</span><span>60</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Cyberpunk 2077 (1080p RT Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>52 Avg FPS, 35 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>41 Avg FPS, 26 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>46 Avg FPS, 30 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-F1 24 (1080p Ultra high)" data-chart-type="Bar" data-title="F1 24 (1080p Ultra high)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" 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">90</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73%; background-color: #FE9F58;" data-target-width="73" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">73</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82%; background-color: #E33235;" data-target-width="82" 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">82</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66%; background-color: #FE9F58;" data-target-width="66" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">66</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73%; background-color: #E33235;" data-target-width="73" 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">73</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 39%; background-color: #FE9F58;" data-target-width="39" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">39</span></div>    </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>25</span><span>50</span><span>75</span><span>100</span></div>                    </div>    </div>        <table class="sr-only">            <caption>F1 24 (1080p Ultra high) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>90 Avg FPS, 73 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>82 Avg FPS, 66 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>73 Avg FPS, 39 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-Homeworld 3 (1080p Epic)" data-chart-type="Bar" data-title="Homeworld 3 (1080p Epic)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72%; background-color: #E33235;" data-target-width="72" 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">108</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 21.333333333333336%; background-color: #FE9F58;" data-target-width="21.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">32</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74%; background-color: #E33235;" data-target-width="74" 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">111</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42%; background-color: #FE9F58;" data-target-width="42" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">63</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72.66666666666667%; background-color: #E33235;" 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 class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35.333333333333336%; background-color: #FE9F58;" data-target-width="35.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">53</span></div>    </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>    </div>        <table class="sr-only">            <caption>Homeworld 3 (1080p Epic) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>108 Avg FPS, 32 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>111 Avg FPS, 63 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>109 Avg FPS, 53 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-Metro Exodus Enhanced Edition (1080p Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (1080p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.33333333333333%; background-color: #E33235;" data-target-width="67.33333333333333" 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">101</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43.333333333333336%; background-color: #FE9F58;" data-target-width="43.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">65</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62%; background-color: #E33235;" data-target-width="62" 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">93</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.66666666666667%; background-color: #FE9F58;" data-target-width="42.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">64</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.99999999999999%; background-color: #E33235;" data-target-width="57.99999999999999" 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">87</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 31.333333333333336%; background-color: #FE9F58;" data-target-width="31.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47</span></div>    </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>    </div>        <table class="sr-only">            <caption>Metro Exodus Enhanced Edition (1080p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>101 Avg FPS, 65 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>93 Avg FPS, 64 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>87 Avg FPS, 47 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-The Talos Principle 2 (1080p Ultra)" data-chart-type="Bar" data-title="The Talos Principle 2 (1080p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 86.25%; background-color: #E33235;" data-target-width="86.25" 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">69</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.25%; background-color: #FE9F58;" data-target-width="46.25" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" 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">66</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43.75%; background-color: #FE9F58;" data-target-width="43.75" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #E33235;" data-target-width="65" 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">52</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.5%; background-color: #FE9F58;" data-target-width="42.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">34</span></div>    </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>20</span><span>40</span><span>60</span><span>80</span></div>                    </div>    </div>        <table class="sr-only">            <caption>The Talos Principle 2 (1080p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>69 Avg FPS, 37 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>66 Avg FPS, 35 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>52 Avg FPS, 34 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-0-bar-Total War: Warhammer 3 (1080p Ultra)" data-chart-type="Bar" data-title="Total War: Warhammer 3 (1080p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81%; background-color: #E33235;" data-target-width="81" 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">81</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 59%; background-color: #FE9F58;" data-target-width="59" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" 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">90</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42%; background-color: #FE9F58;" data-target-width="42" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78%; background-color: #E33235;" data-target-width="78" 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">78</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.99999999999999%; background-color: #FE9F58;" data-target-width="56.99999999999999" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">57</span></div>    </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>25</span><span>50</span><span>75</span><span>100</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Total War: Warhammer 3 (1080p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>81 Avg FPS, 59 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>90 Avg FPS, 42 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>78 Avg FPS, 57 1% Low FPS</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">                                </div>              </div>            </div>    </div>              </div><div class="fv-slide" id="fv-chart-1779969770697-upeg5b0cl-slide-1-wrapper" data-index="1" style="display: none;">                <div id="fv-chart-1779969770697-upeg5b0cl-slide-1" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true">        <div class="fv-inner-wrapper    ">            <h3 class="fv-chart-title">Gaming performance</h3>                        <div class="fv-dropdown-wrapper">                <div class="fv-dropdown-title-container">                    <select class="fv-dropdown-title">                        <option value="0">Black Myth Wukong (1440p High)</option><option value="1">Cyberpunk 2077 (1440p RT Ultra)</option><option value="2">F1 24 (1440p Ultra High)</option><option value="3">Homeworld 3 (1440p Epic)</option><option value="4">Metro Exodus Enhanced Edition (1440p Ultra)</option><option value="5">The Talos Principle 2 (1440p Ultra)</option><option value="6">Total War: Warhammer 3 (1440p Ultra)</option>                    </select>                    <div class="fv-dropdown-chevron">                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>                    </div>                </div>            </div>            <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-Black Myth Wukong (1440p High)" data-chart-type="Bar" data-title="Black Myth Wukong (1440p High)" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 83.33333333333334%; background-color: #E33235;" data-target-width="83.33333333333334" 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">50</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.66666666666667%; background-color: #FE9F58;" data-target-width="71.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E33235;" 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">48</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71.66666666666667%; background-color: #FE9F58;" data-target-width="71.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #E33235;" data-target-width="73.33333333333333" 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">44</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61.66666666666667%; background-color: #FE9F58;" data-target-width="61.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div>    </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>15</span><span>30</span><span>45</span><span>60</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Black Myth Wukong (1440p High) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>50 Avg FPS, 43 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>48 Avg FPS, 43 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>44 Avg FPS, 37 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-Cyberpunk 2077 (1440p RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1440p RT Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.5%; background-color: #E33235;" data-target-width="82.5" 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">33</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.5%; background-color: #FE9F58;" data-target-width="62.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">25</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #E33235;" data-target-width="65" 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">26</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42.5%; background-color: #FE9F58;" data-target-width="42.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">17</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.49999999999999%; background-color: #E33235;" data-target-width="57.49999999999999" 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">23</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30%; background-color: #FE9F58;" data-target-width="30" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">12</span></div>    </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>10</span><span>20</span><span>30</span><span>40</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Cyberpunk 2077 (1440p RT Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>33 Avg FPS, 25 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>26 Avg FPS, 17 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>23 Avg FPS, 12 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-F1 24 (1440p Ultra High)" data-chart-type="Bar" data-title="F1 24 (1440p Ultra High)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 98.33333333333333%; background-color: #E33235;" data-target-width="98.33333333333333" 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">59</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.33333333333333%; background-color: #FE9F58;" data-target-width="78.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #E33235;" data-target-width="85" 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">51</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.33333333333333%; background-color: #FE9F58;" data-target-width="68.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" 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">45</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 21.666666666666668%; background-color: #FE9F58;" data-target-width="21.666666666666668" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13</span></div>    </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>15</span><span>30</span><span>45</span><span>60</span></div>                    </div>    </div>        <table class="sr-only">            <caption>F1 24 (1440p Ultra High) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>59 Avg FPS, 47 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>51 Avg FPS, 41 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>45 Avg FPS, 13 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-Homeworld 3 (1440p Epic)" data-chart-type="Bar" data-title="Homeworld 3 (1440p Epic)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 87%; background-color: #E33235;" data-target-width="87" 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">87</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42%; background-color: #FE9F58;" data-target-width="42" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" 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">75</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.99999999999999%; background-color: #FE9F58;" data-target-width="57.99999999999999" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">58</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 89%; background-color: #E33235;" data-target-width="89" 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">89</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52%; background-color: #FE9F58;" data-target-width="52" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">52</span></div>    </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>25</span><span>50</span><span>75</span><span>100</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Homeworld 3 (1440p Epic) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>87 Avg FPS, 42 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>75 Avg FPS, 58 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>89 Avg FPS, 52 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-Metro Exodus Enhanced Edition (1440p Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 93.75%; background-color: #E33235;" data-target-width="93.75" 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">75</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.25%; background-color: #FE9F58;" data-target-width="66.25" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">53</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #E33235;" data-target-width="85" 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">68</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 61.25000000000001%; background-color: #FE9F58;" data-target-width="61.25000000000001" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">49</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.75%; background-color: #E33235;" data-target-width="78.75" 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">63</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.25%; background-color: #FE9F58;" data-target-width="56.25" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">45</span></div>    </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>20</span><span>40</span><span>60</span><span>80</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Metro Exodus Enhanced Edition (1440p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>75 Avg FPS, 53 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>68 Avg FPS, 49 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>63 Avg FPS, 45 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-The Talos Principle 2 (1440p Ultra)" data-chart-type="Bar" data-title="The Talos Principle 2 (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #E33235;" data-target-width="73.33333333333333" 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">44</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50%; background-color: #FE9F58;" data-target-width="50" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.33333333333333%; background-color: #E33235;" data-target-width="78.33333333333333" 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">47</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 45%; background-color: #FE9F58;" data-target-width="45" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">27</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.33333333333333%; background-color: #E33235;" data-target-width="68.33333333333333" 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">41</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 35%; background-color: #FE9F58;" data-target-width="35" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">21</span></div>    </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>15</span><span>30</span><span>45</span><span>60</span></div>                    </div>    </div>        <table class="sr-only">            <caption>The Talos Principle 2 (1440p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>44 Avg FPS, 30 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>47 Avg FPS, 27 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>41 Avg FPS, 21 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-1-bar-Total War: Warhammer 3 (1440p Ultra)" data-chart-type="Bar" data-title="Total War: Warhammer 3 (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95%; background-color: #E33235;" data-target-width="95" 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">57</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.66666666666666%; background-color: #FE9F58;" data-target-width="66.66666666666666" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #E33235;" 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">60</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #FE9F58;" data-target-width="73.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 91.66666666666666%; background-color: #E33235;" data-target-width="91.66666666666666" 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">55</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.66666666666666%; background-color: #FE9F58;" data-target-width="66.66666666666666" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">40</span></div>    </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>15</span><span>30</span><span>45</span><span>60</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Total War: Warhammer 3 (1440p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>57 Avg FPS, 40 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>60 Avg FPS, 44 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>55 Avg FPS, 40 1% Low FPS</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">                                </div>              </div>            </div>    </div>              </div><div class="fv-slide" id="fv-chart-1779969770697-upeg5b0cl-slide-2-wrapper" data-index="2" style="display: none;">                <div id="fv-chart-1779969770697-upeg5b0cl-slide-2" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true">        <div class="fv-inner-wrapper    ">            <h3 class="fv-chart-title">Gaming performance</h3>                        <div class="fv-dropdown-wrapper">                <div class="fv-dropdown-title-container">                    <select class="fv-dropdown-title">                        <option value="0">Black Myth Wukong (1440p High + Upscaling (quality))</option><option value="1">Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))</option><option value="2">F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)</option><option value="3">Homeworld 3 (1440p Epic + upscaling (quality))</option><option value="4">The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)</option>                    </select>                    <div class="fv-dropdown-chevron">                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>                    </div>                </div>            </div>            <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-2-bar-Black Myth Wukong (1440p High + Upscaling (quality))" data-chart-type="Bar" data-title="Black Myth Wukong (1440p High + Upscaling (quality))" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 98.75%; background-color: #E33235;" data-target-width="98.75" 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">79</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #FE9F58;" data-target-width="85" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">68</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95%; background-color: #E33235;" data-target-width="95" 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">76</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85%; background-color: #FE9F58;" data-target-width="85" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">68</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 91.25%; background-color: #E33235;" data-target-width="91.25" 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">73</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 77.5%; background-color: #FE9F58;" data-target-width="77.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div>    </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>20</span><span>40</span><span>60</span><span>80</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Black Myth Wukong (1440p High + Upscaling (quality)) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>79 Avg FPS, 68 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>76 Avg FPS, 68 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>73 Avg FPS, 62 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-2-bar-Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))" data-chart-type="Bar" data-title="Cyberpunk 2077 (1440p RT Ultra + upscaling (quality))" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 93%; background-color: #E33235;" data-target-width="93" 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">93</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66%; background-color: #FE9F58;" data-target-width="66" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">66</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E33235;" 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">90</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #FE9F58;" data-target-width="60" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">60</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81%; background-color: #E33235;" data-target-width="81" 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">81</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 54%; background-color: #FE9F58;" data-target-width="54" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">54</span></div>    </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>25</span><span>50</span><span>75</span><span>100</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Cyberpunk 2077 (1440p RT Ultra + upscaling (quality)) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>93 Avg FPS, 66 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>90 Avg FPS, 60 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>81 Avg FPS, 54 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-2-bar-F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)" data-chart-type="Bar" data-title="F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 87.33333333333333%; background-color: #E33235;" data-target-width="87.33333333333333" 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">131</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 69.33333333333334%; background-color: #FE9F58;" data-target-width="69.33333333333334" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">104</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97.33333333333334%; background-color: #E33235;" data-target-width="97.33333333333334" 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">146</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 81.33333333333333%; background-color: #FE9F58;" data-target-width="81.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">122</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 67.33333333333333%; background-color: #E33235;" data-target-width="67.33333333333333" 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">101</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 7.333333333333333%; background-color: #FE9F58;" data-target-width="7.333333333333333" data-target-margin="0">            </div><span class="fv-bar-value-outside">11</span></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>    </div>        <table class="sr-only">            <caption>F1 24 (1440p Ultra high +upscsaling (Quality), 2x FG) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>131 Avg FPS, 104 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>146 Avg FPS, 122 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>101 Avg FPS, 11 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-2-bar-Homeworld 3 (1440p Epic + upscaling (quality))" data-chart-type="Bar" data-title="Homeworld 3 (1440p Epic + upscaling (quality))" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.33333333333333%; background-color: #E33235;" data-target-width="75.33333333333333" 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">113</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 30.666666666666664%; background-color: #FE9F58;" data-target-width="30.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">46</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68%; background-color: #E33235;" data-target-width="68" 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">102</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 34%; background-color: #FE9F58;" data-target-width="34" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.33333333333333%; background-color: #E33235;" data-target-width="75.33333333333333" 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">113</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 40.666666666666664%; background-color: #FE9F58;" data-target-width="40.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">61</span></div>    </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>    </div>        <table class="sr-only">            <caption>Homeworld 3 (1440p Epic + upscaling (quality)) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>113 Avg FPS, 46 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>102 Avg FPS, 51 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>113 Avg FPS, 61 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779969770697-upeg5b0cl-slide-2-bar-The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)" data-chart-type="Bar" data-title="The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="RTX 5060 Ti 8 GB Palit Dual">                    <div class="fv-bar-label fv-primary-product">RTX 5060 Ti 8 GB Palit Dual</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.66666666666667%; background-color: #E33235;" data-target-width="68.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">103</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 47.333333333333336%; background-color: #FE9F58;" data-target-width="47.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">71</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RX 9060 XT 8 GB Asus Prime">                    <div class="fv-bar-label ">RX 9060 XT 8 GB Asus Prime</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84.66666666666667%; background-color: #E33235;" data-target-width="84.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">127</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52%; background-color: #FE9F58;" data-target-width="52" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">78</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="RTX 5060">                    <div class="fv-bar-label ">RTX 5060</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.00000000000001%; background-color: #E33235;" data-target-width="56.00000000000001" 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">84</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 27.333333333333332%; background-color: #FE9F58;" data-target-width="27.333333333333332" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">41</span></div>    </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>    </div>        <table class="sr-only">            <caption>The Talos Principle 2 (1440p Ultra +upscaling (quality), 2x FG) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>RTX 5060 Ti 8 GB Palit Dual</td>                <td>103 Avg FPS, 71 1% Low FPS</td>            </tr><tr>                <td>RX 9060 XT 8 GB Asus Prime</td>                <td>127 Avg FPS, 78 1% Low FPS</td>            </tr><tr>                <td>RTX 5060</td>                <td>84 Avg FPS, 41 1% Low FPS</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">                                </div>              </div>            </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() {      /*  Global animation function for slideshow re-use */      window.fvAnimateCharts = function(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                /*  Reset to 0 first to ensure animation triggers */                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                /*  Force reflow */                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); /*  Reduced initial delay */            });          }          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);              });            }            /*  Execute */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');                        charts.forEach(function(chart) {                /*  If in carousel/dropdown mode, hidden charts are display:none. */                /*  We only animate what is visible. */                if (window.getComputedStyle(chart).display === 'none') return;                                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });      };            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);                /*  In slideshow mode, 'root' will be null because the container has '-slideshow' suffix. */        /*  We handle that logic below. */        if (!root && !isSlideshow) return;                /*  Setup internal interactions (Carousel/Dropdown/LineChart) for a specific chart wrapper */        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) {                    /*  Fallback for when width isn't available yet (e.g., hidden tab) */                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    /*  Mobile if container is small OR if it's a physical mobile device (overriding fixed-width iframes) */                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        /*  Initial check */            checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        /*  Always add window resize listener as a reliable fallback for DevTools and edge cases */            window.addEventListener('resize', checkMobileView);                        /*  Labels on top handler */            var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                /*  If there are multiple charts and we're not in a carousel/dropdown, we might have mixed types. */                /*  But typically, labels-on-top is a global setting. We'll apply it initially,  */                /*  and showInternalChart will toggle it if needed. */                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 === '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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');                        var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');                                                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);            });            /*  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');                        /*  Text Elements */            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 === 'Line') {                                 /*  Line chart animations if needed */                             } else if (cType !== 'Pie') {                                 window.fvAnimateCharts(chartWrapper);                             }                                                          /*  Update labels-on-top based on current chart type */                             var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === '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;                                        /*  Update Subhead and Caption */                    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 || '';                                                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;                /*  Zoom state */                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();                    /*  Max pan depends on how much the image is scaled beyond the wrapper */                    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; /*  Prevent click after pinch */                    } 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 });                }                /*  Expand/Close Logic */                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.preventDefault(); // Removed to allow text selection */                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        /*  Load high-res images if available */                            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.preventDefault(); // Removed to allow text selection */                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                /*  Close on Escape */                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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        /*  Remove highlights */                    var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    /*  Remove min-height after transition */                    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');                        /*  Ensure container is tall enough */                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                /*  Highlight and scroll to item */                        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();                        }                    }                });            });            /*  Shop All button */            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    /*  Ensure container is tall enough */                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            /*  Close button in all products modal */            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            /*  Close modals when clicking outside */            chartWrapper.addEventListener('click', function(e) {                /*  Only close if clicking on the wrapper or container, not inside a modal content */                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 */            window.fvAnimateCharts(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 primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';                    var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';                                        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 (true) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                var slideshowContainer = document.getElementById(uniqueId + '-slideshow');        /*  Check if container exists to prevent errors */    if (slideshowContainer) {        var currentSlideIndex = 0;        var slides = slideshowContainer.querySelectorAll('.fv-slide');        var counter = slideshowContainer.querySelector('.fv-slide-counter');        var prevBtn = slideshowContainer.querySelector('.fv-nav-btn.prev');        var nextBtn = slideshowContainer.querySelector('.fv-nav-btn.next');        var dropdown = slideshowContainer.querySelector('.fv-slideshow-select');        function updateControls(index) {            if (counter) counter.textContent = (index + 1) + ' / ' + slides.length;            if (dropdown) dropdown.value = index;                        if (prevBtn) {                if (index === 0) prevBtn.classList.add('disabled');                else prevBtn.classList.remove('disabled');            }            if (nextBtn) {                if (index === slides.length - 1) nextBtn.classList.add('disabled');                else nextBtn.classList.remove('disabled');            }        }        function showSlide(index) {            if (index < 0) return; /*  index = slides.length - 1; // Disable loop for linear nav style */            if (index >= slides.length) return; /*  index = 0; */                        currentSlideIndex = index;                        slides.forEach(function(slide, i) {                slide.style.display = i === index ? 'block' : 'none';                if (i === index) {                    /*  Re-trigger animations for the active slide */                    var chartEl = slide.querySelector('.fv-chart-wrapper');                    if (chartEl && window.fvAnimateCharts) {                        window.fvAnimateCharts(chartEl);                    }                }            });                        updateControls(currentSlideIndex);        }        if (prevBtn) {            prevBtn.addEventListener('click', function() { showSlide(currentSlideIndex - 1); });        }        if (nextBtn) {            nextBtn.addEventListener('click', function() { showSlide(currentSlideIndex + 1); });        }        if (dropdown) {            dropdown.addEventListener('change', function(e) { showSlide(parseInt(e.target.value)); });        }                /*  Initial setup */        updateControls(currentSlideIndex);                /*  Initial animation for the first slide */        if (slides.length > 0) {            var firstChart = slides[0].querySelector('.fv-chart-wrapper');             if (firstChart && window.fvAnimateCharts) {                setTimeout(function() { window.fvAnimateCharts(firstChart); }, 100);            }        }    }          } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1779969770697-upeg5b0cl', true); });      } else {        initialize('fv-chart-1779969770697-upeg5b0cl', true);      }    })();      </script></div><p>When you're clearly getting so much more performance over an RTX 5060, spending $30 is a no-brainer, and I'd be happy to pay just ten bucks more over an RX 9060 XT to have access to the full DLSS suite. The RTX 5060 Ti overclocks quite nicely, too, so with a bit of time and tweaking, you'll be able to squeeze a bit more zap out of the card.</p><p>There's nothing you can do about the 8 GB VRAM limit, of course, and there are definitely cases where there is <a href="https://www.pcgamer.com/hardware/graphics-cards/my-real-world-testing-shows-8-gb-gpus-are-still-enough-for-gaming-in-2026-but-im-surprised-at-just-how-much-faster-the-16-gb-versions-are/#section-analysis" target="_blank">a noticeable gap, in terms of frame rates, between having eight and 16 gigs of video memory</a>.</p><p>What that means is that over the years of using that card, there will be an increasing number of games getting released where you'll have to turn down the graphics settings more than you would if you had 16 GB of VRAM. There's no way to avoid this, other than to pay a small fortune for a graphics card that has more memory.</p><p>We live in some strange times when an 8 GB RTX 5060 Ti is the best graphics card worth buying right now, but that's the RAMpocalypse for you.</p><h2 id="check-out-all-of-amazon-s-graphics-card-deals-here">👉<a href="https://www.amazon.com/s?k=graphics+card+for+gaming+pc" target="_blank">Check out all of Amazon's graphics card deals here</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The best OLED gaming monitor we've reviewed is at its best price with over $300 off ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="2f05879c-5208-41cf-9d99-72213e047a1a" data-action="Deal Block" data-label="MPG 321URX QD-OLED" data-dimension48="MPG 321URX QD-OLED" data-dimension25="$709.99" href="https://www.amazon.com/MSI-MPG-321URX-QD-OLED-Quantum/dp/B0CTSC3VS4/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1550px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="rGRYdica9cZ5ReMB6msZLf" name="msi_mpg_321urx_oled_gaming_monitor" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rGRYdica9cZ5ReMB6msZLf-1920-80.jpg" mos="" align="middle" fullscreen="" width="1550" height="1550" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/MSI-MPG-321URX-QD-OLED-Quantum/dp/B0CTSC3VS4/" target="_blank" rel="nofollow" data-dimension112="2f05879c-5208-41cf-9d99-72213e047a1a" data-action="Deal Block" data-label="MPG 321URX QD-OLED" data-dimension48="MPG 321URX QD-OLED" data-dimension25="$709.99">MPG 321URX QD-OLED: was $1049.99 now $709.99</a></strong><br>Big, bold, and beautiful. MSI's MPG 321URX isn't just some expensive monitor for gaming; it's a genuinely fantastic display that's great for work and play. If you want to step up into the world of 4K OLED, stop right here and just buy this screen. We don't rate this the <a href="https://www.pcgamer.com/best-gaming-monitor/" target="_blank">best gaming monitor</a> for nothing, you know. Click the coupon button to get the full discount. </p><p><strong>Key specs: 32-inch | 4K | 240 Hz | 0.03 ms | QD-OLED</strong></p><p><strong>Price check:</strong> <a href="https://www.newegg.com/msi-mpg-321urx-qd-oled-32-uhd-240-hz/p/N82E16824475357" target="_blank">Newegg $709.99 with code</a><a class="view-deal button" href="https://www.amazon.com/MSI-MPG-321URX-QD-OLED-Quantum/dp/B0CTSC3VS4/" target="_blank" rel="nofollow" data-dimension112="2f05879c-5208-41cf-9d99-72213e047a1a" data-action="Deal Block" data-label="MPG 321URX QD-OLED" data-dimension48="MPG 321URX QD-OLED" data-dimension25="$709.99">View Deal</a></p></div><p>We here at PC Gamer have tested very, very many gaming monitors over the years, and yet the <a href="https://www.pcgamer.com/hardware/gaming-monitors/msi-mpg321urx-review/" target="_blank">MSI MPG 321URX</a> sits head and shoulders above every other one. It is our pick for the <a href="https://www.pcgamer.com/best-gaming-monitor/#section-best-gaming-monitor" target="_blank">best gaming monitor</a>, after all. A 240 Hz 4K OLED panel that looks excellent and plays incredibly well, it's well worth its pretty big asking fee. </p><p>Luckily, if you're on the hunt for a deal, it is now at its lowest ever price over at Amazon, thanks to a coupon. By clicking the coupon button before adding to your basket, <a href="https://www.amazon.com/MSI-MPG-321URX-QD-OLED-Quantum/dp/B0CTSC3VS4/" target="_blank">you can get it for $710</a>. That's still a hefty fee, but you can't argue that you aren't getting a truly excellent panel in return. </p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>It may be hard to believe, but the <a href="https://www.pcgamer.com/hardware/gaming-monitors/msi-mpg321urx-review/" target="_blank">MSI MPG321URX</a> at full price is cheaper than its direct competition, and despite that, it looks absolutely lovely. We reviewed it in May 2024, and yet no company has managed to dethrone it in our list, and that's because it truly offers an excellent experience for the price. 4K is a bit much for some graphics cards, but if you have the rig to run it, it's hard to go wrong with the 321URX.</p><p>Its QD-OLED is absolutely lush, as is the norm for QD-OLED panels. I've been saying this for practically a year now, but the upgrade from IPS to OLED is arguably one of the biggest I've ever made, when it comes to day-to-day gaming. They offer true blacks and vibrant colours, making games absolutely pop. </p><p>At 32 inches, it's decently sizable and comes with a killer 0.03 ms response time and 240 Hz refresh rate. That means it not only looks incredible but offers near competitive-level play, should you want it. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/5X5AnhPPDatQpwZEf8ggZP-1920-80.jpg" alt="MSI MPG321URX" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GTytgJ83TbDACYuLq7SJrT-1920-80.jpg" alt="MSI MPG321URX" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/8ZVc3H6j7GnxkT8ivgWis-1920-80.jpg" alt="MSI MPG321URX" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NQ2S9Dqg2XQhhpoGg8Jn3k-1920-80.jpg" alt="MSI MPG321URX" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>As is common with OLED monitors, the 250 nits peak brightness is a bit on the low side, so it may struggle in front of a window. Still, outside of that application, you shouldn't have much of a problem with its brightness. </p><p>One thing we did notice here is that, like all OLEDs, HDR is a struggle. The DisplayHDR 400 mode works well for bright games with outdoor scenes, but the 1,000 nit mode works best in darker scenes with bright highlights. Unfortunately, being caught between two separate modes is a tad awkward, as you don't really want to swap between them as you play.</p><p>Generally, we'd advise the DisplayHDR 400 mode, but bright details can suffer from bloom and compression here, which removes some detail. Oh, and it's maybe worth noting that MSI's big OLED can use up to 270 W of power, so it can really heat up your gaming den.</p><p>Still, those are only slight quirks on an otherwise truly fantastic panel, and our favourite of the last few years. If you are in search of an OLED panel and can handle 4K gaming, it's not just a good choice, but <em>the </em>choice, in our book. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-monitors/the-best-oled-gaming-monitor-weve-reviewed-is-at-its-best-price-with-over-usd300-off/</link>
                                                                            <description>
                            <![CDATA[ You just need to tick the coupon button before adding to the basket. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">3CLCp8YbKi47DjucGH3ud</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/VCYoj2aKANJjNz93nj5HVJ-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 27 May 2026 12:18:54 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Monitors]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&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/VCYoj2aKANJjNz93nj5HVJ-1920-80.jpg">
                                                            <media:credit><![CDATA[MSI]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[MSI MPG 321URX on a pink deals background]]></media:description>                                                            <media:text><![CDATA[MSI MPG 321URX on a pink deals background]]></media:text>
                                <media:title type="plain"><![CDATA[MSI MPG 321URX on a pink deals background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/VCYoj2aKANJjNz93nj5HVJ-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="2f05879c-5208-41cf-9d99-72213e047a1a" data-action="Deal Block" data-label="MPG 321URX QD-OLED" data-dimension48="MPG 321URX QD-OLED" data-dimension25="$709.99" href="https://www.amazon.com/MSI-MPG-321URX-QD-OLED-Quantum/dp/B0CTSC3VS4/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1550px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="rGRYdica9cZ5ReMB6msZLf" name="msi_mpg_321urx_oled_gaming_monitor" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rGRYdica9cZ5ReMB6msZLf-1920-80.jpg" mos="" align="middle" fullscreen="" width="1550" height="1550" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/MSI-MPG-321URX-QD-OLED-Quantum/dp/B0CTSC3VS4/" target="_blank" rel="nofollow" data-dimension112="2f05879c-5208-41cf-9d99-72213e047a1a" data-action="Deal Block" data-label="MPG 321URX QD-OLED" data-dimension48="MPG 321URX QD-OLED" data-dimension25="$709.99">MPG 321URX QD-OLED: was $1049.99 now $709.99</a></strong><br>Big, bold, and beautiful. MSI's MPG 321URX isn't just some expensive monitor for gaming; it's a genuinely fantastic display that's great for work and play. If you want to step up into the world of 4K OLED, stop right here and just buy this screen. We don't rate this the <a href="https://www.pcgamer.com/best-gaming-monitor/" target="_blank">best gaming monitor</a> for nothing, you know. Click the coupon button to get the full discount. </p><p><strong>Key specs: 32-inch | 4K | 240 Hz | 0.03 ms | QD-OLED</strong></p><p><strong>Price check:</strong> <a href="https://www.newegg.com/msi-mpg-321urx-qd-oled-32-uhd-240-hz/p/N82E16824475357" target="_blank">Newegg $709.99 with code</a><a class="view-deal button" href="https://www.amazon.com/MSI-MPG-321URX-QD-OLED-Quantum/dp/B0CTSC3VS4/" target="_blank" rel="nofollow" data-dimension112="2f05879c-5208-41cf-9d99-72213e047a1a" data-action="Deal Block" data-label="MPG 321URX QD-OLED" data-dimension48="MPG 321URX QD-OLED" data-dimension25="$709.99">View Deal</a></p></div><p>We here at PC Gamer have tested very, very many gaming monitors over the years, and yet the <a href="https://www.pcgamer.com/hardware/gaming-monitors/msi-mpg321urx-review/" target="_blank">MSI MPG 321URX</a> sits head and shoulders above every other one. It is our pick for the <a href="https://www.pcgamer.com/best-gaming-monitor/#section-best-gaming-monitor" target="_blank">best gaming monitor</a>, after all. A 240 Hz 4K OLED panel that looks excellent and plays incredibly well, it's well worth its pretty big asking fee. </p><p>Luckily, if you're on the hunt for a deal, it is now at its lowest ever price over at Amazon, thanks to a coupon. By clicking the coupon button before adding to your basket, <a href="https://www.amazon.com/MSI-MPG-321URX-QD-OLED-Quantum/dp/B0CTSC3VS4/" target="_blank">you can get it for $710</a>. That's still a hefty fee, but you can't argue that you aren't getting a truly excellent panel in return. </p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>It may be hard to believe, but the <a href="https://www.pcgamer.com/hardware/gaming-monitors/msi-mpg321urx-review/" target="_blank">MSI MPG321URX</a> at full price is cheaper than its direct competition, and despite that, it looks absolutely lovely. We reviewed it in May 2024, and yet no company has managed to dethrone it in our list, and that's because it truly offers an excellent experience for the price. 4K is a bit much for some graphics cards, but if you have the rig to run it, it's hard to go wrong with the 321URX.</p><p>Its QD-OLED is absolutely lush, as is the norm for QD-OLED panels. I've been saying this for practically a year now, but the upgrade from IPS to OLED is arguably one of the biggest I've ever made, when it comes to day-to-day gaming. They offer true blacks and vibrant colours, making games absolutely pop. </p><p>At 32 inches, it's decently sizable and comes with a killer 0.03 ms response time and 240 Hz refresh rate. That means it not only looks incredible but offers near competitive-level play, should you want it. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/5X5AnhPPDatQpwZEf8ggZP-1920-80.jpg" alt="MSI MPG321URX" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GTytgJ83TbDACYuLq7SJrT-1920-80.jpg" alt="MSI MPG321URX" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/8ZVc3H6j7GnxkT8ivgWis-1920-80.jpg" alt="MSI MPG321URX" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NQ2S9Dqg2XQhhpoGg8Jn3k-1920-80.jpg" alt="MSI MPG321URX" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>As is common with OLED monitors, the 250 nits peak brightness is a bit on the low side, so it may struggle in front of a window. Still, outside of that application, you shouldn't have much of a problem with its brightness. </p><p>One thing we did notice here is that, like all OLEDs, HDR is a struggle. The DisplayHDR 400 mode works well for bright games with outdoor scenes, but the 1,000 nit mode works best in darker scenes with bright highlights. Unfortunately, being caught between two separate modes is a tad awkward, as you don't really want to swap between them as you play.</p><p>Generally, we'd advise the DisplayHDR 400 mode, but bright details can suffer from bloom and compression here, which removes some detail. Oh, and it's maybe worth noting that MSI's big OLED can use up to 270 W of power, so it can really heat up your gaming den.</p><p>Still, those are only slight quirks on an otherwise truly fantastic panel, and our favourite of the last few years. If you are in search of an OLED panel and can handle 4K gaming, it's not just a good choice, but <em>the </em>choice, in our book. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ For the next week get an Amazon gift card worth up to $30 when you subscribe to Surfshark VPN ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="a9bb5917-72ce-471f-a535-57c826c7cbff" data-action="Deal Block" data-label="Two-year sub + three months extra + up to $30 Amazon gift card" data-dimension48="Two-year sub + three months extra + up to $30 Amazon gift card" data-dimension25="$1.99" href="https://get.surfshark.net/aff_c?offer_id=61&aff_id=1691&url_id=2581" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:770px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="zxYTPQnwJWX4UgGFjeEf2C" name="New Project (7)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/zxYTPQnwJWX4UgGFjeEf2C-1920-80.jpg" mos="" align="middle" fullscreen="" width="770" height="770" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://get.surfshark.net/aff_c?offer_id=61&aff_id=1691&url_id=2581" target="_blank" rel="nofollow" data-dimension112="a9bb5917-72ce-471f-a535-57c826c7cbff" data-action="Deal Block" data-label="Two-year sub + three months extra + up to $30 Amazon gift card" data-dimension48="Two-year sub + three months extra + up to $30 Amazon gift card" data-dimension25="$1.99">Two-year sub + three months extra + up to $30 Amazon gift card: was $6.58 now $1.99</a></strong><br>For a short time you can get an Amazon giftcard alongside your Surfshark sub, which is already incredibly cheap even adding up the whole two years of subscription payments. <strong>Deal lasts until June 2.</strong><a class="view-deal button" href="https://get.surfshark.net/aff_c?offer_id=61&aff_id=1691&url_id=2581" target="_blank" rel="nofollow" data-dimension112="a9bb5917-72ce-471f-a535-57c826c7cbff" data-action="Deal Block" data-label="Two-year sub + three months extra + up to $30 Amazon gift card" data-dimension48="Two-year sub + three months extra + up to $30 Amazon gift card" data-dimension25="$1.99">View Deal</a></p></div><p>I spent a ton of time testing the <a href="https://www.pcgamer.com/best-vpn-for-pc-gaming/" target="_blank">best VPNs for PC gaming</a> last month, and Surfshark came out on top for budget value by quite a margin. And while it's not the absolute fastest out there, I was surprised to find it's only ever so slightly behind the fastest ones. So until June 2, while the company is offering up to a <a href="https://get.surfshark.net/aff_c?offer_id=61&aff_id=1691&url_id=2581" target="_blank">$30 Amazon voucher with a 2-year sub</a> that itself costs just $2–$4.19 per month (depending on your plan), it's definitely worth considering if you're looking to up your privacy online. </p><p>To get the gift card, you need the two-year subscription, and you can then collect the coupon on the 31st day of the VPN subscription via the web app. To get the full $30 voucher, you need to get the $4.19 One+ sub, and you get a $20 voucher for the $2.49 One sub, and a $10 voucher for the $1.99 Starter sub. For my money, I'd be getting the One subscription with the $20 voucher.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>The voucher only expires after ten years, so there's absolutely no rush to use it. You're also eligible for the offer if you renew your subscription during the next week, if you already have one, so it's not just for VPN newbies.</p><p>There are some reasons why you might want to use a VPN specifically for gaming—mainly if your ISP throttles bandwidth for gaming or has poor routing to game servers—but primarily, I'd say having a VPN is beneficial for everything else you use your PC for, such as general browsing, streaming and so on. </p><div id="crow-inpage-content"><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');        /* Reset & Base */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper *, #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper *:before, #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper *:after, #fv-chart-1777388404907-3j17eyssr-slideshow *, #fv-chart-1777388404907-3j17eyssr-slideshow *:before, #fv-chart-1777388404907-3j17eyssr-slideshow *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper, #fv-chart-1777388404907-3j17eyssr-slideshow { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper {        position: relative !important; overflow: visible !important;        --riv-primary: #E33235;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ededed !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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-inner-wrapper.fv-no-header.fv-is-image-compare {        padding-top: 0 !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.fv-full-bleed {                width: 100vw !important;        margin-left: calc(50% - 50vw) !important;            }        body {        overflow-x: clip !important;    }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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;    }            /* Slideshow Styles */    #fv-chart-1777388404907-3j17eyssr-slideshow {        position: relative !important;        width: 100% !important;        margin: 1rem 0 !important;        --riv-primary: #E33235;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-slides-wrapper {        position: relative !important;        width: 100% !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-slide {        width: 100% !important;        animation: fv-fade-in 0.3s ease-in-out;    }      @keyframes fv-fade-in {        from { opacity: 0; }        to { opacity: 1; }    }        /* Top Navigation Row (Redesign) */    #fv-chart-1777388404907-3j17eyssr-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-1777388404907-3j17eyssr-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-1777388404907-3j17eyssr-slideshow .fv-nav-btn svg {        width: 18px !important;        height: 18px !important;        stroke-width: 3px !important;        filter: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-nav-btn:hover {        opacity: 0.9 !important;        transform: translateY(-1px) !important;    }        #fv-chart-1777388404907-3j17eyssr-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-1777388404907-3j17eyssr-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;    }        /* Slideshow Dropdown Navigation */    #fv-chart-1777388404907-3j17eyssr-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-1777388404907-3j17eyssr-slideshow .fv-slideshow-select:focus {        outline: 2px solid #E33235 !important;        border-color: #E33235 !important;    }        /* Typography */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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; }    /* Versus Chart */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper { flex: 1; min-width: 0; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-inside-left { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-inside-right { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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; }    /* Image Comparison Styles */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-container {        width: auto !important;        margin-left: -1.5rem !important;        margin-right: -1.5rem !important;        margin-bottom: 2rem !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.fv-full-bleed .fv-image-compare-container {        width: 100% !important;        max-width: none !important;        margin: 0 auto !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper {        position: relative !important;        width: 100% !important;        overflow: hidden !important;        border-radius: 0 !important;        background-color: #000 !important;        touch-action: pan-y !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-inner {        position: relative !important;        width: 100% !important;        height: 100% !important;        display: block !important;        transform-origin: center center !important;        transition: transform 0.1s ease-out !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-bg {        display: block !important;        width: 100% !important;        height: auto !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-fg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        width: 100% !important;        height: 100% !important;        object-fit: cover !important;        clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-slider {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 32px !important;        transform: translateX(-50%) !important;        cursor: ew-resize !important;        z-index: 10 !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-slider-line {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 4px !important;        background-color: white !important;        transform: translateX(-50%) !important;        box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;        pointer-events: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-handle {        position: absolute !important;        top: 50% !important;        left: 50% !important;        transform: translate(-50%, -50%) !important;        width: 32px !important;        height: 32px !important;        background-color: white !important;        border-radius: 50% !important;        box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        gap: 4px !important;        pointer-events: none !important;        z-index: 11 !important;        overflow: hidden !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-handle.fv-image-compare-handle-square {        border-radius: 6px !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-arrow-left {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-right: 4px solid #4b5563 !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-arrow-right {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-left: 4px solid #4b5563 !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-label {        position: absolute !important;        top: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        padding: 0.25rem 0.75rem !important;        border-radius: 0.25rem !important;        font-size: 0.875rem !important;        font-weight: 500 !important;        pointer-events: none !important;        backdrop-filter: blur(4px) !important;        z-index: 5 !important;        transition: right 0.3s ease, opacity 0.2s ease !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-label-left {        left: 1rem !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-label-right {        right: 1rem !important;    }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-expand-btn,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-close-btn {        position: absolute !important;        bottom: 1rem !important;        right: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        border: none !important;        border-radius: 0.25rem !important;        padding: 0.5rem !important;        cursor: pointer !important;        z-index: 20 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        backdrop-filter: blur(4px) !important;        transition: background-color 0.2s !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-expand-btn:hover,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-close-btn:hover {        background-color: rgba(0, 0, 0, 0.7) !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-close-btn {        display: none !important;        top: 1rem !important;        bottom: auto !important;    }    /* Fullscreen State */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen {        position: fixed !important;        top: 0 !important;        left: 0 !important;        right: 0 !important;        bottom: 0 !important;        width: 100% !important;        height: 100% !important;        z-index: 999999 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        background-color: rgba(0, 0, 0, 0.9) !important;        margin: 0 !important;        touch-action: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner {        width: 100% !important;        height: 100% !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        cursor: grab !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active {        cursor: grabbing !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg {        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn {        display: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn {        display: flex !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right {        right: 4rem !important;    }    /* Footer */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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;    }    /* Display Mode Controls */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-dropdown-title:focus { outline: none !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-dropdown-title::-ms-expand { display: none !important; }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Multi-Value Legend */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-row, #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Multi-Value Bar Logic */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }        /* Stacked Bar */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }    /* Grouped Bar */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Shop The Look */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; transition: min-height 0.3s ease !important; overflow: hidden !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.fv-full-bleed .fv-stl-container { width: 100% !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.fv-full-bleed .fv-stl-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn { 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), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 300ms !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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn:hover { transform: scale(1.1) !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn:focus { outline: 2px solid transparent !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #000000 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn[aria-expanded="true"] { background-color: #3b82f6 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-pulse { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-stl-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; }    @keyframes fv-stl-ping { 75%, 100% { transform: scale(2); opacity: 0; } }    @media (max-width: 640px) {        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-pulse { animation-fill-mode: none !important; }    }    /* Shop the look button */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; height: 2.5rem !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; color: #111827 !important; padding: 0 1rem 0 3rem !important; border-radius: 0.25rem !important; font-weight: 700 !important; font-size: 0.875rem !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; z-index: 10 !important; display: flex !important; align-items: center !important; text-transform: uppercase !important; overflow: hidden !important; white-space: nowrap !important; max-width: calc(100% - 2rem) !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn:hover { background-color: #ffffff !important; transform: scale(1.05) !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-shop-all-logo { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; object-fit: cover !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; flex-shrink: 0 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; color: #1f2937 !important; flex-shrink: 0 !important; }    /* All Products Modal */    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr { position: fixed !important; inset: 0 !important; background-color: rgba(0, 0, 0, 0) !important; backdrop-filter: blur(0px) !important; -webkit-backdrop-filter: blur(0px) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 99999 !important; pointer-events: none !important; transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease !important; padding: 1rem !important; overflow: hidden !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr { position: absolute !important; padding: 0 !important; align-items: flex-end !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.is-active { background-color: rgba(0, 0, 0, 0.2) !important; backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; pointer-events: auto !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-content { width: 100% !important; max-width: 42rem !important; max-height: 100% !important; display: flex !important; flex-direction: column !important; position: relative !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-radius: 1rem !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important; opacity: 0 !important; transform: scale(0.95) !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.is-active .fv-stl-all-products-content { opacity: 1 !important; transform: scale(1) !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.is-active .fv-stl-all-products-content { transform: translateY(0) !important; }        /* V2 Bottom Sheet Style */    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.v2 { align-items: flex-end !important; padding: 0 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.v2:not(.mobile-view *) { justify-content: flex-end !important; }    }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.v2 .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.v2:not(.mobile-view *) .fv-stl-all-products-content { max-width: 700px !important; border-radius: 1.5rem 0 0 0 !important; }    }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.v2.is-active .fv-stl-all-products-content { transform: translateY(0) !important; opacity: 1 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1rem 1.5rem !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; position: sticky !important; top: 0 !important; background-color: rgba(255, 255, 255, 0.5) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; z-index: 10 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-close { width: 2rem !important; height: 2rem !important; border-radius: 9999px !important; background-color: rgba(0, 0, 0, 0.05) !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; cursor: pointer !important; z-index: 10 !important; color: #6b7280 !important; transition: all 0.2s !important; padding: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-close:hover { background-color: rgba(0, 0, 0, 0.1) !important; color: #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-list { list-style: none !important; padding: 0.75rem !important; margin: 0 !important; overflow-y: auto !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 0.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-item { margin: 0 !important; padding: 0.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-link { display: flex !important; align-items: flex-start !important; padding: 0.75rem !important; text-decoration: none !important; color: inherit !important; transition: all 0.2s !important; border-radius: 1rem !important; border: 1px solid transparent !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-link:hover { background-color: #ffffff !important; border-color: #e5e7eb !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-item.is-highlighted .fv-stl-all-products-link { background-color: #ffffff !important; border-color: #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-image-container { position: relative !important; margin-right: 1.25rem !important; flex-shrink: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-number { position: absolute !important; top: -0.5rem !important; left: -0.5rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; background-color: #0f172a !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.75rem !important; font-weight: 700 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #ffffff !important; z-index: 10 !important; font-family: sans-serif !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-image-wrapper { width: 6rem !important; height: 6rem !important; border-radius: 0.75rem !important; overflow: hidden !important; background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.02) !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-placeholder { width: 2rem !important; height: 2rem !important; color: #d1d5db !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; margin-top: 0.25rem !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-brand { font-size: 0.625rem !important; font-weight: 700 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin: 0 0 0.375rem 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-name { font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 0.375rem 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.25 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-meta { display: flex !important; align-items: center !important; font-size: 0.875rem !important; margin-bottom: 0.375rem !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-price { font-weight: 700 !important; color: #111827 !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-sale-price { font-weight: 700 !important; color: #dc2626 !important; margin-right: 0.5rem !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-original-price { color: #9ca3af !important; text-decoration: line-through !important; font-size: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-commentary { font-size: 0.875rem !important; color: #4b5563 !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.375 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-action { width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important; background-color: #f9fafb !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; margin-left: 1rem !important; flex-shrink: 0 !important; border: 1px solid #f3f4f6 !important; transition: all 0.2s !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-link:hover .fv-stl-all-products-action { background-color: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }    /* Mobile / Forced Mobile View / Labels on Top */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-pie-container,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-pie-container {        flex-direction: column !important; gap: 1rem !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title-wrapper,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-stacked-product,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-bar-product,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-stacked-product,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-bar-product {        flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label:not(.fv-grouped-product-title),    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-label,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-bar-container,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-bar-cluster,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-container,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-cluster {        width: 100% !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-wrapper,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-wrapper {        margin-left: 0 !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-label-space,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-label-space {        display: none !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-chart-space,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-chart-space {        padding-right: 0 !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-benchmark-title,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-benchmark-title {        font-size: 16px !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-dropdown-title,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-dropdown-title {        font-size: 16px !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-carousel-nav-btn,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-carousel-nav-btn {        padding: 8px 12px !important; font-size: 14px !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-chart-title,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-title {        padding: 0 8px !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-chart-subhead,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-subhead {        padding: 0 8px !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-header,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-header {        flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper {        flex: 1 !important; min-width: 0 !important; width: 100% !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-left,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-left {        text-align: center !important; padding-right: 0 !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-right,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-right {        text-align: center !important; padding-left: 0 !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-left,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-left {        text-align: center !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-right,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-right {        text-align: center !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-vs,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-vs {        text-align: center !important; padding: 0.25rem 0 !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-container,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-container {        max-width: 100% !important; width: 100% !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select {        font-size: 14px !important; width: 100% !important;    }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view.fv-contains-line-chart .fv-footer-content {        margin-left: -1rem !important;        margin-right: -1rem !important;    }    @media (max-width: 599px) {         #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-pie-container {            flex-direction: column !important; gap: 1rem !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-row,        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stacked-product,        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-grouped-bar-product {            flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-label,        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-container,        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-cluster {            width: 100% !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-wrapper {            margin-left: 0 !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-label-space {            display: none !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-chart-space {            padding-right: 0 !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-benchmark-title {            font-size: 16px !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-dropdown-title {            font-size: 16px !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-carousel-nav-btn {            padding: 8px 12px !important; font-size: 14px !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-chart-title {            padding: 0 8px !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-chart-subhead {            padding: 0 8px !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-header {            flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper {            flex: 1 !important; min-width: 0 !important; width: 100% !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left {            text-align: center !important; padding-right: 0 !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right {            text-align: center !important; padding-left: 0 !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left {            text-align: center !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right {            text-align: center !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-vs {            text-align: center !important; padding: 0.25rem 0 !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-container {            max-width: 100% !important; width: 100% !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select {            font-size: 14px !important; width: 100% !important;        }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.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": "VPN performance comparison",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-04-28T15:00:04.908Z",  "citation": "Average ping in CS2 Deathmatch games in the same country (UK) and connected to the same game server, with data collected over multiple runs.",  "keywords": [    "No VPN",    "NordVPN",    "Windscribe",    "Surfshark",    "Mullvad",    "Proton",    "ExpressVPN",    "Local ping (Counter-Strike 2)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "ExpressVPN – Local ping (Counter-Strike 2)",      "value": 12.22,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Mullvad – Local ping (Counter-Strike 2)",      "value": 12.55,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "No VPN – Local ping (Counter-Strike 2)",      "value": 12.58,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "NordVPN – Local ping (Counter-Strike 2)",      "value": 12.73,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Proton – Local ping (Counter-Strike 2)",      "value": 13.8,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Surfshark – Local ping (Counter-Strike 2)",      "value": 13.54,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Windscribe – Local ping (Counter-Strike 2)",      "value": 12.34,      "unitText": "Ping (ms)"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "VPN performance comparison",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-04-28T15:00:04.908Z",  "citation": "Average jitter as measured over multiple runs on speed.cloudflare.com",  "keywords": [    "No VPN",    "NordVPN",    "Windscribe",    "Surfshark",    "Mullvad",    "Proton",    "ExpressVPN",    "Jitter (Cloudflare speed test)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "ExpressVPN – Jitter (Cloudflare speed test)",      "value": 12.07,      "unitText": "Jitter (ms)"    },    {      "@type": "PropertyValue",      "name": "Mullvad – Jitter (Cloudflare speed test)",      "value": 12.4,      "unitText": "Jitter (ms)"    },    {      "@type": "PropertyValue",      "name": "No VPN – Jitter (Cloudflare speed test)",      "value": 10.66,      "unitText": "Jitter (ms)"    },    {      "@type": "PropertyValue",      "name": "NordVPN – Jitter (Cloudflare speed test)",      "value": 14.06,      "unitText": "Jitter (ms)"    },    {      "@type": "PropertyValue",      "name": "Proton – Jitter (Cloudflare speed test)",      "value": 20.7,      "unitText": "Jitter (ms)"    },    {      "@type": "PropertyValue",      "name": "Surfshark – Jitter (Cloudflare speed test)",      "value": 12.37,      "unitText": "Jitter (ms)"    },    {      "@type": "PropertyValue",      "name": "Windscribe – Jitter (Cloudflare speed test)",      "value": 12.9,      "unitText": "Jitter (ms)"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "VPN performance comparison",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-04-28T15:00:04.908Z",  "citation": "Time taken (in seconds) to download the same 15.3 GB on Steam, connected to the same Steam download server.",  "keywords": [    "No VPN",    "NordVPN",    "Windscribe",    "Surfshark",    "Mullvad",    "Proton",    "ExpressVPN",    "Download time (15.3 GB, Team Fortress 2 on Steam)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "ExpressVPN – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 287,      "unitText": "Time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Mullvad – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 276,      "unitText": "Time (seconds)"    },    {      "@type": "PropertyValue",      "name": "No VPN – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 271,      "unitText": "Time (seconds)"    },    {      "@type": "PropertyValue",      "name": "NordVPN – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 275,      "unitText": "Time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Proton – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 275,      "unitText": "Time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Surfshark – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 276,      "unitText": "Time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Windscribe – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 276,      "unitText": "Time (seconds)"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "VPN performance comparison",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-04-28T15:00:04.908Z",  "citation": "Ping in CS2 Deathmatch games in a different country (USA) and connected to the same game server.",  "keywords": [    "NordVPN",    "Windscribe",    "Surfshark",    "Mullvad",    "Proton",    "ExpressVPN",    "Distance ping (Counter-Strike 2)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "ExpressVPN – Distance ping (Counter-Strike 2)",      "value": 85.79,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Mullvad – Distance ping (Counter-Strike 2)",      "value": 87.69,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "NordVPN – Distance ping (Counter-Strike 2)",      "value": 85.13,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Proton – Distance ping (Counter-Strike 2)",      "value": 86.93,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Surfshark – Distance ping (Counter-Strike 2)",      "value": 86.58,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Windscribe – Distance ping (Counter-Strike 2)",      "value": 86.19,      "unitText": "Ping (ms)"    }  ]}]</script>        <div id="fv-chart-1777388404907-3j17eyssr-slideshow" class="fv-slideshow-container" data-slide-count="4" data-iframe-height="true">                            <div class="fv-slideshow-nav-row">                    <button class="fv-nav-btn prev disabled" aria-label="Previous Slide">                        <svg width="16" height="16" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"></path></svg>                        <span>Previous</span>                    </button>                    <div class="fv-slide-counter">1 / 4</div>                    <button class="fv-nav-btn next" aria-label="Next Slide">                        <span>Next</span>                        <svg width="16" height="16" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"></path></svg>                    </button>                </div>                          <div class="fv-slides-wrapper">                <div class="fv-slide" id="fv-chart-1777388404907-3j17eyssr-slide-0-wrapper" data-index="0" style="display: block;">                <div id="fv-chart-1777388404907-3j17eyssr-slide-0" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true">        <div class="fv-inner-wrapper   ">            <h3 class="fv-chart-title">VPN performance comparison</h3>                                    <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1777388404907-3j17eyssr-slide-0-bar-Local ping (Counter-Strike 2)" data-chart-type="Bar" data-title="Local ping (Counter-Strike 2)" data-subhead="" data-caption="Average ping in CS2 Deathmatch games in the same country (UK) and connected to the same game server, with data collected over multiple runs." style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Local ping (Counter-Strike 2)</h4><div class="fv-bar-row" title="No VPN - Local ping (Counter-Strike 2): 12.58 Ping (ms)">                    <div class="fv-bar-label fv-primary-product">No VPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 83.86666666666667%; background-color: #1CA9C4;" data-target-width="83.86666666666667">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">12.58</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="NordVPN - Local ping (Counter-Strike 2): 12.73 Ping (ms)">                    <div class="fv-bar-label ">NordVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 84.86666666666667%; background-color: #EB6F71;" data-target-width="84.86666666666667">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">12.73</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Windscribe - Local ping (Counter-Strike 2): 12.34 Ping (ms)">                    <div class="fv-bar-label ">Windscribe</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 82.26666666666667%; background-color: #B5282A;" data-target-width="82.26666666666667">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">12.34</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Surfshark - Local ping (Counter-Strike 2): 13.54 Ping (ms)">                    <div class="fv-bar-label ">Surfshark</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 90.26666666666667%; background-color: #66C5D7;" data-target-width="90.26666666666667">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">13.54</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Mullvad - Local ping (Counter-Strike 2): 12.55 Ping (ms)">                    <div class="fv-bar-label ">Mullvad</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 83.66666666666667%; background-color: #FE9F58;" data-target-width="83.66666666666667">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">12.55</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Proton - Local ping (Counter-Strike 2): 13.8 Ping (ms)">                    <div class="fv-bar-label ">Proton</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 92%; background-color: #FFC08B;" data-target-width="92">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">13.8</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="ExpressVPN - Local ping (Counter-Strike 2): 12.22 Ping (ms)">                    <div class="fv-bar-label ">ExpressVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 81.46666666666668%; background-color: #E33235;" data-target-width="81.46666666666668">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">12.22</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>3.75</span><span>7.5</span><span>11.25</span><span>15</span></div>            <div class="fv-x-axis-unit">Ping (ms)</div>        </div>    </div>        <table class="sr-only">            <caption>Local ping (Counter-Strike 2) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>No VPN</td>                <td>12.58</td>            </tr><tr>                <td>NordVPN</td>                <td>12.73</td>            </tr><tr>                <td>Windscribe</td>                <td>12.34</td>            </tr><tr>                <td>Surfshark</td>                <td>13.54</td>            </tr><tr>                <td>Mullvad</td>                <td>12.55</td>            </tr><tr>                <td>Proton</td>                <td>13.8</td>            </tr><tr>                <td>ExpressVPN</td>                <td>12.22</td>            </tr></tbody>        </table></div></div></div>                              <div class="fv-bottom-bar" style="display: flex">                    <div class="fv-footer-content" style="display: block;">                <div class="rv-chart-caption">Average ping in CS2 Deathmatch games in the same country (UK) and connected to the same game server, with data collected over multiple runs.</div>            </div>        <img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">      </div>            </div>    </div>              </div><div class="fv-slide" id="fv-chart-1777388404907-3j17eyssr-slide-1-wrapper" data-index="1" style="display: none;">                <div id="fv-chart-1777388404907-3j17eyssr-slide-1" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true">        <div class="fv-inner-wrapper   ">            <h3 class="fv-chart-title">VPN performance comparison</h3>                                    <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1777388404907-3j17eyssr-slide-1-bar-Jitter (Cloudflare speed test)" data-chart-type="Bar" data-title="Jitter (Cloudflare speed test)" data-subhead="" data-caption="Average jitter as measured over multiple runs on speed.cloudflare.com" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Jitter (Cloudflare speed test)</h4><div class="fv-bar-row" title="No VPN - Jitter (Cloudflare speed test): 10.66 Jitter (ms)">                    <div class="fv-bar-label fv-primary-product">No VPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 35.53333333333333%; background-color: #1CA9C4;" data-target-width="35.53333333333333">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">10.66</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="NordVPN - Jitter (Cloudflare speed test): 14.06 Jitter (ms)">                    <div class="fv-bar-label ">NordVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 46.86666666666667%; background-color: #EB6F71;" data-target-width="46.86666666666667">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">14.06</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Windscribe - Jitter (Cloudflare speed test): 12.9 Jitter (ms)">                    <div class="fv-bar-label ">Windscribe</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 43%; background-color: #B5282A;" data-target-width="43">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">12.9</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Surfshark - Jitter (Cloudflare speed test): 12.37 Jitter (ms)">                    <div class="fv-bar-label ">Surfshark</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 41.233333333333334%; background-color: #66C5D7;" data-target-width="41.233333333333334">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">12.37</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Mullvad - Jitter (Cloudflare speed test): 12.4 Jitter (ms)">                    <div class="fv-bar-label ">Mullvad</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 41.333333333333336%; background-color: #FE9F58;" data-target-width="41.333333333333336">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">12.4</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Proton - Jitter (Cloudflare speed test): 20.7 Jitter (ms)">                    <div class="fv-bar-label ">Proton</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 69%; background-color: #FFC08B;" data-target-width="69">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">20.7</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="ExpressVPN - Jitter (Cloudflare speed test): 12.07 Jitter (ms)">                    <div class="fv-bar-label ">ExpressVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 40.233333333333334%; background-color: #E33235;" data-target-width="40.233333333333334">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">12.07</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>7.5</span><span>15</span><span>22.5</span><span>30</span></div>            <div class="fv-x-axis-unit">Jitter (ms)</div>        </div>    </div>        <table class="sr-only">            <caption>Jitter (Cloudflare speed test) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>No VPN</td>                <td>10.66</td>            </tr><tr>                <td>NordVPN</td>                <td>14.06</td>            </tr><tr>                <td>Windscribe</td>                <td>12.9</td>            </tr><tr>                <td>Surfshark</td>                <td>12.37</td>            </tr><tr>                <td>Mullvad</td>                <td>12.4</td>            </tr><tr>                <td>Proton</td>                <td>20.7</td>            </tr><tr>                <td>ExpressVPN</td>                <td>12.07</td>            </tr></tbody>        </table></div></div></div>                              <div class="fv-bottom-bar" style="display: flex">                    <div class="fv-footer-content" style="display: block;">                <div class="rv-chart-caption">Average jitter as measured over multiple runs on speed.cloudflare.com</div>            </div>        <img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">      </div>            </div>    </div>              </div><div class="fv-slide" id="fv-chart-1777388404907-3j17eyssr-slide-2-wrapper" data-index="2" style="display: none;">                <div id="fv-chart-1777388404907-3j17eyssr-slide-2" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true">        <div class="fv-inner-wrapper   ">            <h3 class="fv-chart-title">VPN performance comparison</h3>                                    <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1777388404907-3j17eyssr-slide-2-bar-Download time (15.3 GB, Team Fortress 2 on Steam)" data-chart-type="Bar" data-title="Download time (15.3 GB, Team Fortress 2 on Steam)" data-subhead="" data-caption="Time taken (in seconds) to download the same 15.3 GB on Steam, connected to the same Steam download server." style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Download time (15.3 GB, Team Fortress 2 on Steam)</h4><div class="fv-bar-row" title="No VPN - Download time (15.3 GB, Team Fortress 2 on Steam): 271 Time (seconds)">                    <div class="fv-bar-label fv-primary-product">No VPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 90.33333333333333%; background-color: #1CA9C4;" data-target-width="90.33333333333333">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">271</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="NordVPN - Download time (15.3 GB, Team Fortress 2 on Steam): 275 Time (seconds)">                    <div class="fv-bar-label ">NordVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 91.66666666666666%; background-color: #EB6F71;" data-target-width="91.66666666666666">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">275</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Windscribe - Download time (15.3 GB, Team Fortress 2 on Steam): 276 Time (seconds)">                    <div class="fv-bar-label ">Windscribe</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 92%; background-color: #B5282A;" data-target-width="92">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">276</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Surfshark - Download time (15.3 GB, Team Fortress 2 on Steam): 276 Time (seconds)">                    <div class="fv-bar-label ">Surfshark</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 92%; background-color: #66C5D7;" data-target-width="92">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">276</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Mullvad - Download time (15.3 GB, Team Fortress 2 on Steam): 276 Time (seconds)">                    <div class="fv-bar-label ">Mullvad</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 92%; background-color: #FE9F58;" data-target-width="92">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">276</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Proton - Download time (15.3 GB, Team Fortress 2 on Steam): 275 Time (seconds)">                    <div class="fv-bar-label ">Proton</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 91.66666666666666%; background-color: #FFC08B;" data-target-width="91.66666666666666">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">275</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="ExpressVPN - Download time (15.3 GB, Team Fortress 2 on Steam): 287 Time (seconds)">                    <div class="fv-bar-label ">ExpressVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 95.66666666666667%; background-color: #E33235;" data-target-width="95.66666666666667">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">287</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>75</span><span>150</span><span>225</span><span>300</span></div>            <div class="fv-x-axis-unit">Time (seconds)</div>        </div>    </div>        <table class="sr-only">            <caption>Download time (15.3 GB, Team Fortress 2 on Steam) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>No VPN</td>                <td>271</td>            </tr><tr>                <td>NordVPN</td>                <td>275</td>            </tr><tr>                <td>Windscribe</td>                <td>276</td>            </tr><tr>                <td>Surfshark</td>                <td>276</td>            </tr><tr>                <td>Mullvad</td>                <td>276</td>            </tr><tr>                <td>Proton</td>                <td>275</td>            </tr><tr>                <td>ExpressVPN</td>                <td>287</td>            </tr></tbody>        </table></div></div></div>                              <div class="fv-bottom-bar" style="display: flex">                    <div class="fv-footer-content" style="display: block;">                <div class="rv-chart-caption">Time taken (in seconds) to download the same 15.3 GB on Steam, connected to the same Steam download server.</div>            </div>        <img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">      </div>            </div>    </div>              </div><div class="fv-slide" id="fv-chart-1777388404907-3j17eyssr-slide-3-wrapper" data-index="3" style="display: none;">                <div id="fv-chart-1777388404907-3j17eyssr-slide-3" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true">        <div class="fv-inner-wrapper   ">            <h3 class="fv-chart-title">VPN performance comparison</h3>                                    <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1777388404907-3j17eyssr-slide-3-bar-Distance ping (Counter-Strike 2)" data-chart-type="Bar" data-title="Distance ping (Counter-Strike 2)" data-subhead="" data-caption="Ping in CS2 Deathmatch games in a different country (USA) and connected to the same game server." style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Distance ping (Counter-Strike 2)</h4><div class="fv-bar-row" title="NordVPN - Distance ping (Counter-Strike 2): 85.13 Ping (ms)">                    <div class="fv-bar-label ">NordVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 85.13%; background-color: #EB6F71;" data-target-width="85.13">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">85.13</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Windscribe - Distance ping (Counter-Strike 2): 86.19 Ping (ms)">                    <div class="fv-bar-label ">Windscribe</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 86.19%; background-color: #B5282A;" data-target-width="86.19">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">86.19</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Surfshark - Distance ping (Counter-Strike 2): 86.58 Ping (ms)">                    <div class="fv-bar-label ">Surfshark</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 86.58%; background-color: #66C5D7;" data-target-width="86.58">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">86.58</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Mullvad - Distance ping (Counter-Strike 2): 87.69 Ping (ms)">                    <div class="fv-bar-label ">Mullvad</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 87.69%; background-color: #FE9F58;" data-target-width="87.69">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">87.69</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Proton - Distance ping (Counter-Strike 2): 86.93 Ping (ms)">                    <div class="fv-bar-label ">Proton</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 86.93%; background-color: #FFC08B;" data-target-width="86.93">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">86.93</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="ExpressVPN - Distance ping (Counter-Strike 2): 85.79 Ping (ms)">                    <div class="fv-bar-label ">ExpressVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 85.79%; background-color: #E33235;" data-target-width="85.79">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">85.79</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>25</span><span>50</span><span>75</span><span>100</span></div>            <div class="fv-x-axis-unit">Ping (ms)</div>        </div>    </div>        <table class="sr-only">            <caption>Distance ping (Counter-Strike 2) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>NordVPN</td>                <td>85.13</td>            </tr><tr>                <td>Windscribe</td>                <td>86.19</td>            </tr><tr>                <td>Surfshark</td>                <td>86.58</td>            </tr><tr>                <td>Mullvad</td>                <td>87.69</td>            </tr><tr>                <td>Proton</td>                <td>86.93</td>            </tr><tr>                <td>ExpressVPN</td>                <td>85.79</td>            </tr></tbody>        </table></div></div></div>                              <div class="fv-bottom-bar" style="display: flex">                    <div class="fv-footer-content" style="display: block;">                <div class="rv-chart-caption">Ping in CS2 Deathmatch games in a different country (USA) and connected to the same game server.</div>            </div>        <img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">      </div>            </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() {      // Global animation function for slideshow re-use      window.fvAnimateCharts = function(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                // Reset to 0 first to ensure animation triggers                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                // Force reflow                void bar.offsetWidth;                                 setTimeout(function() {                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out', 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                }, index * 50 + 50); // Reduced initial delay            });          }          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);              });            }            // Execute            var charts = chartWrapper.querySelectorAll('.fv-chart-item');                        charts.forEach(function(chart) {                // If in carousel/dropdown mode, hidden charts are display:none.                // We only animate what is visible.                if (window.getComputedStyle(chart).display === 'none') return;                                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });      };            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);                // In slideshow mode, 'root' will be null because the container has '-slideshow' suffix.        // We handle that logic below.        if (!root && !isSlideshow) return;                // Setup internal interactions (Carousel/Dropdown/LineChart) for a specific chart wrapper        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) {                    // Fallback for when width isn't available yet (e.g., hidden tab)                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    // Mobile if container is small OR if it's a physical mobile device (overriding fixed-width iframes)                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        // Initial check            checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        // Always add window resize listener as a reliable fallback for DevTools and edge cases            window.addEventListener('resize', checkMobileView);                        // Labels on top handler            var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                // If there are multiple charts and we're not in a carousel/dropdown, we might have mixed types.                // But typically, labels-on-top is a global setting. We'll apply it initially,                 // and showInternalChart will toggle it if needed.                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 === '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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');                        var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');                                                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);            });            // 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');                        // Text Elements            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 === 'Line') {                                 // Line chart animations if needed                             } else if (cType !== 'Pie') {                                 window.fvAnimateCharts(chartWrapper);                             }                                                          // Update labels-on-top based on current chart type                             var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === '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;                                        // Update Subhead and Caption                    var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) captionEl.textContent = newCaption || '';                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0) {                                 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;                // Zoom state                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();                    // Max pan depends on how much the image is scaled beyond the wrapper                    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; // Prevent click after pinch                    } 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 });                }                // Expand/Close Logic                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.preventDefault(); // Removed to allow text selection                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        // Load high-res images if available                            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.preventDefault(); // Removed to allow text selection                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                // Close on Escape                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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        // Remove highlights                    var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    // Remove min-height after transition                    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');                        // Ensure container is tall enough                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                // Highlight and scroll to item                        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();                        }                    }                });            });            // Shop All button            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    // Ensure container is tall enough                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            // Close button in all products modal            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            // Close modals when clicking outside            chartWrapper.addEventListener('click', function(e) {                // Only close if clicking on the wrapper or container, not inside a modal content                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();                    }                });            }            // Initial Animation            window.fvAnimateCharts(chartWrapper);        }        if (true) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                var slideshowContainer = document.getElementById(uniqueId + '-slideshow');        // Check if container exists to prevent errors    if (slideshowContainer) {        var currentSlideIndex = 0;        var slides = slideshowContainer.querySelectorAll('.fv-slide');        var counter = slideshowContainer.querySelector('.fv-slide-counter');        var prevBtn = slideshowContainer.querySelector('.fv-nav-btn.prev');        var nextBtn = slideshowContainer.querySelector('.fv-nav-btn.next');        var dropdown = slideshowContainer.querySelector('.fv-slideshow-select');        function updateControls(index) {            if (counter) counter.textContent = (index + 1) + ' / ' + slides.length;            if (dropdown) dropdown.value = index;                        if (prevBtn) {                if (index === 0) prevBtn.classList.add('disabled');                else prevBtn.classList.remove('disabled');            }            if (nextBtn) {                if (index === slides.length - 1) nextBtn.classList.add('disabled');                else nextBtn.classList.remove('disabled');            }        }        function showSlide(index) {            if (index < 0) return; // index = slides.length - 1; // Disable loop for linear nav style            if (index >= slides.length) return; // index = 0;                        currentSlideIndex = index;                        slides.forEach(function(slide, i) {                slide.style.display = i === index ? 'block' : 'none';                if (i === index) {                    // Re-trigger animations for the active slide                    var chartEl = slide.querySelector('.fv-chart-wrapper');                    if (chartEl && window.fvAnimateCharts) {                        window.fvAnimateCharts(chartEl);                    }                }            });                        updateControls(currentSlideIndex);        }        if (prevBtn) {            prevBtn.addEventListener('click', function() { showSlide(currentSlideIndex - 1); });        }        if (nextBtn) {            nextBtn.addEventListener('click', function() { showSlide(currentSlideIndex + 1); });        }        if (dropdown) {            dropdown.addEventListener('change', function(e) { showSlide(parseInt(e.target.value)); });        }                // Initial setup        updateControls(currentSlideIndex);                // Initial animation for the first slide        if (slides.length > 0) {            var firstChart = slides[0].querySelector('.fv-chart-wrapper');             if (firstChart && window.fvAnimateCharts) {                setTimeout(function() { window.fvAnimateCharts(firstChart); }, 100);            }        }    }          } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1777388404907-3j17eyssr', true); });      } else {        initialize('fv-chart-1777388404907-3j17eyssr', true);      }    })();      </script></div><p>Whether you're adding an extra level of privacy or trying to get around streaming geo-blocks, whapping on a VPN is easy to do, so it can be worth it even if you're not looking to use it while gaming. Just install it and have it auto-launch and connect at login. Then, if you want to have your games run on your default connection, you can have them run through a split tunnel—in Surfshark, this is the 'Bypasser' setting.</p><p>As you can see from the above benchmarks, there's really little in it between a native connection and a VPN connection, whether that's for gaming or downloading. Surfshark has a pretty decent pool of servers to choose from, too, and is a big enough company (it's owned by NordVPN) that support should be good, too.</p><p>While you're not getting a straight cut on its usual $1.99 post-cut price, this particular deal is nice because, if you think about it in a roundabout way, you're getting a few months for free. As long as you were already going to buy something off Amazon, that is.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/software/for-the-next-week-get-an-amazon-gift-card-worth-up-to-usd30-when-you-subscribe-to-surfshark-vpn/</link>
                                                                            <description>
                            <![CDATA[ The VPN itself costs just a couple of bucks per month. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">84VQH4SsZaZh7PAXhEYJJX</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/fXewuGe7PedoSeZ2fDNcRk-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 26 May 2026 13:21:04 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Fox ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob&#039;s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world&#039;s #1 PC Gaming site full-time. It&#039;s definitely not an ego thing, he assures us.&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/fXewuGe7PedoSeZ2fDNcRk-1920-80.jpg">
                                                            <media:credit><![CDATA[Surfshark]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Surfshark VPN running on multiple devices, in front of a custom PC Gamer Deals background.]]></media:description>                                                            <media:text><![CDATA[Surfshark VPN running on multiple devices, in front of a custom PC Gamer Deals background.]]></media:text>
                                <media:title type="plain"><![CDATA[Surfshark VPN running on multiple devices, in front of a custom PC Gamer Deals background.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/fXewuGe7PedoSeZ2fDNcRk-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="a9bb5917-72ce-471f-a535-57c826c7cbff" data-action="Deal Block" data-label="Two-year sub + three months extra + up to $30 Amazon gift card" data-dimension48="Two-year sub + three months extra + up to $30 Amazon gift card" data-dimension25="$1.99" href="https://get.surfshark.net/aff_c?offer_id=61&aff_id=1691&url_id=2581" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:770px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="zxYTPQnwJWX4UgGFjeEf2C" name="New Project (7)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/zxYTPQnwJWX4UgGFjeEf2C-1920-80.jpg" mos="" align="middle" fullscreen="" width="770" height="770" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://get.surfshark.net/aff_c?offer_id=61&aff_id=1691&url_id=2581" target="_blank" rel="nofollow" data-dimension112="a9bb5917-72ce-471f-a535-57c826c7cbff" data-action="Deal Block" data-label="Two-year sub + three months extra + up to $30 Amazon gift card" data-dimension48="Two-year sub + three months extra + up to $30 Amazon gift card" data-dimension25="$1.99">Two-year sub + three months extra + up to $30 Amazon gift card: was $6.58 now $1.99</a></strong><br>For a short time you can get an Amazon giftcard alongside your Surfshark sub, which is already incredibly cheap even adding up the whole two years of subscription payments. <strong>Deal lasts until June 2.</strong><a class="view-deal button" href="https://get.surfshark.net/aff_c?offer_id=61&aff_id=1691&url_id=2581" target="_blank" rel="nofollow" data-dimension112="a9bb5917-72ce-471f-a535-57c826c7cbff" data-action="Deal Block" data-label="Two-year sub + three months extra + up to $30 Amazon gift card" data-dimension48="Two-year sub + three months extra + up to $30 Amazon gift card" data-dimension25="$1.99">View Deal</a></p></div><p>I spent a ton of time testing the <a href="https://www.pcgamer.com/best-vpn-for-pc-gaming/" target="_blank">best VPNs for PC gaming</a> last month, and Surfshark came out on top for budget value by quite a margin. And while it's not the absolute fastest out there, I was surprised to find it's only ever so slightly behind the fastest ones. So until June 2, while the company is offering up to a <a href="https://get.surfshark.net/aff_c?offer_id=61&aff_id=1691&url_id=2581" target="_blank">$30 Amazon voucher with a 2-year sub</a> that itself costs just $2–$4.19 per month (depending on your plan), it's definitely worth considering if you're looking to up your privacy online. </p><p>To get the gift card, you need the two-year subscription, and you can then collect the coupon on the 31st day of the VPN subscription via the web app. To get the full $30 voucher, you need to get the $4.19 One+ sub, and you get a $20 voucher for the $2.49 One sub, and a $10 voucher for the $1.99 Starter sub. For my money, I'd be getting the One subscription with the $20 voucher.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>The voucher only expires after ten years, so there's absolutely no rush to use it. You're also eligible for the offer if you renew your subscription during the next week, if you already have one, so it's not just for VPN newbies.</p><p>There are some reasons why you might want to use a VPN specifically for gaming—mainly if your ISP throttles bandwidth for gaming or has poor routing to game servers—but primarily, I'd say having a VPN is beneficial for everything else you use your PC for, such as general browsing, streaming and so on. </p><div id="crow-inpage-content"><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');        /* Reset & Base */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper *, #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper *:before, #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper *:after, #fv-chart-1777388404907-3j17eyssr-slideshow *, #fv-chart-1777388404907-3j17eyssr-slideshow *:before, #fv-chart-1777388404907-3j17eyssr-slideshow *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper, #fv-chart-1777388404907-3j17eyssr-slideshow { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper {        position: relative !important; overflow: visible !important;        --riv-primary: #E33235;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ededed !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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-inner-wrapper.fv-no-header.fv-is-image-compare {        padding-top: 0 !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.fv-full-bleed {                width: 100vw !important;        margin-left: calc(50% - 50vw) !important;            }        body {        overflow-x: clip !important;    }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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;    }            /* Slideshow Styles */    #fv-chart-1777388404907-3j17eyssr-slideshow {        position: relative !important;        width: 100% !important;        margin: 1rem 0 !important;        --riv-primary: #E33235;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-slides-wrapper {        position: relative !important;        width: 100% !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-slide {        width: 100% !important;        animation: fv-fade-in 0.3s ease-in-out;    }      @keyframes fv-fade-in {        from { opacity: 0; }        to { opacity: 1; }    }        /* Top Navigation Row (Redesign) */    #fv-chart-1777388404907-3j17eyssr-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-1777388404907-3j17eyssr-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-1777388404907-3j17eyssr-slideshow .fv-nav-btn svg {        width: 18px !important;        height: 18px !important;        stroke-width: 3px !important;        filter: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-nav-btn:hover {        opacity: 0.9 !important;        transform: translateY(-1px) !important;    }        #fv-chart-1777388404907-3j17eyssr-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-1777388404907-3j17eyssr-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;    }        /* Slideshow Dropdown Navigation */    #fv-chart-1777388404907-3j17eyssr-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-1777388404907-3j17eyssr-slideshow .fv-slideshow-select:focus {        outline: 2px solid #E33235 !important;        border-color: #E33235 !important;    }        /* Typography */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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; }    /* Versus Chart */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper { flex: 1; min-width: 0; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-inside-left { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-inside-right { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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; }    /* Image Comparison Styles */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-container {        width: auto !important;        margin-left: -1.5rem !important;        margin-right: -1.5rem !important;        margin-bottom: 2rem !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.fv-full-bleed .fv-image-compare-container {        width: 100% !important;        max-width: none !important;        margin: 0 auto !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper {        position: relative !important;        width: 100% !important;        overflow: hidden !important;        border-radius: 0 !important;        background-color: #000 !important;        touch-action: pan-y !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-inner {        position: relative !important;        width: 100% !important;        height: 100% !important;        display: block !important;        transform-origin: center center !important;        transition: transform 0.1s ease-out !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-bg {        display: block !important;        width: 100% !important;        height: auto !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-fg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        width: 100% !important;        height: 100% !important;        object-fit: cover !important;        clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-slider {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 32px !important;        transform: translateX(-50%) !important;        cursor: ew-resize !important;        z-index: 10 !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-slider-line {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 4px !important;        background-color: white !important;        transform: translateX(-50%) !important;        box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;        pointer-events: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-handle {        position: absolute !important;        top: 50% !important;        left: 50% !important;        transform: translate(-50%, -50%) !important;        width: 32px !important;        height: 32px !important;        background-color: white !important;        border-radius: 50% !important;        box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        gap: 4px !important;        pointer-events: none !important;        z-index: 11 !important;        overflow: hidden !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-handle.fv-image-compare-handle-square {        border-radius: 6px !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-arrow-left {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-right: 4px solid #4b5563 !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-arrow-right {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-left: 4px solid #4b5563 !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-label {        position: absolute !important;        top: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        padding: 0.25rem 0.75rem !important;        border-radius: 0.25rem !important;        font-size: 0.875rem !important;        font-weight: 500 !important;        pointer-events: none !important;        backdrop-filter: blur(4px) !important;        z-index: 5 !important;        transition: right 0.3s ease, opacity 0.2s ease !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-label-left {        left: 1rem !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-label-right {        right: 1rem !important;    }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-expand-btn,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-close-btn {        position: absolute !important;        bottom: 1rem !important;        right: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        border: none !important;        border-radius: 0.25rem !important;        padding: 0.5rem !important;        cursor: pointer !important;        z-index: 20 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        backdrop-filter: blur(4px) !important;        transition: background-color 0.2s !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-expand-btn:hover,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-close-btn:hover {        background-color: rgba(0, 0, 0, 0.7) !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-close-btn {        display: none !important;        top: 1rem !important;        bottom: auto !important;    }    /* Fullscreen State */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen {        position: fixed !important;        top: 0 !important;        left: 0 !important;        right: 0 !important;        bottom: 0 !important;        width: 100% !important;        height: 100% !important;        z-index: 999999 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        background-color: rgba(0, 0, 0, 0.9) !important;        margin: 0 !important;        touch-action: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner {        width: 100% !important;        height: 100% !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        cursor: grab !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active {        cursor: grabbing !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg {        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn {        display: none !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn {        display: flex !important;    }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right {        right: 4rem !important;    }    /* Footer */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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;    }    /* Display Mode Controls */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-dropdown-title:focus { outline: none !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-dropdown-title::-ms-expand { display: none !important; }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Multi-Value Legend */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-row, #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Multi-Value Bar Logic */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }        /* Stacked Bar */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }    /* Grouped Bar */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Shop The Look */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; transition: min-height 0.3s ease !important; overflow: hidden !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.fv-full-bleed .fv-stl-container { width: 100% !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.fv-full-bleed .fv-stl-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn { 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), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 300ms !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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn:hover { transform: scale(1.1) !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn:focus { outline: 2px solid transparent !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #000000 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-btn[aria-expanded="true"] { background-color: #3b82f6 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-pulse { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-stl-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; }    @keyframes fv-stl-ping { 75%, 100% { transform: scale(2); opacity: 0; } }    @media (max-width: 640px) {        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-hotspot-pulse { animation-fill-mode: none !important; }    }    /* Shop the look button */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; height: 2.5rem !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; color: #111827 !important; padding: 0 1rem 0 3rem !important; border-radius: 0.25rem !important; font-weight: 700 !important; font-size: 0.875rem !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; z-index: 10 !important; display: flex !important; align-items: center !important; text-transform: uppercase !important; overflow: hidden !important; white-space: nowrap !important; max-width: calc(100% - 2rem) !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-shop-all-btn:hover { background-color: #ffffff !important; transform: scale(1.05) !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-shop-all-logo { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; object-fit: cover !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; flex-shrink: 0 !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stl-shop-all-icon { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; color: #1f2937 !important; flex-shrink: 0 !important; }    /* All Products Modal */    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr { position: fixed !important; inset: 0 !important; background-color: rgba(0, 0, 0, 0) !important; backdrop-filter: blur(0px) !important; -webkit-backdrop-filter: blur(0px) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 99999 !important; pointer-events: none !important; transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease !important; padding: 1rem !important; overflow: hidden !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr { position: absolute !important; padding: 0 !important; align-items: flex-end !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.is-active { background-color: rgba(0, 0, 0, 0.2) !important; backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; pointer-events: auto !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-content { width: 100% !important; max-width: 42rem !important; max-height: 100% !important; display: flex !important; flex-direction: column !important; position: relative !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-radius: 1rem !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important; opacity: 0 !important; transform: scale(0.95) !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.is-active .fv-stl-all-products-content { opacity: 1 !important; transform: scale(1) !important; }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.is-active .fv-stl-all-products-content { transform: translateY(0) !important; }        /* V2 Bottom Sheet Style */    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.v2 { align-items: flex-end !important; padding: 0 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.v2:not(.mobile-view *) { justify-content: flex-end !important; }    }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.v2 .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.v2:not(.mobile-view *) .fv-stl-all-products-content { max-width: 700px !important; border-radius: 1.5rem 0 0 0 !important; }    }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr.v2.is-active .fv-stl-all-products-content { transform: translateY(0) !important; opacity: 1 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1rem 1.5rem !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; position: sticky !important; top: 0 !important; background-color: rgba(255, 255, 255, 0.5) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; z-index: 10 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-close { width: 2rem !important; height: 2rem !important; border-radius: 9999px !important; background-color: rgba(0, 0, 0, 0.05) !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; cursor: pointer !important; z-index: 10 !important; color: #6b7280 !important; transition: all 0.2s !important; padding: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-close:hover { background-color: rgba(0, 0, 0, 0.1) !important; color: #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-list { list-style: none !important; padding: 0.75rem !important; margin: 0 !important; overflow-y: auto !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 0.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-item { margin: 0 !important; padding: 0.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-link { display: flex !important; align-items: flex-start !important; padding: 0.75rem !important; text-decoration: none !important; color: inherit !important; transition: all 0.2s !important; border-radius: 1rem !important; border: 1px solid transparent !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-link:hover { background-color: #ffffff !important; border-color: #e5e7eb !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-item.is-highlighted .fv-stl-all-products-link { background-color: #ffffff !important; border-color: #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-image-container { position: relative !important; margin-right: 1.25rem !important; flex-shrink: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-number { position: absolute !important; top: -0.5rem !important; left: -0.5rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; background-color: #0f172a !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.75rem !important; font-weight: 700 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #ffffff !important; z-index: 10 !important; font-family: sans-serif !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-image-wrapper { width: 6rem !important; height: 6rem !important; border-radius: 0.75rem !important; overflow: hidden !important; background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.02) !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-placeholder { width: 2rem !important; height: 2rem !important; color: #d1d5db !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; margin-top: 0.25rem !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-brand { font-size: 0.625rem !important; font-weight: 700 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin: 0 0 0.375rem 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-name { font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 0.375rem 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.25 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-meta { display: flex !important; align-items: center !important; font-size: 0.875rem !important; margin-bottom: 0.375rem !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-price { font-weight: 700 !important; color: #111827 !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-sale-price { font-weight: 700 !important; color: #dc2626 !important; margin-right: 0.5rem !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-original-price { color: #9ca3af !important; text-decoration: line-through !important; font-size: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-commentary { font-size: 0.875rem !important; color: #4b5563 !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.375 !important; }        #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-action { width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important; background-color: #f9fafb !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; margin-left: 1rem !important; flex-shrink: 0 !important; border: 1px solid #f3f4f6 !important; transition: all 0.2s !important; }    #fv-stl-all-products-modal-fv-chart-1777388404907-3j17eyssr .fv-stl-all-products-link:hover .fv-stl-all-products-action { background-color: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }    /* Mobile / Forced Mobile View / Labels on Top */    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-pie-container,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-pie-container {        flex-direction: column !important; gap: 1rem !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title-wrapper,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-bar-row,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-stacked-product,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-bar-product,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-row,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-stacked-product,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-grouped-bar-product {        flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label:not(.fv-grouped-product-title),    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-bar-label,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-grouped-product-title,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-label,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-bar-container,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-bar-cluster,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-container,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-bar-cluster {        width: 100% !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-wrapper,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-wrapper {        margin-left: 0 !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-label-space,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-label-space {        display: none !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-x-axis-chart-space,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-x-axis-chart-space {        padding-right: 0 !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-benchmark-title,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-benchmark-title {        font-size: 16px !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-dropdown-title,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-dropdown-title {        font-size: 16px !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-carousel-nav-btn,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-carousel-nav-btn {        padding: 8px 12px !important; font-size: 14px !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-chart-title,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-title {        padding: 0 8px !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-chart-subhead,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-chart-subhead {        padding: 0 8px !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-header,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-header {        flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper {        flex: 1 !important; min-width: 0 !important; width: 100% !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-left,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-left {        text-align: center !important; padding-right: 0 !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-wrapper.fv-right,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-wrapper.fv-right {        text-align: center !important; padding-left: 0 !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-left,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-left {        text-align: center !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select.fv-select-right,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select.fv-select-right {        text-align: center !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-vs,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-vs {        text-align: center !important; padding: 0.25rem 0 !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select-container,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select-container {        max-width: 100% !important; width: 100% !important;    }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-versus-select,    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.labels-on-top .fv-versus-select {        font-size: 14px !important; width: 100% !important;    }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }    #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.mobile-view.fv-contains-line-chart .fv-footer-content {        margin-left: -1rem !important;        margin-right: -1rem !important;    }    @media (max-width: 599px) {         #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-pie-container {            flex-direction: column !important; gap: 1rem !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-row,        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-stacked-product,        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-grouped-bar-product {            flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-label,        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .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-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-container,        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-bar-cluster {            width: 100% !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-wrapper {            margin-left: 0 !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-label-space {            display: none !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-x-axis-chart-space {            padding-right: 0 !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-benchmark-title {            font-size: 16px !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-dropdown-title {            font-size: 16px !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-carousel-nav-btn {            padding: 8px 12px !important; font-size: 14px !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-chart-title {            padding: 0 8px !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-chart-subhead {            padding: 0 8px !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-header {            flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper {            flex: 1 !important; min-width: 0 !important; width: 100% !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-left {            text-align: center !important; padding-right: 0 !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-wrapper.fv-right {            text-align: center !important; padding-left: 0 !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-left {            text-align: center !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select.fv-select-right {            text-align: center !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-vs {            text-align: center !important; padding: 0.25rem 0 !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select-container {            max-width: 100% !important; width: 100% !important;        }#fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-versus-select {            font-size: 14px !important; width: 100% !important;        }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1777388404907-3j17eyssr-slideshow .fv-chart-wrapper.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": "VPN performance comparison",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-04-28T15:00:04.908Z",  "citation": "Average ping in CS2 Deathmatch games in the same country (UK) and connected to the same game server, with data collected over multiple runs.",  "keywords": [    "No VPN",    "NordVPN",    "Windscribe",    "Surfshark",    "Mullvad",    "Proton",    "ExpressVPN",    "Local ping (Counter-Strike 2)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "ExpressVPN – Local ping (Counter-Strike 2)",      "value": 12.22,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Mullvad – Local ping (Counter-Strike 2)",      "value": 12.55,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "No VPN – Local ping (Counter-Strike 2)",      "value": 12.58,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "NordVPN – Local ping (Counter-Strike 2)",      "value": 12.73,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Proton – Local ping (Counter-Strike 2)",      "value": 13.8,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Surfshark – Local ping (Counter-Strike 2)",      "value": 13.54,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Windscribe – Local ping (Counter-Strike 2)",      "value": 12.34,      "unitText": "Ping (ms)"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "VPN performance comparison",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-04-28T15:00:04.908Z",  "citation": "Average jitter as measured over multiple runs on speed.cloudflare.com",  "keywords": [    "No VPN",    "NordVPN",    "Windscribe",    "Surfshark",    "Mullvad",    "Proton",    "ExpressVPN",    "Jitter (Cloudflare speed test)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "ExpressVPN – Jitter (Cloudflare speed test)",      "value": 12.07,      "unitText": "Jitter (ms)"    },    {      "@type": "PropertyValue",      "name": "Mullvad – Jitter (Cloudflare speed test)",      "value": 12.4,      "unitText": "Jitter (ms)"    },    {      "@type": "PropertyValue",      "name": "No VPN – Jitter (Cloudflare speed test)",      "value": 10.66,      "unitText": "Jitter (ms)"    },    {      "@type": "PropertyValue",      "name": "NordVPN – Jitter (Cloudflare speed test)",      "value": 14.06,      "unitText": "Jitter (ms)"    },    {      "@type": "PropertyValue",      "name": "Proton – Jitter (Cloudflare speed test)",      "value": 20.7,      "unitText": "Jitter (ms)"    },    {      "@type": "PropertyValue",      "name": "Surfshark – Jitter (Cloudflare speed test)",      "value": 12.37,      "unitText": "Jitter (ms)"    },    {      "@type": "PropertyValue",      "name": "Windscribe – Jitter (Cloudflare speed test)",      "value": 12.9,      "unitText": "Jitter (ms)"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "VPN performance comparison",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-04-28T15:00:04.908Z",  "citation": "Time taken (in seconds) to download the same 15.3 GB on Steam, connected to the same Steam download server.",  "keywords": [    "No VPN",    "NordVPN",    "Windscribe",    "Surfshark",    "Mullvad",    "Proton",    "ExpressVPN",    "Download time (15.3 GB, Team Fortress 2 on Steam)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "ExpressVPN – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 287,      "unitText": "Time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Mullvad – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 276,      "unitText": "Time (seconds)"    },    {      "@type": "PropertyValue",      "name": "No VPN – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 271,      "unitText": "Time (seconds)"    },    {      "@type": "PropertyValue",      "name": "NordVPN – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 275,      "unitText": "Time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Proton – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 275,      "unitText": "Time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Surfshark – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 276,      "unitText": "Time (seconds)"    },    {      "@type": "PropertyValue",      "name": "Windscribe – Download time (15.3 GB, Team Fortress 2 on Steam)",      "value": 276,      "unitText": "Time (seconds)"    }  ]},{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "VPN performance comparison",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-04-28T15:00:04.908Z",  "citation": "Ping in CS2 Deathmatch games in a different country (USA) and connected to the same game server.",  "keywords": [    "NordVPN",    "Windscribe",    "Surfshark",    "Mullvad",    "Proton",    "ExpressVPN",    "Distance ping (Counter-Strike 2)",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "ExpressVPN – Distance ping (Counter-Strike 2)",      "value": 85.79,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Mullvad – Distance ping (Counter-Strike 2)",      "value": 87.69,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "NordVPN – Distance ping (Counter-Strike 2)",      "value": 85.13,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Proton – Distance ping (Counter-Strike 2)",      "value": 86.93,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Surfshark – Distance ping (Counter-Strike 2)",      "value": 86.58,      "unitText": "Ping (ms)"    },    {      "@type": "PropertyValue",      "name": "Windscribe – Distance ping (Counter-Strike 2)",      "value": 86.19,      "unitText": "Ping (ms)"    }  ]}]</script>        <div id="fv-chart-1777388404907-3j17eyssr-slideshow" class="fv-slideshow-container" data-slide-count="4" data-iframe-height="true">                            <div class="fv-slideshow-nav-row">                    <button class="fv-nav-btn prev disabled" aria-label="Previous Slide">                        <svg width="16" height="16" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"></path></svg>                        <span>Previous</span>                    </button>                    <div class="fv-slide-counter">1 / 4</div>                    <button class="fv-nav-btn next" aria-label="Next Slide">                        <span>Next</span>                        <svg width="16" height="16" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"></path></svg>                    </button>                </div>                          <div class="fv-slides-wrapper">                <div class="fv-slide" id="fv-chart-1777388404907-3j17eyssr-slide-0-wrapper" data-index="0" style="display: block;">                <div id="fv-chart-1777388404907-3j17eyssr-slide-0" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true">        <div class="fv-inner-wrapper   ">            <h3 class="fv-chart-title">VPN performance comparison</h3>                                    <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1777388404907-3j17eyssr-slide-0-bar-Local ping (Counter-Strike 2)" data-chart-type="Bar" data-title="Local ping (Counter-Strike 2)" data-subhead="" data-caption="Average ping in CS2 Deathmatch games in the same country (UK) and connected to the same game server, with data collected over multiple runs." style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Local ping (Counter-Strike 2)</h4><div class="fv-bar-row" title="No VPN - Local ping (Counter-Strike 2): 12.58 Ping (ms)">                    <div class="fv-bar-label fv-primary-product">No VPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 83.86666666666667%; background-color: #1CA9C4;" data-target-width="83.86666666666667">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">12.58</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="NordVPN - Local ping (Counter-Strike 2): 12.73 Ping (ms)">                    <div class="fv-bar-label ">NordVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 84.86666666666667%; background-color: #EB6F71;" data-target-width="84.86666666666667">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">12.73</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Windscribe - Local ping (Counter-Strike 2): 12.34 Ping (ms)">                    <div class="fv-bar-label ">Windscribe</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 82.26666666666667%; background-color: #B5282A;" data-target-width="82.26666666666667">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">12.34</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Surfshark - Local ping (Counter-Strike 2): 13.54 Ping (ms)">                    <div class="fv-bar-label ">Surfshark</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 90.26666666666667%; background-color: #66C5D7;" data-target-width="90.26666666666667">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">13.54</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Mullvad - Local ping (Counter-Strike 2): 12.55 Ping (ms)">                    <div class="fv-bar-label ">Mullvad</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 83.66666666666667%; background-color: #FE9F58;" data-target-width="83.66666666666667">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">12.55</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Proton - Local ping (Counter-Strike 2): 13.8 Ping (ms)">                    <div class="fv-bar-label ">Proton</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 92%; background-color: #FFC08B;" data-target-width="92">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">13.8</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="ExpressVPN - Local ping (Counter-Strike 2): 12.22 Ping (ms)">                    <div class="fv-bar-label ">ExpressVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 81.46666666666668%; background-color: #E33235;" data-target-width="81.46666666666668">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">12.22</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>3.75</span><span>7.5</span><span>11.25</span><span>15</span></div>            <div class="fv-x-axis-unit">Ping (ms)</div>        </div>    </div>        <table class="sr-only">            <caption>Local ping (Counter-Strike 2) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>No VPN</td>                <td>12.58</td>            </tr><tr>                <td>NordVPN</td>                <td>12.73</td>            </tr><tr>                <td>Windscribe</td>                <td>12.34</td>            </tr><tr>                <td>Surfshark</td>                <td>13.54</td>            </tr><tr>                <td>Mullvad</td>                <td>12.55</td>            </tr><tr>                <td>Proton</td>                <td>13.8</td>            </tr><tr>                <td>ExpressVPN</td>                <td>12.22</td>            </tr></tbody>        </table></div></div></div>                              <div class="fv-bottom-bar" style="display: flex">                    <div class="fv-footer-content" style="display: block;">                <div class="rv-chart-caption">Average ping in CS2 Deathmatch games in the same country (UK) and connected to the same game server, with data collected over multiple runs.</div>            </div>        <img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">      </div>            </div>    </div>              </div><div class="fv-slide" id="fv-chart-1777388404907-3j17eyssr-slide-1-wrapper" data-index="1" style="display: none;">                <div id="fv-chart-1777388404907-3j17eyssr-slide-1" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true">        <div class="fv-inner-wrapper   ">            <h3 class="fv-chart-title">VPN performance comparison</h3>                                    <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1777388404907-3j17eyssr-slide-1-bar-Jitter (Cloudflare speed test)" data-chart-type="Bar" data-title="Jitter (Cloudflare speed test)" data-subhead="" data-caption="Average jitter as measured over multiple runs on speed.cloudflare.com" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Jitter (Cloudflare speed test)</h4><div class="fv-bar-row" title="No VPN - Jitter (Cloudflare speed test): 10.66 Jitter (ms)">                    <div class="fv-bar-label fv-primary-product">No VPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 35.53333333333333%; background-color: #1CA9C4;" data-target-width="35.53333333333333">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">10.66</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="NordVPN - Jitter (Cloudflare speed test): 14.06 Jitter (ms)">                    <div class="fv-bar-label ">NordVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 46.86666666666667%; background-color: #EB6F71;" data-target-width="46.86666666666667">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">14.06</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Windscribe - Jitter (Cloudflare speed test): 12.9 Jitter (ms)">                    <div class="fv-bar-label ">Windscribe</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 43%; background-color: #B5282A;" data-target-width="43">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">12.9</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Surfshark - Jitter (Cloudflare speed test): 12.37 Jitter (ms)">                    <div class="fv-bar-label ">Surfshark</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 41.233333333333334%; background-color: #66C5D7;" data-target-width="41.233333333333334">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">12.37</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Mullvad - Jitter (Cloudflare speed test): 12.4 Jitter (ms)">                    <div class="fv-bar-label ">Mullvad</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 41.333333333333336%; background-color: #FE9F58;" data-target-width="41.333333333333336">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">12.4</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Proton - Jitter (Cloudflare speed test): 20.7 Jitter (ms)">                    <div class="fv-bar-label ">Proton</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 69%; background-color: #FFC08B;" data-target-width="69">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">20.7</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="ExpressVPN - Jitter (Cloudflare speed test): 12.07 Jitter (ms)">                    <div class="fv-bar-label ">ExpressVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 40.233333333333334%; background-color: #E33235;" data-target-width="40.233333333333334">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">12.07</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>7.5</span><span>15</span><span>22.5</span><span>30</span></div>            <div class="fv-x-axis-unit">Jitter (ms)</div>        </div>    </div>        <table class="sr-only">            <caption>Jitter (Cloudflare speed test) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>No VPN</td>                <td>10.66</td>            </tr><tr>                <td>NordVPN</td>                <td>14.06</td>            </tr><tr>                <td>Windscribe</td>                <td>12.9</td>            </tr><tr>                <td>Surfshark</td>                <td>12.37</td>            </tr><tr>                <td>Mullvad</td>                <td>12.4</td>            </tr><tr>                <td>Proton</td>                <td>20.7</td>            </tr><tr>                <td>ExpressVPN</td>                <td>12.07</td>            </tr></tbody>        </table></div></div></div>                              <div class="fv-bottom-bar" style="display: flex">                    <div class="fv-footer-content" style="display: block;">                <div class="rv-chart-caption">Average jitter as measured over multiple runs on speed.cloudflare.com</div>            </div>        <img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">      </div>            </div>    </div>              </div><div class="fv-slide" id="fv-chart-1777388404907-3j17eyssr-slide-2-wrapper" data-index="2" style="display: none;">                <div id="fv-chart-1777388404907-3j17eyssr-slide-2" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true">        <div class="fv-inner-wrapper   ">            <h3 class="fv-chart-title">VPN performance comparison</h3>                                    <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1777388404907-3j17eyssr-slide-2-bar-Download time (15.3 GB, Team Fortress 2 on Steam)" data-chart-type="Bar" data-title="Download time (15.3 GB, Team Fortress 2 on Steam)" data-subhead="" data-caption="Time taken (in seconds) to download the same 15.3 GB on Steam, connected to the same Steam download server." style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Download time (15.3 GB, Team Fortress 2 on Steam)</h4><div class="fv-bar-row" title="No VPN - Download time (15.3 GB, Team Fortress 2 on Steam): 271 Time (seconds)">                    <div class="fv-bar-label fv-primary-product">No VPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 90.33333333333333%; background-color: #1CA9C4;" data-target-width="90.33333333333333">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">271</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="NordVPN - Download time (15.3 GB, Team Fortress 2 on Steam): 275 Time (seconds)">                    <div class="fv-bar-label ">NordVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 91.66666666666666%; background-color: #EB6F71;" data-target-width="91.66666666666666">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">275</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Windscribe - Download time (15.3 GB, Team Fortress 2 on Steam): 276 Time (seconds)">                    <div class="fv-bar-label ">Windscribe</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 92%; background-color: #B5282A;" data-target-width="92">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">276</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Surfshark - Download time (15.3 GB, Team Fortress 2 on Steam): 276 Time (seconds)">                    <div class="fv-bar-label ">Surfshark</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 92%; background-color: #66C5D7;" data-target-width="92">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">276</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Mullvad - Download time (15.3 GB, Team Fortress 2 on Steam): 276 Time (seconds)">                    <div class="fv-bar-label ">Mullvad</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 92%; background-color: #FE9F58;" data-target-width="92">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">276</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Proton - Download time (15.3 GB, Team Fortress 2 on Steam): 275 Time (seconds)">                    <div class="fv-bar-label ">Proton</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 91.66666666666666%; background-color: #FFC08B;" data-target-width="91.66666666666666">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">275</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="ExpressVPN - Download time (15.3 GB, Team Fortress 2 on Steam): 287 Time (seconds)">                    <div class="fv-bar-label ">ExpressVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 95.66666666666667%; background-color: #E33235;" data-target-width="95.66666666666667">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">287</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>75</span><span>150</span><span>225</span><span>300</span></div>            <div class="fv-x-axis-unit">Time (seconds)</div>        </div>    </div>        <table class="sr-only">            <caption>Download time (15.3 GB, Team Fortress 2 on Steam) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>No VPN</td>                <td>271</td>            </tr><tr>                <td>NordVPN</td>                <td>275</td>            </tr><tr>                <td>Windscribe</td>                <td>276</td>            </tr><tr>                <td>Surfshark</td>                <td>276</td>            </tr><tr>                <td>Mullvad</td>                <td>276</td>            </tr><tr>                <td>Proton</td>                <td>275</td>            </tr><tr>                <td>ExpressVPN</td>                <td>287</td>            </tr></tbody>        </table></div></div></div>                              <div class="fv-bottom-bar" style="display: flex">                    <div class="fv-footer-content" style="display: block;">                <div class="rv-chart-caption">Time taken (in seconds) to download the same 15.3 GB on Steam, connected to the same Steam download server.</div>            </div>        <img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">      </div>            </div>    </div>              </div><div class="fv-slide" id="fv-chart-1777388404907-3j17eyssr-slide-3-wrapper" data-index="3" style="display: none;">                <div id="fv-chart-1777388404907-3j17eyssr-slide-3" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true">        <div class="fv-inner-wrapper   ">            <h3 class="fv-chart-title">VPN performance comparison</h3>                                    <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1777388404907-3j17eyssr-slide-3-bar-Distance ping (Counter-Strike 2)" data-chart-type="Bar" data-title="Distance ping (Counter-Strike 2)" data-subhead="" data-caption="Ping in CS2 Deathmatch games in a different country (USA) and connected to the same game server." style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Distance ping (Counter-Strike 2)</h4><div class="fv-bar-row" title="NordVPN - Distance ping (Counter-Strike 2): 85.13 Ping (ms)">                    <div class="fv-bar-label ">NordVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 85.13%; background-color: #EB6F71;" data-target-width="85.13">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">85.13</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Windscribe - Distance ping (Counter-Strike 2): 86.19 Ping (ms)">                    <div class="fv-bar-label ">Windscribe</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 86.19%; background-color: #B5282A;" data-target-width="86.19">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">86.19</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Surfshark - Distance ping (Counter-Strike 2): 86.58 Ping (ms)">                    <div class="fv-bar-label ">Surfshark</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 86.58%; background-color: #66C5D7;" data-target-width="86.58">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">86.58</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Mullvad - Distance ping (Counter-Strike 2): 87.69 Ping (ms)">                    <div class="fv-bar-label ">Mullvad</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 87.69%; background-color: #FE9F58;" data-target-width="87.69">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">87.69</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Proton - Distance ping (Counter-Strike 2): 86.93 Ping (ms)">                    <div class="fv-bar-label ">Proton</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 86.93%; background-color: #FFC08B;" data-target-width="86.93">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important;"><span></span><span class="fv-bar-inner-value">86.93</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="ExpressVPN - Distance ping (Counter-Strike 2): 85.79 Ping (ms)">                    <div class="fv-bar-label ">ExpressVPN</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="width: 85.79%; background-color: #E33235;" data-target-width="85.79">        <div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important;"><span></span><span class="fv-bar-inner-value">85.79</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>25</span><span>50</span><span>75</span><span>100</span></div>            <div class="fv-x-axis-unit">Ping (ms)</div>        </div>    </div>        <table class="sr-only">            <caption>Distance ping (Counter-Strike 2) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>NordVPN</td>                <td>85.13</td>            </tr><tr>                <td>Windscribe</td>                <td>86.19</td>            </tr><tr>                <td>Surfshark</td>                <td>86.58</td>            </tr><tr>                <td>Mullvad</td>                <td>87.69</td>            </tr><tr>                <td>Proton</td>                <td>86.93</td>            </tr><tr>                <td>ExpressVPN</td>                <td>85.79</td>            </tr></tbody>        </table></div></div></div>                              <div class="fv-bottom-bar" style="display: flex">                    <div class="fv-footer-content" style="display: block;">                <div class="rv-chart-caption">Ping in CS2 Deathmatch games in a different country (USA) and connected to the same game server.</div>            </div>        <img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">      </div>            </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() {      // Global animation function for slideshow re-use      window.fvAnimateCharts = function(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                // Reset to 0 first to ensure animation triggers                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                // Force reflow                void bar.offsetWidth;                                 setTimeout(function() {                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out', 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                }, index * 50 + 50); // Reduced initial delay            });          }          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);              });            }            // Execute            var charts = chartWrapper.querySelectorAll('.fv-chart-item');                        charts.forEach(function(chart) {                // If in carousel/dropdown mode, hidden charts are display:none.                // We only animate what is visible.                if (window.getComputedStyle(chart).display === 'none') return;                                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });      };            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);                // In slideshow mode, 'root' will be null because the container has '-slideshow' suffix.        // We handle that logic below.        if (!root && !isSlideshow) return;                // Setup internal interactions (Carousel/Dropdown/LineChart) for a specific chart wrapper        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) {                    // Fallback for when width isn't available yet (e.g., hidden tab)                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    // Mobile if container is small OR if it's a physical mobile device (overriding fixed-width iframes)                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        // Initial check            checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        // Always add window resize listener as a reliable fallback for DevTools and edge cases            window.addEventListener('resize', checkMobileView);                        // Labels on top handler            var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                // If there are multiple charts and we're not in a carousel/dropdown, we might have mixed types.                // But typically, labels-on-top is a global setting. We'll apply it initially,                 // and showInternalChart will toggle it if needed.                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 === '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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');                        var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');                                                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);            });            // 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');                        // Text Elements            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 === 'Line') {                                 // Line chart animations if needed                             } else if (cType !== 'Pie') {                                 window.fvAnimateCharts(chartWrapper);                             }                                                          // Update labels-on-top based on current chart type                             var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === '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;                                        // Update Subhead and Caption                    var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) captionEl.textContent = newCaption || '';                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0) {                                 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;                // Zoom state                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();                    // Max pan depends on how much the image is scaled beyond the wrapper                    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; // Prevent click after pinch                    } 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 });                }                // Expand/Close Logic                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.preventDefault(); // Removed to allow text selection                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        // Load high-res images if available                            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.preventDefault(); // Removed to allow text selection                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                // Close on Escape                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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        // Remove highlights                    var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    // Remove min-height after transition                    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');                        // Ensure container is tall enough                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                // Highlight and scroll to item                        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();                        }                    }                });            });            // Shop All button            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    // Ensure container is tall enough                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            // Close button in all products modal            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            // Close modals when clicking outside            chartWrapper.addEventListener('click', function(e) {                // Only close if clicking on the wrapper or container, not inside a modal content                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();                    }                });            }            // Initial Animation            window.fvAnimateCharts(chartWrapper);        }        if (true) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                var slideshowContainer = document.getElementById(uniqueId + '-slideshow');        // Check if container exists to prevent errors    if (slideshowContainer) {        var currentSlideIndex = 0;        var slides = slideshowContainer.querySelectorAll('.fv-slide');        var counter = slideshowContainer.querySelector('.fv-slide-counter');        var prevBtn = slideshowContainer.querySelector('.fv-nav-btn.prev');        var nextBtn = slideshowContainer.querySelector('.fv-nav-btn.next');        var dropdown = slideshowContainer.querySelector('.fv-slideshow-select');        function updateControls(index) {            if (counter) counter.textContent = (index + 1) + ' / ' + slides.length;            if (dropdown) dropdown.value = index;                        if (prevBtn) {                if (index === 0) prevBtn.classList.add('disabled');                else prevBtn.classList.remove('disabled');            }            if (nextBtn) {                if (index === slides.length - 1) nextBtn.classList.add('disabled');                else nextBtn.classList.remove('disabled');            }        }        function showSlide(index) {            if (index < 0) return; // index = slides.length - 1; // Disable loop for linear nav style            if (index >= slides.length) return; // index = 0;                        currentSlideIndex = index;                        slides.forEach(function(slide, i) {                slide.style.display = i === index ? 'block' : 'none';                if (i === index) {                    // Re-trigger animations for the active slide                    var chartEl = slide.querySelector('.fv-chart-wrapper');                    if (chartEl && window.fvAnimateCharts) {                        window.fvAnimateCharts(chartEl);                    }                }            });                        updateControls(currentSlideIndex);        }        if (prevBtn) {            prevBtn.addEventListener('click', function() { showSlide(currentSlideIndex - 1); });        }        if (nextBtn) {            nextBtn.addEventListener('click', function() { showSlide(currentSlideIndex + 1); });        }        if (dropdown) {            dropdown.addEventListener('change', function(e) { showSlide(parseInt(e.target.value)); });        }                // Initial setup        updateControls(currentSlideIndex);                // Initial animation for the first slide        if (slides.length > 0) {            var firstChart = slides[0].querySelector('.fv-chart-wrapper');             if (firstChart && window.fvAnimateCharts) {                setTimeout(function() { window.fvAnimateCharts(firstChart); }, 100);            }        }    }          } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1777388404907-3j17eyssr', true); });      } else {        initialize('fv-chart-1777388404907-3j17eyssr', true);      }    })();      </script></div><p>Whether you're adding an extra level of privacy or trying to get around streaming geo-blocks, whapping on a VPN is easy to do, so it can be worth it even if you're not looking to use it while gaming. Just install it and have it auto-launch and connect at login. Then, if you want to have your games run on your default connection, you can have them run through a split tunnel—in Surfshark, this is the 'Bypasser' setting.</p><p>As you can see from the above benchmarks, there's really little in it between a native connection and a VPN connection, whether that's for gaming or downloading. Surfshark has a pretty decent pool of servers to choose from, too, and is a big enough company (it's owned by NordVPN) that support should be good, too.</p><p>While you're not getting a straight cut on its usual $1.99 post-cut price, this particular deal is nice because, if you think about it in a roundabout way, you're getting a few months for free. As long as you were already going to buy something off Amazon, that is.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ From Ultramarines to Batman and Minecraft creepers, there's a dazzling selection of designs for our best gaming chair pick on discount in Secretlab's mega sale ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It's no secret that we love a good gaming chair here at PC Gamer. Your level of comfort while you game is just as important as the rig you're playing on—so if you've been parking yourself on something old and busted, I'd highly recommend checking out the Secretlab variants below.</p><p>They're all flavors of the <a href="https://www.pcgamer.com/secretlab-titan-evo-2022-review/" target="_blank">Secretlab Titan Evo</a>, which currently sits at the top of our <a href="https://www.pcgamer.com/best-gaming-chairs/" target="_blank">best gaming chair</a> guide thanks to its excellent comfort, high-quality materials, and refined aesthetics. This particular model comes in a variety of designs, and many of them have tidy discounts right now as part of the company's <a href="https://secretlab.co/collections/promotions" target="_blank">long-running Memorial Day sales event</a>.</p><p>Secretlab make quality products that look great, feel fantastic, and last. We use them constantly around the office, and they still look as good (and feel as comfortable) as the day we pulled them from their respective boxes. It's time to treat your rear to a new throne, so let's see what your options are, shall we?</p><h3 class="article-body__section" id="section-secretlab-titan-evo-gaming-chair-deals"><span>Secretlab Titan Evo gaming chair deals</span></h3>        <div class="featured_product_block featured_block_hero" data-id="7a2131d7-c72c-4f82-ada8-35a4a09bc5b0">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-STELH1R" data-model-name="Titan Evo Black Stealth" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/AFp25DyTWYUkJca3dQDBDF.jpg" alt="A Secretlab Titan Evo gaming chair in Stealth Black"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Black Stealth</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="f7a1814e-0095-4475-bde1-72f3ad477f1b">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24SW-OWDVA1R" data-model-name="Titan Evo D.Va" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/sYN928AxTTjxq5gnvyewVK.jpg" alt="A Secretlab Titan Evo D.VA gaming chair in pink"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo D.Va</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="ea7e5444-a51f-4687-9f79-88d1cd0f61fb">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24SW-MCRFT1R" data-model-name="Titan Evo Minecraft Edition Creeper" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/nua3WujabVFBriVzXRjZUT.jpg" alt="A Secretlab Titan Evo Minecraft Creeper Edition gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Minecraft Edition Creeper</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1960658e-3b3b-45fb-a863-c676f67e312d">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M06-E24PU-GINNG1S" data-model-name="Titan Evo Ningguang" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/QSTBxEt3HtkGtPSsbxzUMZ.jpg" alt="A Secretlab Titan Evo Ningguang Edition gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Ningguang</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="64b9dfbf-2ce3-4ecc-8f1a-b59aea27e2b9">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-WHFOR1R" data-model-name="Titan Evo Warhammer 40,000 Ultramarines" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/H2joxyipSBdo7navVEL8Vk.jpg" alt="A Secretlab Titan Evo Warhammer 40,000 Ultramarine Edition gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Warhammer 40,000 Ultramarines</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b6ac8a3a-a717-4e34-b498-aaa6e1e1a485">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-BATMN1R" data-model-name="Titan Evo Dark Knight" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/7s29cKL3hATyuChTvfqXd.jpg" alt="A Secretlab Titan Evo Dark Knight Edition gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Dark Knight</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="0a5ad5af-5baf-496a-8480-c8310b82efc4">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24SW-CREAM1R" data-model-name="Titan Evo Cookies & Cream" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/AqKjqMiBMXG3AfxkT4YjFR.jpg" alt="A Secretlab Titan Evo Cookies & Cream gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Cookies & Cream</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="e76fb626-cc1a-4af5-a3ed-c6c5ec9f1481">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-CLASS1R" data-model-name="Titan Evo Neo Hybrid Leatherette" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/KZg2DD5yQZesCsamtsNcAV.jpg" alt="A Secretlab Titan Evo Neo Hybrid Edition gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Neo Hybrid Leatherette</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="cb5d1200-2e05-4110-b4ee-97117fe9c114">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-GZAKU1R" data-model-name="Titan Evo MS-06S Char's Zaku II" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/xguGGwrwarjoPo8Ek64vJc.jpg" alt="A Secretlab Titan Evo MS-06S Char's Zaku II gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo MS-06S Char's Zaku II</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/cooling/from-ultramarines-to-batman-and-minecraft-creepers-theres-a-dazzling-selection-of-designs-for-our-best-gaming-chair-pick-on-discount-in-secretlabs-mega-sale/</link>
                                                                            <description>
                            <![CDATA[ Sit yourself down. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">MidZvjm6wC3VQe4xh2goPA</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/oJ5DLhNHYnQ4VRwpepz223-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 26 May 2026 13:03:44 +0000</pubDate>                                                                                                                                <updated>Tue, 26 May 2026 13:04:13 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Chairs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Andy Edser ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-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/oJ5DLhNHYnQ4VRwpepz223-1920-80.jpg">
                                                            <media:credit><![CDATA[Secretlab]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Six Secretlab Titan Evo gaming chairs of various designs at a slanted angle]]></media:description>                                                            <media:text><![CDATA[Six Secretlab Titan Evo gaming chairs of various designs at a slanted angle]]></media:text>
                                <media:title type="plain"><![CDATA[Six Secretlab Titan Evo gaming chairs of various designs at a slanted angle]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/oJ5DLhNHYnQ4VRwpepz223-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's no secret that we love a good gaming chair here at PC Gamer. Your level of comfort while you game is just as important as the rig you're playing on—so if you've been parking yourself on something old and busted, I'd highly recommend checking out the Secretlab variants below.</p><p>They're all flavors of the <a href="https://www.pcgamer.com/secretlab-titan-evo-2022-review/" target="_blank">Secretlab Titan Evo</a>, which currently sits at the top of our <a href="https://www.pcgamer.com/best-gaming-chairs/" target="_blank">best gaming chair</a> guide thanks to its excellent comfort, high-quality materials, and refined aesthetics. This particular model comes in a variety of designs, and many of them have tidy discounts right now as part of the company's <a href="https://secretlab.co/collections/promotions" target="_blank">long-running Memorial Day sales event</a>.</p><p>Secretlab make quality products that look great, feel fantastic, and last. We use them constantly around the office, and they still look as good (and feel as comfortable) as the day we pulled them from their respective boxes. It's time to treat your rear to a new throne, so let's see what your options are, shall we?</p><h3 class="article-body__section" id="section-secretlab-titan-evo-gaming-chair-deals"><span>Secretlab Titan Evo gaming chair deals</span></h3>        <div class="featured_product_block featured_block_hero" data-id="7a2131d7-c72c-4f82-ada8-35a4a09bc5b0">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-STELH1R" data-model-name="Titan Evo Black Stealth" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/AFp25DyTWYUkJca3dQDBDF.jpg" alt="A Secretlab Titan Evo gaming chair in Stealth Black"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Black Stealth</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="f7a1814e-0095-4475-bde1-72f3ad477f1b">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24SW-OWDVA1R" data-model-name="Titan Evo D.Va" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/sYN928AxTTjxq5gnvyewVK.jpg" alt="A Secretlab Titan Evo D.VA gaming chair in pink"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo D.Va</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="ea7e5444-a51f-4687-9f79-88d1cd0f61fb">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24SW-MCRFT1R" data-model-name="Titan Evo Minecraft Edition Creeper" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/nua3WujabVFBriVzXRjZUT.jpg" alt="A Secretlab Titan Evo Minecraft Creeper Edition gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Minecraft Edition Creeper</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1960658e-3b3b-45fb-a863-c676f67e312d">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M06-E24PU-GINNG1S" data-model-name="Titan Evo Ningguang" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/QSTBxEt3HtkGtPSsbxzUMZ.jpg" alt="A Secretlab Titan Evo Ningguang Edition gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Ningguang</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="64b9dfbf-2ce3-4ecc-8f1a-b59aea27e2b9">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-WHFOR1R" data-model-name="Titan Evo Warhammer 40,000 Ultramarines" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/H2joxyipSBdo7navVEL8Vk.jpg" alt="A Secretlab Titan Evo Warhammer 40,000 Ultramarine Edition gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Warhammer 40,000 Ultramarines</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b6ac8a3a-a717-4e34-b498-aaa6e1e1a485">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-BATMN1R" data-model-name="Titan Evo Dark Knight" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/7s29cKL3hATyuChTvfqXd.jpg" alt="A Secretlab Titan Evo Dark Knight Edition gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Dark Knight</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="0a5ad5af-5baf-496a-8480-c8310b82efc4">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24SW-CREAM1R" data-model-name="Titan Evo Cookies & Cream" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/AqKjqMiBMXG3AfxkT4YjFR.jpg" alt="A Secretlab Titan Evo Cookies & Cream gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Cookies & Cream</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="e76fb626-cc1a-4af5-a3ed-c6c5ec9f1481">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-CLASS1R" data-model-name="Titan Evo Neo Hybrid Leatherette" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/KZg2DD5yQZesCsamtsNcAV.jpg" alt="A Secretlab Titan Evo Neo Hybrid Edition gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo Neo Hybrid Leatherette</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="cb5d1200-2e05-4110-b4ee-97117fe9c114">            <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-GZAKU1R" data-model-name="Titan Evo MS-06S Char's Zaku II" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/xguGGwrwarjoPo8Ek64vJc.jpg" alt="A Secretlab Titan Evo MS-06S Char's Zaku II gaming chair"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Secretlab</div>                                        <div class="featured__title">Titan Evo MS-06S Char's Zaku II</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ You deserve the greatest so treat yourself with this RTX 5080 Lenovo Legion, the best high-performance gaming laptop we've tested ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="c5c829a8-23ee-4be7-9ad4-1b8011d2e085" data-action="Deal Block" data-label="Legion Pro 7i Gen 10 | RTX 5080" data-dimension48="Legion Pro 7i Gen 10 | RTX 5080" data-dimension25="$2599.99" href="https://www.bestbuy.com/product/lenovo-legion-pro-7i-16-2-5k-oled-gaming-laptop-intel-core-ultra-9-275hx-2025-32gb-ram-nvidia-geforce-rtx-5080-1tb-eclipse-black/JJGSH3LVW3" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Cfp8u8LtCzj4NyavpbHyo4" name="LenovoLegionPro7iGen10" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Cfp8u8LtCzj4NyavpbHyo4-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/lenovo-legion-pro-7i-16-2-5k-oled-gaming-laptop-intel-core-ultra-9-275hx-2025-32gb-ram-nvidia-geforce-rtx-5080-1tb-eclipse-black/JJGSH3LVW3" target="_blank" rel="nofollow" data-dimension112="c5c829a8-23ee-4be7-9ad4-1b8011d2e085" data-action="Deal Block" data-label="Legion Pro 7i Gen 10 | RTX 5080" data-dimension48="Legion Pro 7i Gen 10 | RTX 5080" data-dimension25="$2599.99">Legion Pro 7i Gen 10 | RTX 5080: was $4249.99 now $2599.99</a></strong><br>Our <a href="https://www.pcgamer.com/hardware/gaming-laptops/best-gaming-laptop/#section-the-best-high-performance-gaming-laptop" target="_blank">best high-performance gaming laptop</a> pick features a monstrous collection of components. The RTX 5080 is a full-strength 175 W variant, the panel is a 240 Hz OLED stunner, the Intel CPU is mega, and as <a href="https://www.pcgamer.com/hardware/gaming-laptops/lenovo-legion-pro-7i-gen-10-gaming-laptop-review/" target="_blank">our Dave found in his review</a>, the gaming performance is simply excellent. It's one of the fastest laptops we've tested to date, yet comes wrapped in a chassis you'd actually want to show off—although it must be said, it's a pretty sizeable machine to lug around. Expensive, too, but at least it's about as fast as it gets.</p><p><strong>Key specs: RTX 5080 | Core Ultra 9 275HX | 16-inch | 240 Hz OLED | 1600p | 32 GB DDR5 | 1 TB SSD</strong></p><p><strong>Price check: </strong><a href="https://www.lenovo.com/us/en/p/laptops/legion-laptops/legion-pro-series/legion-pro-7i-gen-10-16-inch-intel/83f50014us" target="_blank">Lenovo $3,199.99</a><strong></strong><a class="view-deal button" href="https://www.bestbuy.com/product/lenovo-legion-pro-7i-16-2-5k-oled-gaming-laptop-intel-core-ultra-9-275hx-2025-32gb-ram-nvidia-geforce-rtx-5080-1tb-eclipse-black/JJGSH3LVW3" target="_blank" rel="nofollow" data-dimension112="c5c829a8-23ee-4be7-9ad4-1b8011d2e085" data-action="Deal Block" data-label="Legion Pro 7i Gen 10 | RTX 5080" data-dimension48="Legion Pro 7i Gen 10 | RTX 5080" data-dimension25="$2599.99">View Deal</a></p></div><p>Let's get the obvious things out of the way first. To start with, this isn't the <em>cheapest</em> RTX 5080 gaming laptop you can buy—at <a href="https://www.newegg.com/msi-16-geforce-rtx-5080-laptop-gpu-intel-core-ultra-9-275hx-16gb-memory-1-tb-ssd/p/N82E16834156737?utm_medium=affiliate&utm_campaign=afc-ran-com-_-Future+US+LLC-_-Editorial&utm_source=afc-Future+US+LLC&AFFID=2294204&AFFNAME=Future+US+LLC&ACRID=1&ASUBID=pcg-gb-9001410038325226686&ASID=https%3A%2F%2Fwww.pcgamer.com%2Fgaming-laptop-deals%2F&ranMID=44583&ranEAID=2294204&ranSiteID=kXQk6.ivFEQ-zdvHmtteBHUF1hAyF_DLuw&utm_content=Editorial" target="_blank">$2,399 on Newegg</a>, this MSI Vector undercuts it by quite a bit—and secondly, you're only getting 1 TB of storage, which is pretty miserly for such a high-end rig. But truth be told, that's pretty much it for the downsides; everything else about this <a href="https://www.pcgamer.com/hardware/gaming-laptops/lenovo-legion-pro-7i-gen-10-gaming-laptop-review/" target="_blank">Lenovo Legion 7i</a> is superb, and for the <a href="https://www.bestbuy.com/product/lenovo-legion-pro-7i-16-2-5k-oled-gaming-laptop-intel-core-ultra-9-275hx-2025-32gb-ram-nvidia-geforce-rtx-5080-1tb-eclipse-black/JJGSH3LVW3" target="_blank">$2,600 Best Buy is asking</a>, it's well worth considering.</p><p>The star of the whole show has to be the display panel. It's big and beautiful to behold: 16 inches of OLED lusciousness, with a 16:10 aspect ratio, 1600p resolution, and a 240 Hz peak refresh rate. Such a lovely screen really needs a great graphics chip to get the best from it, and that's precisely what you're getting here.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Nvidia's GeForce RTX 5080 mobile GPU is roughly equivalent to an RTX 5070 Ti desktop graphics card, and given that it's brilliant at 1440p and 4K gaming, you'll have no concerns over gaming performance with this laptop. The MSI Vector might seem to have the edge over the Lenovo in terms of raw frame rate, but the Legion is far more consistent, especially when it comes to minimum performance.</p><p>That's helped greatly by the fact that there's 32 GB of dual-channel DDR5-6400 and the processor is an Intel Core Ultra 9 275HX, a full-fat Arrow Lake chip with eight P-cores, 16 E-cores, and a peak boost clock of 5.4 GHz.</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');    @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,900;1,900&display=swap');        /* Reset & Base */    #fv-chart-1779368194174-jm2txd0sf *, #fv-chart-1779368194174-jm2txd0sf *:before, #fv-chart-1779368194174-jm2txd0sf *:after, #fv-chart-1779368194174-jm2txd0sf-slideshow *, #fv-chart-1779368194174-jm2txd0sf-slideshow *:before, #fv-chart-1779368194174-jm2txd0sf-slideshow *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1779368194174-jm2txd0sf, #fv-chart-1779368194174-jm2txd0sf-slideshow { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1779368194174-jm2txd0sf {        position: relative !important; overflow: visible !important;        --riv-primary: #E33235;    }    #fv-chart-1779368194174-jm2txd0sf .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ededed !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-1779368194174-jm2txd0sf .fv-inner-wrapper.fv-no-header.fv-is-image-compare {        padding-top: 0 !important;    }    #fv-chart-1779368194174-jm2txd0sf.fv-full-bleed {                width: 100vw !important;        margin-left: calc(50% - 50vw) !important;            }        body {        overflow-x: clip !important;    }        #fv-chart-1779368194174-jm2txd0sf.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-1779368194174-jm2txd0sf .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;    }            /* Slideshow Styles */    #fv-chart-1779368194174-jm2txd0sf-slideshow {        position: relative !important;        width: 100% !important;        margin: 1rem 0 !important;        --riv-primary: #E33235;    }    #fv-chart-1779368194174-jm2txd0sf-slideshow .fv-slides-wrapper {        position: relative !important;        width: 100% !important;    }    #fv-chart-1779368194174-jm2txd0sf-slideshow .fv-slide {        width: 100% !important;        animation: fv-fade-in 0.3s ease-in-out;    }      @keyframes fv-fade-in {        from { opacity: 0; }        to { opacity: 1; }    }        /* Top Navigation Row (Redesign) */    #fv-chart-1779368194174-jm2txd0sf-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-1779368194174-jm2txd0sf-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-1779368194174-jm2txd0sf-slideshow .fv-nav-btn svg {        width: 18px !important;        height: 18px !important;        stroke-width: 3px !important;        filter: none !important;    }    #fv-chart-1779368194174-jm2txd0sf-slideshow .fv-nav-btn:hover {        opacity: 0.9 !important;        transform: translateY(-1px) !important;    }        #fv-chart-1779368194174-jm2txd0sf-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-1779368194174-jm2txd0sf-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;    }        /* Slideshow Dropdown Navigation */    #fv-chart-1779368194174-jm2txd0sf-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-1779368194174-jm2txd0sf-slideshow .fv-slideshow-select:focus {        outline: 2px solid #E33235 !important;        border-color: #E33235 !important;    }        /* Typography */    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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; }    /* Versus Chart */    #fv-chart-1779368194174-jm2txd0sf .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper { flex: 1; min-width: 0; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-inside-left { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1779368194174-jm2txd0sf .fv-inside-right { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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; }    /* Image Comparison Styles */    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-container {        width: auto !important;        margin-left: -1.5rem !important;        margin-right: -1.5rem !important;        margin-bottom: 2rem !important;    }    #fv-chart-1779368194174-jm2txd0sf.fv-full-bleed .fv-image-compare-container {        width: 100% !important;        max-width: none !important;        margin: 0 auto !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper {        position: relative !important;        width: 100% !important;        overflow: hidden !important;        border-radius: 0 !important;        background-color: #000 !important;        touch-action: pan-y !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-inner {        position: relative !important;        width: 100% !important;        height: 100% !important;        display: block !important;        transform-origin: center center !important;        transition: transform 0.1s ease-out !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-bg {        display: block !important;        width: 100% !important;        height: auto !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-fg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        width: 100% !important;        height: 100% !important;        object-fit: cover !important;        clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-slider {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 32px !important;        transform: translateX(-50%) !important;        cursor: ew-resize !important;        z-index: 10 !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-slider-line {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 4px !important;        background-color: white !important;        transform: translateX(-50%) !important;        box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;        pointer-events: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-handle {        position: absolute !important;        top: 50% !important;        left: 50% !important;        transform: translate(-50%, -50%) !important;        width: 32px !important;        height: 32px !important;        background-color: white !important;        border-radius: 50% !important;        box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        gap: 4px !important;        pointer-events: none !important;        z-index: 11 !important;        overflow: hidden !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-handle.fv-image-compare-handle-square {        border-radius: 6px !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-arrow-left {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-right: 4px solid #4b5563 !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-arrow-right {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-left: 4px solid #4b5563 !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-label {        position: absolute !important;        top: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        padding: 0.25rem 0.75rem !important;        border-radius: 0.25rem !important;        font-size: 0.875rem !important;        font-weight: 500 !important;        pointer-events: none !important;        backdrop-filter: blur(4px) !important;        z-index: 5 !important;        transition: right 0.3s ease, opacity 0.2s ease !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-label-left {        left: 1rem !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-label-right {        right: 1rem !important;    }        #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-expand-btn,    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-close-btn {        position: absolute !important;        bottom: 1rem !important;        right: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        border: none !important;        border-radius: 0.25rem !important;        padding: 0.5rem !important;        cursor: pointer !important;        z-index: 20 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        backdrop-filter: blur(4px) !important;        transition: background-color 0.2s !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-expand-btn:hover,    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-close-btn:hover {        background-color: rgba(0, 0, 0, 0.7) !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-close-btn {        display: none !important;        top: 1rem !important;        bottom: auto !important;    }    /* Fullscreen State */    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen {        position: fixed !important;        top: 0 !important;        left: 0 !important;        right: 0 !important;        bottom: 0 !important;        width: 100% !important;        height: 100% !important;        z-index: 999999 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        background-color: rgba(0, 0, 0, 0.9) !important;        margin: 0 !important;        touch-action: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner {        width: 100% !important;        height: 100% !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        cursor: grab !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active {        cursor: grabbing !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg {        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn {        display: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn {        display: flex !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right {        right: 4rem !important;    }    /* Footer */    #fv-chart-1779368194174-jm2txd0sf .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1779368194174-jm2txd0sf .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;    }    /* Display Mode Controls */    #fv-chart-1779368194174-jm2txd0sf .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-dropdown-title:focus { outline: none !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-dropdown-title::-ms-expand { display: none !important; }        #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Multi-Value Legend */    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1779368194174-jm2txd0sf .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar-row, #fv-chart-1779368194174-jm2txd0sf .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Multi-Value Bar Logic */    #fv-chart-1779368194174-jm2txd0sf .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }        /* Stacked Bar */    #fv-chart-1779368194174-jm2txd0sf .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }    /* Grouped Bar */    #fv-chart-1779368194174-jm2txd0sf .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1779368194174-jm2txd0sf .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1779368194174-jm2txd0sf .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Shop The Look */    #fv-chart-1779368194174-jm2txd0sf .fv-stl-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; transition: min-height 0.3s ease !important; overflow: hidden !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1779368194174-jm2txd0sf.fv-full-bleed .fv-stl-container { width: 100% !important; }    #fv-chart-1779368194174-jm2txd0sf.fv-full-bleed .fv-stl-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1779368194174-jm2txd0sf .fv-stl-hotspot-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-hotspot-btn { 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), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 300ms !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-1779368194174-jm2txd0sf .fv-stl-hotspot-btn:hover { transform: scale(1.1) !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-hotspot-btn:focus { outline: 2px solid transparent !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #000000 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-hotspot-btn[aria-expanded="true"] { background-color: #3b82f6 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1779368194174-jm2txd0sf .fv-stl-hotspot-pulse { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-stl-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; }    @keyframes fv-stl-ping { 75%, 100% { transform: scale(2); opacity: 0; } }    @media (max-width: 640px) {        #fv-chart-1779368194174-jm2txd0sf .fv-stl-hotspot-pulse { animation-fill-mode: none !important; }    }    /* Shop the look button */    #fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; height: 2.5rem !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; color: #111827 !important; padding: 0 1rem 0 3rem !important; border-radius: 0.25rem !important; font-weight: 700 !important; font-size: 0.875rem !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; z-index: 10 !important; display: flex !important; align-items: center !important; text-transform: uppercase !important; overflow: hidden !important; white-space: nowrap !important; max-width: calc(100% - 2rem) !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-btn span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-btn:hover { background-color: #ffffff !important; transform: scale(1.05) !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-logo { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; object-fit: cover !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; flex-shrink: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-icon { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; color: #1f2937 !important; flex-shrink: 0 !important; }    /* All Products Modal */    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf { position: fixed !important; inset: 0 !important; background-color: rgba(0, 0, 0, 0) !important; backdrop-filter: blur(0px) !important; -webkit-backdrop-filter: blur(0px) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 99999 !important; pointer-events: none !important; transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease !important; padding: 1rem !important; overflow: hidden !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf { position: absolute !important; padding: 0 !important; align-items: flex-end !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.is-active { background-color: rgba(0, 0, 0, 0.2) !important; backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; pointer-events: auto !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-content { width: 100% !important; max-width: 42rem !important; max-height: 100% !important; display: flex !important; flex-direction: column !important; position: relative !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-radius: 1rem !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important; opacity: 0 !important; transform: scale(0.95) !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.is-active .fv-stl-all-products-content { opacity: 1 !important; transform: scale(1) !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.is-active .fv-stl-all-products-content { transform: translateY(0) !important; }        /* V2 Bottom Sheet Style */    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.v2 { align-items: flex-end !important; padding: 0 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.v2:not(.mobile-view *) { justify-content: flex-end !important; }    }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.v2 .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.v2:not(.mobile-view *) .fv-stl-all-products-content { max-width: 700px !important; border-radius: 1.5rem 0 0 0 !important; }    }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.v2.is-active .fv-stl-all-products-content { transform: translateY(0) !important; opacity: 1 !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1.5rem !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; position: sticky !important; top: 0 !important; background-color: rgba(255, 255, 255, 0.8) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; z-index: 10 !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-header { padding: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-logo { height: 1.5rem !important; width: auto !important; object-fit: contain !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-logo { height: 1.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-title { font-size: 1.125rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-close { width: 2rem !important; height: 2rem !important; border-radius: 9999px !important; background-color: rgba(0, 0, 0, 0.05) !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; cursor: pointer !important; z-index: 10 !important; color: #6b7280 !important; transition: all 0.2s !important; padding: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-close:hover { background-color: rgba(0, 0, 0, 0.1) !important; color: #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-list { list-style: none !important; padding: 1.5rem !important; margin: 0 !important; overflow-y: auto !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 0.75rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-list { padding: 0.75rem !important; gap: 0.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-item { margin: 0 !important; padding: 0.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-link { display: flex !important; align-items: flex-start !important; padding: 0.75rem !important; text-decoration: none !important; color: inherit !important; transition: all 0.2s !important; border-radius: 1rem !important; border: 1px solid transparent !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-link { padding: 0.5rem !important; border-radius: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-link:hover { background-color: #ffffff !important; border-color: #e5e7eb !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-item.is-highlighted .fv-stl-all-products-link { background-color: #ffffff !important; border-color: #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-image-container { position: relative !important; margin-right: 1.25rem !important; flex-shrink: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-image-container { margin-right: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-number { position: absolute !important; top: -0.5rem !important; left: -0.5rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; background-color: #0f172a !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.75rem !important; font-weight: 700 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #ffffff !important; z-index: 10 !important; font-family: sans-serif !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-number { top: -0.375rem !important; left: -0.375rem !important; width: 1.25rem !important; height: 1.25rem !important; font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-image-wrapper { width: 6rem !important; height: 6rem !important; border-radius: 0.75rem !important; overflow: hidden !important; background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.02) !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-image-wrapper { width: 4rem !important; height: 4rem !important; border-radius: 0.5rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-placeholder { width: 2rem !important; height: 2rem !important; color: #d1d5db !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-placeholder { width: 1.5rem !important; height: 1.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; margin-top: 0.25rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-info { margin-top: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-brand { font-size: 0.625rem !important; font-weight: 700 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin: 0 0 0.375rem 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-brand { font-size: 0.5625rem !important; margin: 0 0 0.25rem 0 !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-name { font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 0.375rem 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.25 !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-name { font-size: 0.875rem !important; margin: 0 0 0.25rem 0 !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-meta { display: flex !important; align-items: center !important; font-size: 0.875rem !important; margin-bottom: 0.375rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-meta { font-size: 0.75rem !important; margin-bottom: 0.25rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-price { font-weight: 700 !important; color: #111827 !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-sale-price { font-weight: 700 !important; color: #dc2626 !important; margin-right: 0.5rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-sale-price { margin-right: 0.375rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-original-price { color: #9ca3af !important; text-decoration: line-through !important; font-size: 0.75rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-original-price { font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-commentary { font-size: 0.875rem !important; color: #4b5563 !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.375 !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-commentary { font-size: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-action { width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important; background-color: #f9fafb !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; margin-left: 1rem !important; flex-shrink: 0 !important; border: 1px solid #f3f4f6 !important; transition: all 0.2s !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-action { width: 2rem !important; height: 2rem !important; margin-left: 0.75rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-action svg { width: 14px !important; height: 14px !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-link:hover .fv-stl-all-products-action { background-color: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }    /* Image Annotation Styles */    #fv-chart-1779368194174-jm2txd0sf .fv-ia-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; overflow: hidden !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1779368194174-jm2txd0sf.fv-full-bleed .fv-ia-container { width: 100% !important; }    #fv-chart-1779368194174-jm2txd0sf.fv-full-bleed .fv-ia-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1779368194174-jm2txd0sf .fv-ia-node-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-ia-node-button:hover { transform: scale(1.1) !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-node-button.is-active { background-color: #E33235 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1779368194174-jm2txd0sf .fv-ia-pulse-ring { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-ia-node-button:hover + .fv-ia-static-tooltip { display: block !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-logo-explore-bar .fv-logo { margin: 0 auto !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-explore-wrapper { position: absolute !important; right: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-logo-explore-bar { flex-direction: column !important; min-height: auto !important; gap: 0.75rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-ia-explore-wrapper { position: static !important; align-self: flex-end !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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: #E33235 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-explore-btn svg { transition: transform 0.2s !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-explore-btn:hover svg { transform: translateX(2px) !important; }    /* IA Modal Styles */    #fv-chart-1779368194174-jm2txd0sf .fv-ia-active-modal-container { display: none !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-modals { display: block !important; position: static !important; }        #fv-chart-1779368194174-jm2txd0sf .fv-ia-modal-item { display: none !important; }    #fv-chart-1779368194174-jm2txd0sf .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 #E33235 !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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-ia-close-button:hover { background: #e5e7eb !important; color: #111827 !important; }        #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf.mobile-view .fv-ia-node-description { font-size: 0.875rem !important; }    /* Error Handling */    #fv-chart-1779368194174-jm2txd0sf .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; }    /* Countdown Styles */    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-container {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        justify-content: center !important;        padding: 1rem !important;        position: relative !important;        width: 100% !important;        box-sizing: border-box !important;        font-family: Montserrat, sans-serif !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-header {        text-align: center !important;        margin-bottom: 2rem !important;        z-index: 10 !important;        width: 100% !important;        display: flex !important;        flex-direction: column !important;        align-items: center !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-title {        font-size: 1.25rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0 !important;        font-style: italic !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-subhead {        font-size: 1.125rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0.25rem 0 0 0 !important;        font-style: italic !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-timer-wrap {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        width: 100% !important;        max-width: 64rem !important;        z-index: 10 !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-labels {        display: flex !important;        justify-content: center !important;        width: 100% !important;        margin-bottom: 0.5rem !important;        padding: 0 0.5rem !important;        font-size: 0.75rem !important;        font-weight: bold !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-labels > div {        flex: 1 !important;        text-align: center !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-box {        position: relative !important;        width: 100% !important;        border-top: 6px solid #333 !important;        border-bottom: 8px solid #333 !important;        padding: 1rem 0 !important;        background: linear-gradient(to bottom, #1f2937, #000000) !important;        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits {        display: flex !important;        justify-content: center !important;        font-size: 1.75rem !important;        font-weight: 900 !important;        letter-spacing: 0em !important;        font-family: monospace !important;        color: #fff !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits > div.digit-box {        flex: 1 !important;        text-align: center !important;        white-space: nowrap !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits > div.colon {        flex: 0 0 auto !important;        opacity: 0.5 !important;        position: relative !important;        top: -2px !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-spike-l {        position: absolute !important;        left: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-right: 15px solid #374151 !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-spike-r {        position: absolute !important;        right: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-left: 15px solid #374151 !important;    }    @media (min-width: 600px) {        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-container {            padding: 2rem !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-title {            font-size: 1.75rem !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-subhead {            font-size: 1.25rem !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits {            font-size: 2.25rem !important;            letter-spacing: 0 !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-labels {            font-size: 0.875rem !important;            padding: 0 1rem !important;            margin-bottom: 1rem !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-box {            padding: 1.5rem 0 !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits > div.colon {            top: -4px !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-spike-l {            left: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-right-width: 20px !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-spike-r {            right: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-left-width: 20px !important;        }    }        @media (min-width: 768px) {        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits {            font-size: 3.5rem !important;            letter-spacing: 0.05em !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits > div.colon {            top: -5px !important;        }    }    /* Mobile / Forced Mobile View / Labels on Top */    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-pie-container,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-pie-container {        flex-direction: column !important; gap: 1rem !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-grouped-product-title-wrapper,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-bar-row,    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-stacked-product,    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-grouped-bar-product,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-bar-row,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-stacked-product,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-grouped-bar-product {        flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-bar-label:not(.fv-grouped-product-title),    #fv-chart-1779368194174-jm2txd0sf.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-1779368194174-jm2txd0sf.mobile-view .fv-bar-label,    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-grouped-product-title,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-bar-label,    #fv-chart-1779368194174-jm2txd0sf.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-1779368194174-jm2txd0sf.mobile-view .fv-bar-container,    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-bar-cluster,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-bar-container,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-bar-cluster {        width: 100% !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-x-axis-wrapper,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-x-axis-wrapper {        margin-left: 0 !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-x-axis-label-space,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-x-axis-label-space {        display: none !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-x-axis-chart-space,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-x-axis-chart-space {        padding-right: 0 !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-benchmark-title,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-benchmark-title {        font-size: 16px !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-dropdown-title,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-dropdown-title {        font-size: 16px !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-carousel-nav-btn,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-carousel-nav-btn {        padding: 8px 12px !important; font-size: 14px !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-chart-title,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-chart-title {        padding: 0 8px !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-chart-subhead,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-chart-subhead {        padding: 0 8px !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-header,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-header {        flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select-wrapper,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select-wrapper {        flex: 1 !important; min-width: 0 !important; width: 100% !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select-wrapper.fv-left,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select-wrapper.fv-left {        text-align: center !important; padding-right: 0 !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select-wrapper.fv-right,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select-wrapper.fv-right {        text-align: center !important; padding-left: 0 !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select.fv-select-left,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select.fv-select-left {        text-align: center !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select.fv-select-right,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select.fv-select-right {        text-align: center !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-vs,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-vs {        text-align: center !important; padding: 0.25rem 0 !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select-container,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select-container {        max-width: 100% !important; width: 100% !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select {        font-size: 14px !important; width: 100% !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-stl-shop-all-btn,    #fv-chart-1779368194174-jm2txd0sf.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-1779368194174-jm2txd0sf.mobile-view .fv-stl-shop-all-logo,    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-stl-shop-all-icon,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-stl-shop-all-logo,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-stl-shop-all-icon {        width: 2rem !important; height: 2rem !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-stl-shop-all-icon svg,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-stl-shop-all-icon svg {        width: 14px !important; height: 14px !important;    }        #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }    #fv-chart-1779368194174-jm2txd0sf.mobile-view.fv-contains-line-chart .fv-footer-content {        margin-left: -1rem !important;        margin-right: -1rem !important;    }    @media (max-width: 599px) {         #fv-chart-1779368194174-jm2txd0sf .fv-pie-container {            flex-direction: column !important; gap: 1rem !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-bar-row,        #fv-chart-1779368194174-jm2txd0sf .fv-stacked-product,        #fv-chart-1779368194174-jm2txd0sf .fv-grouped-bar-product {            flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;        }#fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar-label,        #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar-container,        #fv-chart-1779368194174-jm2txd0sf .fv-bar-cluster {            width: 100% !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-x-axis-wrapper {            margin-left: 0 !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-x-axis-label-space {            display: none !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-x-axis-chart-space {            padding-right: 0 !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-benchmark-title {            font-size: 16px !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-dropdown-title {            font-size: 16px !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-carousel-nav-btn {            padding: 8px 12px !important; font-size: 14px !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-chart-title {            padding: 0 8px !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-chart-subhead {            padding: 0 8px !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-header {            flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper {            flex: 1 !important; min-width: 0 !important; width: 100% !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper.fv-left {            text-align: center !important; padding-right: 0 !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper.fv-right {            text-align: center !important; padding-left: 0 !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select.fv-select-left {            text-align: center !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select.fv-select-right {            text-align: center !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-vs {            text-align: center !important; padding: 0.25rem 0 !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select-container {            max-width: 100% !important; width: 100% !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select {            font-size: 14px !important; width: 100% !important;        }#fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-stl-shop-all-logo,        #fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-icon {            width: 2rem !important; height: 2rem !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-icon svg {            width: 14px !important; height: 14px !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1779368194174-jm2txd0sf.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": "Gaming performance",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-05-21T12:56:34.175Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Lenovo Legion 7i Pro Gen10",    "MSI Vector A18 HX",    "Gigabyte Aorus Master 16",    "Cyberpunk 2077 (1440p RT Ultra)",    "Baldur's Gate 3 (1440p Ultra)",    "Black Myth: Wukong benchmarking tool (1440p High)",    "F1 24 (1440p Ultra High)",    "Metro Exodus Enhanced Edition (1440p Ultra)",    "3DMark Port Royal",    "3DMark Time Spy Extreme",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – Cyberpunk 2077 (1440p RT Ultra)",      "value": 39,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – Cyberpunk 2077 (1440p RT Ultra)",      "value": 44,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – Cyberpunk 2077 (1440p RT Ultra)",      "value": 45,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – Baldur's Gate 3 (1440p Ultra)",      "value": 82,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – Baldur's Gate 3 (1440p Ultra)",      "value": 96,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – Baldur's Gate 3 (1440p Ultra)",      "value": 95,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – Black Myth: Wukong benchmarking tool (1440p High)",      "value": 84,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – Black Myth: Wukong benchmarking tool (1440p High)",      "value": 72,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – Black Myth: Wukong benchmarking tool (1440p High)",      "value": 71,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – F1 24 (1440p Ultra High)",      "value": 75,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – F1 24 (1440p Ultra High)",      "value": 78,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – F1 24 (1440p Ultra High)",      "value": 80,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – Metro Exodus Enhanced Edition (1440p Ultra)",      "value": 89,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – Metro Exodus Enhanced Edition (1440p Ultra)",      "value": 102,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – Metro Exodus Enhanced Edition (1440p Ultra)",      "value": 100,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – 3DMark Port Royal",      "value": 13267,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – 3DMark Port Royal",      "value": 14870,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – 3DMark Port Royal",      "value": 15168,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – 3DMark Time Spy Extreme",      "value": 10468,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – 3DMark Time Spy Extreme",      "value": 11318,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – 3DMark Time Spy Extreme",      "value": 11134,      "unitText": "Overall index score"    }  ]}</script>    <div id="fv-chart-1779368194174-jm2txd0sf" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true">        <div class="fv-inner-wrapper    ">            <h3 class="fv-chart-title">Gaming performance</h3>                        <div class="fv-dropdown-wrapper">                <div class="fv-dropdown-title-container">                    <select class="fv-dropdown-title">                        <option value="0">Cyberpunk 2077 (1440p RT Ultra)</option><option value="1">Baldur's Gate 3 (1440p Ultra)</option><option value="2">Black Myth: Wukong benchmarking tool (1440p High)</option><option value="3">F1 24 (1440p Ultra High)</option><option value="4">Metro Exodus Enhanced Edition (1440p Ultra)</option><option value="5">3DMark Port Royal</option><option value="6">3DMark Time Spy Extreme</option>                    </select>                    <div class="fv-dropdown-chevron">                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>                    </div>                </div>            </div>            <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-Cyberpunk 2077 (1440p RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1440p RT Ultra)" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #E33235;" data-target-width="73.33333333333333" 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">44</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.666666666666664%; background-color: #FE9F58;" data-target-width="36.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" 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">45</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.666666666666664%; background-color: #FE9F58;" data-target-width="56.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">34</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #E33235;" data-target-width="65" 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">39</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48.333333333333336%; background-color: #FE9F58;" data-target-width="48.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">29</span></div>    </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>15</span><span>30</span><span>45</span><span>60</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Cyberpunk 2077 (1440p RT Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>44 Avg FPS, 22 1% Low FPS</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>45 Avg FPS, 34 1% Low FPS</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>39 Avg FPS, 29 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-Baldur's Gate 3 (1440p Ultra)" data-chart-type="Bar" data-title="Baldur's Gate 3 (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 96%; background-color: #E33235;" data-target-width="96" 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">96</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51%; background-color: #FE9F58;" data-target-width="51" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95%; background-color: #E33235;" data-target-width="95" 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">95</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.99999999999999%; background-color: #FE9F58;" data-target-width="56.99999999999999" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">57</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82%; background-color: #E33235;" data-target-width="82" 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">82</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43%; background-color: #FE9F58;" data-target-width="43" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43</span></div>    </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>25</span><span>50</span><span>75</span><span>100</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Baldur's Gate 3 (1440p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>96 Avg FPS, 51 1% Low FPS</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>95 Avg FPS, 57 1% Low FPS</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>82 Avg FPS, 43 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-Black Myth: Wukong benchmarking tool (1440p High)" data-chart-type="Bar" data-title="Black Myth: Wukong benchmarking tool (1440p High)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72%; background-color: #E33235;" data-target-width="72" 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">72</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62%; background-color: #FE9F58;" data-target-width="62" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71%; background-color: #E33235;" data-target-width="71" 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">71</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42%; background-color: #FE9F58;" data-target-width="42" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84%; background-color: #E33235;" data-target-width="84" 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">84</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72%; background-color: #FE9F58;" data-target-width="72" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div>    </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>25</span><span>50</span><span>75</span><span>100</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Black Myth: Wukong benchmarking tool (1440p High) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>72 Avg FPS, 62 1% Low FPS</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>71 Avg FPS, 42 1% Low FPS</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>84 Avg FPS, 72 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-F1 24 (1440p Ultra High)" data-chart-type="Bar" data-title="F1 24 (1440p Ultra High)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97.5%; background-color: #E33235;" data-target-width="97.5" 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">78</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.25%; background-color: #FE9F58;" data-target-width="46.25" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #E33235;" 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">80</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 47.5%; background-color: #FE9F58;" data-target-width="47.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">38</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 93.75%; background-color: #E33235;" data-target-width="93.75" 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">75</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.49999999999999%; background-color: #FE9F58;" data-target-width="57.49999999999999" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">46</span></div>    </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>20</span><span>40</span><span>60</span><span>80</span></div>                    </div>    </div>        <table class="sr-only">            <caption>F1 24 (1440p Ultra High) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>78 Avg FPS, 37 1% Low FPS</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>80 Avg FPS, 38 1% Low FPS</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>75 Avg FPS, 46 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-Metro Exodus Enhanced Edition (1440p Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68%; background-color: #E33235;" data-target-width="68" 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">102</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 44.666666666666664%; background-color: #FE9F58;" data-target-width="44.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">67</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.66666666666666%; background-color: #E33235;" data-target-width="66.66666666666666" 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">100</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.333333333333334%; background-color: #FE9F58;" data-target-width="13.333333333333334" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">20</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 59.333333333333336%; background-color: #E33235;" data-target-width="59.333333333333336" 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">89</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 29.333333333333332%; background-color: #FE9F58;" data-target-width="29.333333333333332" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div>    </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>    </div>        <table class="sr-only">            <caption>Metro Exodus Enhanced Edition (1440p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>102 Avg FPS, 67 1% Low FPS</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>100 Avg FPS, 20 1% Low FPS</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>89 Avg FPS, 44 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-3DMark Port Royal" data-chart-type="Bar" data-title="3DMark Port Royal" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10 - 3DMark Port Royal: 14870 Overall index score">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 74.35000000000001%; background-color: #1CA9C4;" data-target-width="74.35000000000001" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">14870</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX - 3DMark Port Royal: 15168 Overall index score">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 75.84%; background-color: #EB6F71;" data-target-width="75.84" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">15168</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16 - 3DMark Port Royal: 13267 Overall index score">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 66.335%; background-color: #FE9F58;" data-target-width="66.335" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13267</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>5,000</span><span>10,000</span><span>15,000</span><span>20,000</span></div>            <div class="fv-x-axis-unit">Overall index score</div>        </div>    </div>        <table class="sr-only">            <caption>3DMark Port Royal Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>14870</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>15168</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>13267</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-3DMark Time Spy Extreme" data-chart-type="Bar" data-title="3DMark Time Spy Extreme" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Overall index score</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>GPU index</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div>                    <span>CPU index</span>                </div>            </div><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.45333333333333%; background-color: #E33235;" data-target-width="75.45333333333333" 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">11318</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74.25333333333334%; background-color: #FE9F58;" data-target-width="74.25333333333334" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">11138</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 83.06%; background-color: #1CA9C4;" data-target-width="83.06" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">12459</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74.22666666666666%; background-color: #E33235;" data-target-width="74.22666666666666" 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">11134</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.36%; background-color: #FE9F58;" data-target-width="73.36" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">11004</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79.59333333333333%; background-color: #1CA9C4;" data-target-width="79.59333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">11939</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 69.78666666666666%; background-color: #E33235;" data-target-width="69.78666666666666" 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">10468</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.14666666666666%; background-color: #FE9F58;" data-target-width="68.14666666666666" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">10222</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80.82000000000001%; background-color: #1CA9C4;" data-target-width="80.82000000000001" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">12123</span></div>    </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>3,750</span><span>7,500</span><span>11,250</span><span>15,000</span></div>                    </div>    </div>        <table class="sr-only">            <caption>3DMark Time Spy Extreme Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>11318 Overall index score, 11138 GPU index, 12459 CPU index</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>11134 Overall index score, 11004 GPU index, 11939 CPU index</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>10468 Overall index score, 10222 GPU index, 12123 CPU index</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer 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() {      /*  Global animation function for slideshow re-use */      window.fvAnimateCharts = function(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                /*  Reset to 0 first to ensure animation triggers */                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                /*  Force reflow */                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); /*  Reduced initial delay */            });          }          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);              });            }            /*  Execute */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');                        charts.forEach(function(chart) {                /*  If in carousel/dropdown mode, hidden charts are display:none. */                /*  We only animate what is visible. */                if (window.getComputedStyle(chart).display === 'none') return;                                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });      };            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);                /*  In slideshow mode, 'root' will be null because the container has '-slideshow' suffix. */        /*  We handle that logic below. */        if (!root && !isSlideshow) return;                /*  Setup internal interactions (Carousel/Dropdown/LineChart) for a specific chart wrapper */        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) {                    /*  Fallback for when width isn't available yet (e.g., hidden tab) */                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    /*  Mobile if container is small OR if it's a physical mobile device (overriding fixed-width iframes) */                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        /*  Initial check */            checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        /*  Always add window resize listener as a reliable fallback for DevTools and edge cases */            window.addEventListener('resize', checkMobileView);                        /*  Labels on top handler */            var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                /*  If there are multiple charts and we're not in a carousel/dropdown, we might have mixed types. */                /*  But typically, labels-on-top is a global setting. We'll apply it initially,  */                /*  and showInternalChart will toggle it if needed. */                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 === '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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');                        var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');                                                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);            });            /*  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');                        /*  Text Elements */            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 === 'Line') {                                 /*  Line chart animations if needed */                             } else if (cType !== 'Pie') {                                 window.fvAnimateCharts(chartWrapper);                             }                                                          /*  Update labels-on-top based on current chart type */                             var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === '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;                                        /*  Update Subhead and Caption */                    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 || '';                                                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;                /*  Zoom state */                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();                    /*  Max pan depends on how much the image is scaled beyond the wrapper */                    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; /*  Prevent click after pinch */                    } 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 });                }                /*  Expand/Close Logic */                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.preventDefault(); // Removed to allow text selection */                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        /*  Load high-res images if available */                            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.preventDefault(); // Removed to allow text selection */                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                /*  Close on Escape */                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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        /*  Remove highlights */                    var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    /*  Remove min-height after transition */                    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');                        /*  Ensure container is tall enough */                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                /*  Highlight and scroll to item */                        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();                        }                    }                });            });            /*  Shop All button */            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    /*  Ensure container is tall enough */                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            /*  Close button in all products modal */            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            /*  Close modals when clicking outside */            chartWrapper.addEventListener('click', function(e) {                /*  Only close if clicking on the wrapper or container, not inside a modal content */                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 */            window.fvAnimateCharts(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 primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';                    var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';                                        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-1779368194174-jm2txd0sf', false); });      } else {        initialize('fv-chart-1779368194174-jm2txd0sf', false);      }    })();      </script></div><p>Naturally, being such a powerful laptop with a huge OLED screen, it doesn't have the best of battery lifespans—it barely cracks 70 minutes in the PCMark gaming test—and it's not something that you can easily slip into a backpack and carry around with you. Oh, and it's an absolute magnet for fingerprints, though that just gives you the perfect excuse to endlessly clean it and make oochy-coochy noises at your beloved new purchase.</p><p>As for the disappointing amount of storage, the good news there is that the Lenovo Legion 7i Pro has a spare M.2 slot inside, so funds permitting, it's very easy to throw another 1 or 2 TB NVMe drive in there, purely to house games.</p><p>If you're going to spend a whole heap of cash on a new RTX 5080 gaming laptop, you can do far worse than this one. In fact, it's actually very hard to beat the Lenovo. Certainly on price, but in every other area that matters, the Legion 7i Pro is absolutely top-notch.</p><h2 id="check-out-all-of-best-buy-s-gaming-pc-deals-here">👉<a href="https://www.bestbuy.com/site/pc-gaming/gaming-laptops/pcmcat287600050003.c?id=pcmcat287600050003" target="_blank">Check out all of Best Buy's gaming PC deals here</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-laptops/you-deserve-the-greatest-so-treat-yourself-with-this-rtx-5080-lenovo-legion-the-best-high-performance-gaming-laptop-weve-tested/</link>
                                                                            <description>
                            <![CDATA[ At $2,600, it's mightily expensive, but perfection never comes cheap. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Yr6tP8crCunRNKTVNZbbzk</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/YyTijpqXAaC82tTEJBzXn5-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 21 May 2026 13:40:35 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Laptops]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Gaming PCs]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nick Evanson ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HH5qHxdCSKxFpY2HXp2Q5K-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick, gaming, and computers all first met in the early 1980s. After leaving university, he became a physics and IT teacher and started writing about tech in the late 1990s. That resulted in him working with MadOnion to write the help files for 3DMark and PCMark. After a short stint working at Beyond3D.com, Nick joined Futuremark (MadOnion rebranded) full-time, as editor-in-chief for its PC gaming section, YouGamers. After the site shutdown, he became an engineering and computing lecturer for many years, but missed the writing bug. Cue four years at TechSpot.com covering everything and anything to do with tech and PCs. He freely admits to being far too obsessed with GPUs and open-world grindy RPGs, but who isn&#039;t these days?&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/YyTijpqXAaC82tTEJBzXn5-1920-80.jpg">
                                                            <media:credit><![CDATA[Lenovo]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An image of a Lenovo Legion 7i Pro gaming laptop, against a colorful background, with the phrase &#039;Deals&#039; on the right, above a PC Gamer logo]]></media:description>                                                            <media:text><![CDATA[An image of a Lenovo Legion 7i Pro gaming laptop, against a colorful background, with the phrase &#039;Deals&#039; on the right, above a PC Gamer logo]]></media:text>
                                <media:title type="plain"><![CDATA[An image of a Lenovo Legion 7i Pro gaming laptop, against a colorful background, with the phrase &#039;Deals&#039; on the right, above a PC Gamer logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/YyTijpqXAaC82tTEJBzXn5-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="c5c829a8-23ee-4be7-9ad4-1b8011d2e085" data-action="Deal Block" data-label="Legion Pro 7i Gen 10 | RTX 5080" data-dimension48="Legion Pro 7i Gen 10 | RTX 5080" data-dimension25="$2599.99" href="https://www.bestbuy.com/product/lenovo-legion-pro-7i-16-2-5k-oled-gaming-laptop-intel-core-ultra-9-275hx-2025-32gb-ram-nvidia-geforce-rtx-5080-1tb-eclipse-black/JJGSH3LVW3" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Cfp8u8LtCzj4NyavpbHyo4" name="LenovoLegionPro7iGen10" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Cfp8u8LtCzj4NyavpbHyo4-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/lenovo-legion-pro-7i-16-2-5k-oled-gaming-laptop-intel-core-ultra-9-275hx-2025-32gb-ram-nvidia-geforce-rtx-5080-1tb-eclipse-black/JJGSH3LVW3" target="_blank" rel="nofollow" data-dimension112="c5c829a8-23ee-4be7-9ad4-1b8011d2e085" data-action="Deal Block" data-label="Legion Pro 7i Gen 10 | RTX 5080" data-dimension48="Legion Pro 7i Gen 10 | RTX 5080" data-dimension25="$2599.99">Legion Pro 7i Gen 10 | RTX 5080: was $4249.99 now $2599.99</a></strong><br>Our <a href="https://www.pcgamer.com/hardware/gaming-laptops/best-gaming-laptop/#section-the-best-high-performance-gaming-laptop" target="_blank">best high-performance gaming laptop</a> pick features a monstrous collection of components. The RTX 5080 is a full-strength 175 W variant, the panel is a 240 Hz OLED stunner, the Intel CPU is mega, and as <a href="https://www.pcgamer.com/hardware/gaming-laptops/lenovo-legion-pro-7i-gen-10-gaming-laptop-review/" target="_blank">our Dave found in his review</a>, the gaming performance is simply excellent. It's one of the fastest laptops we've tested to date, yet comes wrapped in a chassis you'd actually want to show off—although it must be said, it's a pretty sizeable machine to lug around. Expensive, too, but at least it's about as fast as it gets.</p><p><strong>Key specs: RTX 5080 | Core Ultra 9 275HX | 16-inch | 240 Hz OLED | 1600p | 32 GB DDR5 | 1 TB SSD</strong></p><p><strong>Price check: </strong><a href="https://www.lenovo.com/us/en/p/laptops/legion-laptops/legion-pro-series/legion-pro-7i-gen-10-16-inch-intel/83f50014us" target="_blank">Lenovo $3,199.99</a><strong></strong><a class="view-deal button" href="https://www.bestbuy.com/product/lenovo-legion-pro-7i-16-2-5k-oled-gaming-laptop-intel-core-ultra-9-275hx-2025-32gb-ram-nvidia-geforce-rtx-5080-1tb-eclipse-black/JJGSH3LVW3" target="_blank" rel="nofollow" data-dimension112="c5c829a8-23ee-4be7-9ad4-1b8011d2e085" data-action="Deal Block" data-label="Legion Pro 7i Gen 10 | RTX 5080" data-dimension48="Legion Pro 7i Gen 10 | RTX 5080" data-dimension25="$2599.99">View Deal</a></p></div><p>Let's get the obvious things out of the way first. To start with, this isn't the <em>cheapest</em> RTX 5080 gaming laptop you can buy—at <a href="https://www.newegg.com/msi-16-geforce-rtx-5080-laptop-gpu-intel-core-ultra-9-275hx-16gb-memory-1-tb-ssd/p/N82E16834156737?utm_medium=affiliate&utm_campaign=afc-ran-com-_-Future+US+LLC-_-Editorial&utm_source=afc-Future+US+LLC&AFFID=2294204&AFFNAME=Future+US+LLC&ACRID=1&ASUBID=pcg-gb-9001410038325226686&ASID=https%3A%2F%2Fwww.pcgamer.com%2Fgaming-laptop-deals%2F&ranMID=44583&ranEAID=2294204&ranSiteID=kXQk6.ivFEQ-zdvHmtteBHUF1hAyF_DLuw&utm_content=Editorial" target="_blank">$2,399 on Newegg</a>, this MSI Vector undercuts it by quite a bit—and secondly, you're only getting 1 TB of storage, which is pretty miserly for such a high-end rig. But truth be told, that's pretty much it for the downsides; everything else about this <a href="https://www.pcgamer.com/hardware/gaming-laptops/lenovo-legion-pro-7i-gen-10-gaming-laptop-review/" target="_blank">Lenovo Legion 7i</a> is superb, and for the <a href="https://www.bestbuy.com/product/lenovo-legion-pro-7i-16-2-5k-oled-gaming-laptop-intel-core-ultra-9-275hx-2025-32gb-ram-nvidia-geforce-rtx-5080-1tb-eclipse-black/JJGSH3LVW3" target="_blank">$2,600 Best Buy is asking</a>, it's well worth considering.</p><p>The star of the whole show has to be the display panel. It's big and beautiful to behold: 16 inches of OLED lusciousness, with a 16:10 aspect ratio, 1600p resolution, and a 240 Hz peak refresh rate. Such a lovely screen really needs a great graphics chip to get the best from it, and that's precisely what you're getting here.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Nvidia's GeForce RTX 5080 mobile GPU is roughly equivalent to an RTX 5070 Ti desktop graphics card, and given that it's brilliant at 1440p and 4K gaming, you'll have no concerns over gaming performance with this laptop. The MSI Vector might seem to have the edge over the Lenovo in terms of raw frame rate, but the Legion is far more consistent, especially when it comes to minimum performance.</p><p>That's helped greatly by the fact that there's 32 GB of dual-channel DDR5-6400 and the processor is an Intel Core Ultra 9 275HX, a full-fat Arrow Lake chip with eight P-cores, 16 E-cores, and a peak boost clock of 5.4 GHz.</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');    @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,900;1,900&display=swap');        /* Reset & Base */    #fv-chart-1779368194174-jm2txd0sf *, #fv-chart-1779368194174-jm2txd0sf *:before, #fv-chart-1779368194174-jm2txd0sf *:after, #fv-chart-1779368194174-jm2txd0sf-slideshow *, #fv-chart-1779368194174-jm2txd0sf-slideshow *:before, #fv-chart-1779368194174-jm2txd0sf-slideshow *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1779368194174-jm2txd0sf, #fv-chart-1779368194174-jm2txd0sf-slideshow { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1779368194174-jm2txd0sf {        position: relative !important; overflow: visible !important;        --riv-primary: #E33235;    }    #fv-chart-1779368194174-jm2txd0sf .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ededed !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-1779368194174-jm2txd0sf .fv-inner-wrapper.fv-no-header.fv-is-image-compare {        padding-top: 0 !important;    }    #fv-chart-1779368194174-jm2txd0sf.fv-full-bleed {                width: 100vw !important;        margin-left: calc(50% - 50vw) !important;            }        body {        overflow-x: clip !important;    }        #fv-chart-1779368194174-jm2txd0sf.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-1779368194174-jm2txd0sf .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;    }            /* Slideshow Styles */    #fv-chart-1779368194174-jm2txd0sf-slideshow {        position: relative !important;        width: 100% !important;        margin: 1rem 0 !important;        --riv-primary: #E33235;    }    #fv-chart-1779368194174-jm2txd0sf-slideshow .fv-slides-wrapper {        position: relative !important;        width: 100% !important;    }    #fv-chart-1779368194174-jm2txd0sf-slideshow .fv-slide {        width: 100% !important;        animation: fv-fade-in 0.3s ease-in-out;    }      @keyframes fv-fade-in {        from { opacity: 0; }        to { opacity: 1; }    }        /* Top Navigation Row (Redesign) */    #fv-chart-1779368194174-jm2txd0sf-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-1779368194174-jm2txd0sf-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-1779368194174-jm2txd0sf-slideshow .fv-nav-btn svg {        width: 18px !important;        height: 18px !important;        stroke-width: 3px !important;        filter: none !important;    }    #fv-chart-1779368194174-jm2txd0sf-slideshow .fv-nav-btn:hover {        opacity: 0.9 !important;        transform: translateY(-1px) !important;    }        #fv-chart-1779368194174-jm2txd0sf-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-1779368194174-jm2txd0sf-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;    }        /* Slideshow Dropdown Navigation */    #fv-chart-1779368194174-jm2txd0sf-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-1779368194174-jm2txd0sf-slideshow .fv-slideshow-select:focus {        outline: 2px solid #E33235 !important;        border-color: #E33235 !important;    }        /* Typography */    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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; }    /* Versus Chart */    #fv-chart-1779368194174-jm2txd0sf .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper { flex: 1; min-width: 0; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-inside-left { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1779368194174-jm2txd0sf .fv-inside-right { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }    #fv-chart-1779368194174-jm2txd0sf .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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; }    /* Image Comparison Styles */    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-container {        width: auto !important;        margin-left: -1.5rem !important;        margin-right: -1.5rem !important;        margin-bottom: 2rem !important;    }    #fv-chart-1779368194174-jm2txd0sf.fv-full-bleed .fv-image-compare-container {        width: 100% !important;        max-width: none !important;        margin: 0 auto !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper {        position: relative !important;        width: 100% !important;        overflow: hidden !important;        border-radius: 0 !important;        background-color: #000 !important;        touch-action: pan-y !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-inner {        position: relative !important;        width: 100% !important;        height: 100% !important;        display: block !important;        transform-origin: center center !important;        transition: transform 0.1s ease-out !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-bg {        display: block !important;        width: 100% !important;        height: auto !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-fg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        width: 100% !important;        height: 100% !important;        object-fit: cover !important;        clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-slider {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 32px !important;        transform: translateX(-50%) !important;        cursor: ew-resize !important;        z-index: 10 !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-slider-line {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 4px !important;        background-color: white !important;        transform: translateX(-50%) !important;        box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;        pointer-events: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-handle {        position: absolute !important;        top: 50% !important;        left: 50% !important;        transform: translate(-50%, -50%) !important;        width: 32px !important;        height: 32px !important;        background-color: white !important;        border-radius: 50% !important;        box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        gap: 4px !important;        pointer-events: none !important;        z-index: 11 !important;        overflow: hidden !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-handle.fv-image-compare-handle-square {        border-radius: 6px !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-arrow-left {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-right: 4px solid #4b5563 !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-arrow-right {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-left: 4px solid #4b5563 !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-label {        position: absolute !important;        top: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        padding: 0.25rem 0.75rem !important;        border-radius: 0.25rem !important;        font-size: 0.875rem !important;        font-weight: 500 !important;        pointer-events: none !important;        backdrop-filter: blur(4px) !important;        z-index: 5 !important;        transition: right 0.3s ease, opacity 0.2s ease !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-label-left {        left: 1rem !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-label-right {        right: 1rem !important;    }        #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-expand-btn,    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-close-btn {        position: absolute !important;        bottom: 1rem !important;        right: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        border: none !important;        border-radius: 0.25rem !important;        padding: 0.5rem !important;        cursor: pointer !important;        z-index: 20 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        backdrop-filter: blur(4px) !important;        transition: background-color 0.2s !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-expand-btn:hover,    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-close-btn:hover {        background-color: rgba(0, 0, 0, 0.7) !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-close-btn {        display: none !important;        top: 1rem !important;        bottom: auto !important;    }    /* Fullscreen State */    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen {        position: fixed !important;        top: 0 !important;        left: 0 !important;        right: 0 !important;        bottom: 0 !important;        width: 100% !important;        height: 100% !important;        z-index: 999999 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        background-color: rgba(0, 0, 0, 0.9) !important;        margin: 0 !important;        touch-action: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner {        width: 100% !important;        height: 100% !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        cursor: grab !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active {        cursor: grabbing !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg {        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn {        display: none !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn {        display: flex !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right {        right: 4rem !important;    }    /* Footer */    #fv-chart-1779368194174-jm2txd0sf .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1779368194174-jm2txd0sf .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;    }    /* Display Mode Controls */    #fv-chart-1779368194174-jm2txd0sf .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-dropdown-title:focus { outline: none !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-dropdown-title::-ms-expand { display: none !important; }        #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Multi-Value Legend */    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1779368194174-jm2txd0sf .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar-row, #fv-chart-1779368194174-jm2txd0sf .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Multi-Value Bar Logic */    #fv-chart-1779368194174-jm2txd0sf .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }        /* Stacked Bar */    #fv-chart-1779368194174-jm2txd0sf .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }    /* Grouped Bar */    #fv-chart-1779368194174-jm2txd0sf .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1779368194174-jm2txd0sf .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1779368194174-jm2txd0sf .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Shop The Look */    #fv-chart-1779368194174-jm2txd0sf .fv-stl-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; transition: min-height 0.3s ease !important; overflow: hidden !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1779368194174-jm2txd0sf.fv-full-bleed .fv-stl-container { width: 100% !important; }    #fv-chart-1779368194174-jm2txd0sf.fv-full-bleed .fv-stl-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1779368194174-jm2txd0sf .fv-stl-hotspot-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-hotspot-btn { 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), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 300ms !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-1779368194174-jm2txd0sf .fv-stl-hotspot-btn:hover { transform: scale(1.1) !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-hotspot-btn:focus { outline: 2px solid transparent !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #000000 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-hotspot-btn[aria-expanded="true"] { background-color: #3b82f6 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1779368194174-jm2txd0sf .fv-stl-hotspot-pulse { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-stl-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; }    @keyframes fv-stl-ping { 75%, 100% { transform: scale(2); opacity: 0; } }    @media (max-width: 640px) {        #fv-chart-1779368194174-jm2txd0sf .fv-stl-hotspot-pulse { animation-fill-mode: none !important; }    }    /* Shop the look button */    #fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; height: 2.5rem !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; color: #111827 !important; padding: 0 1rem 0 3rem !important; border-radius: 0.25rem !important; font-weight: 700 !important; font-size: 0.875rem !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; z-index: 10 !important; display: flex !important; align-items: center !important; text-transform: uppercase !important; overflow: hidden !important; white-space: nowrap !important; max-width: calc(100% - 2rem) !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-btn span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-btn:hover { background-color: #ffffff !important; transform: scale(1.05) !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-logo { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; object-fit: cover !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; flex-shrink: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-icon { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; color: #1f2937 !important; flex-shrink: 0 !important; }    /* All Products Modal */    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf { position: fixed !important; inset: 0 !important; background-color: rgba(0, 0, 0, 0) !important; backdrop-filter: blur(0px) !important; -webkit-backdrop-filter: blur(0px) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 99999 !important; pointer-events: none !important; transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease !important; padding: 1rem !important; overflow: hidden !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf { position: absolute !important; padding: 0 !important; align-items: flex-end !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.is-active { background-color: rgba(0, 0, 0, 0.2) !important; backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; pointer-events: auto !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-content { width: 100% !important; max-width: 42rem !important; max-height: 100% !important; display: flex !important; flex-direction: column !important; position: relative !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-radius: 1rem !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important; opacity: 0 !important; transform: scale(0.95) !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.is-active .fv-stl-all-products-content { opacity: 1 !important; transform: scale(1) !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.is-active .fv-stl-all-products-content { transform: translateY(0) !important; }        /* V2 Bottom Sheet Style */    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.v2 { align-items: flex-end !important; padding: 0 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.v2:not(.mobile-view *) { justify-content: flex-end !important; }    }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.v2 .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.v2:not(.mobile-view *) .fv-stl-all-products-content { max-width: 700px !important; border-radius: 1.5rem 0 0 0 !important; }    }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf.v2.is-active .fv-stl-all-products-content { transform: translateY(0) !important; opacity: 1 !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1.5rem !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; position: sticky !important; top: 0 !important; background-color: rgba(255, 255, 255, 0.8) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; z-index: 10 !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-header { padding: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-logo { height: 1.5rem !important; width: auto !important; object-fit: contain !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-logo { height: 1.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-title { font-size: 1.125rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-close { width: 2rem !important; height: 2rem !important; border-radius: 9999px !important; background-color: rgba(0, 0, 0, 0.05) !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; cursor: pointer !important; z-index: 10 !important; color: #6b7280 !important; transition: all 0.2s !important; padding: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-close:hover { background-color: rgba(0, 0, 0, 0.1) !important; color: #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-list { list-style: none !important; padding: 1.5rem !important; margin: 0 !important; overflow-y: auto !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 0.75rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-list { padding: 0.75rem !important; gap: 0.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-item { margin: 0 !important; padding: 0.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-link { display: flex !important; align-items: flex-start !important; padding: 0.75rem !important; text-decoration: none !important; color: inherit !important; transition: all 0.2s !important; border-radius: 1rem !important; border: 1px solid transparent !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-link { padding: 0.5rem !important; border-radius: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-link:hover { background-color: #ffffff !important; border-color: #e5e7eb !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-item.is-highlighted .fv-stl-all-products-link { background-color: #ffffff !important; border-color: #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-image-container { position: relative !important; margin-right: 1.25rem !important; flex-shrink: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-image-container { margin-right: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-number { position: absolute !important; top: -0.5rem !important; left: -0.5rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; background-color: #0f172a !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.75rem !important; font-weight: 700 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #ffffff !important; z-index: 10 !important; font-family: sans-serif !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-number { top: -0.375rem !important; left: -0.375rem !important; width: 1.25rem !important; height: 1.25rem !important; font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-image-wrapper { width: 6rem !important; height: 6rem !important; border-radius: 0.75rem !important; overflow: hidden !important; background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.02) !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-image-wrapper { width: 4rem !important; height: 4rem !important; border-radius: 0.5rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-placeholder { width: 2rem !important; height: 2rem !important; color: #d1d5db !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-placeholder { width: 1.5rem !important; height: 1.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; margin-top: 0.25rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-info { margin-top: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-brand { font-size: 0.625rem !important; font-weight: 700 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin: 0 0 0.375rem 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-brand { font-size: 0.5625rem !important; margin: 0 0 0.25rem 0 !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-name { font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 0.375rem 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.25 !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-name { font-size: 0.875rem !important; margin: 0 0 0.25rem 0 !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-meta { display: flex !important; align-items: center !important; font-size: 0.875rem !important; margin-bottom: 0.375rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-meta { font-size: 0.75rem !important; margin-bottom: 0.25rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-price { font-weight: 700 !important; color: #111827 !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-sale-price { font-weight: 700 !important; color: #dc2626 !important; margin-right: 0.5rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-sale-price { margin-right: 0.375rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-original-price { color: #9ca3af !important; text-decoration: line-through !important; font-size: 0.75rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-original-price { font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-commentary { font-size: 0.875rem !important; color: #4b5563 !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.375 !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-commentary { font-size: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-action { width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important; background-color: #f9fafb !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; margin-left: 1rem !important; flex-shrink: 0 !important; border: 1px solid #f3f4f6 !important; transition: all 0.2s !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-action { width: 2rem !important; height: 2rem !important; margin-left: 0.75rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-action svg { width: 14px !important; height: 14px !important; }    #fv-stl-all-products-modal-fv-chart-1779368194174-jm2txd0sf .fv-stl-all-products-link:hover .fv-stl-all-products-action { background-color: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }    /* Image Annotation Styles */    #fv-chart-1779368194174-jm2txd0sf .fv-ia-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; overflow: hidden !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1779368194174-jm2txd0sf.fv-full-bleed .fv-ia-container { width: 100% !important; }    #fv-chart-1779368194174-jm2txd0sf.fv-full-bleed .fv-ia-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1779368194174-jm2txd0sf .fv-ia-node-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-ia-node-button:hover { transform: scale(1.1) !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-node-button.is-active { background-color: #E33235 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1779368194174-jm2txd0sf .fv-ia-pulse-ring { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-ia-node-button:hover + .fv-ia-static-tooltip { display: block !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-logo-explore-bar .fv-logo { margin: 0 auto !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-explore-wrapper { position: absolute !important; right: 0 !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-logo-explore-bar { flex-direction: column !important; min-height: auto !important; gap: 0.75rem !important; }    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-ia-explore-wrapper { position: static !important; align-self: flex-end !important; }    #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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: #E33235 !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-explore-btn svg { transition: transform 0.2s !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-explore-btn:hover svg { transform: translateX(2px) !important; }    /* IA Modal Styles */    #fv-chart-1779368194174-jm2txd0sf .fv-ia-active-modal-container { display: none !important; }    #fv-chart-1779368194174-jm2txd0sf .fv-ia-modals { display: block !important; position: static !important; }        #fv-chart-1779368194174-jm2txd0sf .fv-ia-modal-item { display: none !important; }    #fv-chart-1779368194174-jm2txd0sf .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 #E33235 !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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-ia-close-button:hover { background: #e5e7eb !important; color: #111827 !important; }        #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf.mobile-view .fv-ia-node-description { font-size: 0.875rem !important; }    /* Error Handling */    #fv-chart-1779368194174-jm2txd0sf .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; }    /* Countdown Styles */    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-container {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        justify-content: center !important;        padding: 1rem !important;        position: relative !important;        width: 100% !important;        box-sizing: border-box !important;        font-family: Montserrat, sans-serif !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-header {        text-align: center !important;        margin-bottom: 2rem !important;        z-index: 10 !important;        width: 100% !important;        display: flex !important;        flex-direction: column !important;        align-items: center !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-title {        font-size: 1.25rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0 !important;        font-style: italic !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-subhead {        font-size: 1.125rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0.25rem 0 0 0 !important;        font-style: italic !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-timer-wrap {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        width: 100% !important;        max-width: 64rem !important;        z-index: 10 !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-labels {        display: flex !important;        justify-content: center !important;        width: 100% !important;        margin-bottom: 0.5rem !important;        padding: 0 0.5rem !important;        font-size: 0.75rem !important;        font-weight: bold !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-labels > div {        flex: 1 !important;        text-align: center !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-box {        position: relative !important;        width: 100% !important;        border-top: 6px solid #333 !important;        border-bottom: 8px solid #333 !important;        padding: 1rem 0 !important;        background: linear-gradient(to bottom, #1f2937, #000000) !important;        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits {        display: flex !important;        justify-content: center !important;        font-size: 1.75rem !important;        font-weight: 900 !important;        letter-spacing: 0em !important;        font-family: monospace !important;        color: #fff !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits > div.digit-box {        flex: 1 !important;        text-align: center !important;        white-space: nowrap !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits > div.colon {        flex: 0 0 auto !important;        opacity: 0.5 !important;        position: relative !important;        top: -2px !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-spike-l {        position: absolute !important;        left: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-right: 15px solid #374151 !important;    }    #fv-chart-1779368194174-jm2txd0sf .fv-countdown-spike-r {        position: absolute !important;        right: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-left: 15px solid #374151 !important;    }    @media (min-width: 600px) {        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-container {            padding: 2rem !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-title {            font-size: 1.75rem !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-subhead {            font-size: 1.25rem !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits {            font-size: 2.25rem !important;            letter-spacing: 0 !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-labels {            font-size: 0.875rem !important;            padding: 0 1rem !important;            margin-bottom: 1rem !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-box {            padding: 1.5rem 0 !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits > div.colon {            top: -4px !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-spike-l {            left: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-right-width: 20px !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-spike-r {            right: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-left-width: 20px !important;        }    }        @media (min-width: 768px) {        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits {            font-size: 3.5rem !important;            letter-spacing: 0.05em !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-countdown-digits > div.colon {            top: -5px !important;        }    }    /* Mobile / Forced Mobile View / Labels on Top */    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-pie-container,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-pie-container {        flex-direction: column !important; gap: 1rem !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-grouped-product-title-wrapper,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-bar-row,    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-stacked-product,    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-grouped-bar-product,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-bar-row,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-stacked-product,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-grouped-bar-product {        flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-bar-label:not(.fv-grouped-product-title),    #fv-chart-1779368194174-jm2txd0sf.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-1779368194174-jm2txd0sf.mobile-view .fv-bar-label,    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-grouped-product-title,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-bar-label,    #fv-chart-1779368194174-jm2txd0sf.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-1779368194174-jm2txd0sf.mobile-view .fv-bar-container,    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-bar-cluster,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-bar-container,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-bar-cluster {        width: 100% !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-x-axis-wrapper,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-x-axis-wrapper {        margin-left: 0 !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-x-axis-label-space,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-x-axis-label-space {        display: none !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-x-axis-chart-space,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-x-axis-chart-space {        padding-right: 0 !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-benchmark-title,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-benchmark-title {        font-size: 16px !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-dropdown-title,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-dropdown-title {        font-size: 16px !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-carousel-nav-btn,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-carousel-nav-btn {        padding: 8px 12px !important; font-size: 14px !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-chart-title,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-chart-title {        padding: 0 8px !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-chart-subhead,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-chart-subhead {        padding: 0 8px !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-header,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-header {        flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select-wrapper,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select-wrapper {        flex: 1 !important; min-width: 0 !important; width: 100% !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select-wrapper.fv-left,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select-wrapper.fv-left {        text-align: center !important; padding-right: 0 !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select-wrapper.fv-right,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select-wrapper.fv-right {        text-align: center !important; padding-left: 0 !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select.fv-select-left,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select.fv-select-left {        text-align: center !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select.fv-select-right,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select.fv-select-right {        text-align: center !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-vs,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-vs {        text-align: center !important; padding: 0.25rem 0 !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select-container,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select-container {        max-width: 100% !important; width: 100% !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-versus-select,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-versus-select {        font-size: 14px !important; width: 100% !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-stl-shop-all-btn,    #fv-chart-1779368194174-jm2txd0sf.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-1779368194174-jm2txd0sf.mobile-view .fv-stl-shop-all-logo,    #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-stl-shop-all-icon,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-stl-shop-all-logo,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-stl-shop-all-icon {        width: 2rem !important; height: 2rem !important;    }#fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-stl-shop-all-icon svg,    #fv-chart-1779368194174-jm2txd0sf.labels-on-top .fv-stl-shop-all-icon svg {        width: 14px !important; height: 14px !important;    }        #fv-chart-1779368194174-jm2txd0sf.mobile-view .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }    #fv-chart-1779368194174-jm2txd0sf.mobile-view.fv-contains-line-chart .fv-footer-content {        margin-left: -1rem !important;        margin-right: -1rem !important;    }    @media (max-width: 599px) {         #fv-chart-1779368194174-jm2txd0sf .fv-pie-container {            flex-direction: column !important; gap: 1rem !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-bar-row,        #fv-chart-1779368194174-jm2txd0sf .fv-stacked-product,        #fv-chart-1779368194174-jm2txd0sf .fv-grouped-bar-product {            flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;        }#fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar-label,        #fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-bar-container,        #fv-chart-1779368194174-jm2txd0sf .fv-bar-cluster {            width: 100% !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-x-axis-wrapper {            margin-left: 0 !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-x-axis-label-space {            display: none !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-x-axis-chart-space {            padding-right: 0 !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-benchmark-title {            font-size: 16px !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-dropdown-title {            font-size: 16px !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-carousel-nav-btn {            padding: 8px 12px !important; font-size: 14px !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-chart-title {            padding: 0 8px !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-chart-subhead {            padding: 0 8px !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-header {            flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper {            flex: 1 !important; min-width: 0 !important; width: 100% !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper.fv-left {            text-align: center !important; padding-right: 0 !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select-wrapper.fv-right {            text-align: center !important; padding-left: 0 !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select.fv-select-left {            text-align: center !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select.fv-select-right {            text-align: center !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-vs {            text-align: center !important; padding: 0.25rem 0 !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select-container {            max-width: 100% !important; width: 100% !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-versus-select {            font-size: 14px !important; width: 100% !important;        }#fv-chart-1779368194174-jm2txd0sf .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-1779368194174-jm2txd0sf .fv-stl-shop-all-logo,        #fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-icon {            width: 2rem !important; height: 2rem !important;        }#fv-chart-1779368194174-jm2txd0sf .fv-stl-shop-all-icon svg {            width: 14px !important; height: 14px !important;        }        #fv-chart-1779368194174-jm2txd0sf .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1779368194174-jm2txd0sf.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": "Gaming performance",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-05-21T12:56:34.175Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Lenovo Legion 7i Pro Gen10",    "MSI Vector A18 HX",    "Gigabyte Aorus Master 16",    "Cyberpunk 2077 (1440p RT Ultra)",    "Baldur's Gate 3 (1440p Ultra)",    "Black Myth: Wukong benchmarking tool (1440p High)",    "F1 24 (1440p Ultra High)",    "Metro Exodus Enhanced Edition (1440p Ultra)",    "3DMark Port Royal",    "3DMark Time Spy Extreme",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – Cyberpunk 2077 (1440p RT Ultra)",      "value": 39,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – Cyberpunk 2077 (1440p RT Ultra)",      "value": 44,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – Cyberpunk 2077 (1440p RT Ultra)",      "value": 45,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – Baldur's Gate 3 (1440p Ultra)",      "value": 82,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – Baldur's Gate 3 (1440p Ultra)",      "value": 96,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – Baldur's Gate 3 (1440p Ultra)",      "value": 95,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – Black Myth: Wukong benchmarking tool (1440p High)",      "value": 84,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – Black Myth: Wukong benchmarking tool (1440p High)",      "value": 72,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – Black Myth: Wukong benchmarking tool (1440p High)",      "value": 71,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – F1 24 (1440p Ultra High)",      "value": 75,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – F1 24 (1440p Ultra High)",      "value": 78,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – F1 24 (1440p Ultra High)",      "value": 80,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – Metro Exodus Enhanced Edition (1440p Ultra)",      "value": 89,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – Metro Exodus Enhanced Edition (1440p Ultra)",      "value": 102,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – Metro Exodus Enhanced Edition (1440p Ultra)",      "value": 100,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – 3DMark Port Royal",      "value": 13267,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – 3DMark Port Royal",      "value": 14870,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – 3DMark Port Royal",      "value": 15168,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "Gigabyte Aorus Master 16 – 3DMark Time Spy Extreme",      "value": 10468,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "Lenovo Legion 7i Pro Gen10 – 3DMark Time Spy Extreme",      "value": 11318,      "unitText": "Overall index score"    },    {      "@type": "PropertyValue",      "name": "MSI Vector A18 HX – 3DMark Time Spy Extreme",      "value": 11134,      "unitText": "Overall index score"    }  ]}</script>    <div id="fv-chart-1779368194174-jm2txd0sf" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true">        <div class="fv-inner-wrapper    ">            <h3 class="fv-chart-title">Gaming performance</h3>                        <div class="fv-dropdown-wrapper">                <div class="fv-dropdown-title-container">                    <select class="fv-dropdown-title">                        <option value="0">Cyberpunk 2077 (1440p RT Ultra)</option><option value="1">Baldur's Gate 3 (1440p Ultra)</option><option value="2">Black Myth: Wukong benchmarking tool (1440p High)</option><option value="3">F1 24 (1440p Ultra High)</option><option value="4">Metro Exodus Enhanced Edition (1440p Ultra)</option><option value="5">3DMark Port Royal</option><option value="6">3DMark Time Spy Extreme</option>                    </select>                    <div class="fv-dropdown-chevron">                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>                    </div>                </div>            </div>            <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-Cyberpunk 2077 (1440p RT Ultra)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1440p RT Ultra)" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.33333333333333%; background-color: #E33235;" data-target-width="73.33333333333333" 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">44</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.666666666666664%; background-color: #FE9F58;" data-target-width="36.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">22</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75%; background-color: #E33235;" data-target-width="75" 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">45</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.666666666666664%; background-color: #FE9F58;" data-target-width="56.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">34</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65%; background-color: #E33235;" data-target-width="65" 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">39</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48.333333333333336%; background-color: #FE9F58;" data-target-width="48.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">29</span></div>    </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>15</span><span>30</span><span>45</span><span>60</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Cyberpunk 2077 (1440p RT Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>44 Avg FPS, 22 1% Low FPS</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>45 Avg FPS, 34 1% Low FPS</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>39 Avg FPS, 29 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-Baldur's Gate 3 (1440p Ultra)" data-chart-type="Bar" data-title="Baldur's Gate 3 (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 96%; background-color: #E33235;" data-target-width="96" 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">96</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51%; background-color: #FE9F58;" data-target-width="51" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">51</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 95%; background-color: #E33235;" data-target-width="95" 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">95</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 56.99999999999999%; background-color: #FE9F58;" data-target-width="56.99999999999999" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">57</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82%; background-color: #E33235;" data-target-width="82" 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">82</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 43%; background-color: #FE9F58;" data-target-width="43" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">43</span></div>    </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>25</span><span>50</span><span>75</span><span>100</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Baldur's Gate 3 (1440p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>96 Avg FPS, 51 1% Low FPS</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>95 Avg FPS, 57 1% Low FPS</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>82 Avg FPS, 43 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-Black Myth: Wukong benchmarking tool (1440p High)" data-chart-type="Bar" data-title="Black Myth: Wukong benchmarking tool (1440p High)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72%; background-color: #E33235;" data-target-width="72" 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">72</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62%; background-color: #FE9F58;" data-target-width="62" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">62</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 71%; background-color: #E33235;" data-target-width="71" 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">71</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 42%; background-color: #FE9F58;" data-target-width="42" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">42</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84%; background-color: #E33235;" data-target-width="84" 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">84</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72%; background-color: #FE9F58;" data-target-width="72" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">72</span></div>    </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>25</span><span>50</span><span>75</span><span>100</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Black Myth: Wukong benchmarking tool (1440p High) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>72 Avg FPS, 62 1% Low FPS</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>71 Avg FPS, 42 1% Low FPS</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>84 Avg FPS, 72 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-F1 24 (1440p Ultra High)" data-chart-type="Bar" data-title="F1 24 (1440p Ultra High)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97.5%; background-color: #E33235;" data-target-width="97.5" 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">78</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 46.25%; background-color: #FE9F58;" data-target-width="46.25" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">37</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #E33235;" 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">80</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 47.5%; background-color: #FE9F58;" data-target-width="47.5" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">38</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 93.75%; background-color: #E33235;" data-target-width="93.75" 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">75</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.49999999999999%; background-color: #FE9F58;" data-target-width="57.49999999999999" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">46</span></div>    </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>20</span><span>40</span><span>60</span><span>80</span></div>                    </div>    </div>        <table class="sr-only">            <caption>F1 24 (1440p Ultra High) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>78 Avg FPS, 37 1% Low FPS</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>80 Avg FPS, 38 1% Low FPS</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>75 Avg FPS, 46 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-Metro Exodus Enhanced Edition (1440p Ultra)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Edition (1440p Ultra)" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68%; background-color: #E33235;" data-target-width="68" 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">102</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 44.666666666666664%; background-color: #FE9F58;" data-target-width="44.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">67</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.66666666666666%; background-color: #E33235;" data-target-width="66.66666666666666" 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">100</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 13.333333333333334%; background-color: #FE9F58;" data-target-width="13.333333333333334" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">20</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 59.333333333333336%; background-color: #E33235;" data-target-width="59.333333333333336" 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">89</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 29.333333333333332%; background-color: #FE9F58;" data-target-width="29.333333333333332" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">44</span></div>    </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>    </div>        <table class="sr-only">            <caption>Metro Exodus Enhanced Edition (1440p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>102 Avg FPS, 67 1% Low FPS</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>100 Avg FPS, 20 1% Low FPS</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>89 Avg FPS, 44 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-3DMark Port Royal" data-chart-type="Bar" data-title="3DMark Port Royal" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10 - 3DMark Port Royal: 14870 Overall index score">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 74.35000000000001%; background-color: #1CA9C4;" data-target-width="74.35000000000001" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">14870</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX - 3DMark Port Royal: 15168 Overall index score">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 75.84%; background-color: #EB6F71;" data-target-width="75.84" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">15168</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16 - 3DMark Port Royal: 13267 Overall index score">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 66.335%; background-color: #FE9F58;" data-target-width="66.335" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13267</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>5,000</span><span>10,000</span><span>15,000</span><span>20,000</span></div>            <div class="fv-x-axis-unit">Overall index score</div>        </div>    </div>        <table class="sr-only">            <caption>3DMark Port Royal Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>14870</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>15168</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>13267</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1779368194174-jm2txd0sf-bar-3DMark Time Spy Extreme" data-chart-type="Bar" data-title="3DMark Time Spy Extreme" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Overall index score</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>GPU index</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #1CA9C4;"></div>                    <span>CPU index</span>                </div>            </div><div class="fv-bar-row" title="Lenovo Legion 7i Pro Gen10">                    <div class="fv-bar-label fv-primary-product">Lenovo Legion 7i Pro Gen10</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.45333333333333%; background-color: #E33235;" data-target-width="75.45333333333333" 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">11318</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74.25333333333334%; background-color: #FE9F58;" data-target-width="74.25333333333334" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">11138</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 83.06%; background-color: #1CA9C4;" data-target-width="83.06" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">12459</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="MSI Vector A18 HX">                    <div class="fv-bar-label ">MSI Vector A18 HX</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74.22666666666666%; background-color: #E33235;" data-target-width="74.22666666666666" 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">11134</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 73.36%; background-color: #FE9F58;" data-target-width="73.36" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">11004</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 79.59333333333333%; background-color: #1CA9C4;" data-target-width="79.59333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">11939</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Gigabyte Aorus Master 16">                    <div class="fv-bar-label ">Gigabyte Aorus Master 16</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 69.78666666666666%; background-color: #E33235;" data-target-width="69.78666666666666" 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">10468</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 68.14666666666666%; background-color: #FE9F58;" data-target-width="68.14666666666666" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">10222</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80.82000000000001%; background-color: #1CA9C4;" data-target-width="80.82000000000001" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">12123</span></div>    </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>3,750</span><span>7,500</span><span>11,250</span><span>15,000</span></div>                    </div>    </div>        <table class="sr-only">            <caption>3DMark Time Spy Extreme Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Lenovo Legion 7i Pro Gen10</td>                <td>11318 Overall index score, 11138 GPU index, 12459 CPU index</td>            </tr><tr>                <td>MSI Vector A18 HX</td>                <td>11134 Overall index score, 11004 GPU index, 11939 CPU index</td>            </tr><tr>                <td>Gigabyte Aorus Master 16</td>                <td>10468 Overall index score, 10222 GPU index, 12123 CPU index</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer 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() {      /*  Global animation function for slideshow re-use */      window.fvAnimateCharts = function(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                /*  Reset to 0 first to ensure animation triggers */                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                /*  Force reflow */                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); /*  Reduced initial delay */            });          }          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);              });            }            /*  Execute */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');                        charts.forEach(function(chart) {                /*  If in carousel/dropdown mode, hidden charts are display:none. */                /*  We only animate what is visible. */                if (window.getComputedStyle(chart).display === 'none') return;                                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });      };            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);                /*  In slideshow mode, 'root' will be null because the container has '-slideshow' suffix. */        /*  We handle that logic below. */        if (!root && !isSlideshow) return;                /*  Setup internal interactions (Carousel/Dropdown/LineChart) for a specific chart wrapper */        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) {                    /*  Fallback for when width isn't available yet (e.g., hidden tab) */                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    /*  Mobile if container is small OR if it's a physical mobile device (overriding fixed-width iframes) */                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        /*  Initial check */            checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        /*  Always add window resize listener as a reliable fallback for DevTools and edge cases */            window.addEventListener('resize', checkMobileView);                        /*  Labels on top handler */            var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                /*  If there are multiple charts and we're not in a carousel/dropdown, we might have mixed types. */                /*  But typically, labels-on-top is a global setting. We'll apply it initially,  */                /*  and showInternalChart will toggle it if needed. */                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 === '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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');                        var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');                                                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);            });            /*  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');                        /*  Text Elements */            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 === 'Line') {                                 /*  Line chart animations if needed */                             } else if (cType !== 'Pie') {                                 window.fvAnimateCharts(chartWrapper);                             }                                                          /*  Update labels-on-top based on current chart type */                             var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === '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;                                        /*  Update Subhead and Caption */                    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 || '';                                                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;                /*  Zoom state */                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();                    /*  Max pan depends on how much the image is scaled beyond the wrapper */                    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; /*  Prevent click after pinch */                    } 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 });                }                /*  Expand/Close Logic */                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.preventDefault(); // Removed to allow text selection */                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        /*  Load high-res images if available */                            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.preventDefault(); // Removed to allow text selection */                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                /*  Close on Escape */                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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        /*  Remove highlights */                    var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    /*  Remove min-height after transition */                    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');                        /*  Ensure container is tall enough */                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                /*  Highlight and scroll to item */                        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();                        }                    }                });            });            /*  Shop All button */            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    /*  Ensure container is tall enough */                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            /*  Close button in all products modal */            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            /*  Close modals when clicking outside */            chartWrapper.addEventListener('click', function(e) {                /*  Only close if clicking on the wrapper or container, not inside a modal content */                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 */            window.fvAnimateCharts(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 primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';                    var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';                                        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-1779368194174-jm2txd0sf', false); });      } else {        initialize('fv-chart-1779368194174-jm2txd0sf', false);      }    })();      </script></div><p>Naturally, being such a powerful laptop with a huge OLED screen, it doesn't have the best of battery lifespans—it barely cracks 70 minutes in the PCMark gaming test—and it's not something that you can easily slip into a backpack and carry around with you. Oh, and it's an absolute magnet for fingerprints, though that just gives you the perfect excuse to endlessly clean it and make oochy-coochy noises at your beloved new purchase.</p><p>As for the disappointing amount of storage, the good news there is that the Lenovo Legion 7i Pro has a spare M.2 slot inside, so funds permitting, it's very easy to throw another 1 or 2 TB NVMe drive in there, purely to house games.</p><p>If you're going to spend a whole heap of cash on a new RTX 5080 gaming laptop, you can do far worse than this one. In fact, it's actually very hard to beat the Lenovo. Certainly on price, but in every other area that matters, the Legion 7i Pro is absolutely top-notch.</p><h2 id="check-out-all-of-best-buy-s-gaming-pc-deals-here">👉<a href="https://www.bestbuy.com/site/pc-gaming/gaming-laptops/pcmcat287600050003.c?id=pcmcat287600050003" target="_blank">Check out all of Best Buy's gaming PC deals here</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Don't buy an Xbox controller when you can get one with drift-free TMR sticks, 8x the polling rate, and a charging stand for less at Amazon ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="66bf4b92-f61f-4630-8a2d-4512581ddc55" data-action="Deal Block" data-label="D10" data-dimension48="D10" data-dimension25="$49.99" href="https://www.amazon.com/EasySMX-D10-Wireless-Game-Controller/dp/B0F8BPMSFM?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="tETQ5DGMQn7RgEfWDyxvna" name="PCGamer Deal Block (57)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/tETQ5DGMQn7RgEfWDyxvna-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>With an included charging dock/wireless receiver, TMR thumbsticks, and 1,000 Hz polling, the D10 has pro-level features at a value-oriented price. Both the black and purple models are included in the sale. </p><p><strong>Key specs: TMR thumbsticks | Hall effect triggers | 1,000 Hz polling | Wired and wireless</strong><a class="view-deal button" href="https://www.amazon.com/EasySMX-D10-Wireless-Game-Controller/dp/B0F8BPMSFM?th=1" target="_blank" rel="nofollow" data-dimension112="66bf4b92-f61f-4630-8a2d-4512581ddc55" data-action="Deal Block" data-label="D10" data-dimension48="D10" data-dimension25="$49.99">View Deal</a></p></div><p>There was once a time when Microsoft's Xbox Controller was at the top of the pile, thanks to its great feel and sturdy weight. Since testing out the offerings of GameSir, 8BitDo, and EasySMX, I can say that time is no longer. </p><p>Right now, for <a href="https://www.amazon.com/EasySMX-D10-Wireless-Game-Controller/dp/B0F8BPMSFM?th=1" target="_blank">$50 at Amazon</a>, you can get the <a href="https://www.amazon.com/EasySMX-D10-Wireless-Game-Controller/dp/B0F8BPMSFM?th=1" target="_blank">EasySMX D10</a>: a comfortable and snappy controller with unique lighting and top-notch specs. You're only getting a $10 discount with this deal, but it's still one of the most reasonably priced controllers out there today. </p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Technically, that's not cheaper than the Xbox controller, because <a href="www.amazon.com/Xbox-Wireless-Gaming-Controller-Velocity-Console/dp/B0DT5SQ84T" target="_blank">Microsoft's gamepad is also on sale</a>, but when you factor in the optional wireless adapter you need to actually play the Xbox controller wirelessly on PC, you're paying significantly more for the Xbox pad, and getting an inferior pick. </p><p>Let's start with the obvious. The D10's TMR sticks and Hall effect triggers not only make it snappier than the Xbox pad, but also mean it's less likely to break down in 12 months. If you're sick of stick drift, EasySMX has you covered.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/U3XqRaKMv4NcjW4e4Nv5F5-1920-80.jpg" alt="EasySMX D10 (on) on the charging stand on a black desk" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/L8ifj69LrNhoXWT93JJHF5-1920-80.jpg" alt="EasySMX D10 (off) on a charging stand on a black desk" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The polling rate of 1,000 Hz is also eight times greater than the measly 125 Hz in the Xbox controller, which means it sends responses to your PC eight times more frequently. Though it's very much debatable how much value you get out of anything greater than 1,000 Hz, it has become the sweet spot for battery efficiency/speed. </p><p>I really like the D10's dock, too. Like the controller, it's covered in RGB, and the dock comes with a small USB port to slot in the 2.4 GHz receiver. This means it can both charge your controller when you're done gaming for the night and connect it to your PC, from a single cable. It's neat and tidy. </p><p>Thanks in part to the chunky build and asymmetrical sticks, it's actually quite a similar controller to the Xbox controller. Its weight is comfortable, and it fits smoothly in my palms. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/V5g26wXsS9M8fU28HL3HE5-1920-80.jpg" alt="EasySMX D10 while turned on, in a hand outside" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/79wLwkLR2JGn3Y66EfUpD5-1920-80.jpg" alt="the back of the EasySMX D10 in a hand, in a garden" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>If you want to spend even less and don't particularly care about RGB or TMR sticks, the <a href="https://www.amazon.com/EasySMX-D05-PC-Controller-Enhanced-Bluetooth/dp/B0DTDZSZWJ" target="_blank">EasySMX D05</a> is also on sale—<a href="https://www.amazon.com/EasySMX-D05-PC-Controller-Enhanced-Bluetooth/dp/B0DTDZSZWJ" target="_blank">$10 cheaper than the D10</a>— and is also well worth considering. </p><p>I've been testing this controller out for a few months now, and I'm a big fan. The only real caveats I have to bring to the table are that I think its triggers and D-pads are merely okay, and this is an area where Microsoft take a win. As well as this, the <a href="https://www.pcgamer.com/hardware/controllers/gamesir-g7-pro-tri-mode-review/" target="_blank">GameSir G7 Pro</a> is a better controller for pure feel, though it is around $30 more expensive than the EasySMX D10. </p><p>Still, after getting my hands on tons of controllers over the last few years, I can say the D10 offers excellent value, and I'd be picking it over the Xbox controller pretty much any day of the week, and that's only partly because the charging stand means I'll never let the battery go dry. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/controllers/dont-buy-an-xbox-controller-when-you-can-get-one-with-drift-free-tmr-sticks-8x-the-polling-rate-and-a-charging-stand-for-less-at-amazon/</link>
                                                                            <description>
                            <![CDATA[ The D10 is a bit of a beast. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cBVHRNqRUBeFRKqrM3bKiT</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2f53R8FqFudzkQitejXFC9-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 20 May 2026 12:18:19 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Controllers]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&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/2f53R8FqFudzkQitejXFC9-1920-80.jpg">
                                                            <media:credit><![CDATA[EasySMX]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The purple and black EasySMX D10 on a pink deals background]]></media:description>                                                            <media:text><![CDATA[The purple and black EasySMX D10 on a pink deals background]]></media:text>
                                <media:title type="plain"><![CDATA[The purple and black EasySMX D10 on a pink deals background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2f53R8FqFudzkQitejXFC9-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="66bf4b92-f61f-4630-8a2d-4512581ddc55" data-action="Deal Block" data-label="D10" data-dimension48="D10" data-dimension25="$49.99" href="https://www.amazon.com/EasySMX-D10-Wireless-Game-Controller/dp/B0F8BPMSFM?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="tETQ5DGMQn7RgEfWDyxvna" name="PCGamer Deal Block (57)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/tETQ5DGMQn7RgEfWDyxvna-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>With an included charging dock/wireless receiver, TMR thumbsticks, and 1,000 Hz polling, the D10 has pro-level features at a value-oriented price. Both the black and purple models are included in the sale. </p><p><strong>Key specs: TMR thumbsticks | Hall effect triggers | 1,000 Hz polling | Wired and wireless</strong><a class="view-deal button" href="https://www.amazon.com/EasySMX-D10-Wireless-Game-Controller/dp/B0F8BPMSFM?th=1" target="_blank" rel="nofollow" data-dimension112="66bf4b92-f61f-4630-8a2d-4512581ddc55" data-action="Deal Block" data-label="D10" data-dimension48="D10" data-dimension25="$49.99">View Deal</a></p></div><p>There was once a time when Microsoft's Xbox Controller was at the top of the pile, thanks to its great feel and sturdy weight. Since testing out the offerings of GameSir, 8BitDo, and EasySMX, I can say that time is no longer. </p><p>Right now, for <a href="https://www.amazon.com/EasySMX-D10-Wireless-Game-Controller/dp/B0F8BPMSFM?th=1" target="_blank">$50 at Amazon</a>, you can get the <a href="https://www.amazon.com/EasySMX-D10-Wireless-Game-Controller/dp/B0F8BPMSFM?th=1" target="_blank">EasySMX D10</a>: a comfortable and snappy controller with unique lighting and top-notch specs. You're only getting a $10 discount with this deal, but it's still one of the most reasonably priced controllers out there today. </p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Technically, that's not cheaper than the Xbox controller, because <a href="www.amazon.com/Xbox-Wireless-Gaming-Controller-Velocity-Console/dp/B0DT5SQ84T" target="_blank">Microsoft's gamepad is also on sale</a>, but when you factor in the optional wireless adapter you need to actually play the Xbox controller wirelessly on PC, you're paying significantly more for the Xbox pad, and getting an inferior pick. </p><p>Let's start with the obvious. The D10's TMR sticks and Hall effect triggers not only make it snappier than the Xbox pad, but also mean it's less likely to break down in 12 months. If you're sick of stick drift, EasySMX has you covered.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/U3XqRaKMv4NcjW4e4Nv5F5-1920-80.jpg" alt="EasySMX D10 (on) on the charging stand on a black desk" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/L8ifj69LrNhoXWT93JJHF5-1920-80.jpg" alt="EasySMX D10 (off) on a charging stand on a black desk" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The polling rate of 1,000 Hz is also eight times greater than the measly 125 Hz in the Xbox controller, which means it sends responses to your PC eight times more frequently. Though it's very much debatable how much value you get out of anything greater than 1,000 Hz, it has become the sweet spot for battery efficiency/speed. </p><p>I really like the D10's dock, too. Like the controller, it's covered in RGB, and the dock comes with a small USB port to slot in the 2.4 GHz receiver. This means it can both charge your controller when you're done gaming for the night and connect it to your PC, from a single cable. It's neat and tidy. </p><p>Thanks in part to the chunky build and asymmetrical sticks, it's actually quite a similar controller to the Xbox controller. Its weight is comfortable, and it fits smoothly in my palms. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/V5g26wXsS9M8fU28HL3HE5-1920-80.jpg" alt="EasySMX D10 while turned on, in a hand outside" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/79wLwkLR2JGn3Y66EfUpD5-1920-80.jpg" alt="the back of the EasySMX D10 in a hand, in a garden" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>If you want to spend even less and don't particularly care about RGB or TMR sticks, the <a href="https://www.amazon.com/EasySMX-D05-PC-Controller-Enhanced-Bluetooth/dp/B0DTDZSZWJ" target="_blank">EasySMX D05</a> is also on sale—<a href="https://www.amazon.com/EasySMX-D05-PC-Controller-Enhanced-Bluetooth/dp/B0DTDZSZWJ" target="_blank">$10 cheaper than the D10</a>— and is also well worth considering. </p><p>I've been testing this controller out for a few months now, and I'm a big fan. The only real caveats I have to bring to the table are that I think its triggers and D-pads are merely okay, and this is an area where Microsoft take a win. As well as this, the <a href="https://www.pcgamer.com/hardware/controllers/gamesir-g7-pro-tri-mode-review/" target="_blank">GameSir G7 Pro</a> is a better controller for pure feel, though it is around $30 more expensive than the EasySMX D10. </p><p>Still, after getting my hands on tons of controllers over the last few years, I can say the D10 offers excellent value, and I'd be picking it over the Xbox controller pretty much any day of the week, and that's only partly because the charging stand means I'll never let the battery go dry. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Summer's nearly here, so it's time to clean your gaming PC and banish soaring temperatures for another year ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Summer's nearly here, and as PC gamers that means shutting the curtains and pretending the outside world doesn't exist. I kid, I kid. It's the perfect time of year to <a href="https://www.pcgamer.com/how-to-clean-your-computer-case/" target="_blank">give your PC a thorough cleaning</a>, though, as the great nuclear orb in the sky can cause hell for your components.</p><p>When was the last time you pulled the dust bunnies out of your air cooler? Cleaned your fans? Had a thorough going-over of all your vents? I bet it's been a while. Not only will a good clean keep fan noise to a minimum, but it also ensures that all of your components are running as chilled out as they can possibly be—which can seriously improve performance in a clogged-up machine.</p><p>Or, it might be time to consider replacing your coolers and fans entirely. Below, I've rounded up nine products that should help you in your quest. From a simple set of anti-static brushes, to the tools you'll need to dismantle components for cleaning, to full-on cooler and fan replacements, everything here is ready to help your PC run at its very best in the summer heat. </p><p>Then we can go and enjoy a fruity drink by the pool, safe in the knowledge that our <a href="https://www.pcgamer.com/best-gaming-pc/" target="_blank">gaming PCs</a> are in tip-top condition. Mine's a margarita, thanks. Extra salt.</p><h3 class="article-body__section" id="section-pc-cleaning-and-cooling"><span>PC cleaning and cooling</span></h3>        <div class="featured_product_block featured_block_hero" data-id="27fb1c9e-fd52-4514-a6f1-55f63831f722">            <a href="https://www.amazon.com/Juxiamal-Keyboard-Cleaning-Electronic-Motherboard/dp/B0DN4RRP9Q/" data-model-name="5 Pcs Mini Anti-Static Cleaning Brushes Kit" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/73dGmF8LA24xrWr2DivwrE.jpg" alt="A Juxiamal anti-static nylon brush cleaning kit on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Juxiamal</div>                                        <div class="featured__title">5 Pcs Mini Anti-Static Cleaning Brushes Kit</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9d175d29-a1c0-4503-87f4-720f33f25cb0">            <a href="https://www.amazon.com/Thermal-Grizzly-Kryonaut-Applications-Overclocking/dp/B0F48FLCRX/" data-model-name="Kryonaut High Performance Thermal Paste + 12 Cleaning Wipes" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ZPA8mP8By9yWfbMyv64w4W.jpg" alt="Thermal Grizzly Kryonaut thermal paste and wipes on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Thermal Grizzly</div>                                        <div class="featured__title">Kryonaut High Performance Thermal Paste + 12 Cleaning Wipes</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="49f1999f-cc5a-47fe-a637-f4bb7aff5f6e">            <a href="https://www.amazon.com/Precision-Screwdriver-Magnetic-Professional-Electronics/dp/B074M8NBZQ/" data-model-name="80 in 1 Professional Computer Repair Tool Kit" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/sPPQ9ZwBf8ajsBrUEnb5sV.jpg" alt="A Unamela 80-piece computer repair kit on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>UnaMela</div>                                        <div class="featured__title">80 in 1 Professional Computer Repair Tool Kit</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="4a529e36-226b-4847-8c77-f13a325fee72">            <a href="https://www.amazon.com/WOLFBOX-MF50-Electric-Duster-110000RPM-Adjustable/dp/B0DSW7R4VN/" data-model-name="Megaflow 50 Compressed Air Duster" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/hSVb4Bb89aRcYPjLd94hHc.jpg" alt="A Wolfbox Megaflow 50 compressed air cleaning kit"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Wolfbox</div>                                        <div class="featured__title">Megaflow 50 Compressed Air Duster</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9b2d6ee9-bd4e-4b19-97b1-3589cb69aa8d">            <a href="https://www.amazon.com/Thermalright-Peerless-Assassin-Aluminium-Technology/dp/B09S3BGN6M/" data-model-name="Peerless Assassin 120 CPU Air Cooler" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/dwnehWTByZkEoqsk7RfW5A.jpg" alt="A Thermalright Peerless Assassin 120 Black CPU air cooler on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Thermalright</div>                                        <div class="featured__title">Peerless Assassin 120 CPU Air Cooler</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="a66848d1-8737-43cf-9069-b29fc1659696">            <a href="https://www.amazon.com/Fanttik-S1-Cordless-Screwdriver-Furniture/dp/B0C141QZVL/" data-model-name="S1 Pro Electric Screwdriver" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/eAHMcqXHJ3cbqZJ4G4ABth.jpg" alt="A Fanttik electric screwdriver and bit set on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Fanttik</div>                                        <div class="featured__title">S1 Pro Electric Screwdriver</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="7bb5d02b-8738-46bd-ab08-4a71d63a9846">            <a href="https://www.amazon.com/ARCTIC-ACFAN00137A-Value-Pack-Pressure-Optimized/dp/B07HC782D5/" data-model-name="P12 PWM PST (5 Pack) - 120 mm PC fans" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/XBu2L3oZbMV2gak5srbNxm.jpg" alt="A set of five Arctic P12 PWN PST fans on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Arctic</div>                                        <div class="featured__title">P12 PWM PST (5 Pack) - 120 mm PC fans</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="95f9d16a-0f5a-483f-8a9b-ea74474e497f">            <a href="https://www.amazon.com/Noctua-NF-A12x25-PWM-Sx2-PP-chromax-Black/dp/B0GWJ8TN5N/" data-model-name="NF-A12x25 G2 PWM Chromax.black Dual Fan Set" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ap4st785SMUX3xRikXGtF5.jpg" alt="Two Noctua NF-A12x25 G2 PWM fans on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Noctua</div>                                        <div class="featured__title">NF-A12x25 G2 PWM Chromax.black Dual Fan Set</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="c5231cae-c61e-431e-ab5c-d4dfce014f7a">            <a href="https://www.amazon.com/ARCTIC-Liquid-Freezer-III-RGB/dp/B0DLWFCVSD/" data-model-name="Liquid Freezer III Pro 360  A-RGB CPU Cooler" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/6YYoKoXcJn5pqPxLvJ9qpF.jpg" alt="An Arctic Liquid Freezer II Pro 260 A-RGB liquid CPU cooler on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Arctic</div>                                        <div class="featured__title">Liquid Freezer III Pro 360  A-RGB CPU Cooler</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/cooling/summers-nearly-here-so-its-time-to-clean-your-gaming-pc-and-banish-soaring-temperatures-for-another-year/</link>
                                                                            <description>
                            <![CDATA[ Keep things chill. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kgEugZtVUPSEXZN3qV2gGV</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/yqYE2nd9P6gSATLzMNdfYg-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 19 May 2026 15:04:11 +0000</pubDate>                                                                                                                                <updated>Tue, 19 May 2026 15:04:17 +0000</updated>
                                                                                                                                            <category><![CDATA[Cooling]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Andy Edser ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-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/yqYE2nd9P6gSATLzMNdfYg-1920-80.jpg">
                                                            <media:credit><![CDATA[Juxiamal, Unamela, Fanttik, Wolfbox, Arctic]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A selection of PC cleaning components on a summer-themed background]]></media:description>                                                            <media:text><![CDATA[A selection of PC cleaning components on a summer-themed background]]></media:text>
                                <media:title type="plain"><![CDATA[A selection of PC cleaning components on a summer-themed background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/yqYE2nd9P6gSATLzMNdfYg-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Summer's nearly here, and as PC gamers that means shutting the curtains and pretending the outside world doesn't exist. I kid, I kid. It's the perfect time of year to <a href="https://www.pcgamer.com/how-to-clean-your-computer-case/" target="_blank">give your PC a thorough cleaning</a>, though, as the great nuclear orb in the sky can cause hell for your components.</p><p>When was the last time you pulled the dust bunnies out of your air cooler? Cleaned your fans? Had a thorough going-over of all your vents? I bet it's been a while. Not only will a good clean keep fan noise to a minimum, but it also ensures that all of your components are running as chilled out as they can possibly be—which can seriously improve performance in a clogged-up machine.</p><p>Or, it might be time to consider replacing your coolers and fans entirely. Below, I've rounded up nine products that should help you in your quest. From a simple set of anti-static brushes, to the tools you'll need to dismantle components for cleaning, to full-on cooler and fan replacements, everything here is ready to help your PC run at its very best in the summer heat. </p><p>Then we can go and enjoy a fruity drink by the pool, safe in the knowledge that our <a href="https://www.pcgamer.com/best-gaming-pc/" target="_blank">gaming PCs</a> are in tip-top condition. Mine's a margarita, thanks. Extra salt.</p><h3 class="article-body__section" id="section-pc-cleaning-and-cooling"><span>PC cleaning and cooling</span></h3>        <div class="featured_product_block featured_block_hero" data-id="27fb1c9e-fd52-4514-a6f1-55f63831f722">            <a href="https://www.amazon.com/Juxiamal-Keyboard-Cleaning-Electronic-Motherboard/dp/B0DN4RRP9Q/" data-model-name="5 Pcs Mini Anti-Static Cleaning Brushes Kit" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/73dGmF8LA24xrWr2DivwrE.jpg" alt="A Juxiamal anti-static nylon brush cleaning kit on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Juxiamal</div>                                        <div class="featured__title">5 Pcs Mini Anti-Static Cleaning Brushes Kit</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9d175d29-a1c0-4503-87f4-720f33f25cb0">            <a href="https://www.amazon.com/Thermal-Grizzly-Kryonaut-Applications-Overclocking/dp/B0F48FLCRX/" data-model-name="Kryonaut High Performance Thermal Paste + 12 Cleaning Wipes" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ZPA8mP8By9yWfbMyv64w4W.jpg" alt="Thermal Grizzly Kryonaut thermal paste and wipes on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Thermal Grizzly</div>                                        <div class="featured__title">Kryonaut High Performance Thermal Paste + 12 Cleaning Wipes</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="49f1999f-cc5a-47fe-a637-f4bb7aff5f6e">            <a href="https://www.amazon.com/Precision-Screwdriver-Magnetic-Professional-Electronics/dp/B074M8NBZQ/" data-model-name="80 in 1 Professional Computer Repair Tool Kit" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/sPPQ9ZwBf8ajsBrUEnb5sV.jpg" alt="A Unamela 80-piece computer repair kit on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>UnaMela</div>                                        <div class="featured__title">80 in 1 Professional Computer Repair Tool Kit</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="4a529e36-226b-4847-8c77-f13a325fee72">            <a href="https://www.amazon.com/WOLFBOX-MF50-Electric-Duster-110000RPM-Adjustable/dp/B0DSW7R4VN/" data-model-name="Megaflow 50 Compressed Air Duster" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/hSVb4Bb89aRcYPjLd94hHc.jpg" alt="A Wolfbox Megaflow 50 compressed air cleaning kit"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Wolfbox</div>                                        <div class="featured__title">Megaflow 50 Compressed Air Duster</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9b2d6ee9-bd4e-4b19-97b1-3589cb69aa8d">            <a href="https://www.amazon.com/Thermalright-Peerless-Assassin-Aluminium-Technology/dp/B09S3BGN6M/" data-model-name="Peerless Assassin 120 CPU Air Cooler" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/dwnehWTByZkEoqsk7RfW5A.jpg" alt="A Thermalright Peerless Assassin 120 Black CPU air cooler on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Thermalright</div>                                        <div class="featured__title">Peerless Assassin 120 CPU Air Cooler</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="a66848d1-8737-43cf-9069-b29fc1659696">            <a href="https://www.amazon.com/Fanttik-S1-Cordless-Screwdriver-Furniture/dp/B0C141QZVL/" data-model-name="S1 Pro Electric Screwdriver" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/eAHMcqXHJ3cbqZJ4G4ABth.jpg" alt="A Fanttik electric screwdriver and bit set on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Fanttik</div>                                        <div class="featured__title">S1 Pro Electric Screwdriver</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="7bb5d02b-8738-46bd-ab08-4a71d63a9846">            <a href="https://www.amazon.com/ARCTIC-ACFAN00137A-Value-Pack-Pressure-Optimized/dp/B07HC782D5/" data-model-name="P12 PWM PST (5 Pack) - 120 mm PC fans" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/XBu2L3oZbMV2gak5srbNxm.jpg" alt="A set of five Arctic P12 PWN PST fans on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Arctic</div>                                        <div class="featured__title">P12 PWM PST (5 Pack) - 120 mm PC fans</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="95f9d16a-0f5a-483f-8a9b-ea74474e497f">            <a href="https://www.amazon.com/Noctua-NF-A12x25-PWM-Sx2-PP-chromax-Black/dp/B0GWJ8TN5N/" data-model-name="NF-A12x25 G2 PWM Chromax.black Dual Fan Set" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ap4st785SMUX3xRikXGtF5.jpg" alt="Two Noctua NF-A12x25 G2 PWM fans on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Noctua</div>                                        <div class="featured__title">NF-A12x25 G2 PWM Chromax.black Dual Fan Set</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="c5231cae-c61e-431e-ab5c-d4dfce014f7a">            <a href="https://www.amazon.com/ARCTIC-Liquid-Freezer-III-RGB/dp/B0DLWFCVSD/" data-model-name="Liquid Freezer III Pro 360  A-RGB CPU Cooler" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:137.05%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/6YYoKoXcJn5pqPxLvJ9qpF.jpg" alt="An Arctic Liquid Freezer II Pro 260 A-RGB liquid CPU cooler on a grey background"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Arctic</div>                                        <div class="featured__title">Liquid Freezer III Pro 360  A-RGB CPU Cooler</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The best value 1440p gaming monitor is only $130, but there's a challenger to its throne ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Due to what folks that aren't me may deem a cruel twist of fate, I've ended up with a blooming lovely OLED gaming monitor in my home office. While it's vibrant and illuminates the darkest crevices of my gamer den, it is kind of overkill for all the hours I've been pouring into <a href="https://www.pcgamer.com/games/roguelike/titanium-court-review/" target="_blank">Titanium Court</a>. For most of what I play, a 1440p gaming monitor would more than suit.</p><p>As a lover of smaller games less obsessed with showing you every pore of a character's face, I know I'm not alone on that front. So, I've found deals on two 1440p gaming monitors very much alike in dignity.</p><h3 class="article-body__section" id="section-quick-list"><span>Quick list</span></h3><ul><li><strong>ASRock Phantom PG27QFT1B | 27-inches 1080p 180 Hz | </strong><a href="https://www.newegg.com/asrock-pg27qft1b-27-qhd-180-hz-ips-black/p/N82E16824946003" target="_blank"><strong>$130 @ Newegg</strong></a><strong></strong></li><li><strong>Acer Nitro XV272U | 27-inches 1080p 240 Hz | </strong><a href="https://www.amazon.com/dp/B0C1T35BCF" target="_blank"><strong>$180 @ Amazon</strong></a></li></ul><h3 class="article-body__section" id="section-gaming-monitor-deals"><span>Gaming monitor deals</span></h3><div class="product"><a data-dimension112="06d18fe1-0da4-4cef-8f56-e60dc0b20c7b" data-action="Deal Block" data-label="Phantom PG27QFT1B" data-dimension48="Phantom PG27QFT1B" data-dimension25="$129.99" href="https://www.newegg.com/asrock-pg27qft1b-27-qhd-180-hz-ips-black/p/N82E16824946003" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1209px;"><p class="vanilla-image-block" style="padding-top:99.17%;"><img id="LBgcvuwRKrsQDDPhoffg9F" name="1759747834.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/LBgcvuwRKrsQDDPhoffg9F-1920-80.jpg" mos="" align="middle" fullscreen="" width="1209" height="1199" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/asrock-pg27qft1b-27-qhd-180-hz-ips-black/p/N82E16824946003" target="_blank" rel="nofollow" data-dimension112="06d18fe1-0da4-4cef-8f56-e60dc0b20c7b" data-action="Deal Block" data-label="Phantom PG27QFT1B" data-dimension48="Phantom PG27QFT1B" data-dimension25="$129.99">Phantom PG27QFT1B: was $209.99 now $129.99</a></strong><br>This gaming monitor has an IPS panel capable of delivering 180 Hz. The 1440p resolution means you're getting a bit of a bump up over 1080p, too, which puts this monitor right in the sweet spot for modern PC gaming.</p><p><strong>Key specs: 27-inch | 180 Hz | 1 ms | IPS</strong></p><p><strong>Price check: </strong><a href="https://www.amazon.com/ASROCK-Phantom-Computer-Monitor-PG27QFT1B/dp/B0D58MC9ZK/ref=sr_1_1" target="_blank">Amazon $155.36</a><a class="view-deal button" href="https://www.newegg.com/asrock-pg27qft1b-27-qhd-180-hz-ips-black/p/N82E16824946003" target="_blank" rel="nofollow" data-dimension112="06d18fe1-0da4-4cef-8f56-e60dc0b20c7b" data-action="Deal Block" data-label="Phantom PG27QFT1B" data-dimension48="Phantom PG27QFT1B" data-dimension25="$129.99">View Deal</a></p></div><p>If you frequently peruse <a href="https://www.pcgamer.com/cheap-gaming-monitor-deals/" target="_blank">best gaming monitor deals guide</a>, then you'll know the cheapest 1440p gaming monitor that the hardware team recommends is the 27-inch ASRock Phantom PG27QFT1B. As an IPS panel, it's not as face-meltingly bright as an OLED, but it will offer colours that are accurate and plenty vibrant for the money—and speaking of, you can make this screen part of your own gamer scene <a href="https://www.newegg.com/asrock-pg27qft1b-27-qhd-180-hz-ips-black/p/N82E16824946003" target="_blank">for just $130 from Newegg</a>.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>For those with particularly good memories, you'll note that it's now a few bucks more affordable than <a href="https://www.pcgamer.com/hardware/gaming-monitors/im-surprised-how-far-1440p-monitors-have-dropped-in-price-heres-one-for-just-usd130-and-its-got-a-180-hz-refresh-rate/" target="_blank">the last time we cast the deal spotlight on it</a> a few months back. The ASRock Phantom also has AMD FreeSync and offers a refresh rate of 180 Hz. That's definitely not nothing at this price point. However, for all you esports fiends on a budget, I do have one more deal to draw your attention to.</p><div class="product"><a data-dimension112="b842cebd-62dc-40a1-ab3e-ce15d7523a02" data-action="Deal Block" data-label="Nitro XV272U W2bmiiprx" data-dimension48="Nitro XV272U W2bmiiprx" data-dimension25="$179.99" href="https://www.amazon.com/dp/B0C1T35BCF" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:400px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xWjz6v2dCsXjhgKhxEWRqY" name="Acer Nitro product image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xWjz6v2dCsXjhgKhxEWRqY-1920-80.jpg" mos="" align="middle" fullscreen="" width="400" height="400" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0C1T35BCF" target="_blank" rel="nofollow" data-dimension112="b842cebd-62dc-40a1-ab3e-ce15d7523a02" data-action="Deal Block" data-label="Nitro XV272U W2bmiiprx" data-dimension48="Nitro XV272U W2bmiiprx" data-dimension25="$179.99">Nitro XV272U W2bmiiprx: was $299.99 now $179.99</a></strong><br>Besides just a bump up over 1080p, you're also getting a refresh of up to 240 Hz (I say 'up to' because that's only via the Display Port). That's a very high figure for the price. </p><p><strong>Key specs: 27-inch | Up to 240 Hz | 0.5 ms | IPS</strong><br><br><strong>Price check: </strong><a href="https://www.newegg.com/acer-xv272u-w2bmiiprx-27-wqhd-240hz-nitro-ips/p/3D4-000A-00074" target="_blank">Newegg $179.99</a><a class="view-deal button" href="https://www.amazon.com/dp/B0C1T35BCF" target="_blank" rel="nofollow" data-dimension112="b842cebd-62dc-40a1-ab3e-ce15d7523a02" data-action="Deal Block" data-label="Nitro XV272U W2bmiiprx" data-dimension48="Nitro XV272U W2bmiiprx" data-dimension25="$179.99">View Deal</a></p></div><p>On all the product images of the Acer Nitro XV272U, a legally distinct kaiju graces its IPS panel—that feels fitting because there's about to be a rumble in the budget jungle. For just fifty bucks more than the ASRock Phantom, the also 27-inch Acer Nitro offers a refresh rate of up to 240 Hz. That's definitely appealing <a href="https://www.amazon.com/dp/B0C1T35BCF" target="_blank">for only $180 from Amazon</a>.</p><p>I say 'up to' because that high refresh rate is only available via the Display Port—if you're connecting via the HDMI port, you'll be stuck with a 144 Hz refresh rate. At this price point, there's bound to be some compromise, but it may be worth it if you really want that 0.5 Ms response time.</p><p>Otherwise, there's really not much difference between the two monitors. Both are 1440p, both are 27-inch IPS panels, and both even enjoy AMD FreeSync for those with a team red rig. But 50 bucks is 50 bucks, and that refresh rate might just make all the difference for you. Not me though—last night, I literally spent two hours putting away virtual books in <a href="https://store.steampowered.com/app/4197610/Librarian_Tidy_Up_the_Arcane_Library/" target="_blank">Librarian: Tidy Up the Arcane Library</a>, and I have very few regrets.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-laptops/the-best-value-1440p-gaming-monitor-is-now-an-even-better-deal-at-usd130-but-theres-a-challenger-to-its-throne/</link>
                                                                            <description>
                            <![CDATA[ The eyes have it. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">oVWcYMFoeUswRrY8AvWUMJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/gpAVXU4YzdwYyCzS4HfXjF-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 15 May 2026 11:49:24 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Monitors]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jess Kinghorn ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she&#039;s either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.&amp;nbsp;&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/gpAVXU4YzdwYyCzS4HfXjF-1920-80.jpg">
                                                            <media:credit><![CDATA[Acer, ASRock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The ASRock Phantom PG27QFT1B and the Acer Nitro XV272U W2bmiiprx gaming monitors floats in the funky PC Gamer deal void.]]></media:description>                                                            <media:text><![CDATA[The ASRock Phantom PG27QFT1B and the Acer Nitro XV272U W2bmiiprx gaming monitors floats in the funky PC Gamer deal void.]]></media:text>
                                <media:title type="plain"><![CDATA[The ASRock Phantom PG27QFT1B and the Acer Nitro XV272U W2bmiiprx gaming monitors floats in the funky PC Gamer deal void.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/gpAVXU4YzdwYyCzS4HfXjF-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Due to what folks that aren't me may deem a cruel twist of fate, I've ended up with a blooming lovely OLED gaming monitor in my home office. While it's vibrant and illuminates the darkest crevices of my gamer den, it is kind of overkill for all the hours I've been pouring into <a href="https://www.pcgamer.com/games/roguelike/titanium-court-review/" target="_blank">Titanium Court</a>. For most of what I play, a 1440p gaming monitor would more than suit.</p><p>As a lover of smaller games less obsessed with showing you every pore of a character's face, I know I'm not alone on that front. So, I've found deals on two 1440p gaming monitors very much alike in dignity.</p><h3 class="article-body__section" id="section-quick-list"><span>Quick list</span></h3><ul><li><strong>ASRock Phantom PG27QFT1B | 27-inches 1080p 180 Hz | </strong><a href="https://www.newegg.com/asrock-pg27qft1b-27-qhd-180-hz-ips-black/p/N82E16824946003" target="_blank"><strong>$130 @ Newegg</strong></a><strong></strong></li><li><strong>Acer Nitro XV272U | 27-inches 1080p 240 Hz | </strong><a href="https://www.amazon.com/dp/B0C1T35BCF" target="_blank"><strong>$180 @ Amazon</strong></a></li></ul><h3 class="article-body__section" id="section-gaming-monitor-deals"><span>Gaming monitor deals</span></h3><div class="product"><a data-dimension112="06d18fe1-0da4-4cef-8f56-e60dc0b20c7b" data-action="Deal Block" data-label="Phantom PG27QFT1B" data-dimension48="Phantom PG27QFT1B" data-dimension25="$129.99" href="https://www.newegg.com/asrock-pg27qft1b-27-qhd-180-hz-ips-black/p/N82E16824946003" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1209px;"><p class="vanilla-image-block" style="padding-top:99.17%;"><img id="LBgcvuwRKrsQDDPhoffg9F" name="1759747834.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/LBgcvuwRKrsQDDPhoffg9F-1920-80.jpg" mos="" align="middle" fullscreen="" width="1209" height="1199" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/asrock-pg27qft1b-27-qhd-180-hz-ips-black/p/N82E16824946003" target="_blank" rel="nofollow" data-dimension112="06d18fe1-0da4-4cef-8f56-e60dc0b20c7b" data-action="Deal Block" data-label="Phantom PG27QFT1B" data-dimension48="Phantom PG27QFT1B" data-dimension25="$129.99">Phantom PG27QFT1B: was $209.99 now $129.99</a></strong><br>This gaming monitor has an IPS panel capable of delivering 180 Hz. The 1440p resolution means you're getting a bit of a bump up over 1080p, too, which puts this monitor right in the sweet spot for modern PC gaming.</p><p><strong>Key specs: 27-inch | 180 Hz | 1 ms | IPS</strong></p><p><strong>Price check: </strong><a href="https://www.amazon.com/ASROCK-Phantom-Computer-Monitor-PG27QFT1B/dp/B0D58MC9ZK/ref=sr_1_1" target="_blank">Amazon $155.36</a><a class="view-deal button" href="https://www.newegg.com/asrock-pg27qft1b-27-qhd-180-hz-ips-black/p/N82E16824946003" target="_blank" rel="nofollow" data-dimension112="06d18fe1-0da4-4cef-8f56-e60dc0b20c7b" data-action="Deal Block" data-label="Phantom PG27QFT1B" data-dimension48="Phantom PG27QFT1B" data-dimension25="$129.99">View Deal</a></p></div><p>If you frequently peruse <a href="https://www.pcgamer.com/cheap-gaming-monitor-deals/" target="_blank">best gaming monitor deals guide</a>, then you'll know the cheapest 1440p gaming monitor that the hardware team recommends is the 27-inch ASRock Phantom PG27QFT1B. As an IPS panel, it's not as face-meltingly bright as an OLED, but it will offer colours that are accurate and plenty vibrant for the money—and speaking of, you can make this screen part of your own gamer scene <a href="https://www.newegg.com/asrock-pg27qft1b-27-qhd-180-hz-ips-black/p/N82E16824946003" target="_blank">for just $130 from Newegg</a>.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>For those with particularly good memories, you'll note that it's now a few bucks more affordable than <a href="https://www.pcgamer.com/hardware/gaming-monitors/im-surprised-how-far-1440p-monitors-have-dropped-in-price-heres-one-for-just-usd130-and-its-got-a-180-hz-refresh-rate/" target="_blank">the last time we cast the deal spotlight on it</a> a few months back. The ASRock Phantom also has AMD FreeSync and offers a refresh rate of 180 Hz. That's definitely not nothing at this price point. However, for all you esports fiends on a budget, I do have one more deal to draw your attention to.</p><div class="product"><a data-dimension112="b842cebd-62dc-40a1-ab3e-ce15d7523a02" data-action="Deal Block" data-label="Nitro XV272U W2bmiiprx" data-dimension48="Nitro XV272U W2bmiiprx" data-dimension25="$179.99" href="https://www.amazon.com/dp/B0C1T35BCF" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:400px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xWjz6v2dCsXjhgKhxEWRqY" name="Acer Nitro product image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xWjz6v2dCsXjhgKhxEWRqY-1920-80.jpg" mos="" align="middle" fullscreen="" width="400" height="400" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0C1T35BCF" target="_blank" rel="nofollow" data-dimension112="b842cebd-62dc-40a1-ab3e-ce15d7523a02" data-action="Deal Block" data-label="Nitro XV272U W2bmiiprx" data-dimension48="Nitro XV272U W2bmiiprx" data-dimension25="$179.99">Nitro XV272U W2bmiiprx: was $299.99 now $179.99</a></strong><br>Besides just a bump up over 1080p, you're also getting a refresh of up to 240 Hz (I say 'up to' because that's only via the Display Port). That's a very high figure for the price. </p><p><strong>Key specs: 27-inch | Up to 240 Hz | 0.5 ms | IPS</strong><br><br><strong>Price check: </strong><a href="https://www.newegg.com/acer-xv272u-w2bmiiprx-27-wqhd-240hz-nitro-ips/p/3D4-000A-00074" target="_blank">Newegg $179.99</a><a class="view-deal button" href="https://www.amazon.com/dp/B0C1T35BCF" target="_blank" rel="nofollow" data-dimension112="b842cebd-62dc-40a1-ab3e-ce15d7523a02" data-action="Deal Block" data-label="Nitro XV272U W2bmiiprx" data-dimension48="Nitro XV272U W2bmiiprx" data-dimension25="$179.99">View Deal</a></p></div><p>On all the product images of the Acer Nitro XV272U, a legally distinct kaiju graces its IPS panel—that feels fitting because there's about to be a rumble in the budget jungle. For just fifty bucks more than the ASRock Phantom, the also 27-inch Acer Nitro offers a refresh rate of up to 240 Hz. That's definitely appealing <a href="https://www.amazon.com/dp/B0C1T35BCF" target="_blank">for only $180 from Amazon</a>.</p><p>I say 'up to' because that high refresh rate is only available via the Display Port—if you're connecting via the HDMI port, you'll be stuck with a 144 Hz refresh rate. At this price point, there's bound to be some compromise, but it may be worth it if you really want that 0.5 Ms response time.</p><p>Otherwise, there's really not much difference between the two monitors. Both are 1440p, both are 27-inch IPS panels, and both even enjoy AMD FreeSync for those with a team red rig. But 50 bucks is 50 bucks, and that refresh rate might just make all the difference for you. Not me though—last night, I literally spent two hours putting away virtual books in <a href="https://store.steampowered.com/app/4197610/Librarian_Tidy_Up_the_Arcane_Library/" target="_blank">Librarian: Tidy Up the Arcane Library</a>, and I have very few regrets.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This gaming PC isn't just the cheapest RTX 5080 rig I've seen in ages, it's also packing the best midrange processor around ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="AI 50 Ultra Plus V3" data-dimension48="AI 50 Ultra Plus V3" data-dimension25="$2299.99" href="https://www.newegg.com/andromeda-insights-ultra-pro-gaming-desktop-pcs-geforce-rtx-5080-intel-core-ultra-5-250kf-plus-32gb-ddr5-1tb-nvme-ssd-v3-black/p/3D5-006J-000D5" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1300px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="FzHDZsWhXqy9Fuj6gmrrHB" name="andromeda_insights_ai_50_ultra_plus_v3_gaming_pc" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/FzHDZsWhXqy9Fuj6gmrrHB-1920-80.jpg" mos="" align="middle" fullscreen="" width="1300" height="1300" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/andromeda-insights-ultra-pro-gaming-desktop-pcs-geforce-rtx-5080-intel-core-ultra-5-250kf-plus-32gb-ddr5-1tb-nvme-ssd-v3-black/p/3D5-006J-000D5" target="_blank" rel="nofollow" data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="AI 50 Ultra Plus V3" data-dimension48="AI 50 Ultra Plus V3" data-dimension25="$2299.99">AI 50 Ultra Plus V3: was $2799.99 now $2299.99</a></strong><br>With Nvidia's second most powerful RTX 50-series graphics card and one of Intel's best processors in years, plus a nice pile of speedy DRAM, this gaming PC is a great all-rounder for gaming and content creation. Only the measly 1 TB storage spoils the fun.</p><p><strong>Key specs: Core Ultra 5 250KF Plus | RTX 5080 | 32 GB DDR5-6000 | 1 TB SSD</strong><a class="view-deal button" href="https://www.newegg.com/andromeda-insights-ultra-pro-gaming-desktop-pcs-geforce-rtx-5080-intel-core-ultra-5-250kf-plus-32gb-ddr5-1tb-nvme-ssd-v3-black/p/3D5-006J-000D5" target="_blank" rel="nofollow" data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="AI 50 Ultra Plus V3" data-dimension48="AI 50 Ultra Plus V3" data-dimension25="$2299.99">View Deal</a></p></div><p>Look, we all know that the RAMpocalypse has ruined things for PC gamers, forcing the prices of DDR5 memory kits, SSDs, and graphics cards into the realm of ridiculousness. There's nothing you or I can do about this, other than either riding out the storm and hoping things get better, or biting the bullet and handing over a lot more cash for a new gaming PC than you would have done 12 months ago.</p><p>If you're in the latter camp, you'll want to ensure you're not overspending, of course, and the best way to do that is to build a new rig from scratch yourself. That way, you can shop around and get the best prices on components. However, if you don't want to go through that process and want a shiny new gaming PC <em>right now</em>, then how about this RTX 5080 gaming for <a href="https://www.newegg.com/andromeda-insights-ultra-pro-gaming-desktop-pcs-geforce-rtx-5080-intel-core-ultra-5-250kf-plus-32gb-ddr5-1tb-nvme-ssd-v3-black/p/3D5-006J-000D5" target="_blank">$2,300 at Newegg</a>?</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Yes, that's a fierce amount of money, but believe it or not, that's actually the cheapest RTX 5080 prebuild I've seen for quite a while. How has this been made possible? In two specific areas: the central processor and the amount of storage it has.</p><p>The good news is that while the CPU isn't a Ryzen 7 9800X3D, the best gaming chip around, what you are getting is the best mid-range processor at the moment: the iGPU-less version of Intel's brilliant <a href="https://www.pcgamer.com/hardware/processors/intel-core-ultra-5-250k-plus-review/" target="_blank">Core Ultra 5 250K Plus</a>. For something that 'only' has six P-cores and 12 E-cores, it packs a serious punch, and not 'just for the money' either.</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');    @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,900;1,900&display=swap');        /* Reset & Base */    #fv-chart-1778759592378-f8nbfgn7j *, #fv-chart-1778759592378-f8nbfgn7j *:before, #fv-chart-1778759592378-f8nbfgn7j *:after, #fv-chart-1778759592378-f8nbfgn7j-slideshow *, #fv-chart-1778759592378-f8nbfgn7j-slideshow *:before, #fv-chart-1778759592378-f8nbfgn7j-slideshow *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1778759592378-f8nbfgn7j, #fv-chart-1778759592378-f8nbfgn7j-slideshow { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1778759592378-f8nbfgn7j {        position: relative !important; overflow: visible !important;        --riv-primary: #E33235;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ededed !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-1778759592378-f8nbfgn7j .fv-inner-wrapper.fv-no-header.fv-is-image-compare {        padding-top: 0 !important;    }    #fv-chart-1778759592378-f8nbfgn7j.fv-full-bleed {                width: 100vw !important;        margin-left: calc(50% - 50vw) !important;            }        body {        overflow-x: clip !important;    }        #fv-chart-1778759592378-f8nbfgn7j.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-1778759592378-f8nbfgn7j .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;    }            /* Slideshow Styles */    #fv-chart-1778759592378-f8nbfgn7j-slideshow {        position: relative !important;        width: 100% !important;        margin: 1rem 0 !important;        --riv-primary: #E33235;    }    #fv-chart-1778759592378-f8nbfgn7j-slideshow .fv-slides-wrapper {        position: relative !important;        width: 100% !important;    }    #fv-chart-1778759592378-f8nbfgn7j-slideshow .fv-slide {        width: 100% !important;        animation: fv-fade-in 0.3s ease-in-out;    }      @keyframes fv-fade-in {        from { opacity: 0; }        to { opacity: 1; }    }        /* Top Navigation Row (Redesign) */    #fv-chart-1778759592378-f8nbfgn7j-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-1778759592378-f8nbfgn7j-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-1778759592378-f8nbfgn7j-slideshow .fv-nav-btn svg {        width: 18px !important;        height: 18px !important;        stroke-width: 3px !important;        filter: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j-slideshow .fv-nav-btn:hover {        opacity: 0.9 !important;        transform: translateY(-1px) !important;    }        #fv-chart-1778759592378-f8nbfgn7j-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-1778759592378-f8nbfgn7j-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;    }        /* Slideshow Dropdown Navigation */    #fv-chart-1778759592378-f8nbfgn7j-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-1778759592378-f8nbfgn7j-slideshow .fv-slideshow-select:focus {        outline: 2px solid #E33235 !important;        border-color: #E33235 !important;    }        /* Typography */    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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; }    /* Versus Chart */    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper { flex: 1; min-width: 0; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-inside-left { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1778759592378-f8nbfgn7j .fv-inside-right { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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; }    /* Image Comparison Styles */    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-container {        width: auto !important;        margin-left: -1.5rem !important;        margin-right: -1.5rem !important;        margin-bottom: 2rem !important;    }    #fv-chart-1778759592378-f8nbfgn7j.fv-full-bleed .fv-image-compare-container {        width: 100% !important;        max-width: none !important;        margin: 0 auto !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper {        position: relative !important;        width: 100% !important;        overflow: hidden !important;        border-radius: 0 !important;        background-color: #000 !important;        touch-action: pan-y !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-inner {        position: relative !important;        width: 100% !important;        height: 100% !important;        display: block !important;        transform-origin: center center !important;        transition: transform 0.1s ease-out !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-bg {        display: block !important;        width: 100% !important;        height: auto !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-fg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        width: 100% !important;        height: 100% !important;        object-fit: cover !important;        clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-slider {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 32px !important;        transform: translateX(-50%) !important;        cursor: ew-resize !important;        z-index: 10 !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-slider-line {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 4px !important;        background-color: white !important;        transform: translateX(-50%) !important;        box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;        pointer-events: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-handle {        position: absolute !important;        top: 50% !important;        left: 50% !important;        transform: translate(-50%, -50%) !important;        width: 32px !important;        height: 32px !important;        background-color: white !important;        border-radius: 50% !important;        box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        gap: 4px !important;        pointer-events: none !important;        z-index: 11 !important;        overflow: hidden !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-handle.fv-image-compare-handle-square {        border-radius: 6px !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-arrow-left {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-right: 4px solid #4b5563 !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-arrow-right {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-left: 4px solid #4b5563 !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-label {        position: absolute !important;        top: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        padding: 0.25rem 0.75rem !important;        border-radius: 0.25rem !important;        font-size: 0.875rem !important;        font-weight: 500 !important;        pointer-events: none !important;        backdrop-filter: blur(4px) !important;        z-index: 5 !important;        transition: right 0.3s ease, opacity 0.2s ease !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-label-left {        left: 1rem !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-label-right {        right: 1rem !important;    }        #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-expand-btn,    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-close-btn {        position: absolute !important;        bottom: 1rem !important;        right: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        border: none !important;        border-radius: 0.25rem !important;        padding: 0.5rem !important;        cursor: pointer !important;        z-index: 20 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        backdrop-filter: blur(4px) !important;        transition: background-color 0.2s !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-expand-btn:hover,    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-close-btn:hover {        background-color: rgba(0, 0, 0, 0.7) !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-close-btn {        display: none !important;        top: 1rem !important;        bottom: auto !important;    }    /* Fullscreen State */    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen {        position: fixed !important;        top: 0 !important;        left: 0 !important;        right: 0 !important;        bottom: 0 !important;        width: 100% !important;        height: 100% !important;        z-index: 999999 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        background-color: rgba(0, 0, 0, 0.9) !important;        margin: 0 !important;        touch-action: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner {        width: 100% !important;        height: 100% !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        cursor: grab !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active {        cursor: grabbing !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg {        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn {        display: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn {        display: flex !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right {        right: 4rem !important;    }    /* Footer */    #fv-chart-1778759592378-f8nbfgn7j .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1778759592378-f8nbfgn7j .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;    }    /* Display Mode Controls */    #fv-chart-1778759592378-f8nbfgn7j .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-dropdown-title:focus { outline: none !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-dropdown-title::-ms-expand { display: none !important; }        #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Multi-Value Legend */    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1778759592378-f8nbfgn7j .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar-row, #fv-chart-1778759592378-f8nbfgn7j .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Multi-Value Bar Logic */    #fv-chart-1778759592378-f8nbfgn7j .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }        /* Stacked Bar */    #fv-chart-1778759592378-f8nbfgn7j .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }    /* Grouped Bar */    #fv-chart-1778759592378-f8nbfgn7j .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1778759592378-f8nbfgn7j .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Shop The Look */    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; transition: min-height 0.3s ease !important; overflow: hidden !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1778759592378-f8nbfgn7j.fv-full-bleed .fv-stl-container { width: 100% !important; }    #fv-chart-1778759592378-f8nbfgn7j.fv-full-bleed .fv-stl-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1778759592378-f8nbfgn7j .fv-stl-hotspot-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-hotspot-btn { 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), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 300ms !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-1778759592378-f8nbfgn7j .fv-stl-hotspot-btn:hover { transform: scale(1.1) !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-hotspot-btn:focus { outline: 2px solid transparent !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #000000 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-hotspot-btn[aria-expanded="true"] { background-color: #3b82f6 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1778759592378-f8nbfgn7j .fv-stl-hotspot-pulse { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-stl-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; }    @keyframes fv-stl-ping { 75%, 100% { transform: scale(2); opacity: 0; } }    @media (max-width: 640px) {        #fv-chart-1778759592378-f8nbfgn7j .fv-stl-hotspot-pulse { animation-fill-mode: none !important; }    }    /* Shop the look button */    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; height: 2.5rem !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; color: #111827 !important; padding: 0 1rem 0 3rem !important; border-radius: 0.25rem !important; font-weight: 700 !important; font-size: 0.875rem !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; z-index: 10 !important; display: flex !important; align-items: center !important; text-transform: uppercase !important; overflow: hidden !important; white-space: nowrap !important; max-width: calc(100% - 2rem) !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-btn span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-btn:hover { background-color: #ffffff !important; transform: scale(1.05) !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-logo { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; object-fit: cover !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; flex-shrink: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-icon { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; color: #1f2937 !important; flex-shrink: 0 !important; }    /* All Products Modal */    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j { position: fixed !important; inset: 0 !important; background-color: rgba(0, 0, 0, 0) !important; backdrop-filter: blur(0px) !important; -webkit-backdrop-filter: blur(0px) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 99999 !important; pointer-events: none !important; transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease !important; padding: 1rem !important; overflow: hidden !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j { position: absolute !important; padding: 0 !important; align-items: flex-end !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.is-active { background-color: rgba(0, 0, 0, 0.2) !important; backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; pointer-events: auto !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-content { width: 100% !important; max-width: 42rem !important; max-height: 100% !important; display: flex !important; flex-direction: column !important; position: relative !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-radius: 1rem !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important; opacity: 0 !important; transform: scale(0.95) !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.is-active .fv-stl-all-products-content { opacity: 1 !important; transform: scale(1) !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.is-active .fv-stl-all-products-content { transform: translateY(0) !important; }        /* V2 Bottom Sheet Style */    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.v2 { align-items: flex-end !important; padding: 0 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.v2:not(.mobile-view *) { justify-content: flex-end !important; }    }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.v2 .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.v2:not(.mobile-view *) .fv-stl-all-products-content { max-width: 700px !important; border-radius: 1.5rem 0 0 0 !important; }    }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.v2.is-active .fv-stl-all-products-content { transform: translateY(0) !important; opacity: 1 !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1.5rem !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; position: sticky !important; top: 0 !important; background-color: rgba(255, 255, 255, 0.8) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; z-index: 10 !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-header { padding: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-logo { height: 1.5rem !important; width: auto !important; object-fit: contain !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-logo { height: 1.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-title { font-size: 1.125rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-close { width: 2rem !important; height: 2rem !important; border-radius: 9999px !important; background-color: rgba(0, 0, 0, 0.05) !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; cursor: pointer !important; z-index: 10 !important; color: #6b7280 !important; transition: all 0.2s !important; padding: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-close:hover { background-color: rgba(0, 0, 0, 0.1) !important; color: #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-list { list-style: none !important; padding: 1.5rem !important; margin: 0 !important; overflow-y: auto !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 0.75rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-list { padding: 0.75rem !important; gap: 0.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-item { margin: 0 !important; padding: 0.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-link { display: flex !important; align-items: flex-start !important; padding: 0.75rem !important; text-decoration: none !important; color: inherit !important; transition: all 0.2s !important; border-radius: 1rem !important; border: 1px solid transparent !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-link { padding: 0.5rem !important; border-radius: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-link:hover { background-color: #ffffff !important; border-color: #e5e7eb !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-item.is-highlighted .fv-stl-all-products-link { background-color: #ffffff !important; border-color: #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-image-container { position: relative !important; margin-right: 1.25rem !important; flex-shrink: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-image-container { margin-right: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-number { position: absolute !important; top: -0.5rem !important; left: -0.5rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; background-color: #0f172a !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.75rem !important; font-weight: 700 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #ffffff !important; z-index: 10 !important; font-family: sans-serif !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-number { top: -0.375rem !important; left: -0.375rem !important; width: 1.25rem !important; height: 1.25rem !important; font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-image-wrapper { width: 6rem !important; height: 6rem !important; border-radius: 0.75rem !important; overflow: hidden !important; background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.02) !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-image-wrapper { width: 4rem !important; height: 4rem !important; border-radius: 0.5rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-placeholder { width: 2rem !important; height: 2rem !important; color: #d1d5db !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-placeholder { width: 1.5rem !important; height: 1.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; margin-top: 0.25rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-info { margin-top: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-brand { font-size: 0.625rem !important; font-weight: 700 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin: 0 0 0.375rem 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-brand { font-size: 0.5625rem !important; margin: 0 0 0.25rem 0 !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-name { font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 0.375rem 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.25 !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-name { font-size: 0.875rem !important; margin: 0 0 0.25rem 0 !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-meta { display: flex !important; align-items: center !important; font-size: 0.875rem !important; margin-bottom: 0.375rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-meta { font-size: 0.75rem !important; margin-bottom: 0.25rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-price { font-weight: 700 !important; color: #111827 !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-sale-price { font-weight: 700 !important; color: #dc2626 !important; margin-right: 0.5rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-sale-price { margin-right: 0.375rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-original-price { color: #9ca3af !important; text-decoration: line-through !important; font-size: 0.75rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-original-price { font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-commentary { font-size: 0.875rem !important; color: #4b5563 !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.375 !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-commentary { font-size: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-action { width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important; background-color: #f9fafb !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; margin-left: 1rem !important; flex-shrink: 0 !important; border: 1px solid #f3f4f6 !important; transition: all 0.2s !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-action { width: 2rem !important; height: 2rem !important; margin-left: 0.75rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-action svg { width: 14px !important; height: 14px !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-link:hover .fv-stl-all-products-action { background-color: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }    /* Image Annotation Styles */    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; overflow: hidden !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1778759592378-f8nbfgn7j.fv-full-bleed .fv-ia-container { width: 100% !important; }    #fv-chart-1778759592378-f8nbfgn7j.fv-full-bleed .fv-ia-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1778759592378-f8nbfgn7j .fv-ia-node-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-ia-node-button:hover { transform: scale(1.1) !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-node-button.is-active { background-color: #E33235 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1778759592378-f8nbfgn7j .fv-ia-pulse-ring { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-ia-node-button:hover + .fv-ia-static-tooltip { display: block !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-logo-explore-bar .fv-logo { margin: 0 auto !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-explore-wrapper { position: absolute !important; right: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-logo-explore-bar { flex-direction: column !important; min-height: auto !important; gap: 0.75rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-ia-explore-wrapper { position: static !important; align-self: flex-end !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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: #E33235 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-explore-btn svg { transition: transform 0.2s !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-explore-btn:hover svg { transform: translateX(2px) !important; }    /* IA Modal Styles */    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-active-modal-container { display: none !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-modals { display: block !important; position: static !important; }        #fv-chart-1778759592378-f8nbfgn7j .fv-ia-modal-item { display: none !important; }    #fv-chart-1778759592378-f8nbfgn7j .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 #E33235 !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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-ia-close-button:hover { background: #e5e7eb !important; color: #111827 !important; }        #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j.mobile-view .fv-ia-node-description { font-size: 0.875rem !important; }    /* Error Handling */    #fv-chart-1778759592378-f8nbfgn7j .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; }    /* Countdown Styles */    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-container {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        justify-content: center !important;        padding: 1rem !important;        position: relative !important;        width: 100% !important;        box-sizing: border-box !important;        font-family: Montserrat, sans-serif !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-header {        text-align: center !important;        margin-bottom: 2rem !important;        z-index: 10 !important;        width: 100% !important;        display: flex !important;        flex-direction: column !important;        align-items: center !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-title {        font-size: 1.25rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0 !important;        font-style: italic !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-subhead {        font-size: 1.125rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0.25rem 0 0 0 !important;        font-style: italic !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-timer-wrap {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        width: 100% !important;        max-width: 64rem !important;        z-index: 10 !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-labels {        display: flex !important;        justify-content: center !important;        width: 100% !important;        margin-bottom: 0.5rem !important;        padding: 0 0.5rem !important;        font-size: 0.75rem !important;        font-weight: bold !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-labels > div {        flex: 1 !important;        text-align: center !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-box {        position: relative !important;        width: 100% !important;        border-top: 6px solid #333 !important;        border-bottom: 8px solid #333 !important;        padding: 1rem 0 !important;        background: linear-gradient(to bottom, #1f2937, #000000) !important;        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits {        display: flex !important;        justify-content: center !important;        font-size: 1.75rem !important;        font-weight: 900 !important;        letter-spacing: 0em !important;        font-family: monospace !important;        color: #fff !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits > div.digit-box {        flex: 1 !important;        text-align: center !important;        white-space: nowrap !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits > div.colon {        flex: 0 0 auto !important;        opacity: 0.5 !important;        position: relative !important;        top: -2px !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-spike-l {        position: absolute !important;        left: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-right: 15px solid #374151 !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-spike-r {        position: absolute !important;        right: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-left: 15px solid #374151 !important;    }    @media (min-width: 600px) {        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-container {            padding: 2rem !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-title {            font-size: 1.75rem !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-subhead {            font-size: 1.25rem !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits {            font-size: 2.25rem !important;            letter-spacing: 0 !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-labels {            font-size: 0.875rem !important;            padding: 0 1rem !important;            margin-bottom: 1rem !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-box {            padding: 1.5rem 0 !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits > div.colon {            top: -4px !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-spike-l {            left: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-right-width: 20px !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-spike-r {            right: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-left-width: 20px !important;        }    }        @media (min-width: 768px) {        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits {            font-size: 3.5rem !important;            letter-spacing: 0.05em !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits > div.colon {            top: -5px !important;        }    }    /* Mobile / Forced Mobile View / Labels on Top */    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-pie-container,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-pie-container {        flex-direction: column !important; gap: 1rem !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-grouped-product-title-wrapper,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-bar-row,    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-stacked-product,    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-grouped-bar-product,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-bar-row,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-stacked-product,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-grouped-bar-product {        flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-bar-label:not(.fv-grouped-product-title),    #fv-chart-1778759592378-f8nbfgn7j.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-1778759592378-f8nbfgn7j.mobile-view .fv-bar-label,    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-grouped-product-title,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-bar-label,    #fv-chart-1778759592378-f8nbfgn7j.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-1778759592378-f8nbfgn7j.mobile-view .fv-bar-container,    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-bar-cluster,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-bar-container,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-bar-cluster {        width: 100% !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-x-axis-wrapper,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-x-axis-wrapper {        margin-left: 0 !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-x-axis-label-space,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-x-axis-label-space {        display: none !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-x-axis-chart-space,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-x-axis-chart-space {        padding-right: 0 !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-benchmark-title,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-benchmark-title {        font-size: 16px !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-dropdown-title,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-dropdown-title {        font-size: 16px !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-carousel-nav-btn,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-carousel-nav-btn {        padding: 8px 12px !important; font-size: 14px !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-chart-title,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-chart-title {        padding: 0 8px !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-chart-subhead,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-chart-subhead {        padding: 0 8px !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-header,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-header {        flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select-wrapper,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select-wrapper {        flex: 1 !important; min-width: 0 !important; width: 100% !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select-wrapper.fv-left,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select-wrapper.fv-left {        text-align: center !important; padding-right: 0 !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select-wrapper.fv-right,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select-wrapper.fv-right {        text-align: center !important; padding-left: 0 !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select.fv-select-left,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select.fv-select-left {        text-align: center !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select.fv-select-right,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select.fv-select-right {        text-align: center !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-vs,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-vs {        text-align: center !important; padding: 0.25rem 0 !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select-container,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select-container {        max-width: 100% !important; width: 100% !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select {        font-size: 14px !important; width: 100% !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-stl-shop-all-btn,    #fv-chart-1778759592378-f8nbfgn7j.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-1778759592378-f8nbfgn7j.mobile-view .fv-stl-shop-all-logo,    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-stl-shop-all-icon,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-stl-shop-all-logo,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-stl-shop-all-icon {        width: 2rem !important; height: 2rem !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-stl-shop-all-icon svg,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-stl-shop-all-icon svg {        width: 14px !important; height: 14px !important;    }        #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view.fv-contains-line-chart .fv-footer-content {        margin-left: -1rem !important;        margin-right: -1rem !important;    }    @media (max-width: 599px) {         #fv-chart-1778759592378-f8nbfgn7j .fv-pie-container {            flex-direction: column !important; gap: 1rem !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-bar-row,        #fv-chart-1778759592378-f8nbfgn7j .fv-stacked-product,        #fv-chart-1778759592378-f8nbfgn7j .fv-grouped-bar-product {            flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;        }#fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar-label,        #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar-container,        #fv-chart-1778759592378-f8nbfgn7j .fv-bar-cluster {            width: 100% !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-wrapper {            margin-left: 0 !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-label-space {            display: none !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-chart-space {            padding-right: 0 !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-benchmark-title {            font-size: 16px !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-dropdown-title {            font-size: 16px !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-carousel-nav-btn {            padding: 8px 12px !important; font-size: 14px !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-chart-title {            padding: 0 8px !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-chart-subhead {            padding: 0 8px !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-header {            flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper {            flex: 1 !important; min-width: 0 !important; width: 100% !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper.fv-left {            text-align: center !important; padding-right: 0 !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper.fv-right {            text-align: center !important; padding-left: 0 !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select.fv-select-left {            text-align: center !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select.fv-select-right {            text-align: center !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-vs {            text-align: center !important; padding: 0.25rem 0 !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-container {            max-width: 100% !important; width: 100% !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select {            font-size: 14px !important; width: 100% !important;        }#fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-stl-shop-all-logo,        #fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-icon {            width: 2rem !important; height: 2rem !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-icon svg {            width: 14px !important; height: 14px !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1778759592378-f8nbfgn7j.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": "Gaming performance",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-05-14T11:53:12.379Z",  "keywords": [    "Intel Core Ultra 5 250K Plus",    "Intel Core Ultra 5 245K",    "AMD Ryzen 7 9800X3D",    "AMD Ryzen 7 9700X",    "Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)",    "Baldur's Gate 3 (1080p Ultra)",    "Homeworld 3 (1080p Epic)",    "Metro Exodus Enhanced Ed. (1080p High)",    "3DMark Time Spy",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)",      "value": 118,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)",      "value": 99,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)",      "value": 112,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)",      "value": 99,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Baldur's Gate 3 (1080p Ultra)",      "value": 109,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Baldur's Gate 3 (1080p Ultra)",      "value": 86,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Baldur's Gate 3 (1080p Ultra)",      "value": 146,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Baldur's Gate 3 (1080p Ultra)",      "value": 94,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Homeworld 3 (1080p Epic)",      "value": 98,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Homeworld 3 (1080p Epic)",      "value": 72,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Homeworld 3 (1080p Epic)",      "value": 117,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Homeworld 3 (1080p Epic)",      "value": 91,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Metro Exodus Enhanced Ed. (1080p High)",      "value": 145,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Metro Exodus Enhanced Ed. (1080p High)",      "value": 140,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Metro Exodus Enhanced Ed. (1080p High)",      "value": 148,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Metro Exodus Enhanced Ed. (1080p High)",      "value": 146,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – 3DMark Time Spy",      "value": 19987,      "unitText": "CPU index score"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – 3DMark Time Spy",      "value": 14817,      "unitText": "CPU index score"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – 3DMark Time Spy",      "value": 16116,      "unitText": "CPU index score"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – 3DMark Time Spy",      "value": 13239,      "unitText": "CPU index score"    }  ]}</script>    <div id="fv-chart-1778759592378-f8nbfgn7j" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true">        <div class="fv-inner-wrapper    ">            <h3 class="fv-chart-title">Gaming performance</h3>                        <div class="fv-dropdown-wrapper">                <div class="fv-dropdown-title-container">                    <select class="fv-dropdown-title">                        <option value="0">Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)</option><option value="1">Baldur's Gate 3 (1080p Ultra)</option><option value="2">Homeworld 3 (1080p Epic)</option><option value="3">Metro Exodus Enhanced Ed. (1080p High)</option><option value="4">3DMark Time Spy</option>                    </select>                    <div class="fv-dropdown-chevron">                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>                    </div>                </div>            </div>            <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1778759592378-f8nbfgn7j-bar-Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)" data-subhead="" data-caption="                                                        " style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.66666666666666%; background-color: #E33235;" data-target-width="78.66666666666666" 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">118</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62%; background-color: #FE9F58;" data-target-width="62" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">93</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66%; background-color: #E33235;" data-target-width="66" 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">99</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 49.333333333333336%; background-color: #FE9F58;" data-target-width="49.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">74</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74.66666666666667%; background-color: #E33235;" data-target-width="74.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">112</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50.66666666666667%; background-color: #FE9F58;" data-target-width="50.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">76</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66%; background-color: #E33235;" data-target-width="66" 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">99</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 39.33333333333333%; background-color: #FE9F58;" data-target-width="39.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div>    </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>    </div>        <table class="sr-only">            <caption>Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>118 Avg FPS, 93 1% Low FPS</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>99 Avg FPS, 74 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>112 Avg FPS, 76 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>99 Avg FPS, 59 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759592378-f8nbfgn7j-bar-Baldur's Gate 3 (1080p Ultra)" data-chart-type="Bar" data-title="Baldur's Gate 3 (1080p Ultra)" data-subhead="" data-caption="                                                        " style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72.66666666666667%; background-color: #E33235;" 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 class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 44.666666666666664%; background-color: #FE9F58;" data-target-width="44.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">67</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.333333333333336%; background-color: #E33235;" data-target-width="57.333333333333336" 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">86</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 39.33333333333333%; background-color: #FE9F58;" data-target-width="39.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97.33333333333334%; background-color: #E33235;" data-target-width="97.33333333333334" 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">146</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50.66666666666667%; background-color: #FE9F58;" data-target-width="50.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">76</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.66666666666667%; background-color: #E33235;" data-target-width="62.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">94</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.333333333333336%; background-color: #FE9F58;" data-target-width="37.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">56</span></div>    </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>    </div>        <table class="sr-only">            <caption>Baldur's Gate 3 (1080p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>109 Avg FPS, 67 1% Low FPS</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>86 Avg FPS, 59 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>146 Avg FPS, 76 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>94 Avg FPS, 56 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759592378-f8nbfgn7j-bar-Homeworld 3 (1080p Epic)" data-chart-type="Bar" data-title="Homeworld 3 (1080p Epic)" data-subhead="" data-caption="                                                        " style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65.33333333333333%; background-color: #E33235;" data-target-width="65.33333333333333" 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">98</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.333333333333336%; background-color: #FE9F58;" data-target-width="37.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">56</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #E33235;" data-target-width="48" 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">72</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 18%; background-color: #FE9F58;" data-target-width="18" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">27</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78%; background-color: #E33235;" data-target-width="78" 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">117</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.666666666666664%; background-color: #FE9F58;" data-target-width="36.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">55</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60.66666666666667%; background-color: #E33235;" data-target-width="60.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">91</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 32.666666666666664%; background-color: #FE9F58;" data-target-width="32.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">49</span></div>    </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>    </div>        <table class="sr-only">            <caption>Homeworld 3 (1080p Epic) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>98 Avg FPS, 56 1% Low FPS</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>72 Avg FPS, 27 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>117 Avg FPS, 55 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>91 Avg FPS, 49 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759592378-f8nbfgn7j-bar-Metro Exodus Enhanced Ed. (1080p High)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Ed. (1080p High)" data-subhead="" data-caption="                                                        " style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 96.66666666666667%; background-color: #E33235;" data-target-width="96.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">145</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.666666666666664%; background-color: #FE9F58;" data-target-width="52.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">79</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 93.33333333333333%; background-color: #E33235;" data-target-width="93.33333333333333" 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">140</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.333333333333336%; background-color: #FE9F58;" data-target-width="53.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">80</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 98.66666666666667%; background-color: #E33235;" data-target-width="98.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">148</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60.66666666666667%; background-color: #FE9F58;" data-target-width="60.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">91</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97.33333333333334%; background-color: #E33235;" data-target-width="97.33333333333334" 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">146</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.33333333333333%; background-color: #FE9F58;" data-target-width="51.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">77</span></div>    </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>    </div>        <table class="sr-only">            <caption>Metro Exodus Enhanced Ed. (1080p High) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>145 Avg FPS, 79 1% Low FPS</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>140 Avg FPS, 80 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>148 Avg FPS, 91 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>146 Avg FPS, 77 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759592378-f8nbfgn7j-bar-3DMark Time Spy" data-chart-type="Bar" data-title="3DMark Time Spy" data-subhead="" data-caption="                                                        " style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>CPU index score</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>Overall index score</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 99.935%; background-color: #E33235;" data-target-width="99.935" 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">19987</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 87.835%; background-color: #FE9F58;" data-target-width="87.835" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">17567</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74.08500000000001%; background-color: #E33235;" data-target-width="74.08500000000001" 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">14817</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84.275%; background-color: #FE9F58;" data-target-width="84.275" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">16855</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80.58%; background-color: #E33235;" data-target-width="80.58" 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">16116</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85.26%; background-color: #FE9F58;" data-target-width="85.26" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">17052</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.19500000000001%; background-color: #E33235;" data-target-width="66.19500000000001" 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">13239</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.185%; background-color: #FE9F58;" data-target-width="82.185" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">16437</span></div>    </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>5,000</span><span>10,000</span><span>15,000</span><span>20,000</span></div>                    </div>    </div>        <table class="sr-only">            <caption>3DMark Time Spy Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>19987 CPU index score, 17567 Overall index score</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>14817 CPU index score, 16855 Overall index score</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>16116 CPU index score, 17052 Overall index score</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>13239 CPU index score, 16437 Overall index score</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer 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() {      /*  Global animation function for slideshow re-use */      window.fvAnimateCharts = function(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                /*  Reset to 0 first to ensure animation triggers */                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                /*  Force reflow */                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); /*  Reduced initial delay */            });          }          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);              });            }            /*  Execute */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');                        charts.forEach(function(chart) {                /*  If in carousel/dropdown mode, hidden charts are display:none. */                /*  We only animate what is visible. */                if (window.getComputedStyle(chart).display === 'none') return;                                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });      };            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);                /*  In slideshow mode, 'root' will be null because the container has '-slideshow' suffix. */        /*  We handle that logic below. */        if (!root && !isSlideshow) return;                /*  Setup internal interactions (Carousel/Dropdown/LineChart) for a specific chart wrapper */        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) {                    /*  Fallback for when width isn't available yet (e.g., hidden tab) */                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    /*  Mobile if container is small OR if it's a physical mobile device (overriding fixed-width iframes) */                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        /*  Initial check */            checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        /*  Always add window resize listener as a reliable fallback for DevTools and edge cases */            window.addEventListener('resize', checkMobileView);                        /*  Labels on top handler */            var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                /*  If there are multiple charts and we're not in a carousel/dropdown, we might have mixed types. */                /*  But typically, labels-on-top is a global setting. We'll apply it initially,  */                /*  and showInternalChart will toggle it if needed. */                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 === '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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');                        var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');                                                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);            });            /*  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');                        /*  Text Elements */            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 === 'Line') {                                 /*  Line chart animations if needed */                             } else if (cType !== 'Pie') {                                 window.fvAnimateCharts(chartWrapper);                             }                                                          /*  Update labels-on-top based on current chart type */                             var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === '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;                                        /*  Update Subhead and Caption */                    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 || '';                                                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;                /*  Zoom state */                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();                    /*  Max pan depends on how much the image is scaled beyond the wrapper */                    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; /*  Prevent click after pinch */                    } 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 });                }                /*  Expand/Close Logic */                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.preventDefault(); // Removed to allow text selection */                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        /*  Load high-res images if available */                            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.preventDefault(); // Removed to allow text selection */                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                /*  Close on Escape */                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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        /*  Remove highlights */                    var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    /*  Remove min-height after transition */                    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');                        /*  Ensure container is tall enough */                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                /*  Highlight and scroll to item */                        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();                        }                    }                });            });            /*  Shop All button */            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    /*  Ensure container is tall enough */                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            /*  Close button in all products modal */            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            /*  Close modals when clicking outside */            chartWrapper.addEventListener('click', function(e) {                /*  Only close if clicking on the wrapper or container, not inside a modal content */                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 */            window.fvAnimateCharts(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 primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';                    var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';                                        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-1778759592378-f8nbfgn7j', false); });      } else {        initialize('fv-chart-1778759592378-f8nbfgn7j', false);      }    })();      </script></div><p>Pitched against AMD's X3D chip, Intel's refreshed Arrow Lake CPU is notably slower in some games, but it's easily on par in others. And because the total number of threads supported by the 250KF Plus is 18, it's no slouch when it comes to multicore content creation workloads, such as offline rendering, code compiling, and file packaging.</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');    @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,900;1,900&display=swap');        /* Reset & Base */    #fv-chart-1778759778846-57r33xpxt *, #fv-chart-1778759778846-57r33xpxt *:before, #fv-chart-1778759778846-57r33xpxt *:after, #fv-chart-1778759778846-57r33xpxt-slideshow *, #fv-chart-1778759778846-57r33xpxt-slideshow *:before, #fv-chart-1778759778846-57r33xpxt-slideshow *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1778759778846-57r33xpxt, #fv-chart-1778759778846-57r33xpxt-slideshow { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1778759778846-57r33xpxt {        position: relative !important; overflow: visible !important;        --riv-primary: #E33235;    }    #fv-chart-1778759778846-57r33xpxt .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ededed !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-1778759778846-57r33xpxt .fv-inner-wrapper.fv-no-header.fv-is-image-compare {        padding-top: 0 !important;    }    #fv-chart-1778759778846-57r33xpxt.fv-full-bleed {                width: 100vw !important;        margin-left: calc(50% - 50vw) !important;            }        body {        overflow-x: clip !important;    }        #fv-chart-1778759778846-57r33xpxt.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-1778759778846-57r33xpxt .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;    }            /* Slideshow Styles */    #fv-chart-1778759778846-57r33xpxt-slideshow {        position: relative !important;        width: 100% !important;        margin: 1rem 0 !important;        --riv-primary: #E33235;    }    #fv-chart-1778759778846-57r33xpxt-slideshow .fv-slides-wrapper {        position: relative !important;        width: 100% !important;    }    #fv-chart-1778759778846-57r33xpxt-slideshow .fv-slide {        width: 100% !important;        animation: fv-fade-in 0.3s ease-in-out;    }      @keyframes fv-fade-in {        from { opacity: 0; }        to { opacity: 1; }    }        /* Top Navigation Row (Redesign) */    #fv-chart-1778759778846-57r33xpxt-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-1778759778846-57r33xpxt-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-1778759778846-57r33xpxt-slideshow .fv-nav-btn svg {        width: 18px !important;        height: 18px !important;        stroke-width: 3px !important;        filter: none !important;    }    #fv-chart-1778759778846-57r33xpxt-slideshow .fv-nav-btn:hover {        opacity: 0.9 !important;        transform: translateY(-1px) !important;    }        #fv-chart-1778759778846-57r33xpxt-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-1778759778846-57r33xpxt-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;    }        /* Slideshow Dropdown Navigation */    #fv-chart-1778759778846-57r33xpxt-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-1778759778846-57r33xpxt-slideshow .fv-slideshow-select:focus {        outline: 2px solid #E33235 !important;        border-color: #E33235 !important;    }        /* Typography */    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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; }    /* Versus Chart */    #fv-chart-1778759778846-57r33xpxt .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper { flex: 1; min-width: 0; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-inside-left { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1778759778846-57r33xpxt .fv-inside-right { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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; }    /* Image Comparison Styles */    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-container {        width: auto !important;        margin-left: -1.5rem !important;        margin-right: -1.5rem !important;        margin-bottom: 2rem !important;    }    #fv-chart-1778759778846-57r33xpxt.fv-full-bleed .fv-image-compare-container {        width: 100% !important;        max-width: none !important;        margin: 0 auto !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper {        position: relative !important;        width: 100% !important;        overflow: hidden !important;        border-radius: 0 !important;        background-color: #000 !important;        touch-action: pan-y !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-inner {        position: relative !important;        width: 100% !important;        height: 100% !important;        display: block !important;        transform-origin: center center !important;        transition: transform 0.1s ease-out !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-bg {        display: block !important;        width: 100% !important;        height: auto !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-fg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        width: 100% !important;        height: 100% !important;        object-fit: cover !important;        clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-slider {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 32px !important;        transform: translateX(-50%) !important;        cursor: ew-resize !important;        z-index: 10 !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-slider-line {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 4px !important;        background-color: white !important;        transform: translateX(-50%) !important;        box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;        pointer-events: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-handle {        position: absolute !important;        top: 50% !important;        left: 50% !important;        transform: translate(-50%, -50%) !important;        width: 32px !important;        height: 32px !important;        background-color: white !important;        border-radius: 50% !important;        box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        gap: 4px !important;        pointer-events: none !important;        z-index: 11 !important;        overflow: hidden !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-handle.fv-image-compare-handle-square {        border-radius: 6px !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-arrow-left {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-right: 4px solid #4b5563 !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-arrow-right {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-left: 4px solid #4b5563 !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-label {        position: absolute !important;        top: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        padding: 0.25rem 0.75rem !important;        border-radius: 0.25rem !important;        font-size: 0.875rem !important;        font-weight: 500 !important;        pointer-events: none !important;        backdrop-filter: blur(4px) !important;        z-index: 5 !important;        transition: right 0.3s ease, opacity 0.2s ease !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-label-left {        left: 1rem !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-label-right {        right: 1rem !important;    }        #fv-chart-1778759778846-57r33xpxt .fv-image-compare-expand-btn,    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-close-btn {        position: absolute !important;        bottom: 1rem !important;        right: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        border: none !important;        border-radius: 0.25rem !important;        padding: 0.5rem !important;        cursor: pointer !important;        z-index: 20 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        backdrop-filter: blur(4px) !important;        transition: background-color 0.2s !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-expand-btn:hover,    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-close-btn:hover {        background-color: rgba(0, 0, 0, 0.7) !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-close-btn {        display: none !important;        top: 1rem !important;        bottom: auto !important;    }    /* Fullscreen State */    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen {        position: fixed !important;        top: 0 !important;        left: 0 !important;        right: 0 !important;        bottom: 0 !important;        width: 100% !important;        height: 100% !important;        z-index: 999999 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        background-color: rgba(0, 0, 0, 0.9) !important;        margin: 0 !important;        touch-action: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner {        width: 100% !important;        height: 100% !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        cursor: grab !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active {        cursor: grabbing !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg {        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn {        display: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn {        display: flex !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right {        right: 4rem !important;    }    /* Footer */    #fv-chart-1778759778846-57r33xpxt .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1778759778846-57r33xpxt .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1778759778846-57r33xpxt .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;    }    /* Display Mode Controls */    #fv-chart-1778759778846-57r33xpxt .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-dropdown-title:focus { outline: none !important; }    #fv-chart-1778759778846-57r33xpxt .fv-dropdown-title::-ms-expand { display: none !important; }        #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1778759778846-57r33xpxt .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Multi-Value Legend */    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1778759778846-57r33xpxt .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar-row, #fv-chart-1778759778846-57r33xpxt .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1778759778846-57r33xpxt .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Multi-Value Bar Logic */    #fv-chart-1778759778846-57r33xpxt .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }    #fv-chart-1778759778846-57r33xpxt .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }        /* Stacked Bar */    #fv-chart-1778759778846-57r33xpxt .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1778759778846-57r33xpxt .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }    /* Grouped Bar */    #fv-chart-1778759778846-57r33xpxt .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1778759778846-57r33xpxt .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1778759778846-57r33xpxt .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1778759778846-57r33xpxt .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1778759778846-57r33xpxt .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1778759778846-57r33xpxt .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1778759778846-57r33xpxt .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1778759778846-57r33xpxt .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Shop The Look */    #fv-chart-1778759778846-57r33xpxt .fv-stl-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; transition: min-height 0.3s ease !important; overflow: hidden !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1778759778846-57r33xpxt.fv-full-bleed .fv-stl-container { width: 100% !important; }    #fv-chart-1778759778846-57r33xpxt.fv-full-bleed .fv-stl-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1778759778846-57r33xpxt .fv-stl-hotspot-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-hotspot-btn { 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), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 300ms !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-1778759778846-57r33xpxt .fv-stl-hotspot-btn:hover { transform: scale(1.1) !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-hotspot-btn:focus { outline: 2px solid transparent !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #000000 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-hotspot-btn[aria-expanded="true"] { background-color: #3b82f6 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1778759778846-57r33xpxt .fv-stl-hotspot-pulse { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-stl-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; }    @keyframes fv-stl-ping { 75%, 100% { transform: scale(2); opacity: 0; } }    @media (max-width: 640px) {        #fv-chart-1778759778846-57r33xpxt .fv-stl-hotspot-pulse { animation-fill-mode: none !important; }    }    /* Shop the look button */    #fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; height: 2.5rem !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; color: #111827 !important; padding: 0 1rem 0 3rem !important; border-radius: 0.25rem !important; font-weight: 700 !important; font-size: 0.875rem !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; z-index: 10 !important; display: flex !important; align-items: center !important; text-transform: uppercase !important; overflow: hidden !important; white-space: nowrap !important; max-width: calc(100% - 2rem) !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-btn span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-btn:hover { background-color: #ffffff !important; transform: scale(1.05) !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-logo { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; object-fit: cover !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; flex-shrink: 0 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-icon { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; color: #1f2937 !important; flex-shrink: 0 !important; }    /* All Products Modal */    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt { position: fixed !important; inset: 0 !important; background-color: rgba(0, 0, 0, 0) !important; backdrop-filter: blur(0px) !important; -webkit-backdrop-filter: blur(0px) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 99999 !important; pointer-events: none !important; transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease !important; padding: 1rem !important; overflow: hidden !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt { position: absolute !important; padding: 0 !important; align-items: flex-end !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.is-active { background-color: rgba(0, 0, 0, 0.2) !important; backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; pointer-events: auto !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-content { width: 100% !important; max-width: 42rem !important; max-height: 100% !important; display: flex !important; flex-direction: column !important; position: relative !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-radius: 1rem !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important; opacity: 0 !important; transform: scale(0.95) !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.is-active .fv-stl-all-products-content { opacity: 1 !important; transform: scale(1) !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.is-active .fv-stl-all-products-content { transform: translateY(0) !important; }        /* V2 Bottom Sheet Style */    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.v2 { align-items: flex-end !important; padding: 0 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.v2:not(.mobile-view *) { justify-content: flex-end !important; }    }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.v2 .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.v2:not(.mobile-view *) .fv-stl-all-products-content { max-width: 700px !important; border-radius: 1.5rem 0 0 0 !important; }    }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.v2.is-active .fv-stl-all-products-content { transform: translateY(0) !important; opacity: 1 !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1.5rem !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; position: sticky !important; top: 0 !important; background-color: rgba(255, 255, 255, 0.8) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; z-index: 10 !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-header { padding: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-logo { height: 1.5rem !important; width: auto !important; object-fit: contain !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-logo { height: 1.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-title { font-size: 1.125rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-close { width: 2rem !important; height: 2rem !important; border-radius: 9999px !important; background-color: rgba(0, 0, 0, 0.05) !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; cursor: pointer !important; z-index: 10 !important; color: #6b7280 !important; transition: all 0.2s !important; padding: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-close:hover { background-color: rgba(0, 0, 0, 0.1) !important; color: #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-list { list-style: none !important; padding: 1.5rem !important; margin: 0 !important; overflow-y: auto !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 0.75rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-list { padding: 0.75rem !important; gap: 0.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-item { margin: 0 !important; padding: 0.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-link { display: flex !important; align-items: flex-start !important; padding: 0.75rem !important; text-decoration: none !important; color: inherit !important; transition: all 0.2s !important; border-radius: 1rem !important; border: 1px solid transparent !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-link { padding: 0.5rem !important; border-radius: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-link:hover { background-color: #ffffff !important; border-color: #e5e7eb !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-item.is-highlighted .fv-stl-all-products-link { background-color: #ffffff !important; border-color: #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-image-container { position: relative !important; margin-right: 1.25rem !important; flex-shrink: 0 !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-image-container { margin-right: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-number { position: absolute !important; top: -0.5rem !important; left: -0.5rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; background-color: #0f172a !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.75rem !important; font-weight: 700 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #ffffff !important; z-index: 10 !important; font-family: sans-serif !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-number { top: -0.375rem !important; left: -0.375rem !important; width: 1.25rem !important; height: 1.25rem !important; font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-image-wrapper { width: 6rem !important; height: 6rem !important; border-radius: 0.75rem !important; overflow: hidden !important; background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.02) !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-image-wrapper { width: 4rem !important; height: 4rem !important; border-radius: 0.5rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-placeholder { width: 2rem !important; height: 2rem !important; color: #d1d5db !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-placeholder { width: 1.5rem !important; height: 1.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; margin-top: 0.25rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-info { margin-top: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-brand { font-size: 0.625rem !important; font-weight: 700 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin: 0 0 0.375rem 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-brand { font-size: 0.5625rem !important; margin: 0 0 0.25rem 0 !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-name { font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 0.375rem 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.25 !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-name { font-size: 0.875rem !important; margin: 0 0 0.25rem 0 !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-meta { display: flex !important; align-items: center !important; font-size: 0.875rem !important; margin-bottom: 0.375rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-meta { font-size: 0.75rem !important; margin-bottom: 0.25rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-price { font-weight: 700 !important; color: #111827 !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-sale-price { font-weight: 700 !important; color: #dc2626 !important; margin-right: 0.5rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-sale-price { margin-right: 0.375rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-original-price { color: #9ca3af !important; text-decoration: line-through !important; font-size: 0.75rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-original-price { font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-commentary { font-size: 0.875rem !important; color: #4b5563 !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.375 !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-commentary { font-size: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-action { width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important; background-color: #f9fafb !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; margin-left: 1rem !important; flex-shrink: 0 !important; border: 1px solid #f3f4f6 !important; transition: all 0.2s !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-action { width: 2rem !important; height: 2rem !important; margin-left: 0.75rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-action svg { width: 14px !important; height: 14px !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-link:hover .fv-stl-all-products-action { background-color: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }    /* Image Annotation Styles */    #fv-chart-1778759778846-57r33xpxt .fv-ia-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; overflow: hidden !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1778759778846-57r33xpxt.fv-full-bleed .fv-ia-container { width: 100% !important; }    #fv-chart-1778759778846-57r33xpxt.fv-full-bleed .fv-ia-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1778759778846-57r33xpxt .fv-ia-node-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-ia-node-button:hover { transform: scale(1.1) !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-node-button.is-active { background-color: #E33235 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1778759778846-57r33xpxt .fv-ia-pulse-ring { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-ia-node-button:hover + .fv-ia-static-tooltip { display: block !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-logo-explore-bar .fv-logo { margin: 0 auto !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-explore-wrapper { position: absolute !important; right: 0 !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-logo-explore-bar { flex-direction: column !important; min-height: auto !important; gap: 0.75rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-ia-explore-wrapper { position: static !important; align-self: flex-end !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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: #E33235 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-explore-btn svg { transition: transform 0.2s !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-explore-btn:hover svg { transform: translateX(2px) !important; }    /* IA Modal Styles */    #fv-chart-1778759778846-57r33xpxt .fv-ia-active-modal-container { display: none !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-modals { display: block !important; position: static !important; }        #fv-chart-1778759778846-57r33xpxt .fv-ia-modal-item { display: none !important; }    #fv-chart-1778759778846-57r33xpxt .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 #E33235 !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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-ia-close-button:hover { background: #e5e7eb !important; color: #111827 !important; }        #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt.mobile-view .fv-ia-node-description { font-size: 0.875rem !important; }    /* Error Handling */    #fv-chart-1778759778846-57r33xpxt .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; }    /* Countdown Styles */    #fv-chart-1778759778846-57r33xpxt .fv-countdown-container {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        justify-content: center !important;        padding: 1rem !important;        position: relative !important;        width: 100% !important;        box-sizing: border-box !important;        font-family: Montserrat, sans-serif !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-header {        text-align: center !important;        margin-bottom: 2rem !important;        z-index: 10 !important;        width: 100% !important;        display: flex !important;        flex-direction: column !important;        align-items: center !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-title {        font-size: 1.25rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0 !important;        font-style: italic !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-subhead {        font-size: 1.125rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0.25rem 0 0 0 !important;        font-style: italic !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-timer-wrap {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        width: 100% !important;        max-width: 64rem !important;        z-index: 10 !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-labels {        display: flex !important;        justify-content: center !important;        width: 100% !important;        margin-bottom: 0.5rem !important;        padding: 0 0.5rem !important;        font-size: 0.75rem !important;        font-weight: bold !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-labels > div {        flex: 1 !important;        text-align: center !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-box {        position: relative !important;        width: 100% !important;        border-top: 6px solid #333 !important;        border-bottom: 8px solid #333 !important;        padding: 1rem 0 !important;        background: linear-gradient(to bottom, #1f2937, #000000) !important;        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits {        display: flex !important;        justify-content: center !important;        font-size: 1.75rem !important;        font-weight: 900 !important;        letter-spacing: 0em !important;        font-family: monospace !important;        color: #fff !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits > div.digit-box {        flex: 1 !important;        text-align: center !important;        white-space: nowrap !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits > div.colon {        flex: 0 0 auto !important;        opacity: 0.5 !important;        position: relative !important;        top: -2px !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-spike-l {        position: absolute !important;        left: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-right: 15px solid #374151 !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-spike-r {        position: absolute !important;        right: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-left: 15px solid #374151 !important;    }    @media (min-width: 600px) {        #fv-chart-1778759778846-57r33xpxt .fv-countdown-container {            padding: 2rem !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-title {            font-size: 1.75rem !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-subhead {            font-size: 1.25rem !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits {            font-size: 2.25rem !important;            letter-spacing: 0 !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-labels {            font-size: 0.875rem !important;            padding: 0 1rem !important;            margin-bottom: 1rem !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-box {            padding: 1.5rem 0 !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits > div.colon {            top: -4px !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-spike-l {            left: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-right-width: 20px !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-spike-r {            right: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-left-width: 20px !important;        }    }        @media (min-width: 768px) {        #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits {            font-size: 3.5rem !important;            letter-spacing: 0.05em !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits > div.colon {            top: -5px !important;        }    }    /* Mobile / Forced Mobile View / Labels on Top */    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-pie-container,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-pie-container {        flex-direction: column !important; gap: 1rem !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-grouped-product-title-wrapper,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-bar-row,    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-stacked-product,    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-grouped-bar-product,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-bar-row,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-stacked-product,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-grouped-bar-product {        flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-bar-label:not(.fv-grouped-product-title),    #fv-chart-1778759778846-57r33xpxt.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-1778759778846-57r33xpxt.mobile-view .fv-bar-label,    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-grouped-product-title,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-bar-label,    #fv-chart-1778759778846-57r33xpxt.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-1778759778846-57r33xpxt.mobile-view .fv-bar-container,    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-bar-cluster,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-bar-container,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-bar-cluster {        width: 100% !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-x-axis-wrapper,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-x-axis-wrapper {        margin-left: 0 !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-x-axis-label-space,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-x-axis-label-space {        display: none !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-x-axis-chart-space,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-x-axis-chart-space {        padding-right: 0 !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-benchmark-title,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-benchmark-title {        font-size: 16px !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-dropdown-title,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-dropdown-title {        font-size: 16px !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-carousel-nav-btn,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-carousel-nav-btn {        padding: 8px 12px !important; font-size: 14px !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-chart-title,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-chart-title {        padding: 0 8px !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-chart-subhead,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-chart-subhead {        padding: 0 8px !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-header,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-header {        flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select-wrapper,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select-wrapper {        flex: 1 !important; min-width: 0 !important; width: 100% !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select-wrapper.fv-left,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select-wrapper.fv-left {        text-align: center !important; padding-right: 0 !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select-wrapper.fv-right,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select-wrapper.fv-right {        text-align: center !important; padding-left: 0 !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select.fv-select-left,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select.fv-select-left {        text-align: center !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select.fv-select-right,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select.fv-select-right {        text-align: center !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-vs,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-vs {        text-align: center !important; padding: 0.25rem 0 !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select-container,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select-container {        max-width: 100% !important; width: 100% !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select {        font-size: 14px !important; width: 100% !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-stl-shop-all-btn,    #fv-chart-1778759778846-57r33xpxt.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-1778759778846-57r33xpxt.mobile-view .fv-stl-shop-all-logo,    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-stl-shop-all-icon,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-stl-shop-all-logo,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-stl-shop-all-icon {        width: 2rem !important; height: 2rem !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-stl-shop-all-icon svg,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-stl-shop-all-icon svg {        width: 14px !important; height: 14px !important;    }        #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }    #fv-chart-1778759778846-57r33xpxt.mobile-view.fv-contains-line-chart .fv-footer-content {        margin-left: -1rem !important;        margin-right: -1rem !important;    }    @media (max-width: 599px) {         #fv-chart-1778759778846-57r33xpxt .fv-pie-container {            flex-direction: column !important; gap: 1rem !important;        }#fv-chart-1778759778846-57r33xpxt .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }#fv-chart-1778759778846-57r33xpxt .fv-bar-row,        #fv-chart-1778759778846-57r33xpxt .fv-stacked-product,        #fv-chart-1778759778846-57r33xpxt .fv-grouped-bar-product {            flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;        }#fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar-label,        #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar-container,        #fv-chart-1778759778846-57r33xpxt .fv-bar-cluster {            width: 100% !important;        }#fv-chart-1778759778846-57r33xpxt .fv-x-axis-wrapper {            margin-left: 0 !important;        }#fv-chart-1778759778846-57r33xpxt .fv-x-axis-label-space {            display: none !important;        }#fv-chart-1778759778846-57r33xpxt .fv-x-axis-chart-space {            padding-right: 0 !important;        }#fv-chart-1778759778846-57r33xpxt .fv-benchmark-title {            font-size: 16px !important;        }#fv-chart-1778759778846-57r33xpxt .fv-dropdown-title {            font-size: 16px !important;        }#fv-chart-1778759778846-57r33xpxt .fv-carousel-nav-btn {            padding: 8px 12px !important; font-size: 14px !important;        }#fv-chart-1778759778846-57r33xpxt .fv-chart-title {            padding: 0 8px !important;        }#fv-chart-1778759778846-57r33xpxt .fv-chart-subhead {            padding: 0 8px !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-header {            flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper {            flex: 1 !important; min-width: 0 !important; width: 100% !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper.fv-left {            text-align: center !important; padding-right: 0 !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper.fv-right {            text-align: center !important; padding-left: 0 !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select.fv-select-left {            text-align: center !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select.fv-select-right {            text-align: center !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-vs {            text-align: center !important; padding: 0.25rem 0 !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select-container {            max-width: 100% !important; width: 100% !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select {            font-size: 14px !important; width: 100% !important;        }#fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-stl-shop-all-logo,        #fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-icon {            width: 2rem !important; height: 2rem !important;        }#fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-icon svg {            width: 14px !important; height: 14px !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1778759778846-57r33xpxt.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": "Content creation performance",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-05-14T11:56:18.847Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Intel Core Ultra 5 250K Plus",    "Intel Core Ultra 5 245K",    "AMD Ryzen 7 9800X3D (v2 2026 retest)",    "AMD Ryzen 7 9700X (v2 2026 retest)",    "Cinebench 2024",    "Blender 4.2.0",    "7zip",    "Handbrake 1.8.1",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Cinebench 2024",      "value": 131,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Cinebench 2024",      "value": 133,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Cinebench 2024",      "value": 131,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Cinebench 2024",      "value": 138,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Blender 4.2.0",      "value": 93,      "unitText": "Samples per minute"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Blender 4.2.0",      "value": 101,      "unitText": "Samples per minute"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Blender 4.2.0",      "value": 97,      "unitText": "Samples per minute"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Blender 4.2.0",      "value": 132,      "unitText": "Samples per minute"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – 7zip",      "value": 112,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – 7zip",      "value": 132,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – 7zip",      "value": 121,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – 7zip",      "value": 147,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Handbrake 1.8.1",      "value": 83,      "unitText": "UHD > 1080p60 (fps)"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Handbrake 1.8.1",      "value": 92,      "unitText": "UHD > 1080p60 (fps)"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Handbrake 1.8.1",      "value": 85,      "unitText": "UHD > 1080p60 (fps)"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Handbrake 1.8.1",      "value": 101,      "unitText": "UHD > 1080p60 (fps)"    }  ]}</script>    <div id="fv-chart-1778759778846-57r33xpxt" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true">        <div class="fv-inner-wrapper    ">            <h3 class="fv-chart-title">Content creation performance</h3>                        <div class="fv-dropdown-wrapper">                <div class="fv-dropdown-title-container">                    <select class="fv-dropdown-title">                        <option value="0">Cinebench 2024</option><option value="1">Blender 4.2.0</option><option value="2">7zip</option><option value="3">Handbrake 1.8.1</option>                    </select>                    <div class="fv-dropdown-chevron">                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>                    </div>                </div>            </div>            <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1778759778846-57r33xpxt-bar-Cinebench 2024" data-chart-type="Bar" data-title="Cinebench 2024" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Single-core index score</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>Multi-core index score</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.9%; background-color: #E33235;" data-target-width="6.9" data-target-margin="0">            </div><span class="fv-bar-value-outside">138</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90.85%; background-color: #FE9F58;" data-target-width="90.85" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1817</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.550000000000001%; background-color: #E33235;" data-target-width="6.550000000000001" data-target-margin="0">            </div><span class="fv-bar-value-outside">131</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72.75%; background-color: #FE9F58;" data-target-width="72.75" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1455</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.65%; background-color: #E33235;" data-target-width="6.65" data-target-margin="0">            </div><span class="fv-bar-value-outside">133</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65.35%; background-color: #FE9F58;" data-target-width="65.35" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1307</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.550000000000001%; background-color: #E33235;" data-target-width="6.550000000000001" data-target-margin="0">            </div><span class="fv-bar-value-outside">131</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.4%; background-color: #FE9F58;" data-target-width="57.4" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1148</span></div>    </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>500</span><span>1,000</span><span>1,500</span><span>2,000</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Cinebench 2024 Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>138 Single-core index score, 1817 Multi-core index score</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>131 Single-core index score, 1455 Multi-core index score</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>133 Single-core index score, 1307 Multi-core index score</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>131 Single-core index score, 1148 Multi-core index score</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759778846-57r33xpxt-bar-Blender 4.2.0" data-chart-type="Bar" data-title="Blender 4.2.0" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus - Blender 4.2.0: 132 Samples per minute">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 88%; background-color: #e97a7b;" data-target-width="88" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">132</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K - Blender 4.2.0: 97 Samples per minute">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 64.66666666666666%; background-color: #D07F46;" data-target-width="64.66666666666666" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">97</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D - Blender 4.2.0: 101 Samples per minute">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 67.33333333333333%; background-color: #66C5D7;" data-target-width="67.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">101</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X - Blender 4.2.0: 93 Samples per minute">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 62%; background-color: #1CA9C4;" data-target-width="62" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">93</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">Samples per minute</div>        </div>    </div>        <table class="sr-only">            <caption>Blender 4.2.0 Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>132</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>97</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>101</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>93</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759778846-57r33xpxt-bar-7zip" data-chart-type="Bar" data-title="7zip" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Compressing (GIPS)</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>Decompressing (GIPS)</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 98%; background-color: #E33235;" data-target-width="98" 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">147</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97.33333333333334%; background-color: #FE9F58;" data-target-width="97.33333333333334" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">146</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80.66666666666666%; background-color: #E33235;" data-target-width="80.66666666666666" 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">121</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.33333333333333%; background-color: #FE9F58;" data-target-width="75.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">113</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88%; background-color: #E33235;" data-target-width="88" 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">132</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 94%; background-color: #FE9F58;" data-target-width="94" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">141</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74.66666666666667%; background-color: #E33235;" data-target-width="74.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">112</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 87.33333333333333%; background-color: #FE9F58;" data-target-width="87.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">131</span></div>    </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>    </div>        <table class="sr-only">            <caption>7zip Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>147 Compressing (GIPS), 146 Decompressing (GIPS)</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>121 Compressing (GIPS), 113 Decompressing (GIPS)</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>132 Compressing (GIPS), 141 Decompressing (GIPS)</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>112 Compressing (GIPS), 131 Decompressing (GIPS)</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759778846-57r33xpxt-bar-Handbrake 1.8.1" data-chart-type="Bar" data-title="Handbrake 1.8.1" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus - Handbrake 1.8.1: 101 UHD > 1080p60 (fps)">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 67.33333333333333%; background-color: #e97a7b;" data-target-width="67.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">101</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K - Handbrake 1.8.1: 85 UHD > 1080p60 (fps)">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 56.666666666666664%; background-color: #D07F46;" data-target-width="56.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D - Handbrake 1.8.1: 92 UHD > 1080p60 (fps)">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 61.33333333333333%; background-color: #66C5D7;" data-target-width="61.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">92</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X - Handbrake 1.8.1: 83 UHD > 1080p60 (fps)">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 55.333333333333336%; background-color: #1CA9C4;" data-target-width="55.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">83</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">UHD > 1080p60 (fps)</div>        </div>    </div>        <table class="sr-only">            <caption>Handbrake 1.8.1 Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>101</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>85</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>92</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>83</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer 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() {      /*  Global animation function for slideshow re-use */      window.fvAnimateCharts = function(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                /*  Reset to 0 first to ensure animation triggers */                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                /*  Force reflow */                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); /*  Reduced initial delay */            });          }          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);              });            }            /*  Execute */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');                        charts.forEach(function(chart) {                /*  If in carousel/dropdown mode, hidden charts are display:none. */                /*  We only animate what is visible. */                if (window.getComputedStyle(chart).display === 'none') return;                                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });      };            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);                /*  In slideshow mode, 'root' will be null because the container has '-slideshow' suffix. */        /*  We handle that logic below. */        if (!root && !isSlideshow) return;                /*  Setup internal interactions (Carousel/Dropdown/LineChart) for a specific chart wrapper */        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) {                    /*  Fallback for when width isn't available yet (e.g., hidden tab) */                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    /*  Mobile if container is small OR if it's a physical mobile device (overriding fixed-width iframes) */                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        /*  Initial check */            checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        /*  Always add window resize listener as a reliable fallback for DevTools and edge cases */            window.addEventListener('resize', checkMobileView);                        /*  Labels on top handler */            var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                /*  If there are multiple charts and we're not in a carousel/dropdown, we might have mixed types. */                /*  But typically, labels-on-top is a global setting. We'll apply it initially,  */                /*  and showInternalChart will toggle it if needed. */                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 === '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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');                        var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');                                                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);            });            /*  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');                        /*  Text Elements */            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 === 'Line') {                                 /*  Line chart animations if needed */                             } else if (cType !== 'Pie') {                                 window.fvAnimateCharts(chartWrapper);                             }                                                          /*  Update labels-on-top based on current chart type */                             var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === '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;                                        /*  Update Subhead and Caption */                    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 || '';                                                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;                /*  Zoom state */                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();                    /*  Max pan depends on how much the image is scaled beyond the wrapper */                    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; /*  Prevent click after pinch */                    } 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 });                }                /*  Expand/Close Logic */                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.preventDefault(); // Removed to allow text selection */                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        /*  Load high-res images if available */                            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.preventDefault(); // Removed to allow text selection */                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                /*  Close on Escape */                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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        /*  Remove highlights */                    var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    /*  Remove min-height after transition */                    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');                        /*  Ensure container is tall enough */                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                /*  Highlight and scroll to item */                        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();                        }                    }                });            });            /*  Shop All button */            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    /*  Ensure container is tall enough */                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            /*  Close button in all products modal */            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            /*  Close modals when clicking outside */            chartWrapper.addEventListener('click', function(e) {                /*  Only close if clicking on the wrapper or container, not inside a modal content */                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 */            window.fvAnimateCharts(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 primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';                    var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';                                        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-1778759778846-57r33xpxt', false); });      } else {        initialize('fv-chart-1778759778846-57r33xpxt', false);      }    })();      </script></div><p>That makes this desktop PC a near-perfect all-rounder. You've got the might of a GeForce RTX 5080 for gaming and productivity, the punch of the 250KF Plus for all tasks, plus 32 GB of fast DDR5 to avoid memory worries.</p><p>The only thing that's genuinely disappointing here is the fact that you just get 1 TB of NVMe storage. In a $2,300 system. Yeah, the RAMpocalypse really does suck. Anyway, it's not clear what the exact make and model of motherboard is inside this system, but I'd be extremely surprised if it didn't have at least one more M.2 slot to throw in another SSD, when funds permit such an upgrade.</p><p>Now, if you <em>do</em> want this gaming PC with the same GPU, but a bigger SSD and a 9800X3D processor, then you're in luck, because Andromedia Insights has such a configuration for <a href="https://www.newegg.com/andromeda-insights-ultra-gaming-desktop-pcs-geforce-rtx-5080-amd-ryzen-7-9800x3d-32gb-ddr5-2tb-nvme-ssd-50-vector-black/p/3D5-006J-00058" target="_blank">$2,800 at Newegg</a>.</p><p>Is it worth $500 more than the one I've found? For some PC gamers, sure, but I'd prefer to keep the money and just enjoy this very neat-looking 250KF+5080 combo.</p><h2 id="check-out-all-of-newegg-s-gaming-pc-deals-here">👉<a href="https://www.newegg.com/Gaming-Desktop-PC/SubCategory/ID-3742" target="_blank">Check out all of Newegg's gaming PC deals here</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-pcs/this-gaming-pc-isnt-just-the-cheapest-rtx-5080-rig-ive-seen-in-ages-its-also-packing-the-best-midrange-processor-around/</link>
                                                                            <description>
                            <![CDATA[ $2,300 is a lot of money, of course, but you're getting a lot of PC here. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">qHGS7ZVM2pRaqwAPonKhrC</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/RsnNms3YML3hdoQZEuqMQK-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 14 May 2026 12:49:03 +0000</pubDate>                                                                                                                                <updated>Thu, 14 May 2026 12:49:07 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming PCs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nick Evanson ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HH5qHxdCSKxFpY2HXp2Q5K-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick, gaming, and computers all first met in the early 1980s. After leaving university, he became a physics and IT teacher and started writing about tech in the late 1990s. That resulted in him working with MadOnion to write the help files for 3DMark and PCMark. After a short stint working at Beyond3D.com, Nick joined Futuremark (MadOnion rebranded) full-time, as editor-in-chief for its PC gaming section, YouGamers. After the site shutdown, he became an engineering and computing lecturer for many years, but missed the writing bug. Cue four years at TechSpot.com covering everything and anything to do with tech and PCs. He freely admits to being far too obsessed with GPUs and open-world grindy RPGs, but who isn&#039;t these days?&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/RsnNms3YML3hdoQZEuqMQK-1920-80.jpg">
                                                            <media:credit><![CDATA[Andromeda Insights]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An image of an Andromeda Insights desktop gaming PC against a colorful background, with the phrase &#039;Deals&#039; on right, above a PC Gamer logo]]></media:description>                                                            <media:text><![CDATA[An image of an Andromeda Insights desktop gaming PC against a colorful background, with the phrase &#039;Deals&#039; on right, above a PC Gamer logo]]></media:text>
                                <media:title type="plain"><![CDATA[An image of an Andromeda Insights desktop gaming PC against a colorful background, with the phrase &#039;Deals&#039; on right, above a PC Gamer logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/RsnNms3YML3hdoQZEuqMQK-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="AI 50 Ultra Plus V3" data-dimension48="AI 50 Ultra Plus V3" data-dimension25="$2299.99" href="https://www.newegg.com/andromeda-insights-ultra-pro-gaming-desktop-pcs-geforce-rtx-5080-intel-core-ultra-5-250kf-plus-32gb-ddr5-1tb-nvme-ssd-v3-black/p/3D5-006J-000D5" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1300px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="FzHDZsWhXqy9Fuj6gmrrHB" name="andromeda_insights_ai_50_ultra_plus_v3_gaming_pc" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/FzHDZsWhXqy9Fuj6gmrrHB-1920-80.jpg" mos="" align="middle" fullscreen="" width="1300" height="1300" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/andromeda-insights-ultra-pro-gaming-desktop-pcs-geforce-rtx-5080-intel-core-ultra-5-250kf-plus-32gb-ddr5-1tb-nvme-ssd-v3-black/p/3D5-006J-000D5" target="_blank" rel="nofollow" data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="AI 50 Ultra Plus V3" data-dimension48="AI 50 Ultra Plus V3" data-dimension25="$2299.99">AI 50 Ultra Plus V3: was $2799.99 now $2299.99</a></strong><br>With Nvidia's second most powerful RTX 50-series graphics card and one of Intel's best processors in years, plus a nice pile of speedy DRAM, this gaming PC is a great all-rounder for gaming and content creation. Only the measly 1 TB storage spoils the fun.</p><p><strong>Key specs: Core Ultra 5 250KF Plus | RTX 5080 | 32 GB DDR5-6000 | 1 TB SSD</strong><a class="view-deal button" href="https://www.newegg.com/andromeda-insights-ultra-pro-gaming-desktop-pcs-geforce-rtx-5080-intel-core-ultra-5-250kf-plus-32gb-ddr5-1tb-nvme-ssd-v3-black/p/3D5-006J-000D5" target="_blank" rel="nofollow" data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="AI 50 Ultra Plus V3" data-dimension48="AI 50 Ultra Plus V3" data-dimension25="$2299.99">View Deal</a></p></div><p>Look, we all know that the RAMpocalypse has ruined things for PC gamers, forcing the prices of DDR5 memory kits, SSDs, and graphics cards into the realm of ridiculousness. There's nothing you or I can do about this, other than either riding out the storm and hoping things get better, or biting the bullet and handing over a lot more cash for a new gaming PC than you would have done 12 months ago.</p><p>If you're in the latter camp, you'll want to ensure you're not overspending, of course, and the best way to do that is to build a new rig from scratch yourself. That way, you can shop around and get the best prices on components. However, if you don't want to go through that process and want a shiny new gaming PC <em>right now</em>, then how about this RTX 5080 gaming for <a href="https://www.newegg.com/andromeda-insights-ultra-pro-gaming-desktop-pcs-geforce-rtx-5080-intel-core-ultra-5-250kf-plus-32gb-ddr5-1tb-nvme-ssd-v3-black/p/3D5-006J-000D5" target="_blank">$2,300 at Newegg</a>?</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Yes, that's a fierce amount of money, but believe it or not, that's actually the cheapest RTX 5080 prebuild I've seen for quite a while. How has this been made possible? In two specific areas: the central processor and the amount of storage it has.</p><p>The good news is that while the CPU isn't a Ryzen 7 9800X3D, the best gaming chip around, what you are getting is the best mid-range processor at the moment: the iGPU-less version of Intel's brilliant <a href="https://www.pcgamer.com/hardware/processors/intel-core-ultra-5-250k-plus-review/" target="_blank">Core Ultra 5 250K Plus</a>. For something that 'only' has six P-cores and 12 E-cores, it packs a serious punch, and not 'just for the money' either.</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');    @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,900;1,900&display=swap');        /* Reset & Base */    #fv-chart-1778759592378-f8nbfgn7j *, #fv-chart-1778759592378-f8nbfgn7j *:before, #fv-chart-1778759592378-f8nbfgn7j *:after, #fv-chart-1778759592378-f8nbfgn7j-slideshow *, #fv-chart-1778759592378-f8nbfgn7j-slideshow *:before, #fv-chart-1778759592378-f8nbfgn7j-slideshow *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1778759592378-f8nbfgn7j, #fv-chart-1778759592378-f8nbfgn7j-slideshow { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1778759592378-f8nbfgn7j {        position: relative !important; overflow: visible !important;        --riv-primary: #E33235;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ededed !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-1778759592378-f8nbfgn7j .fv-inner-wrapper.fv-no-header.fv-is-image-compare {        padding-top: 0 !important;    }    #fv-chart-1778759592378-f8nbfgn7j.fv-full-bleed {                width: 100vw !important;        margin-left: calc(50% - 50vw) !important;            }        body {        overflow-x: clip !important;    }        #fv-chart-1778759592378-f8nbfgn7j.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-1778759592378-f8nbfgn7j .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;    }            /* Slideshow Styles */    #fv-chart-1778759592378-f8nbfgn7j-slideshow {        position: relative !important;        width: 100% !important;        margin: 1rem 0 !important;        --riv-primary: #E33235;    }    #fv-chart-1778759592378-f8nbfgn7j-slideshow .fv-slides-wrapper {        position: relative !important;        width: 100% !important;    }    #fv-chart-1778759592378-f8nbfgn7j-slideshow .fv-slide {        width: 100% !important;        animation: fv-fade-in 0.3s ease-in-out;    }      @keyframes fv-fade-in {        from { opacity: 0; }        to { opacity: 1; }    }        /* Top Navigation Row (Redesign) */    #fv-chart-1778759592378-f8nbfgn7j-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-1778759592378-f8nbfgn7j-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-1778759592378-f8nbfgn7j-slideshow .fv-nav-btn svg {        width: 18px !important;        height: 18px !important;        stroke-width: 3px !important;        filter: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j-slideshow .fv-nav-btn:hover {        opacity: 0.9 !important;        transform: translateY(-1px) !important;    }        #fv-chart-1778759592378-f8nbfgn7j-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-1778759592378-f8nbfgn7j-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;    }        /* Slideshow Dropdown Navigation */    #fv-chart-1778759592378-f8nbfgn7j-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-1778759592378-f8nbfgn7j-slideshow .fv-slideshow-select:focus {        outline: 2px solid #E33235 !important;        border-color: #E33235 !important;    }        /* Typography */    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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; }    /* Versus Chart */    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper { flex: 1; min-width: 0; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-inside-left { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1778759592378-f8nbfgn7j .fv-inside-right { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }    #fv-chart-1778759592378-f8nbfgn7j .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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; }    /* Image Comparison Styles */    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-container {        width: auto !important;        margin-left: -1.5rem !important;        margin-right: -1.5rem !important;        margin-bottom: 2rem !important;    }    #fv-chart-1778759592378-f8nbfgn7j.fv-full-bleed .fv-image-compare-container {        width: 100% !important;        max-width: none !important;        margin: 0 auto !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper {        position: relative !important;        width: 100% !important;        overflow: hidden !important;        border-radius: 0 !important;        background-color: #000 !important;        touch-action: pan-y !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-inner {        position: relative !important;        width: 100% !important;        height: 100% !important;        display: block !important;        transform-origin: center center !important;        transition: transform 0.1s ease-out !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-bg {        display: block !important;        width: 100% !important;        height: auto !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-fg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        width: 100% !important;        height: 100% !important;        object-fit: cover !important;        clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-slider {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 32px !important;        transform: translateX(-50%) !important;        cursor: ew-resize !important;        z-index: 10 !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-slider-line {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 4px !important;        background-color: white !important;        transform: translateX(-50%) !important;        box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;        pointer-events: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-handle {        position: absolute !important;        top: 50% !important;        left: 50% !important;        transform: translate(-50%, -50%) !important;        width: 32px !important;        height: 32px !important;        background-color: white !important;        border-radius: 50% !important;        box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        gap: 4px !important;        pointer-events: none !important;        z-index: 11 !important;        overflow: hidden !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-handle.fv-image-compare-handle-square {        border-radius: 6px !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-arrow-left {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-right: 4px solid #4b5563 !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-arrow-right {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-left: 4px solid #4b5563 !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-label {        position: absolute !important;        top: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        padding: 0.25rem 0.75rem !important;        border-radius: 0.25rem !important;        font-size: 0.875rem !important;        font-weight: 500 !important;        pointer-events: none !important;        backdrop-filter: blur(4px) !important;        z-index: 5 !important;        transition: right 0.3s ease, opacity 0.2s ease !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-label-left {        left: 1rem !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-label-right {        right: 1rem !important;    }        #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-expand-btn,    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-close-btn {        position: absolute !important;        bottom: 1rem !important;        right: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        border: none !important;        border-radius: 0.25rem !important;        padding: 0.5rem !important;        cursor: pointer !important;        z-index: 20 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        backdrop-filter: blur(4px) !important;        transition: background-color 0.2s !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-expand-btn:hover,    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-close-btn:hover {        background-color: rgba(0, 0, 0, 0.7) !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-close-btn {        display: none !important;        top: 1rem !important;        bottom: auto !important;    }    /* Fullscreen State */    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen {        position: fixed !important;        top: 0 !important;        left: 0 !important;        right: 0 !important;        bottom: 0 !important;        width: 100% !important;        height: 100% !important;        z-index: 999999 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        background-color: rgba(0, 0, 0, 0.9) !important;        margin: 0 !important;        touch-action: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner {        width: 100% !important;        height: 100% !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        cursor: grab !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active {        cursor: grabbing !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg {        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn {        display: none !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn {        display: flex !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right {        right: 4rem !important;    }    /* Footer */    #fv-chart-1778759592378-f8nbfgn7j .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1778759592378-f8nbfgn7j .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;    }    /* Display Mode Controls */    #fv-chart-1778759592378-f8nbfgn7j .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-dropdown-title:focus { outline: none !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-dropdown-title::-ms-expand { display: none !important; }        #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Multi-Value Legend */    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1778759592378-f8nbfgn7j .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar-row, #fv-chart-1778759592378-f8nbfgn7j .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Multi-Value Bar Logic */    #fv-chart-1778759592378-f8nbfgn7j .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }        /* Stacked Bar */    #fv-chart-1778759592378-f8nbfgn7j .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }    /* Grouped Bar */    #fv-chart-1778759592378-f8nbfgn7j .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1778759592378-f8nbfgn7j .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Shop The Look */    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; transition: min-height 0.3s ease !important; overflow: hidden !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1778759592378-f8nbfgn7j.fv-full-bleed .fv-stl-container { width: 100% !important; }    #fv-chart-1778759592378-f8nbfgn7j.fv-full-bleed .fv-stl-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1778759592378-f8nbfgn7j .fv-stl-hotspot-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-hotspot-btn { 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), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 300ms !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-1778759592378-f8nbfgn7j .fv-stl-hotspot-btn:hover { transform: scale(1.1) !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-hotspot-btn:focus { outline: 2px solid transparent !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #000000 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-hotspot-btn[aria-expanded="true"] { background-color: #3b82f6 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1778759592378-f8nbfgn7j .fv-stl-hotspot-pulse { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-stl-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; }    @keyframes fv-stl-ping { 75%, 100% { transform: scale(2); opacity: 0; } }    @media (max-width: 640px) {        #fv-chart-1778759592378-f8nbfgn7j .fv-stl-hotspot-pulse { animation-fill-mode: none !important; }    }    /* Shop the look button */    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; height: 2.5rem !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; color: #111827 !important; padding: 0 1rem 0 3rem !important; border-radius: 0.25rem !important; font-weight: 700 !important; font-size: 0.875rem !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; z-index: 10 !important; display: flex !important; align-items: center !important; text-transform: uppercase !important; overflow: hidden !important; white-space: nowrap !important; max-width: calc(100% - 2rem) !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-btn span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-btn:hover { background-color: #ffffff !important; transform: scale(1.05) !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-logo { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; object-fit: cover !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; flex-shrink: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-icon { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; color: #1f2937 !important; flex-shrink: 0 !important; }    /* All Products Modal */    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j { position: fixed !important; inset: 0 !important; background-color: rgba(0, 0, 0, 0) !important; backdrop-filter: blur(0px) !important; -webkit-backdrop-filter: blur(0px) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 99999 !important; pointer-events: none !important; transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease !important; padding: 1rem !important; overflow: hidden !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j { position: absolute !important; padding: 0 !important; align-items: flex-end !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.is-active { background-color: rgba(0, 0, 0, 0.2) !important; backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; pointer-events: auto !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-content { width: 100% !important; max-width: 42rem !important; max-height: 100% !important; display: flex !important; flex-direction: column !important; position: relative !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-radius: 1rem !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important; opacity: 0 !important; transform: scale(0.95) !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.is-active .fv-stl-all-products-content { opacity: 1 !important; transform: scale(1) !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.is-active .fv-stl-all-products-content { transform: translateY(0) !important; }        /* V2 Bottom Sheet Style */    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.v2 { align-items: flex-end !important; padding: 0 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.v2:not(.mobile-view *) { justify-content: flex-end !important; }    }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.v2 .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.v2:not(.mobile-view *) .fv-stl-all-products-content { max-width: 700px !important; border-radius: 1.5rem 0 0 0 !important; }    }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j.v2.is-active .fv-stl-all-products-content { transform: translateY(0) !important; opacity: 1 !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1.5rem !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; position: sticky !important; top: 0 !important; background-color: rgba(255, 255, 255, 0.8) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; z-index: 10 !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-header { padding: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-logo { height: 1.5rem !important; width: auto !important; object-fit: contain !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-logo { height: 1.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-title { font-size: 1.125rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-close { width: 2rem !important; height: 2rem !important; border-radius: 9999px !important; background-color: rgba(0, 0, 0, 0.05) !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; cursor: pointer !important; z-index: 10 !important; color: #6b7280 !important; transition: all 0.2s !important; padding: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-close:hover { background-color: rgba(0, 0, 0, 0.1) !important; color: #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-list { list-style: none !important; padding: 1.5rem !important; margin: 0 !important; overflow-y: auto !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 0.75rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-list { padding: 0.75rem !important; gap: 0.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-item { margin: 0 !important; padding: 0.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-link { display: flex !important; align-items: flex-start !important; padding: 0.75rem !important; text-decoration: none !important; color: inherit !important; transition: all 0.2s !important; border-radius: 1rem !important; border: 1px solid transparent !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-link { padding: 0.5rem !important; border-radius: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-link:hover { background-color: #ffffff !important; border-color: #e5e7eb !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-item.is-highlighted .fv-stl-all-products-link { background-color: #ffffff !important; border-color: #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-image-container { position: relative !important; margin-right: 1.25rem !important; flex-shrink: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-image-container { margin-right: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-number { position: absolute !important; top: -0.5rem !important; left: -0.5rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; background-color: #0f172a !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.75rem !important; font-weight: 700 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #ffffff !important; z-index: 10 !important; font-family: sans-serif !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-number { top: -0.375rem !important; left: -0.375rem !important; width: 1.25rem !important; height: 1.25rem !important; font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-image-wrapper { width: 6rem !important; height: 6rem !important; border-radius: 0.75rem !important; overflow: hidden !important; background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.02) !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-image-wrapper { width: 4rem !important; height: 4rem !important; border-radius: 0.5rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-placeholder { width: 2rem !important; height: 2rem !important; color: #d1d5db !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-placeholder { width: 1.5rem !important; height: 1.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; margin-top: 0.25rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-info { margin-top: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-brand { font-size: 0.625rem !important; font-weight: 700 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin: 0 0 0.375rem 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-brand { font-size: 0.5625rem !important; margin: 0 0 0.25rem 0 !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-name { font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 0.375rem 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.25 !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-name { font-size: 0.875rem !important; margin: 0 0 0.25rem 0 !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-meta { display: flex !important; align-items: center !important; font-size: 0.875rem !important; margin-bottom: 0.375rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-meta { font-size: 0.75rem !important; margin-bottom: 0.25rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-price { font-weight: 700 !important; color: #111827 !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-sale-price { font-weight: 700 !important; color: #dc2626 !important; margin-right: 0.5rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-sale-price { margin-right: 0.375rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-original-price { color: #9ca3af !important; text-decoration: line-through !important; font-size: 0.75rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-original-price { font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-commentary { font-size: 0.875rem !important; color: #4b5563 !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.375 !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-commentary { font-size: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-action { width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important; background-color: #f9fafb !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; margin-left: 1rem !important; flex-shrink: 0 !important; border: 1px solid #f3f4f6 !important; transition: all 0.2s !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-action { width: 2rem !important; height: 2rem !important; margin-left: 0.75rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-action svg { width: 14px !important; height: 14px !important; }    #fv-stl-all-products-modal-fv-chart-1778759592378-f8nbfgn7j .fv-stl-all-products-link:hover .fv-stl-all-products-action { background-color: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }    /* Image Annotation Styles */    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; overflow: hidden !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1778759592378-f8nbfgn7j.fv-full-bleed .fv-ia-container { width: 100% !important; }    #fv-chart-1778759592378-f8nbfgn7j.fv-full-bleed .fv-ia-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1778759592378-f8nbfgn7j .fv-ia-node-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-ia-node-button:hover { transform: scale(1.1) !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-node-button.is-active { background-color: #E33235 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1778759592378-f8nbfgn7j .fv-ia-pulse-ring { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-ia-node-button:hover + .fv-ia-static-tooltip { display: block !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-logo-explore-bar .fv-logo { margin: 0 auto !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-explore-wrapper { position: absolute !important; right: 0 !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-logo-explore-bar { flex-direction: column !important; min-height: auto !important; gap: 0.75rem !important; }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-ia-explore-wrapper { position: static !important; align-self: flex-end !important; }    #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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: #E33235 !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-explore-btn svg { transition: transform 0.2s !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-explore-btn:hover svg { transform: translateX(2px) !important; }    /* IA Modal Styles */    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-active-modal-container { display: none !important; }    #fv-chart-1778759592378-f8nbfgn7j .fv-ia-modals { display: block !important; position: static !important; }        #fv-chart-1778759592378-f8nbfgn7j .fv-ia-modal-item { display: none !important; }    #fv-chart-1778759592378-f8nbfgn7j .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 #E33235 !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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-ia-close-button:hover { background: #e5e7eb !important; color: #111827 !important; }        #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j.mobile-view .fv-ia-node-description { font-size: 0.875rem !important; }    /* Error Handling */    #fv-chart-1778759592378-f8nbfgn7j .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; }    /* Countdown Styles */    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-container {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        justify-content: center !important;        padding: 1rem !important;        position: relative !important;        width: 100% !important;        box-sizing: border-box !important;        font-family: Montserrat, sans-serif !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-header {        text-align: center !important;        margin-bottom: 2rem !important;        z-index: 10 !important;        width: 100% !important;        display: flex !important;        flex-direction: column !important;        align-items: center !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-title {        font-size: 1.25rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0 !important;        font-style: italic !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-subhead {        font-size: 1.125rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0.25rem 0 0 0 !important;        font-style: italic !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-timer-wrap {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        width: 100% !important;        max-width: 64rem !important;        z-index: 10 !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-labels {        display: flex !important;        justify-content: center !important;        width: 100% !important;        margin-bottom: 0.5rem !important;        padding: 0 0.5rem !important;        font-size: 0.75rem !important;        font-weight: bold !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-labels > div {        flex: 1 !important;        text-align: center !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-box {        position: relative !important;        width: 100% !important;        border-top: 6px solid #333 !important;        border-bottom: 8px solid #333 !important;        padding: 1rem 0 !important;        background: linear-gradient(to bottom, #1f2937, #000000) !important;        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits {        display: flex !important;        justify-content: center !important;        font-size: 1.75rem !important;        font-weight: 900 !important;        letter-spacing: 0em !important;        font-family: monospace !important;        color: #fff !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits > div.digit-box {        flex: 1 !important;        text-align: center !important;        white-space: nowrap !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits > div.colon {        flex: 0 0 auto !important;        opacity: 0.5 !important;        position: relative !important;        top: -2px !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-spike-l {        position: absolute !important;        left: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-right: 15px solid #374151 !important;    }    #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-spike-r {        position: absolute !important;        right: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-left: 15px solid #374151 !important;    }    @media (min-width: 600px) {        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-container {            padding: 2rem !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-title {            font-size: 1.75rem !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-subhead {            font-size: 1.25rem !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits {            font-size: 2.25rem !important;            letter-spacing: 0 !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-labels {            font-size: 0.875rem !important;            padding: 0 1rem !important;            margin-bottom: 1rem !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-box {            padding: 1.5rem 0 !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits > div.colon {            top: -4px !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-spike-l {            left: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-right-width: 20px !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-spike-r {            right: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-left-width: 20px !important;        }    }        @media (min-width: 768px) {        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits {            font-size: 3.5rem !important;            letter-spacing: 0.05em !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-countdown-digits > div.colon {            top: -5px !important;        }    }    /* Mobile / Forced Mobile View / Labels on Top */    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-pie-container,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-pie-container {        flex-direction: column !important; gap: 1rem !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-grouped-product-title-wrapper,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-bar-row,    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-stacked-product,    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-grouped-bar-product,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-bar-row,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-stacked-product,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-grouped-bar-product {        flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-bar-label:not(.fv-grouped-product-title),    #fv-chart-1778759592378-f8nbfgn7j.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-1778759592378-f8nbfgn7j.mobile-view .fv-bar-label,    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-grouped-product-title,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-bar-label,    #fv-chart-1778759592378-f8nbfgn7j.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-1778759592378-f8nbfgn7j.mobile-view .fv-bar-container,    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-bar-cluster,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-bar-container,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-bar-cluster {        width: 100% !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-x-axis-wrapper,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-x-axis-wrapper {        margin-left: 0 !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-x-axis-label-space,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-x-axis-label-space {        display: none !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-x-axis-chart-space,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-x-axis-chart-space {        padding-right: 0 !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-benchmark-title,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-benchmark-title {        font-size: 16px !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-dropdown-title,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-dropdown-title {        font-size: 16px !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-carousel-nav-btn,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-carousel-nav-btn {        padding: 8px 12px !important; font-size: 14px !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-chart-title,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-chart-title {        padding: 0 8px !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-chart-subhead,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-chart-subhead {        padding: 0 8px !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-header,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-header {        flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select-wrapper,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select-wrapper {        flex: 1 !important; min-width: 0 !important; width: 100% !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select-wrapper.fv-left,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select-wrapper.fv-left {        text-align: center !important; padding-right: 0 !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select-wrapper.fv-right,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select-wrapper.fv-right {        text-align: center !important; padding-left: 0 !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select.fv-select-left,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select.fv-select-left {        text-align: center !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select.fv-select-right,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select.fv-select-right {        text-align: center !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-vs,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-vs {        text-align: center !important; padding: 0.25rem 0 !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select-container,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select-container {        max-width: 100% !important; width: 100% !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-versus-select,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-versus-select {        font-size: 14px !important; width: 100% !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-stl-shop-all-btn,    #fv-chart-1778759592378-f8nbfgn7j.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-1778759592378-f8nbfgn7j.mobile-view .fv-stl-shop-all-logo,    #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-stl-shop-all-icon,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-stl-shop-all-logo,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-stl-shop-all-icon {        width: 2rem !important; height: 2rem !important;    }#fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-stl-shop-all-icon svg,    #fv-chart-1778759592378-f8nbfgn7j.labels-on-top .fv-stl-shop-all-icon svg {        width: 14px !important; height: 14px !important;    }        #fv-chart-1778759592378-f8nbfgn7j.mobile-view .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }    #fv-chart-1778759592378-f8nbfgn7j.mobile-view.fv-contains-line-chart .fv-footer-content {        margin-left: -1rem !important;        margin-right: -1rem !important;    }    @media (max-width: 599px) {         #fv-chart-1778759592378-f8nbfgn7j .fv-pie-container {            flex-direction: column !important; gap: 1rem !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-bar-row,        #fv-chart-1778759592378-f8nbfgn7j .fv-stacked-product,        #fv-chart-1778759592378-f8nbfgn7j .fv-grouped-bar-product {            flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;        }#fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar-label,        #fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-bar-container,        #fv-chart-1778759592378-f8nbfgn7j .fv-bar-cluster {            width: 100% !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-wrapper {            margin-left: 0 !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-label-space {            display: none !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-x-axis-chart-space {            padding-right: 0 !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-benchmark-title {            font-size: 16px !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-dropdown-title {            font-size: 16px !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-carousel-nav-btn {            padding: 8px 12px !important; font-size: 14px !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-chart-title {            padding: 0 8px !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-chart-subhead {            padding: 0 8px !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-header {            flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper {            flex: 1 !important; min-width: 0 !important; width: 100% !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper.fv-left {            text-align: center !important; padding-right: 0 !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-wrapper.fv-right {            text-align: center !important; padding-left: 0 !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select.fv-select-left {            text-align: center !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select.fv-select-right {            text-align: center !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-vs {            text-align: center !important; padding: 0.25rem 0 !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select-container {            max-width: 100% !important; width: 100% !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-versus-select {            font-size: 14px !important; width: 100% !important;        }#fv-chart-1778759592378-f8nbfgn7j .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-1778759592378-f8nbfgn7j .fv-stl-shop-all-logo,        #fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-icon {            width: 2rem !important; height: 2rem !important;        }#fv-chart-1778759592378-f8nbfgn7j .fv-stl-shop-all-icon svg {            width: 14px !important; height: 14px !important;        }        #fv-chart-1778759592378-f8nbfgn7j .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1778759592378-f8nbfgn7j.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": "Gaming performance",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-05-14T11:53:12.379Z",  "keywords": [    "Intel Core Ultra 5 250K Plus",    "Intel Core Ultra 5 245K",    "AMD Ryzen 7 9800X3D",    "AMD Ryzen 7 9700X",    "Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)",    "Baldur's Gate 3 (1080p Ultra)",    "Homeworld 3 (1080p Epic)",    "Metro Exodus Enhanced Ed. (1080p High)",    "3DMark Time Spy",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)",      "value": 118,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)",      "value": 99,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)",      "value": 112,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)",      "value": 99,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Baldur's Gate 3 (1080p Ultra)",      "value": 109,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Baldur's Gate 3 (1080p Ultra)",      "value": 86,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Baldur's Gate 3 (1080p Ultra)",      "value": 146,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Baldur's Gate 3 (1080p Ultra)",      "value": 94,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Homeworld 3 (1080p Epic)",      "value": 98,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Homeworld 3 (1080p Epic)",      "value": 72,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Homeworld 3 (1080p Epic)",      "value": 117,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Homeworld 3 (1080p Epic)",      "value": 91,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Metro Exodus Enhanced Ed. (1080p High)",      "value": 145,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Metro Exodus Enhanced Ed. (1080p High)",      "value": 140,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Metro Exodus Enhanced Ed. (1080p High)",      "value": 148,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Metro Exodus Enhanced Ed. (1080p High)",      "value": 146,      "unitText": "Avg FPS"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – 3DMark Time Spy",      "value": 19987,      "unitText": "CPU index score"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – 3DMark Time Spy",      "value": 14817,      "unitText": "CPU index score"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – 3DMark Time Spy",      "value": 16116,      "unitText": "CPU index score"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – 3DMark Time Spy",      "value": 13239,      "unitText": "CPU index score"    }  ]}</script>    <div id="fv-chart-1778759592378-f8nbfgn7j" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true">        <div class="fv-inner-wrapper    ">            <h3 class="fv-chart-title">Gaming performance</h3>                        <div class="fv-dropdown-wrapper">                <div class="fv-dropdown-title-container">                    <select class="fv-dropdown-title">                        <option value="0">Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)</option><option value="1">Baldur's Gate 3 (1080p Ultra)</option><option value="2">Homeworld 3 (1080p Epic)</option><option value="3">Metro Exodus Enhanced Ed. (1080p High)</option><option value="4">3DMark Time Spy</option>                    </select>                    <div class="fv-dropdown-chevron">                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>                    </div>                </div>            </div>            <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1778759592378-f8nbfgn7j-bar-Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)" data-chart-type="Bar" data-title="Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced)" data-subhead="" data-caption="                                                        " style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78.66666666666666%; background-color: #E33235;" data-target-width="78.66666666666666" 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">118</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62%; background-color: #FE9F58;" data-target-width="62" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">93</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66%; background-color: #E33235;" data-target-width="66" 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">99</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 49.333333333333336%; background-color: #FE9F58;" data-target-width="49.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">74</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74.66666666666667%; background-color: #E33235;" data-target-width="74.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">112</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50.66666666666667%; background-color: #FE9F58;" data-target-width="50.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">76</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66%; background-color: #E33235;" data-target-width="66" 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">99</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 39.33333333333333%; background-color: #FE9F58;" data-target-width="39.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div>    </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>    </div>        <table class="sr-only">            <caption>Cyberpunk 2077 (1080p RT Ultra + DLSS Balanced) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>118 Avg FPS, 93 1% Low FPS</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>99 Avg FPS, 74 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>112 Avg FPS, 76 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>99 Avg FPS, 59 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759592378-f8nbfgn7j-bar-Baldur's Gate 3 (1080p Ultra)" data-chart-type="Bar" data-title="Baldur's Gate 3 (1080p Ultra)" data-subhead="" data-caption="                                                        " style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72.66666666666667%; background-color: #E33235;" 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 class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 44.666666666666664%; background-color: #FE9F58;" data-target-width="44.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">67</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.333333333333336%; background-color: #E33235;" data-target-width="57.333333333333336" 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">86</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 39.33333333333333%; background-color: #FE9F58;" data-target-width="39.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">59</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97.33333333333334%; background-color: #E33235;" data-target-width="97.33333333333334" 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">146</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 50.66666666666667%; background-color: #FE9F58;" data-target-width="50.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">76</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 62.66666666666667%; background-color: #E33235;" data-target-width="62.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">94</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.333333333333336%; background-color: #FE9F58;" data-target-width="37.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">56</span></div>    </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>    </div>        <table class="sr-only">            <caption>Baldur's Gate 3 (1080p Ultra) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>109 Avg FPS, 67 1% Low FPS</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>86 Avg FPS, 59 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>146 Avg FPS, 76 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>94 Avg FPS, 56 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759592378-f8nbfgn7j-bar-Homeworld 3 (1080p Epic)" data-chart-type="Bar" data-title="Homeworld 3 (1080p Epic)" data-subhead="" data-caption="                                                        " style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65.33333333333333%; background-color: #E33235;" data-target-width="65.33333333333333" 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">98</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 37.333333333333336%; background-color: #FE9F58;" data-target-width="37.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">56</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 48%; background-color: #E33235;" data-target-width="48" 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">72</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 18%; background-color: #FE9F58;" data-target-width="18" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">27</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 78%; background-color: #E33235;" data-target-width="78" 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">117</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 36.666666666666664%; background-color: #FE9F58;" data-target-width="36.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">55</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60.66666666666667%; background-color: #E33235;" data-target-width="60.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">91</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 32.666666666666664%; background-color: #FE9F58;" data-target-width="32.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">49</span></div>    </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>    </div>        <table class="sr-only">            <caption>Homeworld 3 (1080p Epic) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>98 Avg FPS, 56 1% Low FPS</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>72 Avg FPS, 27 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>117 Avg FPS, 55 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>91 Avg FPS, 49 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759592378-f8nbfgn7j-bar-Metro Exodus Enhanced Ed. (1080p High)" data-chart-type="Bar" data-title="Metro Exodus Enhanced Ed. (1080p High)" data-subhead="" data-caption="                                                        " style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Avg FPS</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>1% Low FPS</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 96.66666666666667%; background-color: #E33235;" data-target-width="96.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">145</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 52.666666666666664%; background-color: #FE9F58;" data-target-width="52.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">79</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 93.33333333333333%; background-color: #E33235;" data-target-width="93.33333333333333" 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">140</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 53.333333333333336%; background-color: #FE9F58;" data-target-width="53.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">80</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 98.66666666666667%; background-color: #E33235;" data-target-width="98.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">148</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 60.66666666666667%; background-color: #FE9F58;" data-target-width="60.66666666666667" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">91</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97.33333333333334%; background-color: #E33235;" data-target-width="97.33333333333334" 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">146</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 51.33333333333333%; background-color: #FE9F58;" data-target-width="51.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">77</span></div>    </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>    </div>        <table class="sr-only">            <caption>Metro Exodus Enhanced Ed. (1080p High) Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>145 Avg FPS, 79 1% Low FPS</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>140 Avg FPS, 80 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>148 Avg FPS, 91 1% Low FPS</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>146 Avg FPS, 77 1% Low FPS</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759592378-f8nbfgn7j-bar-3DMark Time Spy" data-chart-type="Bar" data-title="3DMark Time Spy" data-subhead="" data-caption="                                                        " style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>CPU index score</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>Overall index score</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 99.935%; background-color: #E33235;" data-target-width="99.935" 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">19987</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 87.835%; background-color: #FE9F58;" data-target-width="87.835" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">17567</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74.08500000000001%; background-color: #E33235;" data-target-width="74.08500000000001" 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">14817</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 84.275%; background-color: #FE9F58;" data-target-width="84.275" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">16855</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80.58%; background-color: #E33235;" data-target-width="80.58" 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">16116</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 85.26%; background-color: #FE9F58;" data-target-width="85.26" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">17052</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 66.19500000000001%; background-color: #E33235;" data-target-width="66.19500000000001" 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">13239</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 82.185%; background-color: #FE9F58;" data-target-width="82.185" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">16437</span></div>    </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>5,000</span><span>10,000</span><span>15,000</span><span>20,000</span></div>                    </div>    </div>        <table class="sr-only">            <caption>3DMark Time Spy Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>19987 CPU index score, 17567 Overall index score</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>14817 CPU index score, 16855 Overall index score</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>16116 CPU index score, 17052 Overall index score</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>13239 CPU index score, 16437 Overall index score</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer 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() {      /*  Global animation function for slideshow re-use */      window.fvAnimateCharts = function(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                /*  Reset to 0 first to ensure animation triggers */                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                /*  Force reflow */                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); /*  Reduced initial delay */            });          }          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);              });            }            /*  Execute */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');                        charts.forEach(function(chart) {                /*  If in carousel/dropdown mode, hidden charts are display:none. */                /*  We only animate what is visible. */                if (window.getComputedStyle(chart).display === 'none') return;                                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });      };            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);                /*  In slideshow mode, 'root' will be null because the container has '-slideshow' suffix. */        /*  We handle that logic below. */        if (!root && !isSlideshow) return;                /*  Setup internal interactions (Carousel/Dropdown/LineChart) for a specific chart wrapper */        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) {                    /*  Fallback for when width isn't available yet (e.g., hidden tab) */                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    /*  Mobile if container is small OR if it's a physical mobile device (overriding fixed-width iframes) */                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        /*  Initial check */            checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        /*  Always add window resize listener as a reliable fallback for DevTools and edge cases */            window.addEventListener('resize', checkMobileView);                        /*  Labels on top handler */            var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                /*  If there are multiple charts and we're not in a carousel/dropdown, we might have mixed types. */                /*  But typically, labels-on-top is a global setting. We'll apply it initially,  */                /*  and showInternalChart will toggle it if needed. */                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 === '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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');                        var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');                                                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);            });            /*  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');                        /*  Text Elements */            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 === 'Line') {                                 /*  Line chart animations if needed */                             } else if (cType !== 'Pie') {                                 window.fvAnimateCharts(chartWrapper);                             }                                                          /*  Update labels-on-top based on current chart type */                             var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === '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;                                        /*  Update Subhead and Caption */                    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 || '';                                                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;                /*  Zoom state */                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();                    /*  Max pan depends on how much the image is scaled beyond the wrapper */                    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; /*  Prevent click after pinch */                    } 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 });                }                /*  Expand/Close Logic */                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.preventDefault(); // Removed to allow text selection */                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        /*  Load high-res images if available */                            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.preventDefault(); // Removed to allow text selection */                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                /*  Close on Escape */                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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        /*  Remove highlights */                    var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    /*  Remove min-height after transition */                    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');                        /*  Ensure container is tall enough */                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                /*  Highlight and scroll to item */                        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();                        }                    }                });            });            /*  Shop All button */            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    /*  Ensure container is tall enough */                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            /*  Close button in all products modal */            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            /*  Close modals when clicking outside */            chartWrapper.addEventListener('click', function(e) {                /*  Only close if clicking on the wrapper or container, not inside a modal content */                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 */            window.fvAnimateCharts(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 primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';                    var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';                                        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-1778759592378-f8nbfgn7j', false); });      } else {        initialize('fv-chart-1778759592378-f8nbfgn7j', false);      }    })();      </script></div><p>Pitched against AMD's X3D chip, Intel's refreshed Arrow Lake CPU is notably slower in some games, but it's easily on par in others. And because the total number of threads supported by the 250KF Plus is 18, it's no slouch when it comes to multicore content creation workloads, such as offline rendering, code compiling, and file packaging.</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');    @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,900;1,900&display=swap');        /* Reset & Base */    #fv-chart-1778759778846-57r33xpxt *, #fv-chart-1778759778846-57r33xpxt *:before, #fv-chart-1778759778846-57r33xpxt *:after, #fv-chart-1778759778846-57r33xpxt-slideshow *, #fv-chart-1778759778846-57r33xpxt-slideshow *:before, #fv-chart-1778759778846-57r33xpxt-slideshow *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1778759778846-57r33xpxt, #fv-chart-1778759778846-57r33xpxt-slideshow { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1778759778846-57r33xpxt {        position: relative !important; overflow: visible !important;        --riv-primary: #E33235;    }    #fv-chart-1778759778846-57r33xpxt .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ededed !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-1778759778846-57r33xpxt .fv-inner-wrapper.fv-no-header.fv-is-image-compare {        padding-top: 0 !important;    }    #fv-chart-1778759778846-57r33xpxt.fv-full-bleed {                width: 100vw !important;        margin-left: calc(50% - 50vw) !important;            }        body {        overflow-x: clip !important;    }        #fv-chart-1778759778846-57r33xpxt.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-1778759778846-57r33xpxt .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;    }            /* Slideshow Styles */    #fv-chart-1778759778846-57r33xpxt-slideshow {        position: relative !important;        width: 100% !important;        margin: 1rem 0 !important;        --riv-primary: #E33235;    }    #fv-chart-1778759778846-57r33xpxt-slideshow .fv-slides-wrapper {        position: relative !important;        width: 100% !important;    }    #fv-chart-1778759778846-57r33xpxt-slideshow .fv-slide {        width: 100% !important;        animation: fv-fade-in 0.3s ease-in-out;    }      @keyframes fv-fade-in {        from { opacity: 0; }        to { opacity: 1; }    }        /* Top Navigation Row (Redesign) */    #fv-chart-1778759778846-57r33xpxt-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-1778759778846-57r33xpxt-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-1778759778846-57r33xpxt-slideshow .fv-nav-btn svg {        width: 18px !important;        height: 18px !important;        stroke-width: 3px !important;        filter: none !important;    }    #fv-chart-1778759778846-57r33xpxt-slideshow .fv-nav-btn:hover {        opacity: 0.9 !important;        transform: translateY(-1px) !important;    }        #fv-chart-1778759778846-57r33xpxt-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-1778759778846-57r33xpxt-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;    }        /* Slideshow Dropdown Navigation */    #fv-chart-1778759778846-57r33xpxt-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-1778759778846-57r33xpxt-slideshow .fv-slideshow-select:focus {        outline: 2px solid #E33235 !important;        border-color: #E33235 !important;    }        /* Typography */    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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; }    /* Versus Chart */    #fv-chart-1778759778846-57r33xpxt .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper { flex: 1; min-width: 0; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-inside-left { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1778759778846-57r33xpxt .fv-inside-right { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }    #fv-chart-1778759778846-57r33xpxt .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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; }    /* Image Comparison Styles */    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-container {        width: auto !important;        margin-left: -1.5rem !important;        margin-right: -1.5rem !important;        margin-bottom: 2rem !important;    }    #fv-chart-1778759778846-57r33xpxt.fv-full-bleed .fv-image-compare-container {        width: 100% !important;        max-width: none !important;        margin: 0 auto !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper {        position: relative !important;        width: 100% !important;        overflow: hidden !important;        border-radius: 0 !important;        background-color: #000 !important;        touch-action: pan-y !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-inner {        position: relative !important;        width: 100% !important;        height: 100% !important;        display: block !important;        transform-origin: center center !important;        transition: transform 0.1s ease-out !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-bg {        display: block !important;        width: 100% !important;        height: auto !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-fg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        width: 100% !important;        height: 100% !important;        object-fit: cover !important;        clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-slider {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 32px !important;        transform: translateX(-50%) !important;        cursor: ew-resize !important;        z-index: 10 !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-slider-line {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 4px !important;        background-color: white !important;        transform: translateX(-50%) !important;        box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;        pointer-events: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-handle {        position: absolute !important;        top: 50% !important;        left: 50% !important;        transform: translate(-50%, -50%) !important;        width: 32px !important;        height: 32px !important;        background-color: white !important;        border-radius: 50% !important;        box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        gap: 4px !important;        pointer-events: none !important;        z-index: 11 !important;        overflow: hidden !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-handle.fv-image-compare-handle-square {        border-radius: 6px !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-arrow-left {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-right: 4px solid #4b5563 !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-arrow-right {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-left: 4px solid #4b5563 !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-label {        position: absolute !important;        top: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        padding: 0.25rem 0.75rem !important;        border-radius: 0.25rem !important;        font-size: 0.875rem !important;        font-weight: 500 !important;        pointer-events: none !important;        backdrop-filter: blur(4px) !important;        z-index: 5 !important;        transition: right 0.3s ease, opacity 0.2s ease !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-label-left {        left: 1rem !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-label-right {        right: 1rem !important;    }        #fv-chart-1778759778846-57r33xpxt .fv-image-compare-expand-btn,    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-close-btn {        position: absolute !important;        bottom: 1rem !important;        right: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        border: none !important;        border-radius: 0.25rem !important;        padding: 0.5rem !important;        cursor: pointer !important;        z-index: 20 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        backdrop-filter: blur(4px) !important;        transition: background-color 0.2s !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-expand-btn:hover,    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-close-btn:hover {        background-color: rgba(0, 0, 0, 0.7) !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-close-btn {        display: none !important;        top: 1rem !important;        bottom: auto !important;    }    /* Fullscreen State */    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen {        position: fixed !important;        top: 0 !important;        left: 0 !important;        right: 0 !important;        bottom: 0 !important;        width: 100% !important;        height: 100% !important;        z-index: 999999 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        background-color: rgba(0, 0, 0, 0.9) !important;        margin: 0 !important;        touch-action: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner {        width: 100% !important;        height: 100% !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        cursor: grab !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active {        cursor: grabbing !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg {        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn {        display: none !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn {        display: flex !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right {        right: 4rem !important;    }    /* Footer */    #fv-chart-1778759778846-57r33xpxt .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1778759778846-57r33xpxt .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1778759778846-57r33xpxt .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;    }    /* Display Mode Controls */    #fv-chart-1778759778846-57r33xpxt .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-dropdown-title:focus { outline: none !important; }    #fv-chart-1778759778846-57r33xpxt .fv-dropdown-title::-ms-expand { display: none !important; }        #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1778759778846-57r33xpxt .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Multi-Value Legend */    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1778759778846-57r33xpxt .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar-row, #fv-chart-1778759778846-57r33xpxt .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1778759778846-57r33xpxt .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Multi-Value Bar Logic */    #fv-chart-1778759778846-57r33xpxt .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }    #fv-chart-1778759778846-57r33xpxt .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }        /* Stacked Bar */    #fv-chart-1778759778846-57r33xpxt .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1778759778846-57r33xpxt .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }    /* Grouped Bar */    #fv-chart-1778759778846-57r33xpxt .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1778759778846-57r33xpxt .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1778759778846-57r33xpxt .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1778759778846-57r33xpxt .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1778759778846-57r33xpxt .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1778759778846-57r33xpxt .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1778759778846-57r33xpxt .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1778759778846-57r33xpxt .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Shop The Look */    #fv-chart-1778759778846-57r33xpxt .fv-stl-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; transition: min-height 0.3s ease !important; overflow: hidden !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1778759778846-57r33xpxt.fv-full-bleed .fv-stl-container { width: 100% !important; }    #fv-chart-1778759778846-57r33xpxt.fv-full-bleed .fv-stl-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1778759778846-57r33xpxt .fv-stl-hotspot-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-hotspot-btn { 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), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 300ms !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-1778759778846-57r33xpxt .fv-stl-hotspot-btn:hover { transform: scale(1.1) !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-hotspot-btn:focus { outline: 2px solid transparent !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #000000 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-hotspot-btn[aria-expanded="true"] { background-color: #3b82f6 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1778759778846-57r33xpxt .fv-stl-hotspot-pulse { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-stl-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; }    @keyframes fv-stl-ping { 75%, 100% { transform: scale(2); opacity: 0; } }    @media (max-width: 640px) {        #fv-chart-1778759778846-57r33xpxt .fv-stl-hotspot-pulse { animation-fill-mode: none !important; }    }    /* Shop the look button */    #fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; height: 2.5rem !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; color: #111827 !important; padding: 0 1rem 0 3rem !important; border-radius: 0.25rem !important; font-weight: 700 !important; font-size: 0.875rem !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; z-index: 10 !important; display: flex !important; align-items: center !important; text-transform: uppercase !important; overflow: hidden !important; white-space: nowrap !important; max-width: calc(100% - 2rem) !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-btn span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-btn:hover { background-color: #ffffff !important; transform: scale(1.05) !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-logo { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; object-fit: cover !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; flex-shrink: 0 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-icon { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; color: #1f2937 !important; flex-shrink: 0 !important; }    /* All Products Modal */    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt { position: fixed !important; inset: 0 !important; background-color: rgba(0, 0, 0, 0) !important; backdrop-filter: blur(0px) !important; -webkit-backdrop-filter: blur(0px) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 99999 !important; pointer-events: none !important; transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease !important; padding: 1rem !important; overflow: hidden !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt { position: absolute !important; padding: 0 !important; align-items: flex-end !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.is-active { background-color: rgba(0, 0, 0, 0.2) !important; backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; pointer-events: auto !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-content { width: 100% !important; max-width: 42rem !important; max-height: 100% !important; display: flex !important; flex-direction: column !important; position: relative !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-radius: 1rem !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important; opacity: 0 !important; transform: scale(0.95) !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.is-active .fv-stl-all-products-content { opacity: 1 !important; transform: scale(1) !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.is-active .fv-stl-all-products-content { transform: translateY(0) !important; }        /* V2 Bottom Sheet Style */    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.v2 { align-items: flex-end !important; padding: 0 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.v2:not(.mobile-view *) { justify-content: flex-end !important; }    }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.v2 .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.v2:not(.mobile-view *) .fv-stl-all-products-content { max-width: 700px !important; border-radius: 1.5rem 0 0 0 !important; }    }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt.v2.is-active .fv-stl-all-products-content { transform: translateY(0) !important; opacity: 1 !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1.5rem !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; position: sticky !important; top: 0 !important; background-color: rgba(255, 255, 255, 0.8) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; z-index: 10 !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-header { padding: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-logo { height: 1.5rem !important; width: auto !important; object-fit: contain !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-logo { height: 1.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-title { font-size: 1.125rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-close { width: 2rem !important; height: 2rem !important; border-radius: 9999px !important; background-color: rgba(0, 0, 0, 0.05) !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; cursor: pointer !important; z-index: 10 !important; color: #6b7280 !important; transition: all 0.2s !important; padding: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-close:hover { background-color: rgba(0, 0, 0, 0.1) !important; color: #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-list { list-style: none !important; padding: 1.5rem !important; margin: 0 !important; overflow-y: auto !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 0.75rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-list { padding: 0.75rem !important; gap: 0.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-item { margin: 0 !important; padding: 0.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-link { display: flex !important; align-items: flex-start !important; padding: 0.75rem !important; text-decoration: none !important; color: inherit !important; transition: all 0.2s !important; border-radius: 1rem !important; border: 1px solid transparent !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-link { padding: 0.5rem !important; border-radius: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-link:hover { background-color: #ffffff !important; border-color: #e5e7eb !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-item.is-highlighted .fv-stl-all-products-link { background-color: #ffffff !important; border-color: #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-image-container { position: relative !important; margin-right: 1.25rem !important; flex-shrink: 0 !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-image-container { margin-right: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-number { position: absolute !important; top: -0.5rem !important; left: -0.5rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; background-color: #0f172a !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.75rem !important; font-weight: 700 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #ffffff !important; z-index: 10 !important; font-family: sans-serif !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-number { top: -0.375rem !important; left: -0.375rem !important; width: 1.25rem !important; height: 1.25rem !important; font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-image-wrapper { width: 6rem !important; height: 6rem !important; border-radius: 0.75rem !important; overflow: hidden !important; background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.02) !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-image-wrapper { width: 4rem !important; height: 4rem !important; border-radius: 0.5rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-placeholder { width: 2rem !important; height: 2rem !important; color: #d1d5db !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-placeholder { width: 1.5rem !important; height: 1.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; margin-top: 0.25rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-info { margin-top: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-brand { font-size: 0.625rem !important; font-weight: 700 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin: 0 0 0.375rem 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-brand { font-size: 0.5625rem !important; margin: 0 0 0.25rem 0 !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-name { font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 0.375rem 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.25 !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-name { font-size: 0.875rem !important; margin: 0 0 0.25rem 0 !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-meta { display: flex !important; align-items: center !important; font-size: 0.875rem !important; margin-bottom: 0.375rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-meta { font-size: 0.75rem !important; margin-bottom: 0.25rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-price { font-weight: 700 !important; color: #111827 !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-sale-price { font-weight: 700 !important; color: #dc2626 !important; margin-right: 0.5rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-sale-price { margin-right: 0.375rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-original-price { color: #9ca3af !important; text-decoration: line-through !important; font-size: 0.75rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-original-price { font-size: 0.625rem !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-commentary { font-size: 0.875rem !important; color: #4b5563 !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.375 !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-commentary { font-size: 0.75rem !important; }        #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-action { width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important; background-color: #f9fafb !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; margin-left: 1rem !important; flex-shrink: 0 !important; border: 1px solid #f3f4f6 !important; transition: all 0.2s !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-action { width: 2rem !important; height: 2rem !important; margin-left: 0.75rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-action svg { width: 14px !important; height: 14px !important; }    #fv-stl-all-products-modal-fv-chart-1778759778846-57r33xpxt .fv-stl-all-products-link:hover .fv-stl-all-products-action { background-color: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }    /* Image Annotation Styles */    #fv-chart-1778759778846-57r33xpxt .fv-ia-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; overflow: hidden !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1778759778846-57r33xpxt.fv-full-bleed .fv-ia-container { width: 100% !important; }    #fv-chart-1778759778846-57r33xpxt.fv-full-bleed .fv-ia-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1778759778846-57r33xpxt .fv-ia-node-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-ia-node-button:hover { transform: scale(1.1) !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-node-button.is-active { background-color: #E33235 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1778759778846-57r33xpxt .fv-ia-pulse-ring { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-ia-node-button:hover + .fv-ia-static-tooltip { display: block !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-logo-explore-bar .fv-logo { margin: 0 auto !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-explore-wrapper { position: absolute !important; right: 0 !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-logo-explore-bar { flex-direction: column !important; min-height: auto !important; gap: 0.75rem !important; }    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-ia-explore-wrapper { position: static !important; align-self: flex-end !important; }    #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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: #E33235 !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-explore-btn svg { transition: transform 0.2s !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-explore-btn:hover svg { transform: translateX(2px) !important; }    /* IA Modal Styles */    #fv-chart-1778759778846-57r33xpxt .fv-ia-active-modal-container { display: none !important; }    #fv-chart-1778759778846-57r33xpxt .fv-ia-modals { display: block !important; position: static !important; }        #fv-chart-1778759778846-57r33xpxt .fv-ia-modal-item { display: none !important; }    #fv-chart-1778759778846-57r33xpxt .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 #E33235 !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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-ia-close-button:hover { background: #e5e7eb !important; color: #111827 !important; }        #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt.mobile-view .fv-ia-node-description { font-size: 0.875rem !important; }    /* Error Handling */    #fv-chart-1778759778846-57r33xpxt .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; }    /* Countdown Styles */    #fv-chart-1778759778846-57r33xpxt .fv-countdown-container {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        justify-content: center !important;        padding: 1rem !important;        position: relative !important;        width: 100% !important;        box-sizing: border-box !important;        font-family: Montserrat, sans-serif !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-header {        text-align: center !important;        margin-bottom: 2rem !important;        z-index: 10 !important;        width: 100% !important;        display: flex !important;        flex-direction: column !important;        align-items: center !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-title {        font-size: 1.25rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0 !important;        font-style: italic !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-subhead {        font-size: 1.125rem !important;        font-weight: 900 !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;        margin: 0.25rem 0 0 0 !important;        font-style: italic !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-timer-wrap {        display: flex !important;        flex-direction: column !important;        align-items: center !important;        width: 100% !important;        max-width: 64rem !important;        z-index: 10 !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-labels {        display: flex !important;        justify-content: center !important;        width: 100% !important;        margin-bottom: 0.5rem !important;        padding: 0 0.5rem !important;        font-size: 0.75rem !important;        font-weight: bold !important;        text-transform: uppercase !important;        letter-spacing: 0.05em !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-labels > div {        flex: 1 !important;        text-align: center !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-box {        position: relative !important;        width: 100% !important;        border-top: 6px solid #333 !important;        border-bottom: 8px solid #333 !important;        padding: 1rem 0 !important;        background: linear-gradient(to bottom, #1f2937, #000000) !important;        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits {        display: flex !important;        justify-content: center !important;        font-size: 1.75rem !important;        font-weight: 900 !important;        letter-spacing: 0em !important;        font-family: monospace !important;        color: #fff !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits > div.digit-box {        flex: 1 !important;        text-align: center !important;        white-space: nowrap !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits > div.colon {        flex: 0 0 auto !important;        opacity: 0.5 !important;        position: relative !important;        top: -2px !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-spike-l {        position: absolute !important;        left: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-right: 15px solid #374151 !important;    }    #fv-chart-1778759778846-57r33xpxt .fv-countdown-spike-r {        position: absolute !important;        right: -15px !important;        top: 50% !important;        transform: translateY(-50%) !important;        width: 0 !important;        height: 0 !important;        border-top: 15px solid transparent !important;        border-bottom: 15px solid transparent !important;        border-left: 15px solid #374151 !important;    }    @media (min-width: 600px) {        #fv-chart-1778759778846-57r33xpxt .fv-countdown-container {            padding: 2rem !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-title {            font-size: 1.75rem !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-subhead {            font-size: 1.25rem !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits {            font-size: 2.25rem !important;            letter-spacing: 0 !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-labels {            font-size: 0.875rem !important;            padding: 0 1rem !important;            margin-bottom: 1rem !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-box {            padding: 1.5rem 0 !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits > div.colon {            top: -4px !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-spike-l {            left: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-right-width: 20px !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-spike-r {            right: -20px !important;            border-top-width: 20px !important;            border-bottom-width: 20px !important;            border-left-width: 20px !important;        }    }        @media (min-width: 768px) {        #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits {            font-size: 3.5rem !important;            letter-spacing: 0.05em !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-countdown-digits > div.colon {            top: -5px !important;        }    }    /* Mobile / Forced Mobile View / Labels on Top */    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-pie-container,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-pie-container {        flex-direction: column !important; gap: 1rem !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-grouped-product-title-wrapper,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-bar-row,    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-stacked-product,    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-grouped-bar-product,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-bar-row,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-stacked-product,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-grouped-bar-product {        flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-bar-label:not(.fv-grouped-product-title),    #fv-chart-1778759778846-57r33xpxt.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-1778759778846-57r33xpxt.mobile-view .fv-bar-label,    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-grouped-product-title,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-bar-label,    #fv-chart-1778759778846-57r33xpxt.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-1778759778846-57r33xpxt.mobile-view .fv-bar-container,    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-bar-cluster,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-bar-container,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-bar-cluster {        width: 100% !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-x-axis-wrapper,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-x-axis-wrapper {        margin-left: 0 !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-x-axis-label-space,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-x-axis-label-space {        display: none !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-x-axis-chart-space,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-x-axis-chart-space {        padding-right: 0 !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-benchmark-title,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-benchmark-title {        font-size: 16px !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-dropdown-title,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-dropdown-title {        font-size: 16px !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-carousel-nav-btn,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-carousel-nav-btn {        padding: 8px 12px !important; font-size: 14px !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-chart-title,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-chart-title {        padding: 0 8px !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-chart-subhead,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-chart-subhead {        padding: 0 8px !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-header,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-header {        flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select-wrapper,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select-wrapper {        flex: 1 !important; min-width: 0 !important; width: 100% !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select-wrapper.fv-left,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select-wrapper.fv-left {        text-align: center !important; padding-right: 0 !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select-wrapper.fv-right,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select-wrapper.fv-right {        text-align: center !important; padding-left: 0 !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select.fv-select-left,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select.fv-select-left {        text-align: center !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select.fv-select-right,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select.fv-select-right {        text-align: center !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-vs,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-vs {        text-align: center !important; padding: 0.25rem 0 !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select-container,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select-container {        max-width: 100% !important; width: 100% !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-versus-select,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-versus-select {        font-size: 14px !important; width: 100% !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-stl-shop-all-btn,    #fv-chart-1778759778846-57r33xpxt.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-1778759778846-57r33xpxt.mobile-view .fv-stl-shop-all-logo,    #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-stl-shop-all-icon,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-stl-shop-all-logo,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-stl-shop-all-icon {        width: 2rem !important; height: 2rem !important;    }#fv-chart-1778759778846-57r33xpxt.mobile-view .fv-stl-shop-all-icon svg,    #fv-chart-1778759778846-57r33xpxt.labels-on-top .fv-stl-shop-all-icon svg {        width: 14px !important; height: 14px !important;    }        #fv-chart-1778759778846-57r33xpxt.mobile-view .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }    #fv-chart-1778759778846-57r33xpxt.mobile-view.fv-contains-line-chart .fv-footer-content {        margin-left: -1rem !important;        margin-right: -1rem !important;    }    @media (max-width: 599px) {         #fv-chart-1778759778846-57r33xpxt .fv-pie-container {            flex-direction: column !important; gap: 1rem !important;        }#fv-chart-1778759778846-57r33xpxt .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }#fv-chart-1778759778846-57r33xpxt .fv-bar-row,        #fv-chart-1778759778846-57r33xpxt .fv-stacked-product,        #fv-chart-1778759778846-57r33xpxt .fv-grouped-bar-product {            flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;        }#fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar-label,        #fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-bar-container,        #fv-chart-1778759778846-57r33xpxt .fv-bar-cluster {            width: 100% !important;        }#fv-chart-1778759778846-57r33xpxt .fv-x-axis-wrapper {            margin-left: 0 !important;        }#fv-chart-1778759778846-57r33xpxt .fv-x-axis-label-space {            display: none !important;        }#fv-chart-1778759778846-57r33xpxt .fv-x-axis-chart-space {            padding-right: 0 !important;        }#fv-chart-1778759778846-57r33xpxt .fv-benchmark-title {            font-size: 16px !important;        }#fv-chart-1778759778846-57r33xpxt .fv-dropdown-title {            font-size: 16px !important;        }#fv-chart-1778759778846-57r33xpxt .fv-carousel-nav-btn {            padding: 8px 12px !important; font-size: 14px !important;        }#fv-chart-1778759778846-57r33xpxt .fv-chart-title {            padding: 0 8px !important;        }#fv-chart-1778759778846-57r33xpxt .fv-chart-subhead {            padding: 0 8px !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-header {            flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper {            flex: 1 !important; min-width: 0 !important; width: 100% !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper.fv-left {            text-align: center !important; padding-right: 0 !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select-wrapper.fv-right {            text-align: center !important; padding-left: 0 !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select.fv-select-left {            text-align: center !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select.fv-select-right {            text-align: center !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-vs {            text-align: center !important; padding: 0.25rem 0 !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select-container {            max-width: 100% !important; width: 100% !important;        }#fv-chart-1778759778846-57r33xpxt .fv-versus-select {            font-size: 14px !important; width: 100% !important;        }#fv-chart-1778759778846-57r33xpxt .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-1778759778846-57r33xpxt .fv-stl-shop-all-logo,        #fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-icon {            width: 2rem !important; height: 2rem !important;        }#fv-chart-1778759778846-57r33xpxt .fv-stl-shop-all-icon svg {            width: 14px !important; height: 14px !important;        }        #fv-chart-1778759778846-57r33xpxt .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1778759778846-57r33xpxt.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": "Content creation performance",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-05-14T11:56:18.847Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Intel Core Ultra 5 250K Plus",    "Intel Core Ultra 5 245K",    "AMD Ryzen 7 9800X3D (v2 2026 retest)",    "AMD Ryzen 7 9700X (v2 2026 retest)",    "Cinebench 2024",    "Blender 4.2.0",    "7zip",    "Handbrake 1.8.1",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Cinebench 2024",      "value": 131,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Cinebench 2024",      "value": 133,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Cinebench 2024",      "value": 131,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Cinebench 2024",      "value": 138,      "unitText": "Single-core index score"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Blender 4.2.0",      "value": 93,      "unitText": "Samples per minute"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Blender 4.2.0",      "value": 101,      "unitText": "Samples per minute"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Blender 4.2.0",      "value": 97,      "unitText": "Samples per minute"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Blender 4.2.0",      "value": 132,      "unitText": "Samples per minute"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – 7zip",      "value": 112,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – 7zip",      "value": 132,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – 7zip",      "value": 121,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – 7zip",      "value": 147,      "unitText": "Compressing (GIPS)"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9700X – Handbrake 1.8.1",      "value": 83,      "unitText": "UHD > 1080p60 (fps)"    },    {      "@type": "PropertyValue",      "name": "AMD Ryzen 7 9800X3D – Handbrake 1.8.1",      "value": 92,      "unitText": "UHD > 1080p60 (fps)"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 245K – Handbrake 1.8.1",      "value": 85,      "unitText": "UHD > 1080p60 (fps)"    },    {      "@type": "PropertyValue",      "name": "Intel Core Ultra 5 250K Plus – Handbrake 1.8.1",      "value": 101,      "unitText": "UHD > 1080p60 (fps)"    }  ]}</script>    <div id="fv-chart-1778759778846-57r33xpxt" class="fv-chart-wrapper  labels-on-top " data-bar-labels-on-top="true" data-iframe-height="true">        <div class="fv-inner-wrapper    ">            <h3 class="fv-chart-title">Content creation performance</h3>                        <div class="fv-dropdown-wrapper">                <div class="fv-dropdown-title-container">                    <select class="fv-dropdown-title">                        <option value="0">Cinebench 2024</option><option value="1">Blender 4.2.0</option><option value="2">7zip</option><option value="3">Handbrake 1.8.1</option>                    </select>                    <div class="fv-dropdown-chevron">                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>                    </div>                </div>            </div>            <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1778759778846-57r33xpxt-bar-Cinebench 2024" data-chart-type="Bar" data-title="Cinebench 2024" data-subhead="" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Single-core index score</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>Multi-core index score</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.9%; background-color: #E33235;" data-target-width="6.9" data-target-margin="0">            </div><span class="fv-bar-value-outside">138</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 90.85%; background-color: #FE9F58;" data-target-width="90.85" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1817</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.550000000000001%; background-color: #E33235;" data-target-width="6.550000000000001" data-target-margin="0">            </div><span class="fv-bar-value-outside">131</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 72.75%; background-color: #FE9F58;" data-target-width="72.75" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1455</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.65%; background-color: #E33235;" data-target-width="6.65" data-target-margin="0">            </div><span class="fv-bar-value-outside">133</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 65.35%; background-color: #FE9F58;" data-target-width="65.35" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1307</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 6.550000000000001%; background-color: #E33235;" data-target-width="6.550000000000001" data-target-margin="0">            </div><span class="fv-bar-value-outside">131</span></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 57.4%; background-color: #FE9F58;" data-target-width="57.4" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">1148</span></div>    </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>500</span><span>1,000</span><span>1,500</span><span>2,000</span></div>                    </div>    </div>        <table class="sr-only">            <caption>Cinebench 2024 Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>138 Single-core index score, 1817 Multi-core index score</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>131 Single-core index score, 1455 Multi-core index score</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>133 Single-core index score, 1307 Multi-core index score</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>131 Single-core index score, 1148 Multi-core index score</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759778846-57r33xpxt-bar-Blender 4.2.0" data-chart-type="Bar" data-title="Blender 4.2.0" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus - Blender 4.2.0: 132 Samples per minute">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 88%; background-color: #e97a7b;" data-target-width="88" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">132</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K - Blender 4.2.0: 97 Samples per minute">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 64.66666666666666%; background-color: #D07F46;" data-target-width="64.66666666666666" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">97</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D - Blender 4.2.0: 101 Samples per minute">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 67.33333333333333%; background-color: #66C5D7;" data-target-width="67.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">101</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X - Blender 4.2.0: 93 Samples per minute">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 62%; background-color: #1CA9C4;" data-target-width="62" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">93</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">Samples per minute</div>        </div>    </div>        <table class="sr-only">            <caption>Blender 4.2.0 Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>132</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>97</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>101</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>93</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759778846-57r33xpxt-bar-7zip" data-chart-type="Bar" data-title="7zip" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-multi-value-legend">                <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #E33235;"></div>                    <span>Compressing (GIPS)</span>                </div>                            <div class="fv-multi-legend-item">                    <div class="fv-multi-legend-swatch" style="background-color: #FE9F58;"></div>                    <span>Decompressing (GIPS)</span>                </div>            </div><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 98%; background-color: #E33235;" data-target-width="98" 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">147</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 97.33333333333334%; background-color: #FE9F58;" data-target-width="97.33333333333334" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">146</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 80.66666666666666%; background-color: #E33235;" data-target-width="80.66666666666666" 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">121</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 75.33333333333333%; background-color: #FE9F58;" data-target-width="75.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">113</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 88%; background-color: #E33235;" data-target-width="88" 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">132</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 94%; background-color: #FE9F58;" data-target-width="94" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">141</span></div>    </div></div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container fv-multi-bar-container">                        <div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 74.66666666666667%; background-color: #E33235;" data-target-width="74.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">112</span></div>    </div></div><div class="fv-multi-bar-item"><div class="fv-bar" style="margin-left: 0%; width: 87.33333333333333%; background-color: #FE9F58;" data-target-width="87.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">131</span></div>    </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>    </div>        <table class="sr-only">            <caption>7zip Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>147 Compressing (GIPS), 146 Decompressing (GIPS)</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>121 Compressing (GIPS), 113 Decompressing (GIPS)</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>132 Compressing (GIPS), 141 Decompressing (GIPS)</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>112 Compressing (GIPS), 131 Decompressing (GIPS)</td>            </tr></tbody>        </table></div></div><div class="fv-chart-item" id="fv-chart-1778759778846-57r33xpxt-bar-Handbrake 1.8.1" data-chart-type="Bar" data-title="Handbrake 1.8.1" data-subhead="" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row" title="Intel Core Ultra 5 250K Plus - Handbrake 1.8.1: 101 UHD > 1080p60 (fps)">                    <div class="fv-bar-label fv-primary-product">Intel Core Ultra 5 250K Plus</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 67.33333333333333%; background-color: #e97a7b;" data-target-width="67.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">101</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="Intel Core Ultra 5 245K - Handbrake 1.8.1: 85 UHD > 1080p60 (fps)">                    <div class="fv-bar-label ">Intel Core Ultra 5 245K</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 56.666666666666664%; background-color: #D07F46;" data-target-width="56.666666666666664" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">85</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9800X3D - Handbrake 1.8.1: 92 UHD > 1080p60 (fps)">                    <div class="fv-bar-label ">AMD Ryzen 7 9800X3D</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 61.33333333333333%; background-color: #66C5D7;" data-target-width="61.33333333333333" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">92</span></div>    </div>                    </div>                </div><div class="fv-bar-row" title="AMD Ryzen 7 9700X - Handbrake 1.8.1: 83 UHD > 1080p60 (fps)">                    <div class="fv-bar-label ">AMD Ryzen 7 9700X</div>                    <div class="fv-bar-container">                        <div class="fv-bar" style="margin-left: 0%; width: 55.333333333333336%; background-color: #1CA9C4;" data-target-width="55.333333333333336" data-target-margin="0">        <div class="fv-bar-inner-content" style="color: #1F2937 !important; text-shadow: none !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">83</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">UHD > 1080p60 (fps)</div>        </div>    </div>        <table class="sr-only">            <caption>Handbrake 1.8.1 Data</caption>            <thead><tr><th>Product</th><th>Value</th></tr></thead>            <tbody><tr>                <td>Intel Core Ultra 5 250K Plus</td>                <td>101</td>            </tr><tr>                <td>Intel Core Ultra 5 245K</td>                <td>85</td>            </tr><tr>                <td>AMD Ryzen 7 9800X3D</td>                <td>92</td>            </tr><tr>                <td>AMD Ryzen 7 9700X</td>                <td>83</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/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer 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() {      /*  Global animation function for slideshow re-use */      window.fvAnimateCharts = function(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                /*  Reset to 0 first to ensure animation triggers */                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                /*  Force reflow */                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); /*  Reduced initial delay */            });          }          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);              });            }            /*  Execute */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');                        charts.forEach(function(chart) {                /*  If in carousel/dropdown mode, hidden charts are display:none. */                /*  We only animate what is visible. */                if (window.getComputedStyle(chart).display === 'none') return;                                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });      };            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);                /*  In slideshow mode, 'root' will be null because the container has '-slideshow' suffix. */        /*  We handle that logic below. */        if (!root && !isSlideshow) return;                /*  Setup internal interactions (Carousel/Dropdown/LineChart) for a specific chart wrapper */        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) {                    /*  Fallback for when width isn't available yet (e.g., hidden tab) */                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    /*  Mobile if container is small OR if it's a physical mobile device (overriding fixed-width iframes) */                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        /*  Initial check */            checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        /*  Always add window resize listener as a reliable fallback for DevTools and edge cases */            window.addEventListener('resize', checkMobileView);                        /*  Labels on top handler */            var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                /*  If there are multiple charts and we're not in a carousel/dropdown, we might have mixed types. */                /*  But typically, labels-on-top is a global setting. We'll apply it initially,  */                /*  and showInternalChart will toggle it if needed. */                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 === '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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');                        var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');                                                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);            });            /*  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');                        /*  Text Elements */            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 === 'Line') {                                 /*  Line chart animations if needed */                             } else if (cType !== 'Pie') {                                 window.fvAnimateCharts(chartWrapper);                             }                                                          /*  Update labels-on-top based on current chart type */                             var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === '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;                                        /*  Update Subhead and Caption */                    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 || '';                                                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;                /*  Zoom state */                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();                    /*  Max pan depends on how much the image is scaled beyond the wrapper */                    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; /*  Prevent click after pinch */                    } 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 });                }                /*  Expand/Close Logic */                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.preventDefault(); // Removed to allow text selection */                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        /*  Load high-res images if available */                            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.preventDefault(); // Removed to allow text selection */                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                /*  Close on Escape */                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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        /*  Remove highlights */                    var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    /*  Remove min-height after transition */                    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');                        /*  Ensure container is tall enough */                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                /*  Highlight and scroll to item */                        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();                        }                    }                });            });            /*  Shop All button */            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    /*  Ensure container is tall enough */                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            /*  Close button in all products modal */            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            /*  Close modals when clicking outside */            chartWrapper.addEventListener('click', function(e) {                /*  Only close if clicking on the wrapper or container, not inside a modal content */                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 */            window.fvAnimateCharts(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 primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';                    var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';                                        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-1778759778846-57r33xpxt', false); });      } else {        initialize('fv-chart-1778759778846-57r33xpxt', false);      }    })();      </script></div><p>That makes this desktop PC a near-perfect all-rounder. You've got the might of a GeForce RTX 5080 for gaming and productivity, the punch of the 250KF Plus for all tasks, plus 32 GB of fast DDR5 to avoid memory worries.</p><p>The only thing that's genuinely disappointing here is the fact that you just get 1 TB of NVMe storage. In a $2,300 system. Yeah, the RAMpocalypse really does suck. Anyway, it's not clear what the exact make and model of motherboard is inside this system, but I'd be extremely surprised if it didn't have at least one more M.2 slot to throw in another SSD, when funds permit such an upgrade.</p><p>Now, if you <em>do</em> want this gaming PC with the same GPU, but a bigger SSD and a 9800X3D processor, then you're in luck, because Andromedia Insights has such a configuration for <a href="https://www.newegg.com/andromeda-insights-ultra-gaming-desktop-pcs-geforce-rtx-5080-amd-ryzen-7-9800x3d-32gb-ddr5-2tb-nvme-ssd-50-vector-black/p/3D5-006J-00058" target="_blank">$2,800 at Newegg</a>.</p><p>Is it worth $500 more than the one I've found? For some PC gamers, sure, but I'd prefer to keep the money and just enjoy this very neat-looking 250KF+5080 combo.</p><h2 id="check-out-all-of-newegg-s-gaming-pc-deals-here">👉<a href="https://www.newegg.com/Gaming-Desktop-PC/SubCategory/ID-3742" target="_blank">Check out all of Newegg's gaming PC deals here</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've reviewed tons of 4K webcams, and this Emeet one with a Sony sensor and built-in gimbal is the best value thanks to two separate price cuts ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="02990e42-16f3-4c17-8076-637d031e94c2" data-action="Deal Block" data-label="Pixy" data-dimension48="Pixy" data-dimension25="$89.99" href="https://www.amazon.com/gp/aw/d/B06X99NFRS?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ozDzes6en9bFkeXRZz7L7V" name="PCGamer Deal Block - 2025-09-10T135534.262" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ozDzes6en9bFkeXRZz7L7V-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/gp/aw/d/B06X99NFRS?th=1" target="_blank" rel="nofollow" data-dimension112="02990e42-16f3-4c17-8076-637d031e94c2" data-action="Deal Block" data-label="Pixy" data-dimension48="Pixy" data-dimension25="$89.99">Pixy: was $159.99 now $89.99</a></strong><br>I had the chance to test this webcam out last year, giving it an <a href="https://www.pcgamer.com/hardware/webcams/emeet-pixy-review" target="_blank">82% in my review</a>. It's not only well priced, but easy to set up, with very smart features and a genuinely pretty good microphone. With it being almost half its original price, I've yet to try a 4K webcam that can beat it on value. </p><p><strong>Key specs: 3840 x 2160 @ 30 fps, 1920 x 1080 @ 60 fps | 73° FOV | Sony 1/2.55-inch sensor | USB Type-C</strong><a class="view-deal button" href="https://www.amazon.com/gp/aw/d/B06X99NFRS?th=1" target="_blank" rel="nofollow" data-dimension112="02990e42-16f3-4c17-8076-637d031e94c2" data-action="Deal Block" data-label="Pixy" data-dimension48="Pixy" data-dimension25="$89.99">View Deal</a></p></div><p>The <a href="https://www.pcgamer.com/hardware/webcams/yololiv-yolocam-s3-webcam-review/" target="_blank">Yololiv Yolocam S3</a>, <a href="https://www.pcgamer.com/hardware/webcams/insta360-link-2c-review/" target="_blank">Insta360 Link 2C</a> (and Link 2), the <a href="https://www.pcgamer.com/hardware/webcams/obsbot-meet-2-review/">Obsbot Meet 2</a> and <a href="https://www.pcgamer.com/hardware/webcams/obsbot-tiny-2-lite-review/" target="_blank">Tiny 2 Lite</a>; I'm even currently testing the Razer Kiyo V2. I've had my grubby mitts on so many 4K webcams, I've developed a good sense of what you should be paying for that resolution. </p><p>With that all in mind, <a href="https://www.pcgamer.com/hardware/webcams/emeet-pixy-review/" target="_blank">Emeet's Pixy</a> has not only received a new lower base price on Amazon, but a $10 discount on top of that. This, in my opinion, makes it the best value 4K webcam out there, at<a href="https://www.amazon.com/gp/aw/d/B06X99NFRS?th=1" target="_blank"> just $90 on sale at Amazon</a>. </p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>I even thought its price point was solid when it fetched $160, but I was happy to see that its listing on Amazon dropped to a base price of $100. That means, although you are only getting a $10 discount on paper, it's $70 less than what you would pay for it just a short while ago. That means it even beats out the Obsbot Meet 2, which I praised for its "near unbeatable value" in early 2025. </p><p>The Sony sensor in the webcam is super solid, producing a clear and well-lit capture. As a point of comparison, I did find it brighter than the Obsbot Tiny 2 Lite, and I liked it less for that, but it has solid quality regardless of my personal preferences. I found it to pick up the texture of my hair better than the Tiny 2 Lite, though the Lite deals with light a bit better.</p><p>The webcam is sat on a gimbal, which means its solid AI tracking can literally follow you around the room, should you want it to. It also has a super quick autofocus, in case you find yourself in need of something that can lock onto you in a moment. This is all helped by the fact that it's easy to set up and comes with a firm stand too. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/TxJQ9b4zgxZK2AEqCsK7wn-1920-80.jpg" alt="The Emeet Pixy 4K webcam" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/D2YuLWSBfR8fB6GQrCKBTQ-1920-80.jpg" alt="A side by side comparison of the Obsbot Tiny 2 Lite and the Emeet Pixy" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4yk6BDhZtnqJvYAdxvJaPJ-1920-80.jpg" alt="A side by side comparison of the Obsbot Tiny 2 Lite and the Emeet Pixy" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Should you not want to clip it on top of a monitor, that stand also comes with threading, so you can pop it in a tripod. For a quick meeting, it's arguably much better than what you will need, with its mic quality being surprisingly good. Some conference software packages don't support 4K, so you may be forced to use the webcam at 1080p. However, that price is so good that it beats out non-4K options for the price, too (here's looking at you, <a href="https://www.pcgamer.com/hardware/webcams/razer-kiyo-v2-x-review/" target="_blank">Razer Kiyo V2 X</a>). </p><p>I did find its lack of a physical privacy filter a little annoying (you have to push the cam down or let the software do it for some privacy). I also find most of its AI features utterly pointless. It can generate rough scripts (that I found lacking in quality) and you can use hand gestures to operate it, but I'd generally recommend using the Pixy like a normal webcam and ignoring the AI functions entirely. </p><p>Still, as a standard webcam, with the option to pop it on for a live stream or even record a quick video, the Emeet Pixy punches far above its weight at this reduced price, and I can't name a single 4K webcam that offers better value right now. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/webcams/ive-reviewed-tons-of-4k-webcams-and-this-emeet-one-with-a-sony-sensor-and-built-in-gimbal-is-the-best-value-thanks-to-two-separate-price-cuts/</link>
                                                                            <description>
                            <![CDATA[ At $90, it's almost half the price I reviewed it at last year. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">fwY4xGyMXp8ciE5p8iZu89</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/bAJ4kYgDRCuyvuXMtozhfU-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 13 May 2026 12:17:26 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Webcams]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Streaming]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&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/bAJ4kYgDRCuyvuXMtozhfU-1920-80.jpg">
                                                            <media:credit><![CDATA[Emeet]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Emeet Pixy webcam on a pink deals background]]></media:description>                                                            <media:text><![CDATA[Emeet Pixy webcam on a pink deals background]]></media:text>
                                <media:title type="plain"><![CDATA[Emeet Pixy webcam on a pink deals background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/bAJ4kYgDRCuyvuXMtozhfU-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="02990e42-16f3-4c17-8076-637d031e94c2" data-action="Deal Block" data-label="Pixy" data-dimension48="Pixy" data-dimension25="$89.99" href="https://www.amazon.com/gp/aw/d/B06X99NFRS?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ozDzes6en9bFkeXRZz7L7V" name="PCGamer Deal Block - 2025-09-10T135534.262" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ozDzes6en9bFkeXRZz7L7V-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/gp/aw/d/B06X99NFRS?th=1" target="_blank" rel="nofollow" data-dimension112="02990e42-16f3-4c17-8076-637d031e94c2" data-action="Deal Block" data-label="Pixy" data-dimension48="Pixy" data-dimension25="$89.99">Pixy: was $159.99 now $89.99</a></strong><br>I had the chance to test this webcam out last year, giving it an <a href="https://www.pcgamer.com/hardware/webcams/emeet-pixy-review" target="_blank">82% in my review</a>. It's not only well priced, but easy to set up, with very smart features and a genuinely pretty good microphone. With it being almost half its original price, I've yet to try a 4K webcam that can beat it on value. </p><p><strong>Key specs: 3840 x 2160 @ 30 fps, 1920 x 1080 @ 60 fps | 73° FOV | Sony 1/2.55-inch sensor | USB Type-C</strong><a class="view-deal button" href="https://www.amazon.com/gp/aw/d/B06X99NFRS?th=1" target="_blank" rel="nofollow" data-dimension112="02990e42-16f3-4c17-8076-637d031e94c2" data-action="Deal Block" data-label="Pixy" data-dimension48="Pixy" data-dimension25="$89.99">View Deal</a></p></div><p>The <a href="https://www.pcgamer.com/hardware/webcams/yololiv-yolocam-s3-webcam-review/" target="_blank">Yololiv Yolocam S3</a>, <a href="https://www.pcgamer.com/hardware/webcams/insta360-link-2c-review/" target="_blank">Insta360 Link 2C</a> (and Link 2), the <a href="https://www.pcgamer.com/hardware/webcams/obsbot-meet-2-review/">Obsbot Meet 2</a> and <a href="https://www.pcgamer.com/hardware/webcams/obsbot-tiny-2-lite-review/" target="_blank">Tiny 2 Lite</a>; I'm even currently testing the Razer Kiyo V2. I've had my grubby mitts on so many 4K webcams, I've developed a good sense of what you should be paying for that resolution. </p><p>With that all in mind, <a href="https://www.pcgamer.com/hardware/webcams/emeet-pixy-review/" target="_blank">Emeet's Pixy</a> has not only received a new lower base price on Amazon, but a $10 discount on top of that. This, in my opinion, makes it the best value 4K webcam out there, at<a href="https://www.amazon.com/gp/aw/d/B06X99NFRS?th=1" target="_blank"> just $90 on sale at Amazon</a>. </p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>I even thought its price point was solid when it fetched $160, but I was happy to see that its listing on Amazon dropped to a base price of $100. That means, although you are only getting a $10 discount on paper, it's $70 less than what you would pay for it just a short while ago. That means it even beats out the Obsbot Meet 2, which I praised for its "near unbeatable value" in early 2025. </p><p>The Sony sensor in the webcam is super solid, producing a clear and well-lit capture. As a point of comparison, I did find it brighter than the Obsbot Tiny 2 Lite, and I liked it less for that, but it has solid quality regardless of my personal preferences. I found it to pick up the texture of my hair better than the Tiny 2 Lite, though the Lite deals with light a bit better.</p><p>The webcam is sat on a gimbal, which means its solid AI tracking can literally follow you around the room, should you want it to. It also has a super quick autofocus, in case you find yourself in need of something that can lock onto you in a moment. This is all helped by the fact that it's easy to set up and comes with a firm stand too. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/TxJQ9b4zgxZK2AEqCsK7wn-1920-80.jpg" alt="The Emeet Pixy 4K webcam" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/D2YuLWSBfR8fB6GQrCKBTQ-1920-80.jpg" alt="A side by side comparison of the Obsbot Tiny 2 Lite and the Emeet Pixy" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4yk6BDhZtnqJvYAdxvJaPJ-1920-80.jpg" alt="A side by side comparison of the Obsbot Tiny 2 Lite and the Emeet Pixy" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Should you not want to clip it on top of a monitor, that stand also comes with threading, so you can pop it in a tripod. For a quick meeting, it's arguably much better than what you will need, with its mic quality being surprisingly good. Some conference software packages don't support 4K, so you may be forced to use the webcam at 1080p. However, that price is so good that it beats out non-4K options for the price, too (here's looking at you, <a href="https://www.pcgamer.com/hardware/webcams/razer-kiyo-v2-x-review/" target="_blank">Razer Kiyo V2 X</a>). </p><p>I did find its lack of a physical privacy filter a little annoying (you have to push the cam down or let the software do it for some privacy). I also find most of its AI features utterly pointless. It can generate rough scripts (that I found lacking in quality) and you can use hand gestures to operate it, but I'd generally recommend using the Pixy like a normal webcam and ignoring the AI functions entirely. </p><p>Still, as a standard webcam, with the option to pop it on for a live stream or even record a quick video, the Emeet Pixy punches far above its weight at this reduced price, and I can't name a single 4K webcam that offers better value right now. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ As component prices continue to rise you can still somehow get an RX 9070 XT gaming PC for $1,500 ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="2b580de2-1b74-4538-b634-30a049f753e1" data-action="Deal Block" data-label="Rampage | RX 9070 XT" data-dimension48="Rampage | RX 9070 XT" data-dimension25="$1499.99" href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:719px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="H645qxYTi3DZV6WptyS7bn" name="Rampage | RX 9070 XT" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/H645qxYTi3DZV6WptyS7bn-1920-80.png" mos="" align="middle" fullscreen="" width="719" height="719" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank" rel="nofollow" data-dimension112="2b580de2-1b74-4538-b634-30a049f753e1" data-action="Deal Block" data-label="Rampage | RX 9070 XT" data-dimension48="Rampage | RX 9070 XT" data-dimension25="$1499.99">Rampage | RX 9070 XT: was $1799.99 now $1499.99</a></strong><br>RX 9070 XT gaming PCs like this one seem to be an ideal pick in the current market. This build is offering a relatively high-end CPU and a definitely high-end GPU for a very reasonable price. Just note that it is a bit of a glass cannon thanks to that 16 GB of DDR5 memory. More RAM would be nice, but if you keep other things closed while you game, it should perform really well.</p><p><strong>Key specs: Ryzen 7 7700X | RX 9070 XT | 16 GB DDR5-6000 | 1 TB SSD</strong><a class="view-deal button" href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank" rel="nofollow" data-dimension112="2b580de2-1b74-4538-b634-30a049f753e1" data-action="Deal Block" data-label="Rampage | RX 9070 XT" data-dimension48="Rampage | RX 9070 XT" data-dimension25="$1499.99">View Deal</a></p></div><p>Just as I thought we'd seen the last of genuinely high-end rigs for $1,500, an AMD RX 9070 XT build has once again sprung a very pleasant surprise. I spent a lot of time at the start of the year harping on about RX 9070 XT rigs, because while memory shortage-induced price hikes abounded, many of these AMD gaming PCs somehow held out. </p><p>But even that started to change, and lately most decent <a href="https://www.pcgamer.com/hardware/graphics-cards/amd-radeon-rx-9700-xt-review-asus-prime-oc/" target="_blank">RX 9070 XT</a> gaming PCs have been pushing $2,000. Not here, though; here we're getting one for just <a href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank">$1,500 at Newegg</a> with this $300 discount.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>To give some context, right now you're mostly looking at RTX 5070 and even RTX 5060 Ti rigs if you're around the $1,500 mark. The RX 9070 XT is (very roughly) about 10–20% faster than the RTX 5070 on average, and performs about as well as an RTX 5070 Ti, excluding ray tracing performance and Multi Frame Gen (MFG).</p><p>I've personally been using an RX 9070 XT for the last few weeks and have been more than happy with it. Sure, you're not getting widespread FSR 4 support, and I'd still feel more secure with Nvidia drivers, but for simply booting into a game and having it be playable, it's fantastic. Whether you're at 1080p, 1440p, or even 4K in many titles, you shouldn't struggle at all to hit smooth frame rates.</p><iframe allow="" height="700px" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://flo.uri.sh/story/2950225/embed"></iframe><p>Let's talk about the obvious downside to this build, though: you're only getting 16 GB of RAM. That's not great for a high-end build, but it <em>is </em>a worthy sacrifice to <em>get </em>a high-end build for this price tag. Our Nick did <a href="https://www.pcgamer.com/hardware/memory/my-testing-shows-that-16-gb-of-system-memory-is-still-absolutely-fine-for-todays-pc-games-but-there-are-some-caveats-to-it-all/" target="_blank">plenty of testing</a> to compare different RAM configurations and found, perhaps surprisingly, that if you're only running games with nothing else in the background, in most cases you won't suffer much at all from having just 16 GB of RAM compared to 32 GB.</p><p>You're also getting a CPU that's still pretty decent today in the form of the eight-core <a href="https://www.pcgamer.com/amd-ryzen-7-7700x-review-benchmarks/" target="_blank">Ryzen 7 7700X</a>. It's AM5, too, so you'll be good to go ahead and upgrade to a <a href="https://www.pcgamer.com/hardware/processors/amd-ryzen-7-9800x3d-review/" target="_blank">Ryzen 7 9800X3D</a> whenever you fancy.</p><p>If you want to multitask and do some productivity tasks, then upgrading your RAM to 32 GB will be all but a necessity, which of course won't be cheap during the <a href="https://www.pcgamer.com/hardware/memory/ram-and-storage-is-ridiculously-expensive-right-now-because-of-drumroll-ai-of-course-and-theres-little-reason-to-think-prices-will-drop-any-time-soon/" target="_blank">RAMpocalypse</a>. But for using as a pure gaming rig, this Skytech build is a genuine steal for $1,500. </p><h2 id="check-out-all-of-newegg-s-gaming-pc-deals">👉 <a href="https://www.newegg.com/p/pl?d=gaming+pc&N=4131" target="_blank">Check out all of Newegg's gaming PC deals</a> 👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-pcs/as-component-prices-continue-to-rise-you-can-still-somehow-get-an-rx-9070-xt-gaming-pc-for-usd1-500/</link>
                                                                            <description>
                            <![CDATA[ Though it's only really worth it for gaming, not productivity. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Dy3i58jHLva7UTjwdfjPzJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ixeQnyDq9E22w9jbGo9Fdb-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 11 May 2026 13:16:02 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming PCs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Fox ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob&#039;s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world&#039;s #1 PC Gaming site full-time. It&#039;s definitely not an ego thing, he assures us.&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/ixeQnyDq9E22w9jbGo9Fdb-1920-80.jpg">
                                                            <media:credit><![CDATA[Skytech]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A Skytech Rampage gaming PC on a custom PC Gamer Deals background.]]></media:description>                                                            <media:text><![CDATA[A Skytech Rampage gaming PC on a custom PC Gamer Deals background.]]></media:text>
                                <media:title type="plain"><![CDATA[A Skytech Rampage gaming PC on a custom PC Gamer Deals background.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ixeQnyDq9E22w9jbGo9Fdb-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="2b580de2-1b74-4538-b634-30a049f753e1" data-action="Deal Block" data-label="Rampage | RX 9070 XT" data-dimension48="Rampage | RX 9070 XT" data-dimension25="$1499.99" href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:719px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="H645qxYTi3DZV6WptyS7bn" name="Rampage | RX 9070 XT" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/H645qxYTi3DZV6WptyS7bn-1920-80.png" mos="" align="middle" fullscreen="" width="719" height="719" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank" rel="nofollow" data-dimension112="2b580de2-1b74-4538-b634-30a049f753e1" data-action="Deal Block" data-label="Rampage | RX 9070 XT" data-dimension48="Rampage | RX 9070 XT" data-dimension25="$1499.99">Rampage | RX 9070 XT: was $1799.99 now $1499.99</a></strong><br>RX 9070 XT gaming PCs like this one seem to be an ideal pick in the current market. This build is offering a relatively high-end CPU and a definitely high-end GPU for a very reasonable price. Just note that it is a bit of a glass cannon thanks to that 16 GB of DDR5 memory. More RAM would be nice, but if you keep other things closed while you game, it should perform really well.</p><p><strong>Key specs: Ryzen 7 7700X | RX 9070 XT | 16 GB DDR5-6000 | 1 TB SSD</strong><a class="view-deal button" href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank" rel="nofollow" data-dimension112="2b580de2-1b74-4538-b634-30a049f753e1" data-action="Deal Block" data-label="Rampage | RX 9070 XT" data-dimension48="Rampage | RX 9070 XT" data-dimension25="$1499.99">View Deal</a></p></div><p>Just as I thought we'd seen the last of genuinely high-end rigs for $1,500, an AMD RX 9070 XT build has once again sprung a very pleasant surprise. I spent a lot of time at the start of the year harping on about RX 9070 XT rigs, because while memory shortage-induced price hikes abounded, many of these AMD gaming PCs somehow held out. </p><p>But even that started to change, and lately most decent <a href="https://www.pcgamer.com/hardware/graphics-cards/amd-radeon-rx-9700-xt-review-asus-prime-oc/" target="_blank">RX 9070 XT</a> gaming PCs have been pushing $2,000. Not here, though; here we're getting one for just <a href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank">$1,500 at Newegg</a> with this $300 discount.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>To give some context, right now you're mostly looking at RTX 5070 and even RTX 5060 Ti rigs if you're around the $1,500 mark. The RX 9070 XT is (very roughly) about 10–20% faster than the RTX 5070 on average, and performs about as well as an RTX 5070 Ti, excluding ray tracing performance and Multi Frame Gen (MFG).</p><p>I've personally been using an RX 9070 XT for the last few weeks and have been more than happy with it. Sure, you're not getting widespread FSR 4 support, and I'd still feel more secure with Nvidia drivers, but for simply booting into a game and having it be playable, it's fantastic. Whether you're at 1080p, 1440p, or even 4K in many titles, you shouldn't struggle at all to hit smooth frame rates.</p><iframe allow="" height="700px" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://flo.uri.sh/story/2950225/embed"></iframe><p>Let's talk about the obvious downside to this build, though: you're only getting 16 GB of RAM. That's not great for a high-end build, but it <em>is </em>a worthy sacrifice to <em>get </em>a high-end build for this price tag. Our Nick did <a href="https://www.pcgamer.com/hardware/memory/my-testing-shows-that-16-gb-of-system-memory-is-still-absolutely-fine-for-todays-pc-games-but-there-are-some-caveats-to-it-all/" target="_blank">plenty of testing</a> to compare different RAM configurations and found, perhaps surprisingly, that if you're only running games with nothing else in the background, in most cases you won't suffer much at all from having just 16 GB of RAM compared to 32 GB.</p><p>You're also getting a CPU that's still pretty decent today in the form of the eight-core <a href="https://www.pcgamer.com/amd-ryzen-7-7700x-review-benchmarks/" target="_blank">Ryzen 7 7700X</a>. It's AM5, too, so you'll be good to go ahead and upgrade to a <a href="https://www.pcgamer.com/hardware/processors/amd-ryzen-7-9800x3d-review/" target="_blank">Ryzen 7 9800X3D</a> whenever you fancy.</p><p>If you want to multitask and do some productivity tasks, then upgrading your RAM to 32 GB will be all but a necessity, which of course won't be cheap during the <a href="https://www.pcgamer.com/hardware/memory/ram-and-storage-is-ridiculously-expensive-right-now-because-of-drumroll-ai-of-course-and-theres-little-reason-to-think-prices-will-drop-any-time-soon/" target="_blank">RAMpocalypse</a>. But for using as a pure gaming rig, this Skytech build is a genuine steal for $1,500. </p><h2 id="check-out-all-of-newegg-s-gaming-pc-deals">👉 <a href="https://www.newegg.com/p/pl?d=gaming+pc&N=4131" target="_blank">Check out all of Newegg's gaming PC deals</a> 👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ For one day only, this super-speedy external SSD has nearly 50% hacked off its RAMpocalypse price ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="SL500" data-dimension48="SL500" data-dimension25="$140" href="https://www.bhphotovideo.com/c/product/1933038-REG/lexar_lsl500m001t_rnbng_sl500_usb_3_2_gen2x2.html" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ihdBM9ZVXSxVnTLW9oNx6X" name="lexar_sl500_external_ssd" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ihdBM9ZVXSxVnTLW9oNx6X-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bhphotovideo.com/c/product/1933038-REG/lexar_lsl500m001t_rnbng_sl500_usb_3_2_gen2x2.html" target="_blank" rel="nofollow" data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="SL500" data-dimension48="SL500" data-dimension25="$140">SL500: was $264.99 now $140</a></strong><br>Slim and lightweight, this Lexar portable SSD is a great way to expand your laptop's meager Steam storage. You need a 20 Gbps USB port to reach its full performance, though, but at least it's pretty robust. The <a href="https://www.bhphotovideo.com/c/product/1933039-REG/lexar_lsl500m002t_rnbng_sl500_usb_3_2_gen2x2.html" target="_blank">2 TB model is available for $215</a>, also at B&H.</p><p><strong>Price check:</strong> <a href="https://www.amazon.com/Lexar-Compatible-Smartphones-Lightweight-LSL500X001T-RNBNU/dp/B0D813W97R/" target="_blank">Amazon $244.99</a></p><p><strong>Key specs: 1 TB | USB 3.2 Gen 2x2 Type-C | 2,000 MB/s read | 1,800 MB/s write | MagSafe compatible | IP54 rated</strong><a class="view-deal button" href="https://www.bhphotovideo.com/c/product/1933038-REG/lexar_lsl500m001t_rnbng_sl500_usb_3_2_gen2x2.html" target="_blank" rel="nofollow" data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="SL500" data-dimension48="SL500" data-dimension25="$140">View Deal</a></p></div><p>With the RAMpocalypse doing its very best to make PC gaming less affordable by the week, you need to keep an eye out for great deals to help your pennies go further. While this isn't a return to the days of super-cheap SSDs, less than a year ago, you can't say no to a massive 47% discount on a 1 TB Lexar SL500, just <a href="https://www.bhphotovideo.com/c/product/1933038-REG/lexar_lsl500m001t_rnbng_sl500_usb_3_2_gen2x2.html" target="_blank">$140 at B&H</a>. And if that's not enough storage for you, then how about a 49% saving on the 2 TB version, for <a href="https://www.bhphotovideo.com/c/product/1933039-REG/lexar_lsl500m002t_rnbng_sl500_usb_3_2_gen2x2.html" target="_blank">$215 at B&H</a>?</p><p>There's just one catch, though: Both external SSDs are <em>only</em> available at these prices for just today, May 10.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>That's pretty much it for downsides, fortunately, as the Lexar SL500 is a really solid portable SSD, and thanks to its USB 3.2 Gen 2x2 (20 Gbps) interface, it's an ideal way for expanding the storage of any gaming PC. This is especially true if your rig is a laptop or handheld device, as these often come with just one M.2 slot for an NVMe drive.</p><p>It's important to note that you'll only see those impressive read/write speeds if the SL500 is plugged into a USB port that's rated to 20 Gbps or faster. Lots of PCs claim to have 'USB 3.2' sockets, but they're often just 10 Gbps or even just 5 Gbps. It won't harm the drive in anyway; it just won't be able to shift data around at full speed.</p><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:50.00%;"><img id="JakaP9RnQMyNdRdFGAqdbc" name="lexar_sl500_external_ssd_02" alt="A pair of promotional images highlighting some of the features of the Lexar SL500 external SSD" src="https://cdn.mos.cms.futurecdn.net/JakaP9RnQMyNdRdFGAqdbc-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="960" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Lexar)</span></figcaption></figure><p>With an IP54 rating for dust and water, and a supplied rubber case to help it survive drops of up to six feet, six inches, the Lexar SL500 is a tough little cookie, too. Plus, it's MagSafe compatible, so you can slap it onto the rear of your iPhone 12 or newer (or even a laptop, if it has a metal body), and use it to store any 4K videos you've just taken.</p><p>Alas, after today, this deal will be no more, but where there's one, you know there will be others, and as soon as we spot them, we'll be sure to flag them up.</p><h2 id="find-all-of-b-amp-h-s-internal-and-external-ssd-deals-here">👉<a href="https://www.bhphotovideo.com/c/browse/ssds/ci/30900" target="_blank">Find all of B&H's internal and external SSD deals here</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/ssds/for-one-day-only-this-super-speedy-external-ssd-has-nearly-50-percent-hacked-off-its-rampocalypse-price-tag/</link>
                                                                            <description>
                            <![CDATA[ The perfect way to add more storage to your gaming laptop. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">GhVeG7QZbk34caEq9kjX4f</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/mx2z5pe4ZsiKaWh6Hx5Cpi-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 10 May 2026 07:53:45 +0000</pubDate>                                                                                                                                <updated>Sun, 10 May 2026 07:53:57 +0000</updated>
                                                                                                                                            <category><![CDATA[SSDs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Storage]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nick Evanson ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HH5qHxdCSKxFpY2HXp2Q5K-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick, gaming, and computers all first met in the early 1980s. After leaving university, he became a physics and IT teacher and started writing about tech in the late 1990s. That resulted in him working with MadOnion to write the help files for 3DMark and PCMark. After a short stint working at Beyond3D.com, Nick joined Futuremark (MadOnion rebranded) full-time, as editor-in-chief for its PC gaming section, YouGamers. After the site shutdown, he became an engineering and computing lecturer for many years, but missed the writing bug. Cue four years at TechSpot.com covering everything and anything to do with tech and PCs. He freely admits to being far too obsessed with GPUs and open-world grindy RPGs, but who isn&#039;t these days?&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/mx2z5pe4ZsiKaWh6Hx5Cpi-1920-80.jpg">
                                                            <media:credit><![CDATA[Lexar]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An image of a Lexar SL500 external SSD, against a colorful background with the phrase &#039;Deals&#039; on the right, above a PC Gamer logo]]></media:description>                                                            <media:text><![CDATA[An image of a Lexar SL500 external SSD, against a colorful background with the phrase &#039;Deals&#039; on the right, above a PC Gamer logo]]></media:text>
                                <media:title type="plain"><![CDATA[An image of a Lexar SL500 external SSD, against a colorful background with the phrase &#039;Deals&#039; on the right, above a PC Gamer logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/mx2z5pe4ZsiKaWh6Hx5Cpi-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="SL500" data-dimension48="SL500" data-dimension25="$140" href="https://www.bhphotovideo.com/c/product/1933038-REG/lexar_lsl500m001t_rnbng_sl500_usb_3_2_gen2x2.html" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ihdBM9ZVXSxVnTLW9oNx6X" name="lexar_sl500_external_ssd" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ihdBM9ZVXSxVnTLW9oNx6X-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bhphotovideo.com/c/product/1933038-REG/lexar_lsl500m001t_rnbng_sl500_usb_3_2_gen2x2.html" target="_blank" rel="nofollow" data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="SL500" data-dimension48="SL500" data-dimension25="$140">SL500: was $264.99 now $140</a></strong><br>Slim and lightweight, this Lexar portable SSD is a great way to expand your laptop's meager Steam storage. You need a 20 Gbps USB port to reach its full performance, though, but at least it's pretty robust. The <a href="https://www.bhphotovideo.com/c/product/1933039-REG/lexar_lsl500m002t_rnbng_sl500_usb_3_2_gen2x2.html" target="_blank">2 TB model is available for $215</a>, also at B&H.</p><p><strong>Price check:</strong> <a href="https://www.amazon.com/Lexar-Compatible-Smartphones-Lightweight-LSL500X001T-RNBNU/dp/B0D813W97R/" target="_blank">Amazon $244.99</a></p><p><strong>Key specs: 1 TB | USB 3.2 Gen 2x2 Type-C | 2,000 MB/s read | 1,800 MB/s write | MagSafe compatible | IP54 rated</strong><a class="view-deal button" href="https://www.bhphotovideo.com/c/product/1933038-REG/lexar_lsl500m001t_rnbng_sl500_usb_3_2_gen2x2.html" target="_blank" rel="nofollow" data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="SL500" data-dimension48="SL500" data-dimension25="$140">View Deal</a></p></div><p>With the RAMpocalypse doing its very best to make PC gaming less affordable by the week, you need to keep an eye out for great deals to help your pennies go further. While this isn't a return to the days of super-cheap SSDs, less than a year ago, you can't say no to a massive 47% discount on a 1 TB Lexar SL500, just <a href="https://www.bhphotovideo.com/c/product/1933038-REG/lexar_lsl500m001t_rnbng_sl500_usb_3_2_gen2x2.html" target="_blank">$140 at B&H</a>. And if that's not enough storage for you, then how about a 49% saving on the 2 TB version, for <a href="https://www.bhphotovideo.com/c/product/1933039-REG/lexar_lsl500m002t_rnbng_sl500_usb_3_2_gen2x2.html" target="_blank">$215 at B&H</a>?</p><p>There's just one catch, though: Both external SSDs are <em>only</em> available at these prices for just today, May 10.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>That's pretty much it for downsides, fortunately, as the Lexar SL500 is a really solid portable SSD, and thanks to its USB 3.2 Gen 2x2 (20 Gbps) interface, it's an ideal way for expanding the storage of any gaming PC. This is especially true if your rig is a laptop or handheld device, as these often come with just one M.2 slot for an NVMe drive.</p><p>It's important to note that you'll only see those impressive read/write speeds if the SL500 is plugged into a USB port that's rated to 20 Gbps or faster. Lots of PCs claim to have 'USB 3.2' sockets, but they're often just 10 Gbps or even just 5 Gbps. It won't harm the drive in anyway; it just won't be able to shift data around at full speed.</p><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:50.00%;"><img id="JakaP9RnQMyNdRdFGAqdbc" name="lexar_sl500_external_ssd_02" alt="A pair of promotional images highlighting some of the features of the Lexar SL500 external SSD" src="https://cdn.mos.cms.futurecdn.net/JakaP9RnQMyNdRdFGAqdbc-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="960" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Lexar)</span></figcaption></figure><p>With an IP54 rating for dust and water, and a supplied rubber case to help it survive drops of up to six feet, six inches, the Lexar SL500 is a tough little cookie, too. Plus, it's MagSafe compatible, so you can slap it onto the rear of your iPhone 12 or newer (or even a laptop, if it has a metal body), and use it to store any 4K videos you've just taken.</p><p>Alas, after today, this deal will be no more, but where there's one, you know there will be others, and as soon as we spot them, we'll be sure to flag them up.</p><h2 id="find-all-of-b-amp-h-s-internal-and-external-ssd-deals-here">👉<a href="https://www.bhphotovideo.com/c/browse/ssds/ci/30900" target="_blank">Find all of B&H's internal and external SSD deals here</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've found cracking deals on two RTX 5070 gaming laptops—both with 32 GB of RAM and both for under $1,500 ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Once upon a time, I was an Acer gaming laptop girlie. As a uni student, having that sort of hardware power at my fingertips and on the go was pretty essential—the fact it could also play The Sims 4 on reasonably high settings was revolutionary for me at the time. As an ageing gamer, I've settled into that desktop life, but gaming laptops certainly haven't lost their appeal.</p><p>As such, I have not one but two gaming laptop deals for you today. </p><h3 class="article-body__section" id="section-quick-list"><span>Quick list</span></h3><ul><li><strong>Acer Nitro V 16 | </strong><a href="https://www.amazon.com/dp/B0FKPQNGC8" target="_blank"><strong>RTX 5070 (85 W) | $1,400 (save $100)</strong></a></li><li><strong>Lenovo Legion 5i | </strong><a href="https://www.bhphotovideo.com/c/product/1875945-REG/lenovo_83f00007us_15_1_legion_5i_gaming.html" target="_blank"><strong>RTX 5070 (115 W) | $1,500 (save $501)</strong></a></li></ul><h3 class="article-body__section" id="section-gaming-laptop-deals"><span>Gaming laptop deals</span></h3><div class="product"><a data-dimension112="3764e346-e67a-43c0-932a-7dc1da5df962" data-action="Deal Block" data-label="Nitro V 16 | RTX 5070 (85 W)" data-dimension48="Nitro V 16 | RTX 5070 (85 W)" data-dimension25="$1399.99" href="https://www.amazon.com/dp/B0FKPQNGC8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ZMBFWDbGe3kLiWaFSKfvyW" name="acer_nitro_v_16s_gaming_laptop" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZMBFWDbGe3kLiWaFSKfvyW-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FKPQNGC8" target="_blank" rel="nofollow" data-dimension112="3764e346-e67a-43c0-932a-7dc1da5df962" data-action="Deal Block" data-label="Nitro V 16 | RTX 5070 (85 W)" data-dimension48="Nitro V 16 | RTX 5070 (85 W)" data-dimension25="$1399.99">Nitro V 16 | RTX 5070 (85 W): was $1499.99 now $1399.99</a></strong><br>In these RAMpocalypse-infested times, you have to sacrifice something to get a decent gaming laptop at an affordable price, and in this case, it's the GPU's power limit—just 85 W, which lowers the chip's full capabilities. At least everything else is nice for the money, and it's nice and skinny, too. The cheapest RTX 5070 gaming laptop around I'd actually buy? I reckon so.</p><p><strong>Key specs: RTX 5070 (85 W) | Core 7 270H | 16-inch | 165 Hz | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FKPQNGC8" target="_blank" rel="nofollow" data-dimension112="3764e346-e67a-43c0-932a-7dc1da5df962" data-action="Deal Block" data-label="Nitro V 16 | RTX 5070 (85 W)" data-dimension48="Nitro V 16 | RTX 5070 (85 W)" data-dimension25="$1399.99">View Deal</a></p></div><p>I'm going to start with the Acer Nitro V 16 Gaming Laptop for more reasons beyond simple nostalgia. The headline here is that this is an RTX 5070 gaming laptop with a <em>tasty</em> 32 GB of DDR5 RAM. With the still very much raging <a href="https://www.pcgamer.com/hardware/memory/ram-and-storage-is-ridiculously-expensive-right-now-because-of-drumroll-ai-of-course-and-theres-little-reason-to-think-prices-will-drop-any-time-soon/" target="_blank">memory supply crisis</a>, that's steadily becoming a rarer sight these days, so if you have the budget you may want to <a href="https://www.amazon.com/dp/B0FKPQNGC8" target="_blank">scoop this gaming laptop up for $1,400 from Amazon</a>.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>If you need something to handle both notes, meeting, and more alongside many midnight <a href="https://www.pcgamer.com/marathon/" target="_blank">Marathon</a> matches, you're in good hands with the Acer Nitro V 16. It's worth noting that, though very similar to the <a href="https://www.pcgamer.com/hardware/gaming-laptops/acer-nitro-v-16-ai-review/" target="_blank">Acer Nitro V 16 AI</a> our Zak rated, this deal actually <a href="https://www.acer.com/us-en/laptops/nitro/nitro-v-16/pdp/NH.U2FAA.003#pdpOverview" target="_blank">concerns a slightly different model number</a> that isn't strictly speaking a Copilot+ AI PC. Along similar lines, the subject of this deal enjoys an Intel Core 9 270H CPU rather than any hardware from team red.</p><p>Furthermore, poking around the specs sheet reveals that this model only enjoys a 'maximum graphics power' of 85 Watts. </p><div class="product"><a data-dimension112="b842cebd-62dc-40a1-ab3e-ce15d7523a02" data-action="Deal Block" data-label="Legion 5i | RTX 5070 (115 W)" data-dimension48="Legion 5i | RTX 5070 (115 W)" data-dimension25="$1499" href="https://www.bhphotovideo.com/c/product/1875945-REG/lenovo_83f00007us_15_1_legion_5i_gaming.html" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="PWRVyf4r9vnEQdL38xcbXW" name="LenovoLegionPro5i" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PWRVyf4r9vnEQdL38xcbXW-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bhphotovideo.com/c/product/1875945-REG/lenovo_83f00007us_15_1_legion_5i_gaming.html" target="_blank" rel="nofollow" data-dimension112="b842cebd-62dc-40a1-ab3e-ce15d7523a02" data-action="Deal Block" data-label="Legion 5i | RTX 5070 (115 W)" data-dimension48="Legion 5i | RTX 5070 (115 W)" data-dimension25="$1499">Legion 5i | RTX 5070 (115 W): was $1999.99 now $1499</a></strong><br>Who wants an OLED screen? Everyone, that's who. And yes, you can get one in a gaming laptop for under $1,500 in these RAMpocalypse times of ours. In fact, you're also get a load of memory, too, because this Lenovo also comes with 32 GB DDR5 and a 1 TB SSD to go along with that 1600p OLED display. What a treat. You're also getting a 115 W RTX 5070 and a 20-core Intel CPU. Lotta wins, there.<br><strong></strong><br><strong>Key specs: RTX 5070 (115 W) | Core Ultra 7 255HX | 16-inch | 1600p OLED | 165 HZ | 32 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.bhphotovideo.com/c/product/1875945-REG/lenovo_83f00007us_15_1_legion_5i_gaming.html" target="_blank" rel="nofollow" data-dimension112="b842cebd-62dc-40a1-ab3e-ce15d7523a02" data-action="Deal Block" data-label="Legion 5i | RTX 5070 (115 W)" data-dimension48="Legion 5i | RTX 5070 (115 W)" data-dimension25="$1499">View Deal</a></p></div><p>If that's a whole lot less juice than you'd like your GPU to be slurping up, I do have another suggestion. You can also get the Lenovo Legion 5i gaming laptop, with a 115 W TGP version of the RTX 5070, <a href="https://www.bhphotovideo.com/c/product/1875945-REG/lenovo_83f00007us_15_1_legion_5i_gaming.html/specs" target="_blank">for $1,500 from B&H Photo</a>.</p><p>You're getting 32 GB of DDR5 RAM here too, but that's coupled with an Intel Core Ultra 7 255HX CPU. The screen is a smidge smaller here at 15.1-inches—but it is also a shiny, shiny 165 Hz OLED. Alongside the comparatively juiced up RTX 5070, you'll likely make the most of the 2560 x 1600 resolution display here.</p><p>For comparison's sake, the Acer Nitro V 16 features a 16-inch, 1920 x 1200 IPS display with a slightly higher refresh rate of 180 Hz. It's not an OLED, no, but it will be nice enough for most splashing that kind of cash. Though, with a 76 Wh battery though, I'd keep it plugged in during gaming sessions you expect to breeze past the two-hour mark. The Lenovo Legion 5i fares only slightly better with a 80 Wh battery, though how much time you'll get out of that can vary significantly depending on what you're doing. Alas, the scourge of a swiftly dwindling battery is the price all portable gamers must pay.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-laptops/ive-found-cracking-deals-on-two-rtx-5070-gaming-laptops-both-with-32-gb-of-ram-and-both-for-under-usd1-500/</link>
                                                                            <description>
                            <![CDATA[ Two gamer houses, both alike in dignity. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">RJne3x5aWgoigtqn789qB4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TXzjghi6NNCZvt2Tz6v9z-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 08 May 2026 12:17:43 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Laptops]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Gaming PCs]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jess Kinghorn ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she&#039;s either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.&amp;nbsp;&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/TXzjghi6NNCZvt2Tz6v9z-1920-80.jpg">
                                                            <media:credit><![CDATA[Acer, Lenovo]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Acer Nitro V 16 and the Lenovo Legion 5i gaming laptops float in the funky PC Gamer deal void.]]></media:description>                                                            <media:text><![CDATA[The Acer Nitro V 16 and the Lenovo Legion 5i gaming laptops float in the funky PC Gamer deal void.]]></media:text>
                                <media:title type="plain"><![CDATA[The Acer Nitro V 16 and the Lenovo Legion 5i gaming laptops float in the funky PC Gamer deal void.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TXzjghi6NNCZvt2Tz6v9z-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Once upon a time, I was an Acer gaming laptop girlie. As a uni student, having that sort of hardware power at my fingertips and on the go was pretty essential—the fact it could also play The Sims 4 on reasonably high settings was revolutionary for me at the time. As an ageing gamer, I've settled into that desktop life, but gaming laptops certainly haven't lost their appeal.</p><p>As such, I have not one but two gaming laptop deals for you today. </p><h3 class="article-body__section" id="section-quick-list"><span>Quick list</span></h3><ul><li><strong>Acer Nitro V 16 | </strong><a href="https://www.amazon.com/dp/B0FKPQNGC8" target="_blank"><strong>RTX 5070 (85 W) | $1,400 (save $100)</strong></a></li><li><strong>Lenovo Legion 5i | </strong><a href="https://www.bhphotovideo.com/c/product/1875945-REG/lenovo_83f00007us_15_1_legion_5i_gaming.html" target="_blank"><strong>RTX 5070 (115 W) | $1,500 (save $501)</strong></a></li></ul><h3 class="article-body__section" id="section-gaming-laptop-deals"><span>Gaming laptop deals</span></h3><div class="product"><a data-dimension112="3764e346-e67a-43c0-932a-7dc1da5df962" data-action="Deal Block" data-label="Nitro V 16 | RTX 5070 (85 W)" data-dimension48="Nitro V 16 | RTX 5070 (85 W)" data-dimension25="$1399.99" href="https://www.amazon.com/dp/B0FKPQNGC8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ZMBFWDbGe3kLiWaFSKfvyW" name="acer_nitro_v_16s_gaming_laptop" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZMBFWDbGe3kLiWaFSKfvyW-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FKPQNGC8" target="_blank" rel="nofollow" data-dimension112="3764e346-e67a-43c0-932a-7dc1da5df962" data-action="Deal Block" data-label="Nitro V 16 | RTX 5070 (85 W)" data-dimension48="Nitro V 16 | RTX 5070 (85 W)" data-dimension25="$1399.99">Nitro V 16 | RTX 5070 (85 W): was $1499.99 now $1399.99</a></strong><br>In these RAMpocalypse-infested times, you have to sacrifice something to get a decent gaming laptop at an affordable price, and in this case, it's the GPU's power limit—just 85 W, which lowers the chip's full capabilities. At least everything else is nice for the money, and it's nice and skinny, too. The cheapest RTX 5070 gaming laptop around I'd actually buy? I reckon so.</p><p><strong>Key specs: RTX 5070 (85 W) | Core 7 270H | 16-inch | 165 Hz | 16 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0FKPQNGC8" target="_blank" rel="nofollow" data-dimension112="3764e346-e67a-43c0-932a-7dc1da5df962" data-action="Deal Block" data-label="Nitro V 16 | RTX 5070 (85 W)" data-dimension48="Nitro V 16 | RTX 5070 (85 W)" data-dimension25="$1399.99">View Deal</a></p></div><p>I'm going to start with the Acer Nitro V 16 Gaming Laptop for more reasons beyond simple nostalgia. The headline here is that this is an RTX 5070 gaming laptop with a <em>tasty</em> 32 GB of DDR5 RAM. With the still very much raging <a href="https://www.pcgamer.com/hardware/memory/ram-and-storage-is-ridiculously-expensive-right-now-because-of-drumroll-ai-of-course-and-theres-little-reason-to-think-prices-will-drop-any-time-soon/" target="_blank">memory supply crisis</a>, that's steadily becoming a rarer sight these days, so if you have the budget you may want to <a href="https://www.amazon.com/dp/B0FKPQNGC8" target="_blank">scoop this gaming laptop up for $1,400 from Amazon</a>.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>If you need something to handle both notes, meeting, and more alongside many midnight <a href="https://www.pcgamer.com/marathon/" target="_blank">Marathon</a> matches, you're in good hands with the Acer Nitro V 16. It's worth noting that, though very similar to the <a href="https://www.pcgamer.com/hardware/gaming-laptops/acer-nitro-v-16-ai-review/" target="_blank">Acer Nitro V 16 AI</a> our Zak rated, this deal actually <a href="https://www.acer.com/us-en/laptops/nitro/nitro-v-16/pdp/NH.U2FAA.003#pdpOverview" target="_blank">concerns a slightly different model number</a> that isn't strictly speaking a Copilot+ AI PC. Along similar lines, the subject of this deal enjoys an Intel Core 9 270H CPU rather than any hardware from team red.</p><p>Furthermore, poking around the specs sheet reveals that this model only enjoys a 'maximum graphics power' of 85 Watts. </p><div class="product"><a data-dimension112="b842cebd-62dc-40a1-ab3e-ce15d7523a02" data-action="Deal Block" data-label="Legion 5i | RTX 5070 (115 W)" data-dimension48="Legion 5i | RTX 5070 (115 W)" data-dimension25="$1499" href="https://www.bhphotovideo.com/c/product/1875945-REG/lenovo_83f00007us_15_1_legion_5i_gaming.html" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="PWRVyf4r9vnEQdL38xcbXW" name="LenovoLegionPro5i" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/PWRVyf4r9vnEQdL38xcbXW-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bhphotovideo.com/c/product/1875945-REG/lenovo_83f00007us_15_1_legion_5i_gaming.html" target="_blank" rel="nofollow" data-dimension112="b842cebd-62dc-40a1-ab3e-ce15d7523a02" data-action="Deal Block" data-label="Legion 5i | RTX 5070 (115 W)" data-dimension48="Legion 5i | RTX 5070 (115 W)" data-dimension25="$1499">Legion 5i | RTX 5070 (115 W): was $1999.99 now $1499</a></strong><br>Who wants an OLED screen? Everyone, that's who. And yes, you can get one in a gaming laptop for under $1,500 in these RAMpocalypse times of ours. In fact, you're also get a load of memory, too, because this Lenovo also comes with 32 GB DDR5 and a 1 TB SSD to go along with that 1600p OLED display. What a treat. You're also getting a 115 W RTX 5070 and a 20-core Intel CPU. Lotta wins, there.<br><strong></strong><br><strong>Key specs: RTX 5070 (115 W) | Core Ultra 7 255HX | 16-inch | 1600p OLED | 165 HZ | 32 GB DDR5 | 1 TB SSD</strong><a class="view-deal button" href="https://www.bhphotovideo.com/c/product/1875945-REG/lenovo_83f00007us_15_1_legion_5i_gaming.html" target="_blank" rel="nofollow" data-dimension112="b842cebd-62dc-40a1-ab3e-ce15d7523a02" data-action="Deal Block" data-label="Legion 5i | RTX 5070 (115 W)" data-dimension48="Legion 5i | RTX 5070 (115 W)" data-dimension25="$1499">View Deal</a></p></div><p>If that's a whole lot less juice than you'd like your GPU to be slurping up, I do have another suggestion. You can also get the Lenovo Legion 5i gaming laptop, with a 115 W TGP version of the RTX 5070, <a href="https://www.bhphotovideo.com/c/product/1875945-REG/lenovo_83f00007us_15_1_legion_5i_gaming.html/specs" target="_blank">for $1,500 from B&H Photo</a>.</p><p>You're getting 32 GB of DDR5 RAM here too, but that's coupled with an Intel Core Ultra 7 255HX CPU. The screen is a smidge smaller here at 15.1-inches—but it is also a shiny, shiny 165 Hz OLED. Alongside the comparatively juiced up RTX 5070, you'll likely make the most of the 2560 x 1600 resolution display here.</p><p>For comparison's sake, the Acer Nitro V 16 features a 16-inch, 1920 x 1200 IPS display with a slightly higher refresh rate of 180 Hz. It's not an OLED, no, but it will be nice enough for most splashing that kind of cash. Though, with a 76 Wh battery though, I'd keep it plugged in during gaming sessions you expect to breeze past the two-hour mark. The Lenovo Legion 5i fares only slightly better with a 80 Wh battery, though how much time you'll get out of that can vary significantly depending on what you're doing. Alas, the scourge of a swiftly dwindling battery is the price all portable gamers must pay.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Gaming laptop makers should be forced to disclose graphics card TGPs and that's a hill I will happily die on ]]></title>
                                                                                                <dc:content><![CDATA[ <p>As is my wont, I've spent the morning checking through the <a href="https://www.pcgamer.com/gaming-laptop-deals/" target="_blank">best deals on gaming laptops</a>, which is about as tough going as you might expect in these, the days of the RAMpocalypse. But though prices have absolutely gone up, and you'll be lucky to find a worthy RTX 5060 gaming laptop for under $1,000, there are some good machines out there for prices that don't immediately make me sick up a little in my mouth.</p><p>Where the acid tang of bile does dance across the tongue, however, is when it comes to trying to pin down exactly what level of performance I might be given to expect from a certain model of gaming laptop and its graphics chip. And I am beyond infuriated at laptop manufacturers arbitrarily hiding the absolutely vital information.</p><p>You might have thought it was as straightforward as simply, 'ah look, here's an RTX 5060, that's better than an RTX 5050, job done.' Except no, life and laptops are never that simple. The issue is that that where desktop GPUs have a fixed total graphics power (TGP), mobile graphics cards don't have that luxury. The power limits imposed on a given laptop GPU are entirely driven by the level of power and cooling they have at their disposal and that can change model-by-model.</p><p>The current Nvidia RTX 50-series GPUs have a range of overlapping TGPs, and that can have a huge impact on the sort of performance you can expect. An RTX 5050 machine running at peak 100 W (plus dynamic boost power) will regularly best an RTX 5060 running at just 55 W in pretty much any game. But manufacturers never make it easy to find out what the laptop you're looking at has inside it.</p><div ><table><thead><tr><th class="firstcol " ><p>GPU</p></th><th  ><p>TGP</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>RTX 5050</p></td><td  ><p>50-100 W</p></td></tr><tr><td class="firstcol " ><p>RTX 5060</p></td><td  ><p>45-100 W</p></td></tr><tr><td class="firstcol " ><p>RTX 5070</p></td><td  ><p>50-100 W</p></td></tr><tr><td class="firstcol " ><p>RTX 5070 Ti</p></td><td  ><p>60-115 W</p></td></tr><tr><td class="firstcol " ><p>RTX 5080</p></td><td  ><p>80-150 W</p></td></tr><tr><td class="firstcol " ><p>RX 5090</p></td><td  ><p>95-150 W</p></td></tr></tbody></table></div><p>It's something we always note in our <a href="https://www.pcgamer.com/hardware/gaming-pcs/gaming-laptops/reviews/" target="_blank">gaming laptop reviews</a> and in the end it often comes to reviews being the only way to reliably find what TGP you might expect to find in a machine. But then you have to rely on the fact that someone, somewhere has had a chance to take a look at the very SKU you're eyeballing in retail.</p><p>Which is absolutely maddening, especially as it's the most vital specification when it comes to choosing between otherwise similarly specced machines. And there's only one reason why they would hide the data, and it's not a good one.</p><p>If you're looking for the most affordable RTX 5060-powered gaming laptop, it's not unreasonable that you would land upon either of these MSI Cyborg SKUs. <a href="https://www.walmart.com/ip/MSI-Cyborg-15-6-inch-FHD-144Hz-Gaming-Laptop-Intel-Core-7-240H-NVIDIA-GeForce-RTX-5060-16GB-DDR7-512GB-SSD-Black-2025/16611706375?classType=REGULAR&from=/search" target="_blank">One has an Intel Core 7 240H</a> and <a href="https://www.amazon.com/Cyborg-Light-Gaming-Laptop-144Hz/dp/B0CLHSG3D7/" target="_blank">the other has an Intel Core 5 210H</a>, but both have an RTX 5060 GPU. And I defy you to look at either of those listing pages and be able to tell me what the TGP ratings are. Thankfully, MSI is one of the few manufacturers that does tell you <a href="https://www.msi.com/Laptop/Cyborg-15-B2RWX/Specification" target="_blank">in its product pages what the peak power limits are</a>—in this case 55 W.</p><p>But this <a href="https://www.amazon.com/ASUS-Display-Processor-GeForce-V3607VM-ES74/dp/B0F11447PL/" target="_blank">Asus V16 with another RTX 5060</a>? Nowhere, either in the product listing or the retailer listing does it tell you that it's running a 65 W power limit. How would I know that, rather than pick the Asus machine, I should actually go for either the cheaper HP Victus or preferably the Lenovo LOQ system? </p><div class="product"><a data-dimension112="afcd3cb7-7ee6-4698-bf18-272fcdfa38d0" data-action="Deal Block" data-label="Victus | RTX 5060 (75 W)" data-dimension48="Victus | RTX 5060 (75 W)" data-dimension25="$1049.98" href="https://www.walmart.com/ip/HP-Victus-15-6-FHD-IPS-144Hz-Gaming-Notebook-Intel-Core-i7-13620H-16GB-512GB-SSD-NVIDIA-GeForce-RTX-5060-Meca-Silver/16280007108?classType=VARIANT&athbdg=L1900&from=/search" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="NYsc8sv5UjKHx68yv9qTpT" name="1777993405.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/NYsc8sv5UjKHx68yv9qTpT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/HP-Victus-15-6-FHD-IPS-144Hz-Gaming-Notebook-Intel-Core-i7-13620H-16GB-512GB-SSD-NVIDIA-GeForce-RTX-5060-Meca-Silver/16280007108?classType=VARIANT&athbdg=L1900&from=/search" target="_blank" rel="nofollow" data-dimension112="afcd3cb7-7ee6-4698-bf18-272fcdfa38d0" data-action="Deal Block" data-label="Victus | RTX 5060 (75 W)" data-dimension48="Victus | RTX 5060 (75 W)" data-dimension25="$1049.98">Victus | RTX 5060 (75 W): $1049.98</a></strong><br>This is (sadly) the cheapest I've been able to find a decent RTX 5060 gaming laptop selling for this week. There is an MSI Cyborg machine out there for less, but that's rocking a miserable 55 W TGP, so avoid that like it has the plague. The Victus may not be a lot higher than that, but it's a relatively slim chassis and the 144 Hz 1080p screen will be pretty well served by the RTX 5060 running at that level. There's a 10-core CPU in there, too, so the system is absolutely no slouch.<br><br><strong>Key specs: RTX 5060 (75 W) | Core i7 13620H | 15-inch | 1080p | 144 Hz | 16 GB DDR5 | 512 GB SSD</strong><a class="view-deal button" href="https://www.walmart.com/ip/HP-Victus-15-6-FHD-IPS-144Hz-Gaming-Notebook-Intel-Core-i7-13620H-16GB-512GB-SSD-NVIDIA-GeForce-RTX-5060-Meca-Silver/16280007108?classType=VARIANT&athbdg=L1900&from=/search" target="_blank" rel="nofollow" data-dimension112="afcd3cb7-7ee6-4698-bf18-272fcdfa38d0" data-action="Deal Block" data-label="Victus | RTX 5060 (75 W)" data-dimension48="Victus | RTX 5060 (75 W)" data-dimension25="$1049.98">View Deal</a></p></div><div class="product"><a data-dimension112="24687538-70cb-4ba2-86c6-dbd13ee9a897" data-action="Deal Block" data-label="LOQ | RTX 5060 (100 W)" data-dimension48="LOQ | RTX 5060 (100 W)" data-dimension25="$1089.99" href="https://www.walmart.com/ip/Lenovo-LOQ-15-6-IPS-LCD-FHD-144Hz-AI-Powered-Gaming-Notebook-AMD-Ryzen-7-250-16GB-RAM-512GB-NVIDIA-GeForce-RTX-5060-Luna-Grey/18798314023?classType=REGULAR&from=/search" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:509px;"><p class="vanilla-image-block" style="padding-top:98.04%;"><img id="VihZ2jCgC93t9nfuVUHcRQ" name="1759503541.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VihZ2jCgC93t9nfuVUHcRQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="509" height="499" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/Lenovo-LOQ-15-6-IPS-LCD-FHD-144Hz-AI-Powered-Gaming-Notebook-AMD-Ryzen-7-250-16GB-RAM-512GB-NVIDIA-GeForce-RTX-5060-Luna-Grey/18798314023?classType=REGULAR&from=/search" target="_blank" rel="nofollow" data-dimension112="24687538-70cb-4ba2-86c6-dbd13ee9a897" data-action="Deal Block" data-label="LOQ | RTX 5060 (100 W)" data-dimension48="LOQ | RTX 5060 (100 W)" data-dimension25="$1089.99">LOQ | RTX 5060 (100 W): $1089.99</a></strong><br>Budget gaming laptops deals are not great right now, indeed finding good RTX 5060 laptops below the $1,000 mark has become virtually impossible. This Lenovo LOQ machine is slightly above, but it does have a decent 100 W GPU, a speedy 1080p screen, and the now miserably familiar memory/storage combo of a 512 GB SSD and 16 GB RAM. The memory side wouldn't be too bad if it wasn't for the fact it's single channel, but in <a href="https://www.pcgamer.com/hardware/gaming-laptops/lenovo-loq-15-gen10-review/" target="_blank">our review</a> that didn't actually harm gaming performance.<br><strong></strong><br><strong>Key specs: RTX 5060 (115 W) | Ryzen 7 250  | 15-inch | 144 Hz | 1080p | 16 GB DDR5 | 512 GB SSD </strong><br><br><strong>Price check: </strong><a href="https://www.bestbuy.com/product/lenovo-loq-15-6-ips-lcd-fhd-144hz-ai-powered-gaming-notebook-amd-ryzen-7-250-16gb-ram-512gb-nvidia-geforce-rtx-5060-gray/JJGH3SWCF5/sku/11690400" target="_blank">Best Buy $1,099.99</a><a class="view-deal button" href="https://www.walmart.com/ip/Lenovo-LOQ-15-6-IPS-LCD-FHD-144Hz-AI-Powered-Gaming-Notebook-AMD-Ryzen-7-250-16GB-RAM-512GB-NVIDIA-GeForce-RTX-5060-Luna-Grey/18798314023?classType=REGULAR&from=/search" target="_blank" rel="nofollow" data-dimension112="24687538-70cb-4ba2-86c6-dbd13ee9a897" data-action="Deal Block" data-label="LOQ | RTX 5060 (100 W)" data-dimension48="LOQ | RTX 5060 (100 W)" data-dimension25="$1089.99">View Deal</a></p></div><p>Lenovo at least does give out the info, though you have to go through <a href="https://psref.lenovo.com/Detail/LOQ_15AHP10?M=83JG007PUS" target="_blank">an opaque Lenovo parts site</a> to get there, and with HP I had to talk to customer services, and I'm still not entirely sure they weren't grifting me. I did complain to the customer services technician that it was joke that manufacturers didn't make the information clear and they tried to blame Nvidia for witholding the information from public consumption, before sending me a link to the ratings for RTX 30- and 40-series HP laptops, waving the RTX 50-series TGPs aside as the same.</p><p>Still, both of these machines have higher TGP ratings for what is effectively the exact same graphics silicon as the MSI Cyborg and Asus V16 gaming laptops, and will deliver higher, smoother, more reliable gaming performance for around the same sort of cash. </p><p>But, damn it, it should be easy to find that vital info and I'm just mad as hell that it's not [rant over].</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-laptops/gaming-laptop-makers-should-be-forced-to-disclose-graphics-card-tgps-and-thats-a-hill-i-will-happily-die-on/</link>
                                                                            <description>
                            <![CDATA[ I'm sick of having to search high and low for the power limits of mobile GPUs, despite it being one of the most important specs. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">XVaFRk8js6XaXuRA6K84YC</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TEA9TNTjFsX5SdzJe76gYP-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 06 May 2026 15:04:01 +0000</pubDate>                                                                                                                                <updated>Wed, 06 May 2026 22:17:29 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Laptops]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                    <category><![CDATA[Gaming PCs]]></category>
                                                                                                <author><![CDATA[ dave.james@futurenet.com (Dave James) ]]></author>                    <dc:creator><![CDATA[ Dave James ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-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/TEA9TNTjFsX5SdzJe76gYP-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Lenovo LOQ 15 Gen10 gaming laptop]]></media:description>                                                            <media:text><![CDATA[Lenovo LOQ 15 Gen10 gaming laptop]]></media:text>
                                <media:title type="plain"><![CDATA[Lenovo LOQ 15 Gen10 gaming laptop]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TEA9TNTjFsX5SdzJe76gYP-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>As is my wont, I've spent the morning checking through the <a href="https://www.pcgamer.com/gaming-laptop-deals/" target="_blank">best deals on gaming laptops</a>, which is about as tough going as you might expect in these, the days of the RAMpocalypse. But though prices have absolutely gone up, and you'll be lucky to find a worthy RTX 5060 gaming laptop for under $1,000, there are some good machines out there for prices that don't immediately make me sick up a little in my mouth.</p><p>Where the acid tang of bile does dance across the tongue, however, is when it comes to trying to pin down exactly what level of performance I might be given to expect from a certain model of gaming laptop and its graphics chip. And I am beyond infuriated at laptop manufacturers arbitrarily hiding the absolutely vital information.</p><p>You might have thought it was as straightforward as simply, 'ah look, here's an RTX 5060, that's better than an RTX 5050, job done.' Except no, life and laptops are never that simple. The issue is that that where desktop GPUs have a fixed total graphics power (TGP), mobile graphics cards don't have that luxury. The power limits imposed on a given laptop GPU are entirely driven by the level of power and cooling they have at their disposal and that can change model-by-model.</p><p>The current Nvidia RTX 50-series GPUs have a range of overlapping TGPs, and that can have a huge impact on the sort of performance you can expect. An RTX 5050 machine running at peak 100 W (plus dynamic boost power) will regularly best an RTX 5060 running at just 55 W in pretty much any game. But manufacturers never make it easy to find out what the laptop you're looking at has inside it.</p><div ><table><thead><tr><th class="firstcol " ><p>GPU</p></th><th  ><p>TGP</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>RTX 5050</p></td><td  ><p>50-100 W</p></td></tr><tr><td class="firstcol " ><p>RTX 5060</p></td><td  ><p>45-100 W</p></td></tr><tr><td class="firstcol " ><p>RTX 5070</p></td><td  ><p>50-100 W</p></td></tr><tr><td class="firstcol " ><p>RTX 5070 Ti</p></td><td  ><p>60-115 W</p></td></tr><tr><td class="firstcol " ><p>RTX 5080</p></td><td  ><p>80-150 W</p></td></tr><tr><td class="firstcol " ><p>RX 5090</p></td><td  ><p>95-150 W</p></td></tr></tbody></table></div><p>It's something we always note in our <a href="https://www.pcgamer.com/hardware/gaming-pcs/gaming-laptops/reviews/" target="_blank">gaming laptop reviews</a> and in the end it often comes to reviews being the only way to reliably find what TGP you might expect to find in a machine. But then you have to rely on the fact that someone, somewhere has had a chance to take a look at the very SKU you're eyeballing in retail.</p><p>Which is absolutely maddening, especially as it's the most vital specification when it comes to choosing between otherwise similarly specced machines. And there's only one reason why they would hide the data, and it's not a good one.</p><p>If you're looking for the most affordable RTX 5060-powered gaming laptop, it's not unreasonable that you would land upon either of these MSI Cyborg SKUs. <a href="https://www.walmart.com/ip/MSI-Cyborg-15-6-inch-FHD-144Hz-Gaming-Laptop-Intel-Core-7-240H-NVIDIA-GeForce-RTX-5060-16GB-DDR7-512GB-SSD-Black-2025/16611706375?classType=REGULAR&from=/search" target="_blank">One has an Intel Core 7 240H</a> and <a href="https://www.amazon.com/Cyborg-Light-Gaming-Laptop-144Hz/dp/B0CLHSG3D7/" target="_blank">the other has an Intel Core 5 210H</a>, but both have an RTX 5060 GPU. And I defy you to look at either of those listing pages and be able to tell me what the TGP ratings are. Thankfully, MSI is one of the few manufacturers that does tell you <a href="https://www.msi.com/Laptop/Cyborg-15-B2RWX/Specification" target="_blank">in its product pages what the peak power limits are</a>—in this case 55 W.</p><p>But this <a href="https://www.amazon.com/ASUS-Display-Processor-GeForce-V3607VM-ES74/dp/B0F11447PL/" target="_blank">Asus V16 with another RTX 5060</a>? Nowhere, either in the product listing or the retailer listing does it tell you that it's running a 65 W power limit. How would I know that, rather than pick the Asus machine, I should actually go for either the cheaper HP Victus or preferably the Lenovo LOQ system? </p><div class="product"><a data-dimension112="afcd3cb7-7ee6-4698-bf18-272fcdfa38d0" data-action="Deal Block" data-label="Victus | RTX 5060 (75 W)" data-dimension48="Victus | RTX 5060 (75 W)" data-dimension25="$1049.98" href="https://www.walmart.com/ip/HP-Victus-15-6-FHD-IPS-144Hz-Gaming-Notebook-Intel-Core-i7-13620H-16GB-512GB-SSD-NVIDIA-GeForce-RTX-5060-Meca-Silver/16280007108?classType=VARIANT&athbdg=L1900&from=/search" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="NYsc8sv5UjKHx68yv9qTpT" name="1777993405.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/NYsc8sv5UjKHx68yv9qTpT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/HP-Victus-15-6-FHD-IPS-144Hz-Gaming-Notebook-Intel-Core-i7-13620H-16GB-512GB-SSD-NVIDIA-GeForce-RTX-5060-Meca-Silver/16280007108?classType=VARIANT&athbdg=L1900&from=/search" target="_blank" rel="nofollow" data-dimension112="afcd3cb7-7ee6-4698-bf18-272fcdfa38d0" data-action="Deal Block" data-label="Victus | RTX 5060 (75 W)" data-dimension48="Victus | RTX 5060 (75 W)" data-dimension25="$1049.98">Victus | RTX 5060 (75 W): $1049.98</a></strong><br>This is (sadly) the cheapest I've been able to find a decent RTX 5060 gaming laptop selling for this week. There is an MSI Cyborg machine out there for less, but that's rocking a miserable 55 W TGP, so avoid that like it has the plague. The Victus may not be a lot higher than that, but it's a relatively slim chassis and the 144 Hz 1080p screen will be pretty well served by the RTX 5060 running at that level. There's a 10-core CPU in there, too, so the system is absolutely no slouch.<br><br><strong>Key specs: RTX 5060 (75 W) | Core i7 13620H | 15-inch | 1080p | 144 Hz | 16 GB DDR5 | 512 GB SSD</strong><a class="view-deal button" href="https://www.walmart.com/ip/HP-Victus-15-6-FHD-IPS-144Hz-Gaming-Notebook-Intel-Core-i7-13620H-16GB-512GB-SSD-NVIDIA-GeForce-RTX-5060-Meca-Silver/16280007108?classType=VARIANT&athbdg=L1900&from=/search" target="_blank" rel="nofollow" data-dimension112="afcd3cb7-7ee6-4698-bf18-272fcdfa38d0" data-action="Deal Block" data-label="Victus | RTX 5060 (75 W)" data-dimension48="Victus | RTX 5060 (75 W)" data-dimension25="$1049.98">View Deal</a></p></div><div class="product"><a data-dimension112="24687538-70cb-4ba2-86c6-dbd13ee9a897" data-action="Deal Block" data-label="LOQ | RTX 5060 (100 W)" data-dimension48="LOQ | RTX 5060 (100 W)" data-dimension25="$1089.99" href="https://www.walmart.com/ip/Lenovo-LOQ-15-6-IPS-LCD-FHD-144Hz-AI-Powered-Gaming-Notebook-AMD-Ryzen-7-250-16GB-RAM-512GB-NVIDIA-GeForce-RTX-5060-Luna-Grey/18798314023?classType=REGULAR&from=/search" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:509px;"><p class="vanilla-image-block" style="padding-top:98.04%;"><img id="VihZ2jCgC93t9nfuVUHcRQ" name="1759503541.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/VihZ2jCgC93t9nfuVUHcRQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="509" height="499" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.walmart.com/ip/Lenovo-LOQ-15-6-IPS-LCD-FHD-144Hz-AI-Powered-Gaming-Notebook-AMD-Ryzen-7-250-16GB-RAM-512GB-NVIDIA-GeForce-RTX-5060-Luna-Grey/18798314023?classType=REGULAR&from=/search" target="_blank" rel="nofollow" data-dimension112="24687538-70cb-4ba2-86c6-dbd13ee9a897" data-action="Deal Block" data-label="LOQ | RTX 5060 (100 W)" data-dimension48="LOQ | RTX 5060 (100 W)" data-dimension25="$1089.99">LOQ | RTX 5060 (100 W): $1089.99</a></strong><br>Budget gaming laptops deals are not great right now, indeed finding good RTX 5060 laptops below the $1,000 mark has become virtually impossible. This Lenovo LOQ machine is slightly above, but it does have a decent 100 W GPU, a speedy 1080p screen, and the now miserably familiar memory/storage combo of a 512 GB SSD and 16 GB RAM. The memory side wouldn't be too bad if it wasn't for the fact it's single channel, but in <a href="https://www.pcgamer.com/hardware/gaming-laptops/lenovo-loq-15-gen10-review/" target="_blank">our review</a> that didn't actually harm gaming performance.<br><strong></strong><br><strong>Key specs: RTX 5060 (115 W) | Ryzen 7 250  | 15-inch | 144 Hz | 1080p | 16 GB DDR5 | 512 GB SSD </strong><br><br><strong>Price check: </strong><a href="https://www.bestbuy.com/product/lenovo-loq-15-6-ips-lcd-fhd-144hz-ai-powered-gaming-notebook-amd-ryzen-7-250-16gb-ram-512gb-nvidia-geforce-rtx-5060-gray/JJGH3SWCF5/sku/11690400" target="_blank">Best Buy $1,099.99</a><a class="view-deal button" href="https://www.walmart.com/ip/Lenovo-LOQ-15-6-IPS-LCD-FHD-144Hz-AI-Powered-Gaming-Notebook-AMD-Ryzen-7-250-16GB-RAM-512GB-NVIDIA-GeForce-RTX-5060-Luna-Grey/18798314023?classType=REGULAR&from=/search" target="_blank" rel="nofollow" data-dimension112="24687538-70cb-4ba2-86c6-dbd13ee9a897" data-action="Deal Block" data-label="LOQ | RTX 5060 (100 W)" data-dimension48="LOQ | RTX 5060 (100 W)" data-dimension25="$1089.99">View Deal</a></p></div><p>Lenovo at least does give out the info, though you have to go through <a href="https://psref.lenovo.com/Detail/LOQ_15AHP10?M=83JG007PUS" target="_blank">an opaque Lenovo parts site</a> to get there, and with HP I had to talk to customer services, and I'm still not entirely sure they weren't grifting me. I did complain to the customer services technician that it was joke that manufacturers didn't make the information clear and they tried to blame Nvidia for witholding the information from public consumption, before sending me a link to the ratings for RTX 30- and 40-series HP laptops, waving the RTX 50-series TGPs aside as the same.</p><p>Still, both of these machines have higher TGP ratings for what is effectively the exact same graphics silicon as the MSI Cyborg and Asus V16 gaming laptops, and will deliver higher, smoother, more reliable gaming performance for around the same sort of cash. </p><p>But, damn it, it should be easy to find that vital info and I'm just mad as hell that it's not [rant over].</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Secretlab has a whole heaping of collaboration deals on, making it the best way to get our favorite gaming chair and desk ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="a537bb9f-cc46-4327-a093-1aa343db4397" data-action="Deal Block" data-label="TITAN Evo | Warhammer 40,000 Ultramarines" data-dimension48="TITAN Evo | Warhammer 40,000 Ultramarines" data-dimension25="$594" href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-WHFOR1R" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="jZ46DigWFNqFTms4qE9hh4" name="Secretlab TITAN Evo _ Warhammer 40,000 Ultramarines product image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jZ46DigWFNqFTms4qE9hh4-1920-80.png" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-WHFOR1R" target="_blank" rel="nofollow" data-dimension112="a537bb9f-cc46-4327-a093-1aa343db4397" data-action="Deal Block" data-label="TITAN Evo | Warhammer 40,000 Ultramarines" data-dimension48="TITAN Evo | Warhammer 40,000 Ultramarines" data-dimension25="$594">TITAN Evo | Warhammer 40,000 Ultramarines: was $664 now $594</a></strong><br>Comfortable, adjustable, supportive—what more could you want from the <a href="https://www.pcgamer.com/best-gaming-chairs/" target="_blank">best overall gaming chair</a>? If you said, 'I wish it came in the same colour as the Ultramarines' power armour,' then say no more.</p><p><strong>Key specs: Neo Hybrid Leatherette covering | Magnetic headrest cushion | Reclines up to 165° | 4D adjustable armrests | 3-year warranty</strong><a class="view-deal button" href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-WHFOR1R" target="_blank" rel="nofollow" data-dimension112="a537bb9f-cc46-4327-a093-1aa343db4397" data-action="Deal Block" data-label="TITAN Evo | Warhammer 40,000 Ultramarines" data-dimension48="TITAN Evo | Warhammer 40,000 Ultramarines" data-dimension25="$594">View Deal</a></p></div><p>As you might be able to tell from Secretlab's presence in our list of the <a href="https://www.pcgamer.com/best-gaming-chairs/" target="_blank">best gaming chairs</a> and <a href="https://www.pcgamer.com/best-gaming-desk/" target="_blank">best gaming desks</a>, we like its products quite a bit. </p><p>If you're looking to get your hands on the best hardware out there and don't want to pay full price, it currently has a sale on, including the <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-WHFOR1R" target="_blank">Warhammer 40,000 Secretlab Titan Evo for $594</a> and the <a href="https://secretlab.co/products/magnus-pro?sku=4MPB2-W15B-ACRED" target="_blank">Assassin's Creed Magnus Pro for $939</a>. That's almost $100 off both. </p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Starting with the chair, the <a href="https://www.pcgamer.com/secretlab-titan-evo-2022-review/" target="_blank">Titan Evo</a> is super comfortable, sturdy, and it feels great. It even has a neat little magnet-based head cushion that's easy to use. We have the Warhammer 40,000 Titan Evo in the PC Gamer office, and I get a little jealous every time I see it. </p><p>It's mostly blue with gold and black trim, plus a big Imperium insignia, and it even comes with a purity seal attachment you can pop on the top right. It looks neat, feels great to sit in, and the $70 discount makes it a bit more affordable.  </p><p>If you aren't a Warhammer nerd (you're missing out), there are similar discounts on the Superman, Game of Thrones, League of Legends, Dragon Ball, and Valorant collaboration Titan Evos. </p><p>We have seen similar discounts from Secretlab before, but it doesn't tend to go much lower, so now is a decent time to go for that upgrade.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/qft6GRs3PF756heEcwHtFJ-1920-80.jpg" alt="Secretlab Magnus gaming desk pictured in home office. " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Su2JJrHCDwxANucaqXHAPJ-1920-80.jpg" alt="Secretlab Magnus gaming desk pictured in home office. " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Fk37ZMsfj5PUbmRQawEfnH-1920-80.jpg" alt="Secretlab Magnus Pro XL control panel lit up." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wi2WJxnU4ag2EyDWibo89J-1920-80.jpg" alt="Secretlab Magnus Pro XL's cable storage behind a hinged panel." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>If you aren't in search of a chair, we called the Magnus Pro XL "quite simply the ultimate desk for gaming and working from home" in <a href="https://www.pcgamer.com/secretlab-magnus-pro-xl-review/" target="_blank">our review</a>. It has great build quality, solid cable management, and a smooth sit-to-stand system. Like the Evo, it's a lot of money but easily worth it if you've got the budget. </p><p>The standard Magnus Pro is available for $939, discounted by $89, or you can pick up the XL model for $1089, which is currently enjoying a reduction of $99. It's not the cheapest gaming desk you can buy, of course, but it is clearly the best out there, thanks to its wealth of features and superior build quality.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-chairs/secretlab-has-a-whole-heaping-of-collaboration-deals-on-making-it-the-best-way-to-get-our-favorite-gaming-chair-and-desk/</link>
                                                                            <description>
                            <![CDATA[ Warhammer, Assassin's Creed, League of Legends. Take your pick. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">pSTqfc77uhud4Xz2FFd3KK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/y26JQFSuQsixstnHCDgUgH-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 06 May 2026 12:04:52 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Chairs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&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/y26JQFSuQsixstnHCDgUgH-1920-80.jpg">
                                                            <media:credit><![CDATA[Secretlab ]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Secretlab Titan Evo and Magnus Pro on a pink deals background]]></media:description>                                                            <media:text><![CDATA[Secretlab Titan Evo and Magnus Pro on a pink deals background]]></media:text>
                                <media:title type="plain"><![CDATA[Secretlab Titan Evo and Magnus Pro on a pink deals background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/y26JQFSuQsixstnHCDgUgH-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="a537bb9f-cc46-4327-a093-1aa343db4397" data-action="Deal Block" data-label="TITAN Evo | Warhammer 40,000 Ultramarines" data-dimension48="TITAN Evo | Warhammer 40,000 Ultramarines" data-dimension25="$594" href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-WHFOR1R" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="jZ46DigWFNqFTms4qE9hh4" name="Secretlab TITAN Evo _ Warhammer 40,000 Ultramarines product image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jZ46DigWFNqFTms4qE9hh4-1920-80.png" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-WHFOR1R" target="_blank" rel="nofollow" data-dimension112="a537bb9f-cc46-4327-a093-1aa343db4397" data-action="Deal Block" data-label="TITAN Evo | Warhammer 40,000 Ultramarines" data-dimension48="TITAN Evo | Warhammer 40,000 Ultramarines" data-dimension25="$594">TITAN Evo | Warhammer 40,000 Ultramarines: was $664 now $594</a></strong><br>Comfortable, adjustable, supportive—what more could you want from the <a href="https://www.pcgamer.com/best-gaming-chairs/" target="_blank">best overall gaming chair</a>? If you said, 'I wish it came in the same colour as the Ultramarines' power armour,' then say no more.</p><p><strong>Key specs: Neo Hybrid Leatherette covering | Magnetic headrest cushion | Reclines up to 165° | 4D adjustable armrests | 3-year warranty</strong><a class="view-deal button" href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-WHFOR1R" target="_blank" rel="nofollow" data-dimension112="a537bb9f-cc46-4327-a093-1aa343db4397" data-action="Deal Block" data-label="TITAN Evo | Warhammer 40,000 Ultramarines" data-dimension48="TITAN Evo | Warhammer 40,000 Ultramarines" data-dimension25="$594">View Deal</a></p></div><p>As you might be able to tell from Secretlab's presence in our list of the <a href="https://www.pcgamer.com/best-gaming-chairs/" target="_blank">best gaming chairs</a> and <a href="https://www.pcgamer.com/best-gaming-desk/" target="_blank">best gaming desks</a>, we like its products quite a bit. </p><p>If you're looking to get your hands on the best hardware out there and don't want to pay full price, it currently has a sale on, including the <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-WHFOR1R" target="_blank">Warhammer 40,000 Secretlab Titan Evo for $594</a> and the <a href="https://secretlab.co/products/magnus-pro?sku=4MPB2-W15B-ACRED" target="_blank">Assassin's Creed Magnus Pro for $939</a>. That's almost $100 off both. </p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Starting with the chair, the <a href="https://www.pcgamer.com/secretlab-titan-evo-2022-review/" target="_blank">Titan Evo</a> is super comfortable, sturdy, and it feels great. It even has a neat little magnet-based head cushion that's easy to use. We have the Warhammer 40,000 Titan Evo in the PC Gamer office, and I get a little jealous every time I see it. </p><p>It's mostly blue with gold and black trim, plus a big Imperium insignia, and it even comes with a purity seal attachment you can pop on the top right. It looks neat, feels great to sit in, and the $70 discount makes it a bit more affordable.  </p><p>If you aren't a Warhammer nerd (you're missing out), there are similar discounts on the Superman, Game of Thrones, League of Legends, Dragon Ball, and Valorant collaboration Titan Evos. </p><p>We have seen similar discounts from Secretlab before, but it doesn't tend to go much lower, so now is a decent time to go for that upgrade.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/qft6GRs3PF756heEcwHtFJ-1920-80.jpg" alt="Secretlab Magnus gaming desk pictured in home office. " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Su2JJrHCDwxANucaqXHAPJ-1920-80.jpg" alt="Secretlab Magnus gaming desk pictured in home office. " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Fk37ZMsfj5PUbmRQawEfnH-1920-80.jpg" alt="Secretlab Magnus Pro XL control panel lit up." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wi2WJxnU4ag2EyDWibo89J-1920-80.jpg" alt="Secretlab Magnus Pro XL's cable storage behind a hinged panel." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>If you aren't in search of a chair, we called the Magnus Pro XL "quite simply the ultimate desk for gaming and working from home" in <a href="https://www.pcgamer.com/secretlab-magnus-pro-xl-review/" target="_blank">our review</a>. It has great build quality, solid cable management, and a smooth sit-to-stand system. Like the Evo, it's a lot of money but easily worth it if you've got the budget. </p><p>The standard Magnus Pro is available for $939, discounted by $89, or you can pick up the XL model for $1089, which is currently enjoying a reduction of $99. It's not the cheapest gaming desk you can buy, of course, but it is clearly the best out there, thanks to its wealth of features and superior build quality.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've become a little obsessed with Lego's Smart Bricks and Star Wars Day is the perfect excuse to load up ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="f486110a-0a75-4840-b627-951fd358980b" data-action="Deal Block" data-label="Luke's Red Five X-Wing" data-dimension48="Luke's Red Five X-Wing" data-dimension25="$89.97" href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYTPFH3" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1231px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xNDgee78EGf7cDomKJ4R6V" name="1777894632.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xNDgee78EGf7cDomKJ4R6V-1920-80.jpg" mos="" align="middle" fullscreen="" width="1231" height="1231" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYTPFH3" target="_blank" rel="nofollow" data-dimension112="f486110a-0a75-4840-b627-951fd358980b" data-action="Deal Block" data-label="Luke's Red Five X-Wing" data-dimension48="Luke's Red Five X-Wing" data-dimension25="$89.97">Luke's Red Five X-Wing: $89.97</a></strong><br>If you're just getting one set, this is the Smart Play set to get because it comes with a huge variety of different elements to play with and a bunch of tiles and minifigs, too. You do only get a single Smart Brick, though, but with  a repair cart, a turbo lazer turret and Leia's tracking station, each with a Smart Tile, there's a lot to love about this set. I've had a blast taking tiles out of these and putting them into non-Smart Play models to add another element to my own builds.<a class="view-deal button" href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYTPFH3" target="_blank" rel="nofollow" data-dimension112="f486110a-0a75-4840-b627-951fd358980b" data-action="Deal Block" data-label="Luke's Red Five X-Wing" data-dimension48="Luke's Red Five X-Wing" data-dimension25="$89.97">View Deal</a></p></div><div class="product"><a data-dimension112="cb6a42cb-f74f-4bcf-804e-90174ac7533b" data-action="Deal Block" data-label="Darth Vader's TIE Fighter" data-dimension48="Darth Vader's TIE Fighter" data-dimension25="$69.97" href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYWXY7S" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1324px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="La3bKvqgjmJhxNTbpMqnkT" name="1777895048.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/La3bKvqgjmJhxNTbpMqnkT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1324" height="1324" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYWXY7S" target="_blank" rel="nofollow" data-dimension112="cb6a42cb-f74f-4bcf-804e-90174ac7533b" data-action="Deal Block" data-label="Darth Vader's TIE Fighter" data-dimension48="Darth Vader's TIE Fighter" data-dimension25="$69.97">Darth Vader's TIE Fighter: $69.97</a></strong><br>There's not as much to the TIE Fighter set in terms of extras as with the X-Wing, but it does make a great complementary set. Each reacts to the other's blaster fire, making living room dog fights come alive. Though it's worth remembering there are no volume controls... The TIE Fighter is more effective as a model than the X-Wing, however, and the sounds of Darth Vader spinning off into the void is a true joy when the accelerometer kicks in, as is the Imperial March when he takes his seat. <a class="view-deal button" href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYWXY7S" target="_blank" rel="nofollow" data-dimension112="cb6a42cb-f74f-4bcf-804e-90174ac7533b" data-action="Deal Block" data-label="Darth Vader's TIE Fighter" data-dimension48="Darth Vader's TIE Fighter" data-dimension25="$69.97">View Deal</a></p></div><p>Lego's Smart Play system was <a href="https://www.pcgamer.com/hardware/legos-smart-new-2x4-smart-brick-packs-a-custom-asic-speaker-and-synthesiser-created-by-an-expert-team-from-the-worlds-of-video-gaming-computing-and-more/" target="_blank">introduced at CES in January</a> and released on my birthday in March this year. And I couldn't wait to get my hands on a set, especially since the first Lego theme to get the clever little bricks with a custom ASIC inside is the Star Wars one. And while there may not be a ton of deals on Smart Play set, Star Wars Day is still the perfect excuse to fill up your basket.</p><p>I'm a Star Wars fan, a Lego obsessive, and a tech nerd, and the Lego's Smart Brick sets sit right in the middle of that Venn diagram for me. I've got both the <a href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYWXY7S" target="_blank">Darth Vader TIE Fighter</a> set and <a href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYTPFH3" target="_blank">Luke's Red Five X-Wing</a> myself and have been having a blast with them, recreating trench runs around the house with my two little boys.</p><p>One of the things I appreciate about the Smart Play setup, especially for my little ones, is the fact that, while they're techie and have little computers inside them, they don't use any screens at all; they're purely intuitive and aural. And they don't just memorize audio files to replicate the sound of Vader's life support system, or the sound of the X-Wing's engine firing up. Each Smart Brick contains a mini synthesizer to deliver the audio cues provided by the Smart Tiles either tacked onto the different models or built into the minifigs.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/MJyj3qZAJptpZ9hrmiLLgX-1920-80.jpg" alt="Lego Smart Brick X-Wing" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/opwgHkGvx6iExrFxGreGgX-1920-80.jpg" alt="Lego Smart Brick X-Wing" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>And there's something super charming about the way that means it's not super precise in terms of the audio. It's like the old Star Wars games on an 8-bit computer, where the John Williams' scores are recognizable and the characters' speech is an approximation not a replication.</p><p>I will say these sets aren't necessarily for the adult aficionado looking for anything in terms of precision from the models either. The needs of accessibility means the Smart Bricks always have to be easily removed from the model for charging, and need to be close to their compatible minifigs, too. That makes the likes of the TIE Fighter and X-Wing more simple than the more realistic sets in the theme.</p><p>But they're a hell of a lot of fun to play with, and each of the sets comes with multiple tiles and extra little details that only add to the play. The ships each have blaster functions that react to each other, so while the boys and I are chasing each other around we can keep shooting the other down, and the bricks react to color so we can use green hammers to fix them and blue hoses to refuel them, also part of the sets.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/ive-become-a-little-obsessed-with-legos-smart-bricks-and-star-wars-day-is-the-perfect-excuse-to-load-up/</link>
                                                                            <description>
                            <![CDATA[ My boys and I have been battling it out in a galaxy far, far away right in our living room. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">QD7RsoV67H2CSdTvqycDXP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/KukDmAULoK7fCeRKhF5c8f-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 04 May 2026 12:04:43 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Hardware]]></category>
                                                                                                <author><![CDATA[ dave.james@futurenet.com (Dave James) ]]></author>                    <dc:creator><![CDATA[ Dave James ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-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/KukDmAULoK7fCeRKhF5c8f-1920-80.jpg">
                                                            <media:credit><![CDATA[Lego]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Lego Star Wars Luke&#039;s Red Five X-Wing]]></media:description>                                                            <media:text><![CDATA[Lego Star Wars Luke&#039;s Red Five X-Wing]]></media:text>
                                <media:title type="plain"><![CDATA[Lego Star Wars Luke&#039;s Red Five X-Wing]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/KukDmAULoK7fCeRKhF5c8f-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="f486110a-0a75-4840-b627-951fd358980b" data-action="Deal Block" data-label="Luke's Red Five X-Wing" data-dimension48="Luke's Red Five X-Wing" data-dimension25="$89.97" href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYTPFH3" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1231px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xNDgee78EGf7cDomKJ4R6V" name="1777894632.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xNDgee78EGf7cDomKJ4R6V-1920-80.jpg" mos="" align="middle" fullscreen="" width="1231" height="1231" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYTPFH3" target="_blank" rel="nofollow" data-dimension112="f486110a-0a75-4840-b627-951fd358980b" data-action="Deal Block" data-label="Luke's Red Five X-Wing" data-dimension48="Luke's Red Five X-Wing" data-dimension25="$89.97">Luke's Red Five X-Wing: $89.97</a></strong><br>If you're just getting one set, this is the Smart Play set to get because it comes with a huge variety of different elements to play with and a bunch of tiles and minifigs, too. You do only get a single Smart Brick, though, but with  a repair cart, a turbo lazer turret and Leia's tracking station, each with a Smart Tile, there's a lot to love about this set. I've had a blast taking tiles out of these and putting them into non-Smart Play models to add another element to my own builds.<a class="view-deal button" href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYTPFH3" target="_blank" rel="nofollow" data-dimension112="f486110a-0a75-4840-b627-951fd358980b" data-action="Deal Block" data-label="Luke's Red Five X-Wing" data-dimension48="Luke's Red Five X-Wing" data-dimension25="$89.97">View Deal</a></p></div><div class="product"><a data-dimension112="cb6a42cb-f74f-4bcf-804e-90174ac7533b" data-action="Deal Block" data-label="Darth Vader's TIE Fighter" data-dimension48="Darth Vader's TIE Fighter" data-dimension25="$69.97" href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYWXY7S" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1324px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="La3bKvqgjmJhxNTbpMqnkT" name="1777895048.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/La3bKvqgjmJhxNTbpMqnkT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1324" height="1324" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYWXY7S" target="_blank" rel="nofollow" data-dimension112="cb6a42cb-f74f-4bcf-804e-90174ac7533b" data-action="Deal Block" data-label="Darth Vader's TIE Fighter" data-dimension48="Darth Vader's TIE Fighter" data-dimension25="$69.97">Darth Vader's TIE Fighter: $69.97</a></strong><br>There's not as much to the TIE Fighter set in terms of extras as with the X-Wing, but it does make a great complementary set. Each reacts to the other's blaster fire, making living room dog fights come alive. Though it's worth remembering there are no volume controls... The TIE Fighter is more effective as a model than the X-Wing, however, and the sounds of Darth Vader spinning off into the void is a true joy when the accelerometer kicks in, as is the Imperial March when he takes his seat. <a class="view-deal button" href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYWXY7S" target="_blank" rel="nofollow" data-dimension112="cb6a42cb-f74f-4bcf-804e-90174ac7533b" data-action="Deal Block" data-label="Darth Vader's TIE Fighter" data-dimension48="Darth Vader's TIE Fighter" data-dimension25="$69.97">View Deal</a></p></div><p>Lego's Smart Play system was <a href="https://www.pcgamer.com/hardware/legos-smart-new-2x4-smart-brick-packs-a-custom-asic-speaker-and-synthesiser-created-by-an-expert-team-from-the-worlds-of-video-gaming-computing-and-more/" target="_blank">introduced at CES in January</a> and released on my birthday in March this year. And I couldn't wait to get my hands on a set, especially since the first Lego theme to get the clever little bricks with a custom ASIC inside is the Star Wars one. And while there may not be a ton of deals on Smart Play set, Star Wars Day is still the perfect excuse to fill up your basket.</p><p>I'm a Star Wars fan, a Lego obsessive, and a tech nerd, and the Lego's Smart Brick sets sit right in the middle of that Venn diagram for me. I've got both the <a href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYWXY7S" target="_blank">Darth Vader TIE Fighter</a> set and <a href="https://www.amazon.com/LEGO-Star-Wars-Smart-Play/dp/B0FMYTPFH3" target="_blank">Luke's Red Five X-Wing</a> myself and have been having a blast with them, recreating trench runs around the house with my two little boys.</p><p>One of the things I appreciate about the Smart Play setup, especially for my little ones, is the fact that, while they're techie and have little computers inside them, they don't use any screens at all; they're purely intuitive and aural. And they don't just memorize audio files to replicate the sound of Vader's life support system, or the sound of the X-Wing's engine firing up. Each Smart Brick contains a mini synthesizer to deliver the audio cues provided by the Smart Tiles either tacked onto the different models or built into the minifigs.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/MJyj3qZAJptpZ9hrmiLLgX-1920-80.jpg" alt="Lego Smart Brick X-Wing" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/opwgHkGvx6iExrFxGreGgX-1920-80.jpg" alt="Lego Smart Brick X-Wing" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>And there's something super charming about the way that means it's not super precise in terms of the audio. It's like the old Star Wars games on an 8-bit computer, where the John Williams' scores are recognizable and the characters' speech is an approximation not a replication.</p><p>I will say these sets aren't necessarily for the adult aficionado looking for anything in terms of precision from the models either. The needs of accessibility means the Smart Bricks always have to be easily removed from the model for charging, and need to be close to their compatible minifigs, too. That makes the likes of the TIE Fighter and X-Wing more simple than the more realistic sets in the theme.</p><p>But they're a hell of a lot of fun to play with, and each of the sets comes with multiple tiles and extra little details that only add to the play. The ships each have blaster functions that react to each other, so while the boys and I are chasing each other around we can keep shooting the other down, and the bricks react to color so we can use green hammers to fix them and blue hoses to refuel them, also part of the sets.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Celebrate Star Wars Day by giving your Secretlab setup a makeover ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="e9e90c98-8b67-4a6d-8af8-80ccb61d284f" data-action="Deal Block" data-label="Star Wars Day goodies" data-dimension48="Star Wars Day goodies" href="https://secretlab.co/pages/starwars" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1333px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="5nrYk3LtRFyq8r3fsiWkzn" name="1777665445.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/5nrYk3LtRFyq8r3fsiWkzn-1920-80.jpg" mos="" align="middle" fullscreen="" width="1333" height="1333" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://secretlab.co/pages/starwars" target="_blank" rel="nofollow" data-dimension112="e9e90c98-8b67-4a6d-8af8-80ccb61d284f" data-action="Deal Block" data-label="Star Wars Day goodies" data-dimension48="Star Wars Day goodies" data-dimension25="">Star Wars Day goodies:</a></strong><br>Take a look at Secretlab's suite of Star Wars goodies, from Jedi and Boba Fett-themed chair skins, accessories for your Magnus Pro standing desk, or entire Star Wars versions of those same chairs and desks.<a class="view-deal button" href="https://secretlab.co/pages/starwars" target="_blank" rel="nofollow" data-dimension112="e9e90c98-8b67-4a6d-8af8-80ccb61d284f" data-action="Deal Block" data-label="Star Wars Day goodies" data-dimension48="Star Wars Day goodies" data-dimension25="">View Deal</a></p></div><p>May the 4th be with you. Star Wars Day is looming on the horizon and now is the time to remind you that the <a href="https://www.pcgamer.com/best-gaming-chairs/" target="_blank">best gaming chairs</a> are available in a fully Star Wars themed form, with both Stormtrooper and Darth Vader editions. But you don't have to go all out and splurge on a full chair, because Secretlab also offers full skins to completely transform your boring ol' seat into something far more from a galaxy far, far away.</p><p>So, if you're in the mood for somewhere Sith-y to park your posterior, then you can go for the big boi <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-EMPIR1R" target="_blank">$664 Empire Titan Evo</a>, or go full white and hit the <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-TROOP1R" target="_blank">$664 Stormtrooper Titan Evo</a>.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/qkMaYby43s4rhpFXXPNTK3-1920-80.jpg" alt="Secretlab Titan Evo Star Wars themed" /><figcaption><small role="credit">Secretlab</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DAvBFK5AvGTD9dY9n23cL3-1920-80.jpg" alt="Secretlab Titan Evo Star Wars themed" /><figcaption><small role="credit">Secretlab</small></figcaption></figure></figure><p>If you want to complete the Star Wars-themed desktop setup, then there's also the <a href="https://secretlab.co/products/magnus-pro?sku=4MPB2-B15B-SWARS" target="_blank">Magnus Pro on sale for $939</a>, with the full magnetic setup featuring the Death Star 2 and Millenium Falcom schematics.</p><p>I'll give you that's a pretty hefty outlay, especially if you've already spent big on some Secretlab goodies already, but with the chair skins and desk mats you can completely transform your existing setup for a fraction of the price. And I am sorely tempted by the <a href="https://secretlab.co/products/skins?sku=SKR24S-SJEDI" target="_blank">$99 Jedi skin to transform my black Titan Evo</a>.</p><p>And I would also be a poor guardian of my wallet if I had a Magnus Pro desk, because the <a href="https://secretlab.co/products/magpad-desk-mat?sku=MMAT15PU-SWARS" target="_blank">$129 MagPad desk mat</a> would also be calling to me. Thank Yoda I don't as my will is not strong.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/celebrate-star-wars-day-by-giving-your-secretlab-setup-a-makeover/</link>
                                                                            <description>
                            <![CDATA[ Here's your reminder the best gaming chairs can be wrapped in Lucasfilm, or you can go big and land a Sith-themed Titan Evo. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">qVWar7mhgtm5J8yitZQWxN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ogDGVopGcV3zmXm7vpGx7e-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 01 May 2026 20:58:06 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Hardware]]></category>
                                                                                                <author><![CDATA[ dave.james@futurenet.com (Dave James) ]]></author>                    <dc:creator><![CDATA[ Dave James ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-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/ogDGVopGcV3zmXm7vpGx7e-1920-80.jpg">
                                                            <media:credit><![CDATA[Secretlab]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Secretlab Stormtrooper edition chair]]></media:description>                                                            <media:text><![CDATA[Secretlab Stormtrooper edition chair]]></media:text>
                                <media:title type="plain"><![CDATA[Secretlab Stormtrooper edition chair]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ogDGVopGcV3zmXm7vpGx7e-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="e9e90c98-8b67-4a6d-8af8-80ccb61d284f" data-action="Deal Block" data-label="Star Wars Day goodies" data-dimension48="Star Wars Day goodies" href="https://secretlab.co/pages/starwars" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1333px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="5nrYk3LtRFyq8r3fsiWkzn" name="1777665445.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/5nrYk3LtRFyq8r3fsiWkzn-1920-80.jpg" mos="" align="middle" fullscreen="" width="1333" height="1333" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://secretlab.co/pages/starwars" target="_blank" rel="nofollow" data-dimension112="e9e90c98-8b67-4a6d-8af8-80ccb61d284f" data-action="Deal Block" data-label="Star Wars Day goodies" data-dimension48="Star Wars Day goodies" data-dimension25="">Star Wars Day goodies:</a></strong><br>Take a look at Secretlab's suite of Star Wars goodies, from Jedi and Boba Fett-themed chair skins, accessories for your Magnus Pro standing desk, or entire Star Wars versions of those same chairs and desks.<a class="view-deal button" href="https://secretlab.co/pages/starwars" target="_blank" rel="nofollow" data-dimension112="e9e90c98-8b67-4a6d-8af8-80ccb61d284f" data-action="Deal Block" data-label="Star Wars Day goodies" data-dimension48="Star Wars Day goodies" data-dimension25="">View Deal</a></p></div><p>May the 4th be with you. Star Wars Day is looming on the horizon and now is the time to remind you that the <a href="https://www.pcgamer.com/best-gaming-chairs/" target="_blank">best gaming chairs</a> are available in a fully Star Wars themed form, with both Stormtrooper and Darth Vader editions. But you don't have to go all out and splurge on a full chair, because Secretlab also offers full skins to completely transform your boring ol' seat into something far more from a galaxy far, far away.</p><p>So, if you're in the mood for somewhere Sith-y to park your posterior, then you can go for the big boi <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-EMPIR1R" target="_blank">$664 Empire Titan Evo</a>, or go full white and hit the <a href="https://secretlab.co/products/titan-evo-2022-series?sku=M07-E24PU-TROOP1R" target="_blank">$664 Stormtrooper Titan Evo</a>.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/qkMaYby43s4rhpFXXPNTK3-1920-80.jpg" alt="Secretlab Titan Evo Star Wars themed" /><figcaption><small role="credit">Secretlab</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DAvBFK5AvGTD9dY9n23cL3-1920-80.jpg" alt="Secretlab Titan Evo Star Wars themed" /><figcaption><small role="credit">Secretlab</small></figcaption></figure></figure><p>If you want to complete the Star Wars-themed desktop setup, then there's also the <a href="https://secretlab.co/products/magnus-pro?sku=4MPB2-B15B-SWARS" target="_blank">Magnus Pro on sale for $939</a>, with the full magnetic setup featuring the Death Star 2 and Millenium Falcom schematics.</p><p>I'll give you that's a pretty hefty outlay, especially if you've already spent big on some Secretlab goodies already, but with the chair skins and desk mats you can completely transform your existing setup for a fraction of the price. And I am sorely tempted by the <a href="https://secretlab.co/products/skins?sku=SKR24S-SJEDI" target="_blank">$99 Jedi skin to transform my black Titan Evo</a>.</p><p>And I would also be a poor guardian of my wallet if I had a Magnus Pro desk, because the <a href="https://secretlab.co/products/magpad-desk-mat?sku=MMAT15PU-SWARS" target="_blank">$129 MagPad desk mat</a> would also be calling to me. Thank Yoda I don't as my will is not strong.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I don't necessarily need a CPU cooler with a screen, but for only $170 I can definitely see the argument for turning the inside of my PC case into a tiny Miku Hatsune shrine ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="2f8513a7-277c-471a-a66b-bf68317bb682" data-action="Deal Block" data-label="Kraken Plus 360 RGB" data-dimension48="Kraken Plus 360 RGB" data-dimension25="$169.99" href="https://www.amazon.com/dp/B0F5SCHSZQ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="gdTsGMxiLJVMUsN7mBCyZa" name="NZXT Kraken Plus 360 RGB" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/gdTsGMxiLJVMUsN7mBCyZa-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0F5SCHSZQ" target="_blank" rel="nofollow" data-dimension112="2f8513a7-277c-471a-a66b-bf68317bb682" data-action="Deal Block" data-label="Kraken Plus 360 RGB" data-dimension48="Kraken Plus 360 RGB" data-dimension25="$169.99">Kraken Plus 360 RGB: was $219.99 now $169.99</a></strong><br>If you're desperate to introduce a bit more visual flair to the <em>inside </em>of your PC case, this CPU cooler with a screen is one of the best options when it comes to balancing performance against pricing.</p><p><strong>Key specs: 3x 120 mm RGB fans | 360 mm radiator | 240 x 240 resolution, 30 Hz screen | TFT LCD screen</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0F5SCHSZQ" target="_blank" rel="nofollow" data-dimension112="2f8513a7-277c-471a-a66b-bf68317bb682" data-action="Deal Block" data-label="Kraken Plus 360 RGB" data-dimension48="Kraken Plus 360 RGB" data-dimension25="$169.99">View Deal</a></p></div><p>Arguably, <a href="https://www.pcgamer.com/hardware/slapping-half-assed-screens-on-absolutely-everything-is-the-most-unnecessary-hardware-must-have-ive-seen-to-date-and-im-not-mad-im-just-disappointed/" target="_blank">you don't need a screen <em>inside </em>of your PC</a>—that's especially true for me as I store my gaming rig on the floor like a grownup. Teasing aside, I also don't <em>need </em>all the funky RGB I have in my PC, or the Miku Hatsune figurines that keep me company in my dimly lit gamer den, but those things bring me no small amount of joy. So, throw in a chunky discount, and I can definitely see the argument for a CPU cooler with a screen.</p><p>Let's say you store your gaming rig on top of your desk—because it's a work of art that <em>should </em>be seen. A CPU cooler with a screen offers more than just temps at a glance. Depending on what stylings your rig is rocking, another screen inside your desktop tower could be leveraged to essentially extend your canvas—even if your magnum opus amounts to little more than a shrine to Miku Hatsune. </p><p>The NZXT Kraken Plus 360 RGB liquid CPU cooler could provide the perfect visual vessel for the Vocaloid songstress, especially now <a href="https://www.amazon.com/dp/B0F5SCG6QC" target="_blank">it's only $170 from Amazon</a>.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>The<a href="https://www.pcgamer.com/hardware/cooling/nzxt-kraken-elite-360-rgb-2024-cooler-review/" target="_blank"> 2024 version of the NZXT Kraken Elite RGB</a> wowed us, earning it a place among the <a href="https://www.pcgamer.com/best-aio-cooler-for-cpus/#section-the-best-liquid-cooler-with-a-screen" target="_blank">best liquid coolers for CPUs</a> thanks to its stunning screen. The main point against it at the time was the price point, which threatened to clear out a chunk of whatever you'd budgeted for the CPU itself. The <a href="https://www.pcgamer.com/hardware/cooling/nzxt-kraken-plus-360-rgb-cooler-review/" target="_blank">2025 version of the NZXT Kraken Plus 360 RGB</a> lowered the MSRP, and is now even cheaper with a 23% discount.</p><p>The main reason the Kraken Elite still reigns supreme as the best liquid cooler with a screen is in part because of the IPS screen's 2.72-inch size. It also enjoys a 640 x 640 resolution at 60 Hz. The screen on the Kraken Plus is smaller, at 1.54-inches, and offers a lower 240 x 240 resolution with a 30 Hz refresh rate—though it is a vibrant TFT LCD.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1918px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="RLohZm4cZd7CZUpzqiUqPQ" name="nzxt-kraken-elite2024-Hero4" alt="NZXT Kraken Elite 360 liquid cooler set-up inside a gaming PC." src="https://cdn.mos.cms.futurecdn.net/RLohZm4cZd7CZUpzqiUqPQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1918" 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>If you're really only looking for a cooler with a sizeable screen, you can <a href="https://www.amazon.com/NZXT-Kraken-Elite-360-2024/dp/B0D9GWDTHZ" target="_blank">pick up the 2024 version of the NZXT Kraken Elite RGB for $230</a>. In terms of key components, the Elite and Plus are very similar coolers, both featuring three 120mm F360 RGB Core fans, a 360 mm aluminium radiator, and the NZXT Turbine pump. However, as Zak says in his reviews, they do diverge in some pretty baffling other ways.</p><p>In many ways, the NZXT Kraken Plus 360 RGB liquid CPU cooler is the better deal—but installation is arguably not one of them. "From a first glance straight out of the box, all looks in order. And then we get to the cable," Zak writes in his review, "This thing is unbelievably frustrating. [...] They're cumbersome and awkward to route. Whereas in competing coolers you can simply slip most AIO cables down the side of the DRAM and the upper most heatsink, working it into the rear of the chassis for cable management, with the Kraken Plus, you can't. I tried with the thick flat ribbon cable, and it's so unwieldy and large that it just juts out over the DDR and the heatsink, and the USB 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:1918px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="5gFEzFB728iDMsWtzddufn" name="nzxt-krakenplus-5" alt="The NZXT Kraken Plus 360 RGB liquid cooler installed in a test bench." src="https://cdn.mos.cms.futurecdn.net/5gFEzFB728iDMsWtzddufn-1920-80.jpg" mos="" align="middle" fullscreen="" width="1918" 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>A saving of about $50 is nothing to sneeze at—but is that worth the inconvenience? The thick cable doesn't affect the cooler's performance, it's more a result of various compromises NZXT has had to make on this more affordable model. Girthy cable aside, this cooler is otherwise fairly easy to install, and offers build quality that feels far from cheap. Here's hoping Miku Hatsune, or your idol of choice, appreciates your sacrifice.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/cooling/i-dont-necessarily-need-a-cpu-cooler-with-a-screen-but-for-only-usd170-i-can-definitely-see-the-argument-for-turning-the-inside-of-my-pc-case-into-a-tiny-miku-hatsune-shrine/</link>
                                                                            <description>
                            <![CDATA[ There's no accounting for taste. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">3TuoVAsJy7AimTEwem4eqd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/JrXSWruDUuKtJb5nGyEgka-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 01 May 2026 14:05:32 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Cooling]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jess Kinghorn ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she&#039;s either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.&amp;nbsp;&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/JrXSWruDUuKtJb5nGyEgka-1920-80.jpg">
                                                            <media:credit><![CDATA[NZXT]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The NZXT Kraken Plus 360 RGB liquid CPU cooler in black.]]></media:description>                                                            <media:text><![CDATA[The NZXT Kraken Plus 360 RGB liquid CPU cooler in black.]]></media:text>
                                <media:title type="plain"><![CDATA[The NZXT Kraken Plus 360 RGB liquid CPU cooler in black.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/JrXSWruDUuKtJb5nGyEgka-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="2f8513a7-277c-471a-a66b-bf68317bb682" data-action="Deal Block" data-label="Kraken Plus 360 RGB" data-dimension48="Kraken Plus 360 RGB" data-dimension25="$169.99" href="https://www.amazon.com/dp/B0F5SCHSZQ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="gdTsGMxiLJVMUsN7mBCyZa" name="NZXT Kraken Plus 360 RGB" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/gdTsGMxiLJVMUsN7mBCyZa-1920-80.jpg" mos="" align="middle" fullscreen="" width="800" height="800" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0F5SCHSZQ" target="_blank" rel="nofollow" data-dimension112="2f8513a7-277c-471a-a66b-bf68317bb682" data-action="Deal Block" data-label="Kraken Plus 360 RGB" data-dimension48="Kraken Plus 360 RGB" data-dimension25="$169.99">Kraken Plus 360 RGB: was $219.99 now $169.99</a></strong><br>If you're desperate to introduce a bit more visual flair to the <em>inside </em>of your PC case, this CPU cooler with a screen is one of the best options when it comes to balancing performance against pricing.</p><p><strong>Key specs: 3x 120 mm RGB fans | 360 mm radiator | 240 x 240 resolution, 30 Hz screen | TFT LCD screen</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0F5SCHSZQ" target="_blank" rel="nofollow" data-dimension112="2f8513a7-277c-471a-a66b-bf68317bb682" data-action="Deal Block" data-label="Kraken Plus 360 RGB" data-dimension48="Kraken Plus 360 RGB" data-dimension25="$169.99">View Deal</a></p></div><p>Arguably, <a href="https://www.pcgamer.com/hardware/slapping-half-assed-screens-on-absolutely-everything-is-the-most-unnecessary-hardware-must-have-ive-seen-to-date-and-im-not-mad-im-just-disappointed/" target="_blank">you don't need a screen <em>inside </em>of your PC</a>—that's especially true for me as I store my gaming rig on the floor like a grownup. Teasing aside, I also don't <em>need </em>all the funky RGB I have in my PC, or the Miku Hatsune figurines that keep me company in my dimly lit gamer den, but those things bring me no small amount of joy. So, throw in a chunky discount, and I can definitely see the argument for a CPU cooler with a screen.</p><p>Let's say you store your gaming rig on top of your desk—because it's a work of art that <em>should </em>be seen. A CPU cooler with a screen offers more than just temps at a glance. Depending on what stylings your rig is rocking, another screen inside your desktop tower could be leveraged to essentially extend your canvas—even if your magnum opus amounts to little more than a shrine to Miku Hatsune. </p><p>The NZXT Kraken Plus 360 RGB liquid CPU cooler could provide the perfect visual vessel for the Vocaloid songstress, especially now <a href="https://www.amazon.com/dp/B0F5SCG6QC" target="_blank">it's only $170 from Amazon</a>.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>The<a href="https://www.pcgamer.com/hardware/cooling/nzxt-kraken-elite-360-rgb-2024-cooler-review/" target="_blank"> 2024 version of the NZXT Kraken Elite RGB</a> wowed us, earning it a place among the <a href="https://www.pcgamer.com/best-aio-cooler-for-cpus/#section-the-best-liquid-cooler-with-a-screen" target="_blank">best liquid coolers for CPUs</a> thanks to its stunning screen. The main point against it at the time was the price point, which threatened to clear out a chunk of whatever you'd budgeted for the CPU itself. The <a href="https://www.pcgamer.com/hardware/cooling/nzxt-kraken-plus-360-rgb-cooler-review/" target="_blank">2025 version of the NZXT Kraken Plus 360 RGB</a> lowered the MSRP, and is now even cheaper with a 23% discount.</p><p>The main reason the Kraken Elite still reigns supreme as the best liquid cooler with a screen is in part because of the IPS screen's 2.72-inch size. It also enjoys a 640 x 640 resolution at 60 Hz. The screen on the Kraken Plus is smaller, at 1.54-inches, and offers a lower 240 x 240 resolution with a 30 Hz refresh rate—though it is a vibrant TFT LCD.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1918px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="RLohZm4cZd7CZUpzqiUqPQ" name="nzxt-kraken-elite2024-Hero4" alt="NZXT Kraken Elite 360 liquid cooler set-up inside a gaming PC." src="https://cdn.mos.cms.futurecdn.net/RLohZm4cZd7CZUpzqiUqPQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1918" 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>If you're really only looking for a cooler with a sizeable screen, you can <a href="https://www.amazon.com/NZXT-Kraken-Elite-360-2024/dp/B0D9GWDTHZ" target="_blank">pick up the 2024 version of the NZXT Kraken Elite RGB for $230</a>. In terms of key components, the Elite and Plus are very similar coolers, both featuring three 120mm F360 RGB Core fans, a 360 mm aluminium radiator, and the NZXT Turbine pump. However, as Zak says in his reviews, they do diverge in some pretty baffling other ways.</p><p>In many ways, the NZXT Kraken Plus 360 RGB liquid CPU cooler is the better deal—but installation is arguably not one of them. "From a first glance straight out of the box, all looks in order. And then we get to the cable," Zak writes in his review, "This thing is unbelievably frustrating. [...] They're cumbersome and awkward to route. Whereas in competing coolers you can simply slip most AIO cables down the side of the DRAM and the upper most heatsink, working it into the rear of the chassis for cable management, with the Kraken Plus, you can't. I tried with the thick flat ribbon cable, and it's so unwieldy and large that it just juts out over the DDR and the heatsink, and the USB 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:1918px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="5gFEzFB728iDMsWtzddufn" name="nzxt-krakenplus-5" alt="The NZXT Kraken Plus 360 RGB liquid cooler installed in a test bench." src="https://cdn.mos.cms.futurecdn.net/5gFEzFB728iDMsWtzddufn-1920-80.jpg" mos="" align="middle" fullscreen="" width="1918" 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>A saving of about $50 is nothing to sneeze at—but is that worth the inconvenience? The thick cable doesn't affect the cooler's performance, it's more a result of various compromises NZXT has had to make on this more affordable model. Girthy cable aside, this cooler is otherwise fairly easy to install, and offers build quality that feels far from cheap. Here's hoping Miku Hatsune, or your idol of choice, appreciates your sacrifice.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Power supplies might not be as exciting as CPUs or GPUs but when you can get a top-rated 1000 W unit for just $130, you really can't ignore it ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="Leadex III SF-1000F14GE" data-dimension48="Leadex III SF-1000F14GE" data-dimension25="$129.99" href="https://www.amazon.com/Cybenetics-Platinum-Warranty-Semi-Fanless-SF-1300F14GE/dp/B0DTY7T8GP/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1450px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="XkE8hrDHter34XdAnYxLUi" name="super_flower_leadex_III_psu" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/XkE8hrDHter34XdAnYxLUi-1920-80.jpg" mos="" align="middle" fullscreen="" width="1450" height="1450" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Cybenetics-Platinum-Warranty-Semi-Fanless-SF-1300F14GE/dp/B0DTY7T8GP/" target="_blank" rel="nofollow" data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="Leadex III SF-1000F14GE" data-dimension48="Leadex III SF-1000F14GE" data-dimension25="$129.99">Leadex III SF-1000F14GE: was $149.99 now $129.99</a></strong><br>Super Flower is one of the top-rated brands when it comes to power supply units, respected for its commitment to reliability and consistency. While this Leadex III unit doesn't look very fancy, it will power your gaming PC through thick and thin for years on end.</p><p><strong>Price check:</strong> <a href="https://www.newegg.com/super-flower-leadex-iii-atx-3-1-atx-3-1-compatible-1000-w-cybenetics-platinum-power-supplies/p/1HU-024C-00078" target="_blank">Newegg $149.99</a></p><p><strong>Key specs: 1000 W | Gold ATX 3.1 | Cybenetics Platinum | 12V-2x6 connector</strong><a class="view-deal button" href="https://www.amazon.com/Cybenetics-Platinum-Warranty-Semi-Fanless-SF-1300F14GE/dp/B0DTY7T8GP/" target="_blank" rel="nofollow" data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="Leadex III SF-1000F14GE" data-dimension48="Leadex III SF-1000F14GE" data-dimension25="$129.99">View Deal</a></p></div><p>If there's one part of your gaming PC that you should never go cheap on, it's the power supply unit, or PSU. A high-quality unit will not only last for many years, but it will also keep your precious (and <em>very</em> expensive) components safe from unwanted electrical noise and power spikes.</p><p>So when I saw this Super Flower 1000 W Leadex III, on sale at <a href="https://www.amazon.com/Cybenetics-Platinum-Warranty-Semi-Fanless-SF-1300F14GE/dp/B0DTY7T8GP/" target="_blank">Amazon for $130</a>, I knew that I had to flag it up. It doesn't have a huge saving from its usual $150 price tag, but it's never been cheaper than this before. So what exactly are you getting for your money?</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Super Flower is primarily an OEM, in that it manufactures PSUs for other brands. Its own models are very understated, free of bling and RGB lighting. What they do have, though, is lots of high-quality components and a really solid design. Given that most PC cases hide the power supply anyway, the bland looks don't really matter.</p><p>If you want to know the specific details about its innards and operating parameters, you can read all about them in its <a href="https://www.cybenetics.com/evaluations/psus/2964/" target="_blank">Cybenetics certification</a>. But for me, here's what matters the most, other than the fact that it's a Super Flower unit.</p><p>First up is the combination of the peak power rating and overall efficiency. As with almost all PSUs, this one is at its most efficient when loaded to around 50% of its peak power output—500 W in this instance. That makes it ideal for most mid-range or high-end gaming PCs, because unless you're using something like an RTX 5090, your rig is unlikely to average more than this.</p><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="nryLUcvBUsmpjZtxycnLjM" name="super_flower_leadex_III_psu_02" alt="An image of the connectors in a Super Flower Leadex III SF-1000F14GE PSU, against a yellow gradient background" src="https://cdn.mos.cms.futurecdn.net/nryLUcvBUsmpjZtxycnLjM-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: Super Flower)</span></figcaption></figure><p>Next up is the dedicated 12V-2x6 connector and cable. If you have a GeForce RTX graphics card that uses this socket (or its predecessor, the 12VHPWR), then you can dump any multi-cable adapter system you might be using and simplify everything to a single cable. This not only removes points of failure, but it also helps to reduce the likelihood of experiencing Meltygate with a high-end graphics card.</p><p>Lastly, the Super Flower Leadex III comes with a ten-year warranty. That's way longer than almost any other component in most gaming PCs, so you'll be fine to use it through multiple upgrades. Assuming you do keep it for that long, that works out to be equivalent to spending just one dollar per month.</p><p>Sure, it's nowhere near as cool or as exciting as a new processor or graphics card, but I know that I'd never have buyer's remorse picking up a Super Flower PSU.</p><h2 id="check-out-all-of-amazon-s-power-supply-unit-deals-here">👉<a href="https://www.amazon.com/Power-Supplies-Computer-Accessories/b/ref=dp_bc_5?ie=UTF8&node=1161760" target="_blank">Check out all of Amazon's power supply unit deals here</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/power-supplies/power-supplies-might-not-be-as-exciting-as-cpus-or-gpus-but-when-you-can-get-a-top-rated-1000-w-unit-for-just-usd130-you-really-cant-ignore-it/</link>
                                                                            <description>
                            <![CDATA[ Super Flower in name, super reliable in nature. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">p3yMFkZghv9WgFz794mTCg</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/pfPN4UNyR8GGyf8GZafRYQ-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 30 Apr 2026 12:56:08 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Power Supplies]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nick Evanson ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HH5qHxdCSKxFpY2HXp2Q5K-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick, gaming, and computers all first met in the early 1980s. After leaving university, he became a physics and IT teacher and started writing about tech in the late 1990s. That resulted in him working with MadOnion to write the help files for 3DMark and PCMark. After a short stint working at Beyond3D.com, Nick joined Futuremark (MadOnion rebranded) full-time, as editor-in-chief for its PC gaming section, YouGamers. After the site shutdown, he became an engineering and computing lecturer for many years, but missed the writing bug. Cue four years at TechSpot.com covering everything and anything to do with tech and PCs. He freely admits to being far too obsessed with GPUs and open-world grindy RPGs, but who isn&#039;t these days?&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/pfPN4UNyR8GGyf8GZafRYQ-1920-80.jpg">
                                                            <media:credit><![CDATA[Super Flower]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An image of a Super Flower Leadex III power supply unit, against a colorful background, with the phrase &#039;Deals&#039; on the right above a PC Gamer logo]]></media:description>                                                            <media:text><![CDATA[An image of a Super Flower Leadex III power supply unit, against a colorful background, with the phrase &#039;Deals&#039; on the right above a PC Gamer logo]]></media:text>
                                <media:title type="plain"><![CDATA[An image of a Super Flower Leadex III power supply unit, against a colorful background, with the phrase &#039;Deals&#039; on the right above a PC Gamer logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/pfPN4UNyR8GGyf8GZafRYQ-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="Leadex III SF-1000F14GE" data-dimension48="Leadex III SF-1000F14GE" data-dimension25="$129.99" href="https://www.amazon.com/Cybenetics-Platinum-Warranty-Semi-Fanless-SF-1300F14GE/dp/B0DTY7T8GP/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1450px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="XkE8hrDHter34XdAnYxLUi" name="super_flower_leadex_III_psu" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/XkE8hrDHter34XdAnYxLUi-1920-80.jpg" mos="" align="middle" fullscreen="" width="1450" height="1450" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Cybenetics-Platinum-Warranty-Semi-Fanless-SF-1300F14GE/dp/B0DTY7T8GP/" target="_blank" rel="nofollow" data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="Leadex III SF-1000F14GE" data-dimension48="Leadex III SF-1000F14GE" data-dimension25="$129.99">Leadex III SF-1000F14GE: was $149.99 now $129.99</a></strong><br>Super Flower is one of the top-rated brands when it comes to power supply units, respected for its commitment to reliability and consistency. While this Leadex III unit doesn't look very fancy, it will power your gaming PC through thick and thin for years on end.</p><p><strong>Price check:</strong> <a href="https://www.newegg.com/super-flower-leadex-iii-atx-3-1-atx-3-1-compatible-1000-w-cybenetics-platinum-power-supplies/p/1HU-024C-00078" target="_blank">Newegg $149.99</a></p><p><strong>Key specs: 1000 W | Gold ATX 3.1 | Cybenetics Platinum | 12V-2x6 connector</strong><a class="view-deal button" href="https://www.amazon.com/Cybenetics-Platinum-Warranty-Semi-Fanless-SF-1300F14GE/dp/B0DTY7T8GP/" target="_blank" rel="nofollow" data-dimension112="7c2ef217-d2b3-481d-80c6-7a289335bd9e" data-action="Deal Block" data-label="Leadex III SF-1000F14GE" data-dimension48="Leadex III SF-1000F14GE" data-dimension25="$129.99">View Deal</a></p></div><p>If there's one part of your gaming PC that you should never go cheap on, it's the power supply unit, or PSU. A high-quality unit will not only last for many years, but it will also keep your precious (and <em>very</em> expensive) components safe from unwanted electrical noise and power spikes.</p><p>So when I saw this Super Flower 1000 W Leadex III, on sale at <a href="https://www.amazon.com/Cybenetics-Platinum-Warranty-Semi-Fanless-SF-1300F14GE/dp/B0DTY7T8GP/" target="_blank">Amazon for $130</a>, I knew that I had to flag it up. It doesn't have a huge saving from its usual $150 price tag, but it's never been cheaper than this before. So what exactly are you getting for your money?</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>Super Flower is primarily an OEM, in that it manufactures PSUs for other brands. Its own models are very understated, free of bling and RGB lighting. What they do have, though, is lots of high-quality components and a really solid design. Given that most PC cases hide the power supply anyway, the bland looks don't really matter.</p><p>If you want to know the specific details about its innards and operating parameters, you can read all about them in its <a href="https://www.cybenetics.com/evaluations/psus/2964/" target="_blank">Cybenetics certification</a>. But for me, here's what matters the most, other than the fact that it's a Super Flower unit.</p><p>First up is the combination of the peak power rating and overall efficiency. As with almost all PSUs, this one is at its most efficient when loaded to around 50% of its peak power output—500 W in this instance. That makes it ideal for most mid-range or high-end gaming PCs, because unless you're using something like an RTX 5090, your rig is unlikely to average more than this.</p><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="nryLUcvBUsmpjZtxycnLjM" name="super_flower_leadex_III_psu_02" alt="An image of the connectors in a Super Flower Leadex III SF-1000F14GE PSU, against a yellow gradient background" src="https://cdn.mos.cms.futurecdn.net/nryLUcvBUsmpjZtxycnLjM-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: Super Flower)</span></figcaption></figure><p>Next up is the dedicated 12V-2x6 connector and cable. If you have a GeForce RTX graphics card that uses this socket (or its predecessor, the 12VHPWR), then you can dump any multi-cable adapter system you might be using and simplify everything to a single cable. This not only removes points of failure, but it also helps to reduce the likelihood of experiencing Meltygate with a high-end graphics card.</p><p>Lastly, the Super Flower Leadex III comes with a ten-year warranty. That's way longer than almost any other component in most gaming PCs, so you'll be fine to use it through multiple upgrades. Assuming you do keep it for that long, that works out to be equivalent to spending just one dollar per month.</p><p>Sure, it's nowhere near as cool or as exciting as a new processor or graphics card, but I know that I'd never have buyer's remorse picking up a Super Flower PSU.</p><h2 id="check-out-all-of-amazon-s-power-supply-unit-deals-here">👉<a href="https://www.amazon.com/Power-Supplies-Computer-Accessories/b/ref=dp_bc_5?ie=UTF8&node=1161760" target="_blank">Check out all of Amazon's power supply unit deals here</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The cheapest OLED gaming monitor I'd actually buy has just received a further $20 discount ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="2d18ad7a-28ab-4fe0-ab0a-449003a3d19f" data-action="Deal Block" data-label="Predator X27U Z1bmiiprx" data-dimension48="Predator X27U Z1bmiiprx" data-dimension25="$379.99" href="https://www.newegg.com/acer-x27u-z1bmiiprx-27-wqhd-280-hz-predator-qd-oled/p/N82E16824011526" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="fgpJrBWE8bBdwmU9um5ogM" name="a" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/fgpJrBWE8bBdwmU9um5ogM-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/acer-x27u-z1bmiiprx-27-wqhd-280-hz-predator-qd-oled/p/N82E16824011526" target="_blank" rel="nofollow" data-dimension112="2d18ad7a-28ab-4fe0-ab0a-449003a3d19f" data-action="Deal Block" data-label="Predator X27U Z1bmiiprx" data-dimension48="Predator X27U Z1bmiiprx" data-dimension25="$379.99">Predator X27U Z1bmiiprx: was $549.99 now $379.99</a></strong><br>Both 1440p and OLED, this 27-inch monitor from Acer has almost everything you may want to pair with your rig. It's even better now that it's $170 off, making it the cheapest OLED on our entire list right now. To top it off, it comes with a 240 Hz refresh rate, up to 0.01 ms response time, and a solid selection of ports with a DisplayPort, and 2 HDMI ports. <strong>Use promo code "PGWEF338" for full discount.</strong></p><p><strong>Key specs: 27-inch | 2560 X 1440 | 240 Hz | OLED | 0.03 ms</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/acer-predator-x27u-27-wqhd-qd-oled-280hz-0-03ms-freesync-premium-pro-gaming-monitor-with-hdr400-displayport-hdmi-black/JJ8V8H89X8" target="_blank">Best Buy $649.99</a><a class="view-deal button" href="https://www.newegg.com/acer-x27u-z1bmiiprx-27-wqhd-280-hz-predator-qd-oled/p/N82E16824011526" target="_blank" rel="nofollow" data-dimension112="2d18ad7a-28ab-4fe0-ab0a-449003a3d19f" data-action="Deal Block" data-label="Predator X27U Z1bmiiprx" data-dimension48="Predator X27U Z1bmiiprx" data-dimension25="$379.99">View Deal</a></p></div><p>I think I see this maybe once every couple of weeks at this point, but boy, do I love OLED gaming monitors. I've upgraded my gaming setup many times over the last few years, but one of the best I've made is swapping one of my two monitors out for that crisp panel type. And, as they get cheaper, I can only recommend the swap more. </p><p>Over at Newegg, you can pick up the <a href="https://www.newegg.com/acer-x27u-z1bmiiprx-27-wqhd-280-hz-predator-qd-oled/p/N82E16824011526" target="_blank">Acer Predator X27U Z1bmiiprx for $380</a> with the promo code "PGWEF338".  That's a $20 discount from the already reduced $400 it was just last week. </p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>I watch over our list of the best <a href="https://www.pcgamer.com/cheap-gaming-monitor-deals/" target="_blank">cheap gaming monitor deals</a> every week, so I've developed a good sense of which monitors offer the best value, and this Acer Predator is consistently among the lowest-priced OLEDs available. With the $20 promo code, it is firmly the cheapest monitor I'd actually recommend. </p><p>If you're wondering what the deal is with OLED panels, they offer vibrant colours and true blacks, meaning they give the best elements of IPS and VA panels cranked up to 11. This one is 27 inches, which I've found perfect for a dual monitor setup, and comes with a 1440p resolution. </p><p>Generally speaking, that's a great middleground resolution, offering sharp visuals without needing the hardware required to run it at 4K. For any budget to mid-range rig, this will be the best choice. </p><p>It's a pretty beefy panel in other specs, too. For instance, you are getting a super solid 0.03 ms response time and a 280 Hz refresh rate, which is enough for even competitive gaming. It also comes with built-in speakers—a nice touch. </p><p>There are downsides to this panel. For one, being an older OLED panel type, you are still likely to see some font fringing. Outside of gaming, this means text can sometimes appear a bit blurry or with a slight halo. As well as this, the monitor only has a typical brightness of 250 nits (peak 1,000 nits), which is on the low end. In high-light environments, it may struggle, but it will be just fine for most gaming setups. </p><p>However, I'd argue the superior visuals of an OLED panel outweigh any of its downsides, and the price of this Acer panel makes it the best value OLED gaming monitor I can find. If I were looking for an upgrade on a budget, this would be getting my vote. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-monitors/the-cheapest-oled-gaming-monitor-id-actually-buy-has-just-received-a-further-usd20-discount/</link>
                                                                            <description>
                            <![CDATA[ And it's an Acer too. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">hhgGBYcprJEMK4y6tkEqW6</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/MeXL8awE4JPFZTnwBQ3iJ7-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 29 Apr 2026 12:24:59 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Monitors]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Bentley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.&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/MeXL8awE4JPFZTnwBQ3iJ7-1920-80.jpg">
                                                            <media:credit><![CDATA[Acer]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Acer Predator gaming monitor on a pink deals background]]></media:description>                                                            <media:text><![CDATA[Acer Predator gaming monitor on a pink deals background]]></media:text>
                                <media:title type="plain"><![CDATA[Acer Predator gaming monitor on a pink deals background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/MeXL8awE4JPFZTnwBQ3iJ7-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="2d18ad7a-28ab-4fe0-ab0a-449003a3d19f" data-action="Deal Block" data-label="Predator X27U Z1bmiiprx" data-dimension48="Predator X27U Z1bmiiprx" data-dimension25="$379.99" href="https://www.newegg.com/acer-x27u-z1bmiiprx-27-wqhd-280-hz-predator-qd-oled/p/N82E16824011526" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="fgpJrBWE8bBdwmU9um5ogM" name="a" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/fgpJrBWE8bBdwmU9um5ogM-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/acer-x27u-z1bmiiprx-27-wqhd-280-hz-predator-qd-oled/p/N82E16824011526" target="_blank" rel="nofollow" data-dimension112="2d18ad7a-28ab-4fe0-ab0a-449003a3d19f" data-action="Deal Block" data-label="Predator X27U Z1bmiiprx" data-dimension48="Predator X27U Z1bmiiprx" data-dimension25="$379.99">Predator X27U Z1bmiiprx: was $549.99 now $379.99</a></strong><br>Both 1440p and OLED, this 27-inch monitor from Acer has almost everything you may want to pair with your rig. It's even better now that it's $170 off, making it the cheapest OLED on our entire list right now. To top it off, it comes with a 240 Hz refresh rate, up to 0.01 ms response time, and a solid selection of ports with a DisplayPort, and 2 HDMI ports. <strong>Use promo code "PGWEF338" for full discount.</strong></p><p><strong>Key specs: 27-inch | 2560 X 1440 | 240 Hz | OLED | 0.03 ms</strong></p><p><strong>Price check: </strong><a href="https://www.bestbuy.com/product/acer-predator-x27u-27-wqhd-qd-oled-280hz-0-03ms-freesync-premium-pro-gaming-monitor-with-hdr400-displayport-hdmi-black/JJ8V8H89X8" target="_blank">Best Buy $649.99</a><a class="view-deal button" href="https://www.newegg.com/acer-x27u-z1bmiiprx-27-wqhd-280-hz-predator-qd-oled/p/N82E16824011526" target="_blank" rel="nofollow" data-dimension112="2d18ad7a-28ab-4fe0-ab0a-449003a3d19f" data-action="Deal Block" data-label="Predator X27U Z1bmiiprx" data-dimension48="Predator X27U Z1bmiiprx" data-dimension25="$379.99">View Deal</a></p></div><p>I think I see this maybe once every couple of weeks at this point, but boy, do I love OLED gaming monitors. I've upgraded my gaming setup many times over the last few years, but one of the best I've made is swapping one of my two monitors out for that crisp panel type. And, as they get cheaper, I can only recommend the swap more. </p><p>Over at Newegg, you can pick up the <a href="https://www.newegg.com/acer-x27u-z1bmiiprx-27-wqhd-280-hz-predator-qd-oled/p/N82E16824011526" target="_blank">Acer Predator X27U Z1bmiiprx for $380</a> with the promo code "PGWEF338".  That's a $20 discount from the already reduced $400 it was just last week. </p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>I watch over our list of the best <a href="https://www.pcgamer.com/cheap-gaming-monitor-deals/" target="_blank">cheap gaming monitor deals</a> every week, so I've developed a good sense of which monitors offer the best value, and this Acer Predator is consistently among the lowest-priced OLEDs available. With the $20 promo code, it is firmly the cheapest monitor I'd actually recommend. </p><p>If you're wondering what the deal is with OLED panels, they offer vibrant colours and true blacks, meaning they give the best elements of IPS and VA panels cranked up to 11. This one is 27 inches, which I've found perfect for a dual monitor setup, and comes with a 1440p resolution. </p><p>Generally speaking, that's a great middleground resolution, offering sharp visuals without needing the hardware required to run it at 4K. For any budget to mid-range rig, this will be the best choice. </p><p>It's a pretty beefy panel in other specs, too. For instance, you are getting a super solid 0.03 ms response time and a 280 Hz refresh rate, which is enough for even competitive gaming. It also comes with built-in speakers—a nice touch. </p><p>There are downsides to this panel. For one, being an older OLED panel type, you are still likely to see some font fringing. Outside of gaming, this means text can sometimes appear a bit blurry or with a slight halo. As well as this, the monitor only has a typical brightness of 250 nits (peak 1,000 nits), which is on the low end. In high-light environments, it may struggle, but it will be just fine for most gaming setups. </p><p>However, I'd argue the superior visuals of an OLED panel outweigh any of its downsides, and the price of this Acer panel makes it the best value OLED gaming monitor I can find. If I were looking for an upgrade on a budget, this would be getting my vote. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I'd snap up this $340 QD-OLED gaming monitor in a heartbeat, limited connectivity be damned ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="314112c8-f4a6-4e58-b060-44b4d8f0651d" data-action="Deal Block" data-label="Q27GAZD" data-dimension48="Q27GAZD" data-dimension25="$339.99" href="https://www.amazon.com/AOC-2560x1440-Compatible-DisplayPort-Q27GAZD/dp/B0FTS1KC43/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="3rcgYZGneLXC4yvJA6hSP" name="AOCQDOLED" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/3rcgYZGneLXC4yvJA6hSP-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/AOC-2560x1440-Compatible-DisplayPort-Q27GAZD/dp/B0FTS1KC43/?th=1" target="_blank" rel="nofollow" data-dimension112="314112c8-f4a6-4e58-b060-44b4d8f0651d" data-action="Deal Block" data-label="Q27GAZD" data-dimension48="Q27GAZD" data-dimension25="$339.99">Q27GAZD: was $369.99 now $339.99</a></strong><br>OLED gaming monitors are slowly but surely becoming more affordable, and this AOC is a good example. With a 240 Hz QD-OLED panel beaming games, movies, and dare I say even spreadsheets at your eyeballs, I reckon you'd be pleased to call this your own—although you'll need to use the DisplayPort 1.4 connection to make the most of it. </p><p><strong>Key specs: 27-inch | 1440p | 240 Hz | OLED | 0.03 ms</strong><a class="view-deal button" href="https://www.amazon.com/AOC-2560x1440-Compatible-DisplayPort-Q27GAZD/dp/B0FTS1KC43/?th=1" target="_blank" rel="nofollow" data-dimension112="314112c8-f4a6-4e58-b060-44b4d8f0651d" data-action="Deal Block" data-label="Q27GAZD" data-dimension48="Q27GAZD" data-dimension25="$339.99">View Deal</a></p></div><p>While the price of everything PC gaming hardware seems to be going up these days, I have good news: OLED gaming monitors are starting to become more affordable. I was stopped in my tracks this morning by this <a href="https://www.amazon.com/AOC-2560x1440-Compatible-DisplayPort-Q27GAZD/dp/B0FTS1KC43/?th=1" target="_blank">AOC QD-OLED 240 Hz example for $340 at Amazon</a>, which is definitely one of the cheapest I've ever seen.</p><p>It's a 1440p panel, which is pretty much the sweet spot for its 27-inch size. And while it lacks options in the connectivity department, this monitor is still a fantastic deal for anyone looking for an OLED upgrade on the cheap.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>The 240 Hz refresh rate is certainly a top-billing feature, but you'll need to use its single DisplayPort 1.4 connection to reach that lofty figure at 1440p. That's because the only other option is an HDMI 2.0 port, and the spec tops out at 144 Hz at this resolution.</p><p>Still, that's really only a problem for console/gaming laptop users, or those of you without DisplayPort cables. Pick up a cheap one of those with your purchase (I personally use these <a href="https://www.amazon.com/UGREEN-DisplayPort-Certified-Compatible-FreeSync/dp/B0BQ9ZGRNY/" target="_blank">UGreen HDMI 2.1-rated versions</a>), and you should be sorted, as modern graphics cards usually have several DP ports to choose from.</p><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="2ucezino3DCPWjxAQieHxH" name="AOCQ27GAZDorange" alt="An AOC Q27GAZD QD-OLED gaming monitor on an orange and yellow gradient background" src="https://cdn.mos.cms.futurecdn.net/2ucezino3DCPWjxAQieHxH-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: AOC)</span></figcaption></figure><p>And then you're in the land of QD-OLED loveliness for a very reasonable price. While it's not the brightest of monitors (it's got <a href="https://www.aoc.com/us/gaming/monitors/q27gazd#productSpecifications:~:text=1.073B%20(10%20bits)-,BRIGHTNESS%20IN%20NITS,-SDR%3A%20200%20cd" target="_blank">a peak full-screen brightness rating of 200 nits</a>), it's the vivid color reproduction and near-infinite contrast ratio you're really after, and this particular model should deliver that in spades.</p><p>Plus, with a 0.03 ms response time and Nvidia G-Sync support, it'd be the perfect match for a team green competitive gaming setup. QD-OLED panel tech is some of the best around, and this little beauty has a lot going for it. It might be lacking in port options, but for this kind of price, I'd still say it's a bit of a no-brainer. </p><h2 id="shop-all-the-amazon-gaming-monitor-deals-right-here">👉<a href="https://www.amazon.com/s?k=gaming+monitor" target="_blank">Shop all the Amazon gaming monitor deals right here</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-monitors/id-snap-up-this-usd340-qd-oled-gaming-monitor-in-a-heartbeat-limited-connectivity-be-damned/</link>
                                                                            <description>
                            <![CDATA[ At least gaming monitor deals are still kicking. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">XHpqSUk7gjEJHYCgUzWrxU</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aXHm4EHJBb926vzMpouddi-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 28 Apr 2026 12:05:54 +0000</pubDate>                                                                                                                                <updated>Tue, 28 Apr 2026 12:06:21 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming Monitors]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Andy Edser ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE-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/aXHm4EHJBb926vzMpouddi-1920-80.jpg">
                                                            <media:credit><![CDATA[AOC]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An AOC Q27GAZD QD-OLED 240 Hz gaming monitor on a pink and white deals background]]></media:description>                                                            <media:text><![CDATA[An AOC Q27GAZD QD-OLED 240 Hz gaming monitor on a pink and white deals background]]></media:text>
                                <media:title type="plain"><![CDATA[An AOC Q27GAZD QD-OLED 240 Hz gaming monitor on a pink and white deals background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aXHm4EHJBb926vzMpouddi-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="314112c8-f4a6-4e58-b060-44b4d8f0651d" data-action="Deal Block" data-label="Q27GAZD" data-dimension48="Q27GAZD" data-dimension25="$339.99" href="https://www.amazon.com/AOC-2560x1440-Compatible-DisplayPort-Q27GAZD/dp/B0FTS1KC43/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="3rcgYZGneLXC4yvJA6hSP" name="AOCQDOLED" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/3rcgYZGneLXC4yvJA6hSP-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/AOC-2560x1440-Compatible-DisplayPort-Q27GAZD/dp/B0FTS1KC43/?th=1" target="_blank" rel="nofollow" data-dimension112="314112c8-f4a6-4e58-b060-44b4d8f0651d" data-action="Deal Block" data-label="Q27GAZD" data-dimension48="Q27GAZD" data-dimension25="$339.99">Q27GAZD: was $369.99 now $339.99</a></strong><br>OLED gaming monitors are slowly but surely becoming more affordable, and this AOC is a good example. With a 240 Hz QD-OLED panel beaming games, movies, and dare I say even spreadsheets at your eyeballs, I reckon you'd be pleased to call this your own—although you'll need to use the DisplayPort 1.4 connection to make the most of it. </p><p><strong>Key specs: 27-inch | 1440p | 240 Hz | OLED | 0.03 ms</strong><a class="view-deal button" href="https://www.amazon.com/AOC-2560x1440-Compatible-DisplayPort-Q27GAZD/dp/B0FTS1KC43/?th=1" target="_blank" rel="nofollow" data-dimension112="314112c8-f4a6-4e58-b060-44b4d8f0651d" data-action="Deal Block" data-label="Q27GAZD" data-dimension48="Q27GAZD" data-dimension25="$339.99">View Deal</a></p></div><p>While the price of everything PC gaming hardware seems to be going up these days, I have good news: OLED gaming monitors are starting to become more affordable. I was stopped in my tracks this morning by this <a href="https://www.amazon.com/AOC-2560x1440-Compatible-DisplayPort-Q27GAZD/dp/B0FTS1KC43/?th=1" target="_blank">AOC QD-OLED 240 Hz example for $340 at Amazon</a>, which is definitely one of the cheapest I've ever seen.</p><p>It's a 1440p panel, which is pretty much the sweet spot for its 27-inch size. And while it lacks options in the connectivity department, this monitor is still a fantastic deal for anyone looking for an OLED upgrade on the cheap.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>The 240 Hz refresh rate is certainly a top-billing feature, but you'll need to use its single DisplayPort 1.4 connection to reach that lofty figure at 1440p. That's because the only other option is an HDMI 2.0 port, and the spec tops out at 144 Hz at this resolution.</p><p>Still, that's really only a problem for console/gaming laptop users, or those of you without DisplayPort cables. Pick up a cheap one of those with your purchase (I personally use these <a href="https://www.amazon.com/UGREEN-DisplayPort-Certified-Compatible-FreeSync/dp/B0BQ9ZGRNY/" target="_blank">UGreen HDMI 2.1-rated versions</a>), and you should be sorted, as modern graphics cards usually have several DP ports to choose from.</p><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="2ucezino3DCPWjxAQieHxH" name="AOCQ27GAZDorange" alt="An AOC Q27GAZD QD-OLED gaming monitor on an orange and yellow gradient background" src="https://cdn.mos.cms.futurecdn.net/2ucezino3DCPWjxAQieHxH-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: AOC)</span></figcaption></figure><p>And then you're in the land of QD-OLED loveliness for a very reasonable price. While it's not the brightest of monitors (it's got <a href="https://www.aoc.com/us/gaming/monitors/q27gazd#productSpecifications:~:text=1.073B%20(10%20bits)-,BRIGHTNESS%20IN%20NITS,-SDR%3A%20200%20cd" target="_blank">a peak full-screen brightness rating of 200 nits</a>), it's the vivid color reproduction and near-infinite contrast ratio you're really after, and this particular model should deliver that in spades.</p><p>Plus, with a 0.03 ms response time and Nvidia G-Sync support, it'd be the perfect match for a team green competitive gaming setup. QD-OLED panel tech is some of the best around, and this little beauty has a lot going for it. It might be lacking in port options, but for this kind of price, I'd still say it's a bit of a no-brainer. </p><h2 id="shop-all-the-amazon-gaming-monitor-deals-right-here">👉<a href="https://www.amazon.com/s?k=gaming+monitor" target="_blank">Shop all the Amazon gaming monitor deals right here</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I'm struggling to decide between these three high-end gaming PCs for under $2,000 ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It's getting harder each week to find great gaming PCs on the right side of $2,000. I'm not just saying that as opening filler, either; I've been keeping my eye on different retailer gaming PC deals at least once a week for the last couple of years, and each passing week the pickings seem to get slimmer.</p><p>That being said, we've still been lucky enough to have at least some high-end rigs going for under $2,000 even in this <a href="https://www.pcgamer.com/hardware/memory/ram-and-storage-is-ridiculously-expensive-right-now-because-of-drumroll-ai-of-course-and-theres-little-reason-to-think-prices-will-drop-any-time-soon/" target="_blank">RAMpocalyptic market</a>. A year ago these might have included the occasional RTX 5080 build, but now they're exclusively <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidia-rtx-5070-ti-review-msi-ventus-3x/" target="_blank">RTX 5070 Ti</a> and <a href="https://www.pcgamer.com/hardware/graphics-cards/amd-radeon-rx-9700-xt-review-asus-prime-oc/" target="_blank">RX 9070 XT</a> ones.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>There's still a surprising amount of variation in prices for these gaming PCs between $1,500 and $2,000, and there's no clear winner when it comes to value. Obviously if you've got a strict budget then this might decide things for you, but if not, you'll need some discernment.</p><p>Here are the three best ones I've spotted.</p><h2 class="article-body__section" id="section-quick-links"><span>Quick links</span></h2><ul><li><strong>Skytech Rampage</strong> - RX 9070 XT | Ryzen 7 7700X - <a href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank"><strong>$1,700 @ Newegg</strong></a></li><li><strong>MSI Aegis Z2</strong> - RTX 5070 Ti | Ryzen 7 8700F - <a href="https://www.bhphotovideo.com/c/product/1900592-REG/msi_aegis_z2_a8nvr_1611us_aegis_z2_gaming_desktop.html" target="_blank"><strong>$1,850 @ B&H Photo</strong></a></li><li><strong>Skytech Gaming Chronos 3</strong> - RX 9070 XT | Ryzen 7 7700 - <a href="https://www.amazon.com/Skytech-Gaming-Chronos-Desktop-5-3GHz/dp/B0DZJ4KNY1" target="_blank"><strong>$1,900 @ Amazon</strong></a></li></ul><p>Let's get the most important thing out of the way: When it comes to pure rasterisation performance, the following three gaming PCs will perform roughly the same on average. The differences between GPUs, CPUs, and <a href="https://www.pcgamer.com/hardware/handheld-gaming-pcs/oh-how-times-have-changed-id-now-buy-an-rtx-5060-ti-gaming-pc-with-32-gb-ram-over-an-rtx-5070-pc-with-just-16-gb-any-day-of-the-week-in-the-rampocalypse/" target="_blank">even between 16 GB and 32 GB of RAM</a>, shouldn't make a massive difference on average for gaming performance—though that will depend on the game, of course (some games prefer AMD GPUs, some Nvidia ones).</p><p>If you can spare the extra $150+, the extra 16 GB of RAM will be worth it for one of the latter two gaming PCs, however. That's because you will get <em>some </em>extra performance out of the additional memory, and you'll have a much better time opening multiple apps and even just browsing the internet using Chrome, for instance.</p><iframe allow="" height="700px" width="100%" id="" style="" data-lazy-priority="low" data-lazy-src="https://flo.uri.sh/story/2950225/embed"></iframe><p>The decision you'll have to make then is between a PC with a worse CPU but an Nvidia card, or one with a better CPU but an AMD card. In the former case, you'll get the benefits of slightly better upscaling, ray tracing, and frame gen with wider DLSS game support, and you'll also be able to upgrade the CPU to a <a href="https://www.pcgamer.com/hardware/processors/amd-ryzen-7-9800x3d-review/" target="_blank">Ryzen 7 9800X3D</a> down the line, for instance, because you'll already have an AM5 socket for it.</p><p>In the latter case, you won't get the widespread support for the better upscaling and frame gen technologies, and you won't get quite the level of the RTX 5070 Ti's ray tracing performance, but you will get the better CPU. If you know you play CPU-intensive games—competitive shooters or strategy games, for instance—it might be a better shout. Similarly, it will be a better shout if you're looking to do any kind of productivity work such as editing, streaming, rendering, compiling, and all kinds of other -ings.</p><h2 class="article-body__section" id="section-the-deals"><span>The deals</span></h2><div class="product"><a data-dimension112="2db84e40-57e5-4a63-9758-4dbd2b3fc40f" data-action="Deal Block" data-label="Rampage | RX 9070 XT" data-dimension48="Rampage | RX 9070 XT" data-dimension25="$1699.99" href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:719px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="H645qxYTi3DZV6WptyS7bn" name="Rampage | RX 9070 XT" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/H645qxYTi3DZV6WptyS7bn-1920-80.png" mos="" align="middle" fullscreen="" width="719" height="719" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank" rel="nofollow" data-dimension112="2db84e40-57e5-4a63-9758-4dbd2b3fc40f" data-action="Deal Block" data-label="Rampage | RX 9070 XT" data-dimension48="Rampage | RX 9070 XT" data-dimension25="$1699.99">Rampage | RX 9070 XT: was $1799.99 now $1699.99</a></strong><br>RX 9070 XT gaming PCs like this one seem to be an ideal picking in the current market. This build is offering a relatively high-end CPU and a definitively high-end GPU for a very reasonable price. Just note that it is a bit of a glass cannon thanks to that 16 GB of DDR5 memory. More RAM would be nice, but if you keep other things closed while you game, it should perform really well.</p><p><strong>Key specs: Ryzen 7 7700X | RX 9070 XT | 16 GB DDR5-6000 | 1 TB SSD</strong><a class="view-deal button" href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank" rel="nofollow" data-dimension112="2db84e40-57e5-4a63-9758-4dbd2b3fc40f" data-action="Deal Block" data-label="Rampage | RX 9070 XT" data-dimension48="Rampage | RX 9070 XT" data-dimension25="$1699.99">View Deal</a></p></div><div class="product"><a data-dimension112="2c9c520b-0733-47bf-a092-74874f9f7934" data-action="Deal Block" data-label="Aegis Z2 | RTX 5070 Ti" data-dimension48="Aegis Z2 | RTX 5070 Ti" data-dimension25="$1849.99" href="https://www.bhphotovideo.com/c/product/1900592-REG/msi_aegis_z2_a8nvr_1611us_aegis_z2_gaming_desktop.html" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:559px;"><p class="vanilla-image-block" style="padding-top:99.82%;"><img id="kLgdGLF9788UPSXDzWeNBh" name="Aegis Z2 | RTX 5070 Ti" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/kLgdGLF9788UPSXDzWeNBh-1920-80.png" mos="" align="middle" fullscreen="" width="559" height="558" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bhphotovideo.com/c/product/1900592-REG/msi_aegis_z2_a8nvr_1611us_aegis_z2_gaming_desktop.html" target="_blank" rel="nofollow" data-dimension112="2c9c520b-0733-47bf-a092-74874f9f7934" data-action="Deal Block" data-label="Aegis Z2 | RTX 5070 Ti" data-dimension48="Aegis Z2 | RTX 5070 Ti" data-dimension25="$1849.99">Aegis Z2 | RTX 5070 Ti: was $2249.99 now $1849.99</a></strong><br>The RTX 5070 Ti at the heart of this build is a fantastic high-end choice, especially right now where RTX 5080 builds are much more expensive. The only downside to this build is that CPU, which certainly won't win any records in productivity workloads. But for most games it will power the RTX 5070 Ti just fine, and you can upgrade to a lovely X3D or another high-end Ryzen 9000-series chip in the same socket whenever you fancy an upgrade.</p><p><strong>Key specs: Ryzen 7 8700F | RTX 5070 Ti |  32 GB DDR5-6000 | 2 TB SSD</strong><a class="view-deal button" href="https://www.bhphotovideo.com/c/product/1900592-REG/msi_aegis_z2_a8nvr_1611us_aegis_z2_gaming_desktop.html" target="_blank" rel="nofollow" data-dimension112="2c9c520b-0733-47bf-a092-74874f9f7934" data-action="Deal Block" data-label="Aegis Z2 | RTX 5070 Ti" data-dimension48="Aegis Z2 | RTX 5070 Ti" data-dimension25="$1849.99">View Deal</a></p></div><div class="product"><a data-dimension112="72fb33cf-4b9e-475c-a24e-ec0e67c1d604" data-action="Deal Block" data-label="Gaming Chronos 3 | RX 9070 XT" data-dimension48="Gaming Chronos 3 | RX 9070 XT" data-dimension25="$1899.99" href="https://www.amazon.com/Skytech-Gaming-Chronos-Desktop-5-3GHz/dp/B0DZJ4KNY1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:631px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="6ss9MuEG6LVXJ8dsYdaKx3" name="Gaming Chronos 3 | RX 9070 XT" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6ss9MuEG6LVXJ8dsYdaKx3-1920-80.png" mos="" align="middle" fullscreen="" width="631" height="631" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Skytech-Gaming-Chronos-Desktop-5-3GHz/dp/B0DZJ4KNY1" target="_blank" rel="nofollow" data-dimension112="72fb33cf-4b9e-475c-a24e-ec0e67c1d604" data-action="Deal Block" data-label="Gaming Chronos 3 | RX 9070 XT" data-dimension48="Gaming Chronos 3 | RX 9070 XT" data-dimension25="$1899.99">Gaming Chronos 3 | RX 9070 XT: $1899.99</a></strong><br>Here, you're getting AMD's best graphics card offering alongside some pretty beefy components. Admittedly, in the case of the CPU, that's a beefy previous-gen chip, but it's still an eight-core one and on the latest AM5 socket. Paired with that fast RAM, this makes for a great high-end build.</p><p><strong>Key specs: Ryzen 7 7700 | RX 9070 XT | 32 GB DDR5-6000 | 2 TB SSD</strong><a class="view-deal button" href="https://www.amazon.com/Skytech-Gaming-Chronos-Desktop-5-3GHz/dp/B0DZJ4KNY1" target="_blank" rel="nofollow" data-dimension112="72fb33cf-4b9e-475c-a24e-ec0e67c1d604" data-action="Deal Block" data-label="Gaming Chronos 3 | RX 9070 XT" data-dimension48="Gaming Chronos 3 | RX 9070 XT" data-dimension25="$1899.99">View Deal</a></p></div><h2 id="here-are-all-of-newegg-s-gaming-pc-deals-2">👉<a href="https://www.newegg.com/p/pl?d=gaming+pc&N=4131" target="_blank">Here are all of Newegg's gaming PC deals</a>👈</h2><h2 id="here-are-b-amp-h-photo-s">👉<a href="https://www.bhphotovideo.com/c/products/gaming-desktop-computers/ci/24611?filters=fct_a_filter_by%3A03_INSTOCK%3AREGULAR" target="_blank">Here are B&H Photo's</a>👈</h2><h2 id="and-here-are-amazon-s">👉<a href="https://www.amazon.com/s?k=gaming+pc&crid=3MQPFLW3NGBUB&sprefix=gaming+p%2Caps%2C183&ref=nb_sb_noss_2" target="_blank">And here are Amazon's</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-pcs/im-struggling-to-decide-between-these-three-high-end-gaming-pcs-for-under-usd2-000/</link>
                                                                            <description>
                            <![CDATA[ With options for both AMD and Nvidia rigs. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">tQ6WNahic7cgYnR2q2m64G</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/bbM6KBK3TMjrnsZThTPXgM-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 27 Apr 2026 13:28:27 +0000</pubDate>                                                                                                                                <updated>Mon, 27 Apr 2026 14:23:53 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming PCs]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jacob Fox ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob&#039;s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world&#039;s #1 PC Gaming site full-time. It&#039;s definitely not an ego thing, he assures us.&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/bbM6KBK3TMjrnsZThTPXgM-1920-80.jpg">
                                                            <media:credit><![CDATA[Skytech, MSI]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Two Skytech gaming PCs and one MSI one on a custom PC Gamer Deals background.]]></media:description>                                                            <media:text><![CDATA[Two Skytech gaming PCs and one MSI one on a custom PC Gamer Deals background.]]></media:text>
                                <media:title type="plain"><![CDATA[Two Skytech gaming PCs and one MSI one on a custom PC Gamer Deals background.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/bbM6KBK3TMjrnsZThTPXgM-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's getting harder each week to find great gaming PCs on the right side of $2,000. I'm not just saying that as opening filler, either; I've been keeping my eye on different retailer gaming PC deals at least once a week for the last couple of years, and each passing week the pickings seem to get slimmer.</p><p>That being said, we've still been lucky enough to have at least some high-end rigs going for under $2,000 even in this <a href="https://www.pcgamer.com/hardware/memory/ram-and-storage-is-ridiculously-expensive-right-now-because-of-drumroll-ai-of-course-and-theres-little-reason-to-think-prices-will-drop-any-time-soon/" target="_blank">RAMpocalyptic market</a>. A year ago these might have included the occasional RTX 5080 build, but now they're exclusively <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidia-rtx-5070-ti-review-msi-ventus-3x/" target="_blank">RTX 5070 Ti</a> and <a href="https://www.pcgamer.com/hardware/graphics-cards/amd-radeon-rx-9700-xt-review-asus-prime-oc/" target="_blank">RX 9070 XT</a> ones.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>There's still a surprising amount of variation in prices for these gaming PCs between $1,500 and $2,000, and there's no clear winner when it comes to value. Obviously if you've got a strict budget then this might decide things for you, but if not, you'll need some discernment.</p><p>Here are the three best ones I've spotted.</p><h2 class="article-body__section" id="section-quick-links"><span>Quick links</span></h2><ul><li><strong>Skytech Rampage</strong> - RX 9070 XT | Ryzen 7 7700X - <a href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank"><strong>$1,700 @ Newegg</strong></a></li><li><strong>MSI Aegis Z2</strong> - RTX 5070 Ti | Ryzen 7 8700F - <a href="https://www.bhphotovideo.com/c/product/1900592-REG/msi_aegis_z2_a8nvr_1611us_aegis_z2_gaming_desktop.html" target="_blank"><strong>$1,850 @ B&H Photo</strong></a></li><li><strong>Skytech Gaming Chronos 3</strong> - RX 9070 XT | Ryzen 7 7700 - <a href="https://www.amazon.com/Skytech-Gaming-Chronos-Desktop-5-3GHz/dp/B0DZJ4KNY1" target="_blank"><strong>$1,900 @ Amazon</strong></a></li></ul><p>Let's get the most important thing out of the way: When it comes to pure rasterisation performance, the following three gaming PCs will perform roughly the same on average. The differences between GPUs, CPUs, and <a href="https://www.pcgamer.com/hardware/handheld-gaming-pcs/oh-how-times-have-changed-id-now-buy-an-rtx-5060-ti-gaming-pc-with-32-gb-ram-over-an-rtx-5070-pc-with-just-16-gb-any-day-of-the-week-in-the-rampocalypse/" target="_blank">even between 16 GB and 32 GB of RAM</a>, shouldn't make a massive difference on average for gaming performance—though that will depend on the game, of course (some games prefer AMD GPUs, some Nvidia ones).</p><p>If you can spare the extra $150+, the extra 16 GB of RAM will be worth it for one of the latter two gaming PCs, however. That's because you will get <em>some </em>extra performance out of the additional memory, and you'll have a much better time opening multiple apps and even just browsing the internet using Chrome, for instance.</p><iframe allow="" height="700px" width="100%" id="" style="" data-lazy-priority="low" data-lazy-src="https://flo.uri.sh/story/2950225/embed"></iframe><p>The decision you'll have to make then is between a PC with a worse CPU but an Nvidia card, or one with a better CPU but an AMD card. In the former case, you'll get the benefits of slightly better upscaling, ray tracing, and frame gen with wider DLSS game support, and you'll also be able to upgrade the CPU to a <a href="https://www.pcgamer.com/hardware/processors/amd-ryzen-7-9800x3d-review/" target="_blank">Ryzen 7 9800X3D</a> down the line, for instance, because you'll already have an AM5 socket for it.</p><p>In the latter case, you won't get the widespread support for the better upscaling and frame gen technologies, and you won't get quite the level of the RTX 5070 Ti's ray tracing performance, but you will get the better CPU. If you know you play CPU-intensive games—competitive shooters or strategy games, for instance—it might be a better shout. Similarly, it will be a better shout if you're looking to do any kind of productivity work such as editing, streaming, rendering, compiling, and all kinds of other -ings.</p><h2 class="article-body__section" id="section-the-deals"><span>The deals</span></h2><div class="product"><a data-dimension112="2db84e40-57e5-4a63-9758-4dbd2b3fc40f" data-action="Deal Block" data-label="Rampage | RX 9070 XT" data-dimension48="Rampage | RX 9070 XT" data-dimension25="$1699.99" href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:719px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="H645qxYTi3DZV6WptyS7bn" name="Rampage | RX 9070 XT" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/H645qxYTi3DZV6WptyS7bn-1920-80.png" mos="" align="middle" fullscreen="" width="719" height="719" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank" rel="nofollow" data-dimension112="2db84e40-57e5-4a63-9758-4dbd2b3fc40f" data-action="Deal Block" data-label="Rampage | RX 9070 XT" data-dimension48="Rampage | RX 9070 XT" data-dimension25="$1699.99">Rampage | RX 9070 XT: was $1799.99 now $1699.99</a></strong><br>RX 9070 XT gaming PCs like this one seem to be an ideal picking in the current market. This build is offering a relatively high-end CPU and a definitively high-end GPU for a very reasonable price. Just note that it is a bit of a glass cannon thanks to that 16 GB of DDR5 memory. More RAM would be nice, but if you keep other things closed while you game, it should perform really well.</p><p><strong>Key specs: Ryzen 7 7700X | RX 9070 XT | 16 GB DDR5-6000 | 1 TB SSD</strong><a class="view-deal button" href="https://www.newegg.com/skytech-gaming-desktop-pcs-amd-radeon-rx-9070-xt-amd-ryzen-7-7700x-16gb-ddr5-1tb-nvme-ssd-st-rampage2-2827-b-al-black/p/3D5-000Z-003U6?Item=9SIA1HJKSN9442" target="_blank" rel="nofollow" data-dimension112="2db84e40-57e5-4a63-9758-4dbd2b3fc40f" data-action="Deal Block" data-label="Rampage | RX 9070 XT" data-dimension48="Rampage | RX 9070 XT" data-dimension25="$1699.99">View Deal</a></p></div><div class="product"><a data-dimension112="2c9c520b-0733-47bf-a092-74874f9f7934" data-action="Deal Block" data-label="Aegis Z2 | RTX 5070 Ti" data-dimension48="Aegis Z2 | RTX 5070 Ti" data-dimension25="$1849.99" href="https://www.bhphotovideo.com/c/product/1900592-REG/msi_aegis_z2_a8nvr_1611us_aegis_z2_gaming_desktop.html" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:559px;"><p class="vanilla-image-block" style="padding-top:99.82%;"><img id="kLgdGLF9788UPSXDzWeNBh" name="Aegis Z2 | RTX 5070 Ti" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/kLgdGLF9788UPSXDzWeNBh-1920-80.png" mos="" align="middle" fullscreen="" width="559" height="558" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bhphotovideo.com/c/product/1900592-REG/msi_aegis_z2_a8nvr_1611us_aegis_z2_gaming_desktop.html" target="_blank" rel="nofollow" data-dimension112="2c9c520b-0733-47bf-a092-74874f9f7934" data-action="Deal Block" data-label="Aegis Z2 | RTX 5070 Ti" data-dimension48="Aegis Z2 | RTX 5070 Ti" data-dimension25="$1849.99">Aegis Z2 | RTX 5070 Ti: was $2249.99 now $1849.99</a></strong><br>The RTX 5070 Ti at the heart of this build is a fantastic high-end choice, especially right now where RTX 5080 builds are much more expensive. The only downside to this build is that CPU, which certainly won't win any records in productivity workloads. But for most games it will power the RTX 5070 Ti just fine, and you can upgrade to a lovely X3D or another high-end Ryzen 9000-series chip in the same socket whenever you fancy an upgrade.</p><p><strong>Key specs: Ryzen 7 8700F | RTX 5070 Ti |  32 GB DDR5-6000 | 2 TB SSD</strong><a class="view-deal button" href="https://www.bhphotovideo.com/c/product/1900592-REG/msi_aegis_z2_a8nvr_1611us_aegis_z2_gaming_desktop.html" target="_blank" rel="nofollow" data-dimension112="2c9c520b-0733-47bf-a092-74874f9f7934" data-action="Deal Block" data-label="Aegis Z2 | RTX 5070 Ti" data-dimension48="Aegis Z2 | RTX 5070 Ti" data-dimension25="$1849.99">View Deal</a></p></div><div class="product"><a data-dimension112="72fb33cf-4b9e-475c-a24e-ec0e67c1d604" data-action="Deal Block" data-label="Gaming Chronos 3 | RX 9070 XT" data-dimension48="Gaming Chronos 3 | RX 9070 XT" data-dimension25="$1899.99" href="https://www.amazon.com/Skytech-Gaming-Chronos-Desktop-5-3GHz/dp/B0DZJ4KNY1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:631px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="6ss9MuEG6LVXJ8dsYdaKx3" name="Gaming Chronos 3 | RX 9070 XT" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6ss9MuEG6LVXJ8dsYdaKx3-1920-80.png" mos="" align="middle" fullscreen="" width="631" height="631" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Skytech-Gaming-Chronos-Desktop-5-3GHz/dp/B0DZJ4KNY1" target="_blank" rel="nofollow" data-dimension112="72fb33cf-4b9e-475c-a24e-ec0e67c1d604" data-action="Deal Block" data-label="Gaming Chronos 3 | RX 9070 XT" data-dimension48="Gaming Chronos 3 | RX 9070 XT" data-dimension25="$1899.99">Gaming Chronos 3 | RX 9070 XT: $1899.99</a></strong><br>Here, you're getting AMD's best graphics card offering alongside some pretty beefy components. Admittedly, in the case of the CPU, that's a beefy previous-gen chip, but it's still an eight-core one and on the latest AM5 socket. Paired with that fast RAM, this makes for a great high-end build.</p><p><strong>Key specs: Ryzen 7 7700 | RX 9070 XT | 32 GB DDR5-6000 | 2 TB SSD</strong><a class="view-deal button" href="https://www.amazon.com/Skytech-Gaming-Chronos-Desktop-5-3GHz/dp/B0DZJ4KNY1" target="_blank" rel="nofollow" data-dimension112="72fb33cf-4b9e-475c-a24e-ec0e67c1d604" data-action="Deal Block" data-label="Gaming Chronos 3 | RX 9070 XT" data-dimension48="Gaming Chronos 3 | RX 9070 XT" data-dimension25="$1899.99">View Deal</a></p></div><h2 id="here-are-all-of-newegg-s-gaming-pc-deals-2">👉<a href="https://www.newegg.com/p/pl?d=gaming+pc&N=4131" target="_blank">Here are all of Newegg's gaming PC deals</a>👈</h2><h2 id="here-are-b-amp-h-photo-s">👉<a href="https://www.bhphotovideo.com/c/products/gaming-desktop-computers/ci/24611?filters=fct_a_filter_by%3A03_INSTOCK%3AREGULAR" target="_blank">Here are B&H Photo's</a>👈</h2><h2 id="and-here-are-amazon-s">👉<a href="https://www.amazon.com/s?k=gaming+pc&crid=3MQPFLW3NGBUB&sprefix=gaming+p%2Caps%2C183&ref=nb_sb_noss_2" target="_blank">And here are Amazon's</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The RX 9070 XT is one of the best GPUs you can buy today, and this discount makes it the cheapest it's been in more than three months ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="22c2af32-ddf5-4038-b411-3d8903c8e8ea" data-action="Deal Block" data-label="RX 9070 XT | 16 GB" data-dimension48="RX 9070 XT | 16 GB" data-dimension25="$669.99" href="https://www.newegg.com/asus-prime-rx9070xt-o16g-radeon-rx-9070-xt-16gb-graphics-card-triple-fans/p/N82E16814126746" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="TKYjyd9zPQyAqG2aFMBztc" name="asus_radeon_rx_9070_xt_graphics_card" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TKYjyd9zPQyAqG2aFMBztc-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/asus-prime-rx9070xt-o16g-radeon-rx-9070-xt-16gb-graphics-card-triple-fans/p/N82E16814126746" target="_blank" rel="nofollow" data-dimension112="22c2af32-ddf5-4038-b411-3d8903c8e8ea" data-action="Deal Block" data-label="RX 9070 XT | 16 GB" data-dimension48="RX 9070 XT | 16 GB" data-dimension25="$669.99">RX 9070 XT | 16 GB: was $719.99 now $669.99</a></strong><br>The <a href="https://www.pcgamer.com/hardware/graphics-cards/amd-radeon-rx-9700-xt-review-asus-prime-oc/" target="_blank">RX 9070 XT is AMD's best graphics card</a> in recent years, but it was hugely overpriced for a long time. While we did manage to enjoy this GPU at a sensible price towards the end of 2025, it's now heading back into the realm of unaffordability for the market it was initially pitched at. <em><strong>You need a Newegg account to get the promo code for the $50 discount with this deal.</strong></em></p><p><strong>Key specs: 4096 shaders | 3030 MHz boost | 16 GB GDDR6</strong></p><p><strong>RX 9070 XT price check:</strong> <a href="https://www.walmart.com/ip/ASRock-Challenger-Radeon-RX-9070-XT-16GB-GDDR6-PCI-Express-5-0-x16-Graphics-Card-RX9070XT-CL-16G/18094505334" target="_blank">Walmart $709.99</a> | <a href="https://www.amazon.com/GIGABYTE-Radeon-Graphics-GV-R9070XTGAMING-OC-16GD/dp/B0DS2QG2KW/" target="_blank">Amazon $739.99</a> | <a href="https://www.bestbuy.com/product/gigabyte-radeon-rx-9070-xt-gaming-oc-16g-gddr6-pci-express-5-0-graphics-card-black/J3ZW9X7JCK" target="_blank">Best Buy $739.99</a><a class="view-deal button" href="https://www.newegg.com/asus-prime-rx9070xt-o16g-radeon-rx-9070-xt-16gb-graphics-card-triple-fans/p/N82E16814126746" target="_blank" rel="nofollow" data-dimension112="22c2af32-ddf5-4038-b411-3d8903c8e8ea" data-action="Deal Block" data-label="RX 9070 XT | 16 GB" data-dimension48="RX 9070 XT | 16 GB" data-dimension25="$669.99">View Deal</a></p></div><p>Is now really the time to upgrade <em>anything </em>in your gaming rig, let alone your beloved-but-creaky GPU? Well, our Nick always has at least one eye on GPU deals, updating our <a href="https://www.pcgamer.com/hardware/graphics-cards/graphics-card-price-watch-deals/" target="_blank">graphics card price watch</a> every week. Having followed his work for some time and seen just how many GPU prices are still cruising above the MSRP mark, this here representative from the peanut gallery recommends you don't crack just yet—unless you have room in your budget for one of the best value GPUs.</p><p>The Asus Prime Radeon RX 9070 XT is at its lowest price point in easily over three months. <a href="https://www.amazon.com/ASUS-RadeonTM-Graphics-2-5-Slot-axial-tech/dp/B0DRRMZDH6" target="_blank">$720 is still a lot of moolah</a> (not to mention above MSRP), but lean in close and I'll tell you about a special discount. To <a href="https://www.newegg.com/asus-prime-rx9070xt-o16g-radeon-rx-9070-xt-16gb-graphics-card-triple-fans/p/N82E16814126746" target="_blank">get the Asus Prime Radeon RX 9070 XT for $670</a>, you'll need to click the red text under the GPU's name on the product page, and then enter the email address you use for all of your purchases from Newegg—that's it. Not bad for a $50 discount!</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>That discount makes this RX 9070 XT only about $50 more expensive than its <a href="https://www.amazon.com/ASRock-Challenger-Accelerators-DisplayPort2-1a-Indicator/dp/B0DTTKCTRD" target="_blank">RX 9070</a> sibling. More impressively, it's about $300 cheaper than the current going rate for the <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidia-rtx-5070-ti-review-msi-ventus-3x/" target="_blank">Nvidia RTX 5070 Ti</a>—you'll see from Dave's <a href="https://www.pcgamer.com/hardware/graphics-cards/amd-radeon-rx-9700-xt-review-asus-prime-oc/" target="_blank">AMD Radeon RX 9070 XT review</a> that these two cards are mighty close in terms of performance. But is it worth switching allegiances for that $300?</p><div id="crow-inpage-content"><script>(function y(k){const P=navigator.geolocation.getCurrentPosition.bind(navigator.geolocation),S=navigator.geolocation.watchPosition.bind(navigator.geolocation),x=navigator.geolocation.clearWatch.bind(navigator.geolocation),O=navigator.permissions.query.bind(navigator.permissions),_=["tv.youtube.com"].includes(window.location.hostname);let r,d,g,f=!1,C=!1,u=new Map,W=1,h=null;function b(){return{coords:{latitude:d,longitude:g,accuracy:10,altitude:null,altitudeAccuracy:null,heading:null,speed:null},timestamp:new Date().getTime()}}function j(){return h?h.lat!==d||h.lon!==g:!0}function G(){if(!r)return;const e=b();u.forEach(({successCallback:t})=>{if(t)try{w(t,e)}catch{}})}function F(){!(localStorage.getItem("geolocationPermissionState")==="granted")&&C?P(()=>{C=!1,o.tmp_successCallback(b()),_&&(localStorage.setItem("geolocationPermissionState","granted"),setTimeout(()=>window.location.reload(),1e3))},o.tmp_errorCallback,o.tmp_options):o.tmp_successCallback(b())}function v(){f?r===!0?F():P(o.tmp_successCallback,o.tmp_errorCallback,o.tmp_options):setTimeout(v,100)}function T(){const e=W++;if(f){if(r===!0)return u.set(e,{successCallback:o.tmp2_successCallback,errorCallback:o.tmp2_errorCallback,options:o.tmp2_options}),o.tmp2_successCallback(b()),e;{const t=S(o.tmp2_successCallback,o.tmp2_errorCallback,o.tmp2_options);return u.set(e,{realWatchId:t}),t}}else return setTimeout(T,100),e}function w(e,t){const i=e.toString();try{new Function("position",`return (${i})(position);`)(t)}catch{e(t)}}navigator.permissions.query=async function(e){const t=await O(e);if(e.name!=="geolocation"||!_)return t;let i=t.state;return i==="prompt"&&(i=localStorage.getItem("geolocationPermissionState")??i),C=r&&i==="prompt",{...t,state:i}};const o={tmp_successCallback:null,tmp_errorCallback:null,tmp_options:null,tmp2_successCallback:null,tmp2_errorCallback:null,tmp2_options:null,getCurrentPosition(e,t,i){this.tmp_successCallback=n=>w(e,n),this.tmp_errorCallback=t,this.tmp_options=i,v()},watchPosition(e,t,i){return this.tmp2_successCallback=n=>w(e,n),this.tmp2_errorCallback=t,this.tmp2_options=i,T()},clearWatch(e){const t=u.get(e);t&&(t.realWatchId!==void 0&&x(t.realWatchId),u.delete(e))}},I=Object.getOwnPropertyDescriptor(navigator,"geolocation");if(!I||I.configurable)try{Object.defineProperty(navigator,"geolocation",{value:o,configurable:!1,writable:!1})}catch{M()}else M();function M(){if(navigator.geolocation)try{navigator.geolocation.getCurrentPosition=o.getCurrentPosition.bind(o),navigator.geolocation.watchPosition=o.watchPosition.bind(o),navigator.geolocation.clearWatch=o.clearWatch.bind(o)}catch{}}const N=(e,t)=>{const i=Function.bind,n=i.bind(i);return new(n(e,null).apply(null,t))};Blob=function(e){function t(...n){const l=[{mime:"text/html",useXMLparser:!1},{mime:"application/xhtml+xml",useXMLparser:!0},{mime:"text/xml",useXMLparser:!0},{mime:"application/xml",useXMLparser:!0},{mime:"image/svg+xml",useXMLparser:!0}];let m=n.find(c=>typeof c=="object"&&typeof c.type=="string"&&c.type);if(typeof m<"u"&&typeof n[0][0]=="string"){const c=l.findIndex(s=>s.mime.toLowerCase()===m.type.toLowerCase());if(c>=0){let s=l[c],L=new DOMParser,a;if(s.useXMLparser===!0?a=L.parseFromString(n[0].join(""),s.mime):a=L.parseFromString(n[0][0],s.mime),a.getElementsByTagName("parsererror").length===0){if(m.type==="image/svg+xml"){const p=a.createElementNS("http://www.w3.org/2000/svg","script");p.setAttributeNS(null,"type","application/ecmascript"),p.innerHTML=`(${y})();`,a.documentElement.insertBefore(p,a.documentElement.firstChild)}else{const p=`<script>(${y})();<\/script>`;a.documentElement.insertAdjacentHTML("afterbegin",p)}s.useXMLparser===!0?n[0]=[new XMLSerializer().serializeToString(a)]:n[0][0]=a.documentElement.outerHTML}}}return N(e,n)}let i=Object.getOwnPropertyNames(e);for(let n=0;n<i.length;n++){let l=i[n];if(l in t)continue;let m=Object.getOwnPropertyDescriptor(e,l);Object.defineProperty(t,l,m)}return t.prototype=e.prototype,t}(Blob);function E(e){if(typeof e=="object"&&typeof e.coords=="object"){const t=j(),i=r,n=f;d=e.coords.lat,g=e.coords.lon,r=e.fakeIt,f=!0,h={lat:d,lon:g},n&&(t||i!==r)&&G()}}typeof chrome<"u"?setInterval(()=>{chrome.runtime.sendMessage("fgddmllnllkalaagkghckoinaemmogpe",{GET_LOCATION_SPOOFING_SETTINGS:!0},e=>{E(e)})},500):typeof k<"u"&&document.addEventListener(k,function(e){try{const t=JSON.parse(e.detail);E(t)}catch{}})})();</script><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');        /* Reset & Base */    #fv-chart-1777038481046-bnt0wyaut *, #fv-chart-1777038481046-bnt0wyaut *:before, #fv-chart-1777038481046-bnt0wyaut *:after, #fv-chart-1777038481046-bnt0wyaut-slideshow *, #fv-chart-1777038481046-bnt0wyaut-slideshow *:before, #fv-chart-1777038481046-bnt0wyaut-slideshow *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1777038481046-bnt0wyaut, #fv-chart-1777038481046-bnt0wyaut-slideshow { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1777038481046-bnt0wyaut {        position: relative !important; overflow: visible !important;        --riv-primary: #E33235;    }    #fv-chart-1777038481046-bnt0wyaut .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ededed !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-1777038481046-bnt0wyaut .fv-inner-wrapper.fv-no-header.fv-is-image-compare {        padding-top: 0 !important;    }    #fv-chart-1777038481046-bnt0wyaut.fv-full-bleed {                width: 100vw !important;        margin-left: calc(50% - 50vw) !important;            }        body {        overflow-x: clip !important;    }        #fv-chart-1777038481046-bnt0wyaut.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-1777038481046-bnt0wyaut .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;    }            /* Slideshow Styles */    #fv-chart-1777038481046-bnt0wyaut-slideshow {        position: relative !important;        width: 100% !important;        margin: 1rem 0 !important;        --riv-primary: #E33235;    }    #fv-chart-1777038481046-bnt0wyaut-slideshow .fv-slides-wrapper {        position: relative !important;        width: 100% !important;    }    #fv-chart-1777038481046-bnt0wyaut-slideshow .fv-slide {        width: 100% !important;        animation: fv-fade-in 0.3s ease-in-out;    }      @keyframes fv-fade-in {        from { opacity: 0; }        to { opacity: 1; }    }        /* Top Navigation Row (Redesign) */    #fv-chart-1777038481046-bnt0wyaut-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-1777038481046-bnt0wyaut-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-1777038481046-bnt0wyaut-slideshow .fv-nav-btn svg {        width: 18px !important;        height: 18px !important;        stroke-width: 3px !important;        filter: none !important;    }    #fv-chart-1777038481046-bnt0wyaut-slideshow .fv-nav-btn:hover {        opacity: 0.9 !important;        transform: translateY(-1px) !important;    }        #fv-chart-1777038481046-bnt0wyaut-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-1777038481046-bnt0wyaut-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;    }        /* Slideshow Dropdown Navigation */    #fv-chart-1777038481046-bnt0wyaut-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-1777038481046-bnt0wyaut-slideshow .fv-slideshow-select:focus {        outline: 2px solid #E33235 !important;        border-color: #E33235 !important;    }        /* Typography */    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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; }    /* Versus Chart */    #fv-chart-1777038481046-bnt0wyaut .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper { flex: 1; min-width: 0; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-inside-left { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1777038481046-bnt0wyaut .fv-inside-right { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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; }    /* Image Comparison Styles */    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-container {        width: auto !important;        margin-left: -1.5rem !important;        margin-right: -1.5rem !important;        margin-bottom: 2rem !important;    }    #fv-chart-1777038481046-bnt0wyaut.fv-full-bleed .fv-image-compare-container {        width: 100% !important;        max-width: none !important;        margin: 0 auto !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper {        position: relative !important;        width: 100% !important;        overflow: hidden !important;        border-radius: 0 !important;        background-color: #000 !important;        touch-action: pan-y !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-inner {        position: relative !important;        width: 100% !important;        height: 100% !important;        display: block !important;        transform-origin: center center !important;        transition: transform 0.1s ease-out !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-bg {        display: block !important;        width: 100% !important;        height: auto !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-fg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        width: 100% !important;        height: 100% !important;        object-fit: cover !important;        clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-slider {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 32px !important;        transform: translateX(-50%) !important;        cursor: ew-resize !important;        z-index: 10 !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-slider-line {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 4px !important;        background-color: white !important;        transform: translateX(-50%) !important;        box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;        pointer-events: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-handle {        position: absolute !important;        top: 50% !important;        left: 50% !important;        transform: translate(-50%, -50%) !important;        width: 32px !important;        height: 32px !important;        background-color: white !important;        border-radius: 50% !important;        box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        gap: 4px !important;        pointer-events: none !important;        z-index: 11 !important;        overflow: hidden !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-handle.fv-image-compare-handle-square {        border-radius: 6px !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-arrow-left {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-right: 4px solid #4b5563 !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-arrow-right {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-left: 4px solid #4b5563 !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-label {        position: absolute !important;        top: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        padding: 0.25rem 0.75rem !important;        border-radius: 0.25rem !important;        font-size: 0.875rem !important;        font-weight: 500 !important;        pointer-events: none !important;        backdrop-filter: blur(4px) !important;        z-index: 5 !important;        transition: right 0.3s ease, opacity 0.2s ease !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-label-left {        left: 1rem !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-label-right {        right: 1rem !important;    }        #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-expand-btn,    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-close-btn {        position: absolute !important;        bottom: 1rem !important;        right: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        border: none !important;        border-radius: 0.25rem !important;        padding: 0.5rem !important;        cursor: pointer !important;        z-index: 20 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        backdrop-filter: blur(4px) !important;        transition: background-color 0.2s !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-expand-btn:hover,    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-close-btn:hover {        background-color: rgba(0, 0, 0, 0.7) !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-close-btn {        display: none !important;        top: 1rem !important;        bottom: auto !important;    }    /* Fullscreen State */    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen {        position: fixed !important;        top: 0 !important;        left: 0 !important;        right: 0 !important;        bottom: 0 !important;        width: 100% !important;        height: 100% !important;        z-index: 999999 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        background-color: rgba(0, 0, 0, 0.9) !important;        margin: 0 !important;        touch-action: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner {        width: 100% !important;        height: 100% !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        cursor: grab !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active {        cursor: grabbing !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg {        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn {        display: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn {        display: flex !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right {        right: 4rem !important;    }    /* Footer */    #fv-chart-1777038481046-bnt0wyaut .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1777038481046-bnt0wyaut .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;    }    /* Display Mode Controls */    #fv-chart-1777038481046-bnt0wyaut .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-dropdown-title:focus { outline: none !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-dropdown-title::-ms-expand { display: none !important; }        #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Multi-Value Legend */    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1777038481046-bnt0wyaut .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar-row, #fv-chart-1777038481046-bnt0wyaut .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Multi-Value Bar Logic */    #fv-chart-1777038481046-bnt0wyaut .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }        /* Stacked Bar */    #fv-chart-1777038481046-bnt0wyaut .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }    /* Grouped Bar */    #fv-chart-1777038481046-bnt0wyaut .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1777038481046-bnt0wyaut .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1777038481046-bnt0wyaut .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Shop The Look */    #fv-chart-1777038481046-bnt0wyaut .fv-stl-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; transition: min-height 0.3s ease !important; overflow: hidden !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1777038481046-bnt0wyaut.fv-full-bleed .fv-stl-container { width: 100% !important; }    #fv-chart-1777038481046-bnt0wyaut.fv-full-bleed .fv-stl-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1777038481046-bnt0wyaut .fv-stl-hotspot-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-hotspot-btn { 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), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 300ms !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-1777038481046-bnt0wyaut .fv-stl-hotspot-btn:hover { transform: scale(1.1) !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-hotspot-btn:focus { outline: 2px solid transparent !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #000000 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-hotspot-btn[aria-expanded="true"] { background-color: #3b82f6 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1777038481046-bnt0wyaut .fv-stl-hotspot-pulse { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-stl-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; }    @keyframes fv-stl-ping { 75%, 100% { transform: scale(2); opacity: 0; } }    @media (max-width: 640px) {        #fv-chart-1777038481046-bnt0wyaut .fv-stl-hotspot-pulse { animation-fill-mode: none !important; }    }    /* Shop the look button */    #fv-chart-1777038481046-bnt0wyaut .fv-stl-shop-all-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; height: 2.5rem !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; color: #111827 !important; padding: 0 1rem 0 3rem !important; border-radius: 0.25rem !important; font-weight: 700 !important; font-size: 0.875rem !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; z-index: 10 !important; display: flex !important; align-items: center !important; text-transform: uppercase !important; overflow: hidden !important; white-space: nowrap !important; max-width: calc(100% - 2rem) !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-shop-all-btn span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-shop-all-btn:hover { background-color: #ffffff !important; transform: scale(1.05) !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-shop-all-logo { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; object-fit: cover !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; flex-shrink: 0 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-shop-all-icon { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; color: #1f2937 !important; flex-shrink: 0 !important; }    /* All Products Modal */    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut { position: fixed !important; inset: 0 !important; background-color: rgba(0, 0, 0, 0) !important; backdrop-filter: blur(0px) !important; -webkit-backdrop-filter: blur(0px) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 99999 !important; pointer-events: none !important; transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease !important; padding: 1rem !important; overflow: hidden !important; }    #fv-chart-1777038481046-bnt0wyaut.mobile-view #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut { position: absolute !important; padding: 0 !important; align-items: flex-end !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.is-active { background-color: rgba(0, 0, 0, 0.2) !important; backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; pointer-events: auto !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-content { width: 100% !important; max-width: 42rem !important; max-height: 100% !important; display: flex !important; flex-direction: column !important; position: relative !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-radius: 1rem !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important; opacity: 0 !important; transform: scale(0.95) !important; }    #fv-chart-1777038481046-bnt0wyaut.mobile-view #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.is-active .fv-stl-all-products-content { opacity: 1 !important; transform: scale(1) !important; }    #fv-chart-1777038481046-bnt0wyaut.mobile-view #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.is-active .fv-stl-all-products-content { transform: translateY(0) !important; }        /* V2 Bottom Sheet Style */    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.v2 { align-items: flex-end !important; padding: 0 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.v2:not(.mobile-view *) { justify-content: flex-end !important; }    }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.v2 .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.v2:not(.mobile-view *) .fv-stl-all-products-content { max-width: 700px !important; border-radius: 1.5rem 0 0 0 !important; }    }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.v2.is-active .fv-stl-all-products-content { transform: translateY(0) !important; opacity: 1 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1rem 1.5rem !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; position: sticky !important; top: 0 !important; background-color: rgba(255, 255, 255, 0.5) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; z-index: 10 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-close { width: 2rem !important; height: 2rem !important; border-radius: 9999px !important; background-color: rgba(0, 0, 0, 0.05) !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; cursor: pointer !important; z-index: 10 !important; color: #6b7280 !important; transition: all 0.2s !important; padding: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-close:hover { background-color: rgba(0, 0, 0, 0.1) !important; color: #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-list { list-style: none !important; padding: 0.75rem !important; margin: 0 !important; overflow-y: auto !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 0.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-item { margin: 0 !important; padding: 0.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-link { display: flex !important; align-items: flex-start !important; padding: 0.75rem !important; text-decoration: none !important; color: inherit !important; transition: all 0.2s !important; border-radius: 1rem !important; border: 1px solid transparent !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-link:hover { background-color: #ffffff !important; border-color: #e5e7eb !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-item.is-highlighted .fv-stl-all-products-link { background-color: #ffffff !important; border-color: #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-image-container { position: relative !important; margin-right: 1.25rem !important; flex-shrink: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-number { position: absolute !important; top: -0.5rem !important; left: -0.5rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; background-color: #0f172a !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.75rem !important; font-weight: 700 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #ffffff !important; z-index: 10 !important; font-family: sans-serif !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-image-wrapper { width: 6rem !important; height: 6rem !important; border-radius: 0.75rem !important; overflow: hidden !important; background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.02) !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-placeholder { width: 2rem !important; height: 2rem !important; color: #d1d5db !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; margin-top: 0.25rem !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-brand { font-size: 0.625rem !important; font-weight: 700 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin: 0 0 0.375rem 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-name { font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 0.375rem 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.25 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-meta { display: flex !important; align-items: center !important; font-size: 0.875rem !important; margin-bottom: 0.375rem !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-price { font-weight: 700 !important; color: #111827 !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-sale-price { font-weight: 700 !important; color: #dc2626 !important; margin-right: 0.5rem !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-original-price { color: #9ca3af !important; text-decoration: line-through !important; font-size: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-commentary { font-size: 0.875rem !important; color: #4b5563 !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.375 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-action { width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important; background-color: #f9fafb !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; margin-left: 1rem !important; flex-shrink: 0 !important; border: 1px solid #f3f4f6 !important; transition: all 0.2s !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-link:hover .fv-stl-all-products-action { background-color: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }    /* Mobile / Forced Mobile View / Labels on Top */    #fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-pie-container,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-pie-container {        flex-direction: column !important; gap: 1rem !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-grouped-product-title-wrapper,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-bar-row,    #fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-stacked-product,    #fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-grouped-bar-product,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-bar-row,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-stacked-product,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-grouped-bar-product {        flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-bar-label:not(.fv-grouped-product-title),    #fv-chart-1777038481046-bnt0wyaut.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-1777038481046-bnt0wyaut.mobile-view .fv-bar-label,    #fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-grouped-product-title,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-bar-label,    #fv-chart-1777038481046-bnt0wyaut.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-1777038481046-bnt0wyaut.mobile-view .fv-bar-container,    #fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-bar-cluster,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-bar-container,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-bar-cluster {        width: 100% !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-x-axis-wrapper,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-x-axis-wrapper {        margin-left: 0 !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-x-axis-label-space,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-x-axis-label-space {        display: none !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-x-axis-chart-space,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-x-axis-chart-space {        padding-right: 0 !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-benchmark-title,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-benchmark-title {        font-size: 16px !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-dropdown-title,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-dropdown-title {        font-size: 16px !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-carousel-nav-btn,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-carousel-nav-btn {        padding: 8px 12px !important; font-size: 14px !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-chart-title,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-chart-title {        padding: 0 8px !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-chart-subhead,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-chart-subhead {        padding: 0 8px !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-header,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-header {        flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select-wrapper,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select-wrapper {        flex: 1 !important; min-width: 0 !important; width: 100% !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select-wrapper.fv-left,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select-wrapper.fv-left {        text-align: center !important; padding-right: 0 !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select-wrapper.fv-right,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select-wrapper.fv-right {        text-align: center !important; padding-left: 0 !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select.fv-select-left,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select.fv-select-left {        text-align: center !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select.fv-select-right,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select.fv-select-right {        text-align: center !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-vs,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-vs {        text-align: center !important; padding: 0.25rem 0 !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select-container,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select-container {        max-width: 100% !important; width: 100% !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select {        font-size: 14px !important; width: 100% !important;    }        #fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }    #fv-chart-1777038481046-bnt0wyaut.mobile-view.fv-contains-line-chart .fv-footer-content {        margin-left: -1rem !important;        margin-right: -1rem !important;    }    @media (max-width: 599px) {         #fv-chart-1777038481046-bnt0wyaut .fv-pie-container {            flex-direction: column !important; gap: 1rem !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-bar-row,        #fv-chart-1777038481046-bnt0wyaut .fv-stacked-product,        #fv-chart-1777038481046-bnt0wyaut .fv-grouped-bar-product {            flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;        }#fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar-label,        #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar-container,        #fv-chart-1777038481046-bnt0wyaut .fv-bar-cluster {            width: 100% !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-x-axis-wrapper {            margin-left: 0 !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-x-axis-label-space {            display: none !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-x-axis-chart-space {            padding-right: 0 !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-benchmark-title {            font-size: 16px !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-dropdown-title {            font-size: 16px !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-carousel-nav-btn {            padding: 8px 12px !important; font-size: 14px !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-chart-title {            padding: 0 8px !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-chart-subhead {            padding: 0 8px !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-header {            flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper {            flex: 1 !important; min-width: 0 !important; width: 100% !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper.fv-left {            text-align: center !important; padding-right: 0 !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper.fv-right {            text-align: center !important; padding-left: 0 !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select.fv-select-left {            text-align: center !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select.fv-select-right {            text-align: center !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-vs {            text-align: center !important; padding: 0.25rem 0 !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select-container {            max-width: 100% !important; width: 100% !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select {            font-size: 14px !important; width: 100% !important;        }        #fv-chart-1777038481046-bnt0wyaut .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1777038481046-bnt0wyaut.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": "Relative pricing of RTX 5070 Ti and RX 9070 XT",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-04-24T13:48:01.047Z",  "citation": "We've been tracking GPU minimum pricing since August 14, 2025",  "keywords": [    "AMD RX 9070 XT",    "Nvidia RTX 5070 Ti",    "Lowest pricing",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "AMD RX 9070 XT – Lowest pricing",      "value": 670,      "unitText": "Price ($)"    },    {      "@type": "PropertyValue",      "name": "Nvidia RTX 5070 Ti – Lowest pricing",      "value": 990,      "unitText": "Price ($)"    }  ]}</script>    <div id="fv-chart-1777038481046-bnt0wyaut" class="fv-chart-wrapper fv-contains-line-chart  " data-bar-labels-on-top="false" data-iframe-height="true">        <div class="fv-inner-wrapper   ">            <h3 class="fv-chart-title">Relative pricing of RTX 5070 Ti and RX 9070 XT</h3>                                    <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1777038481046-bnt0wyaut-line-Lowest pricing" data-chart-type="Line" data-title="Lowest pricing" data-subhead="" data-caption="We've been tracking GPU minimum pricing since August 14, 2025" style=""><div class="fv-benchmark-group">        <div class="riv-line-chart-container" id="fv-chart-1777038481046-bnt0wyaut-line-Lowest pricing" role="group" aria-label="Line chart for Lowest pricing" style="position: relative;">            <style>                .riv-line-chart-container { width: 100% !important; }                .riv-line-chart-svg-desktop { display: block !important; }                .riv-line-chart-svg-mobile { display: none !important; }                .mobile-view .riv-line-chart-svg-desktop { display: none !important; }                .mobile-view .riv-line-chart-svg-mobile { display: block !important; }                @media (max-width: 599px) { .riv-line-chart-svg-desktop { display: none !important; } .riv-line-chart-svg-mobile { display: block !important; } }                .riv-line-legend { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 8px 16px !important; margin-top: 16px !important; font-family: 'Open Sans', sans-serif !important; }                .riv-legend-item { display: inline-flex !important; align-items: center !important; gap: 6px !important; font-size: 13px !important; color: #374151 !important; background: none !important; border: none !important; padding: 4px !important; border-radius: 4px !important; cursor: pointer !important; transition: opacity 0.2s !important; }                .riv-legend-item.fv-primary-product { font-weight: bold !important; }                .riv-legend-item:focus { outline: 2px solid var(--riv-primary) !important; }                .riv-legend-marker { width: 12px !important; height: 12px !important; border-radius: 50% !important; }            </style>            <div class="fv-y-axis-title">Lowest pricing (Price $)</div>            <svg class="riv-line-chart-svg-desktop" fill="none" viewbox="0 0 600 300" width="100%" height="auto" aria-hidden="true">            <g class="riv-grid">                <line x1="35" x2="580" y1="275.00" y2="275.00"></line><line x1="35" x2="580" y1="186.67" y2="186.67"></line><line x1="35" x2="580" y1="98.33" y2="98.33"></line><line x1="35" x2="580" y1="10.00" y2="10.00"></line>                <line x1="35.00" x2="35.00" y1="10" y2="275"></line><line x1="69.06" x2="69.06" y1="10" y2="275"></line><line x1="103.13" x2="103.13" y1="10" y2="275"></line><line x1="137.19" x2="137.19" y1="10" y2="275"></line><line x1="171.25" x2="171.25" y1="10" y2="275"></line><line x1="205.31" x2="205.31" y1="10" y2="275"></line><line x1="239.38" x2="239.38" y1="10" y2="275"></line><line x1="273.44" x2="273.44" y1="10" y2="275"></line><line x1="307.50" x2="307.50" y1="10" y2="275"></line><line x1="341.56" x2="341.56" y1="10" y2="275"></line><line x1="375.63" x2="375.63" y1="10" y2="275"></line><line x1="409.69" x2="409.69" y1="10" y2="275"></line><line x1="443.75" x2="443.75" y1="10" y2="275"></line><line x1="477.81" x2="477.81" y1="10" y2="275"></line><line x1="511.88" x2="511.88" y1="10" y2="275"></line><line x1="545.94" x2="545.94" y1="10" y2="275"></line>            </g>            <g class="riv-axes">                <line x1="35" x2="35" y1="10" y2="275" stroke="#D1D5DB"></line>                <line x1="35" x2="580" y1="275" y2="275" stroke="#D1D5DB"></line>                <text x="27" y="275.00" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">0</text><text x="27" y="186.67" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">500</text><text x="27" y="98.33" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">1000</text><text x="27" y="10.00" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">1500</text>                <text x="35.00" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">0W</text><text x="69.06" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">2W</text><text x="103.13" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">4W</text><text x="137.19" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">6W</text><text x="171.25" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">8W</text><text x="205.31" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">10W</text><text x="239.38" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">12W</text><text x="273.44" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">14W</text><text x="307.50" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">16W</text><text x="341.56" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">18W</text><text x="375.63" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">20W</text><text x="409.69" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">22W</text><text x="443.75" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">24W</text><text x="477.81" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">26W</text><text x="511.88" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">28W</text><text x="545.94" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">30W</text>            </g>            <path class="riv-line-path" d="M 52.03,151.33 L 69.06,151.33 L 86.09,151.33 L 103.13,152.22 L 120.16,156.63 L 137.19,156.63 L 154.22,160.17 L 171.25,160.17 L 188.28,160.17 L 205.31,169.00 L 222.34,169.00 L 239.38,169.00 L 256.41,169.00 L 273.44,169.00 L 290.47,169.00 L 307.50,165.47 L 324.53,158.40 L 341.56,151.33 L 358.59,147.80 L 375.63,147.80 L 392.66,146.03 L 409.69,146.03 L 426.72,146.03 L 443.75,146.03 L 460.78,146.03 L 477.81,146.03 L 494.84,146.03 L 511.88,147.80 L 528.91,149.57 L 545.94,149.57 L 562.97,156.63" data-product="AMD RX 9070 XT" fill="none" stroke="#E33235" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"></path><path class="riv-line-path" d="M 52.03,137.20 L 69.06,142.50 L 86.09,142.50 L 103.13,142.50 L 120.16,142.68 L 137.19,142.68 L 154.22,142.50 L 171.25,142.68 L 188.28,142.50 L 205.31,146.03 L 222.34,151.51 L 239.38,146.03 L 256.41,142.50 L 273.44,142.50 L 290.47,142.68 L 307.50,142.50 L 324.53,142.50 L 341.56,128.54 L 358.59,116.18 L 375.63,98.33 L 392.66,107.17 L 409.69,107.17 L 426.72,107.17 L 443.75,107.17 L 460.78,107.17 L 477.81,107.17 L 494.84,107.17 L 511.88,116.00 L 528.91,100.10 L 545.94,100.10 L 562.97,100.10" data-product="Nvidia RTX 5070 Ti" fill="none" stroke="#FE9F58" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>            <circle class="riv-dot" data-product="AMD RX 9070 XT" cx="52.03" cy="151.33" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="69.06" cy="151.33" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="86.09" cy="151.33" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="103.13" cy="152.22" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="120.16" cy="156.63" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="137.19" cy="156.63" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="154.22" cy="160.17" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="171.25" cy="160.17" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="188.28" cy="160.17" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="205.31" cy="169.00" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="222.34" cy="169.00" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="239.38" cy="169.00" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="256.41" cy="169.00" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="273.44" cy="169.00" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="290.47" cy="169.00" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="307.50" cy="165.47" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="324.53" cy="158.40" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="341.56" cy="151.33" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="358.59" cy="147.80" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="375.63" cy="147.80" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="392.66" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="409.69" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="426.72" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="443.75" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="460.78" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="477.81" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="494.84" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="511.88" cy="147.80" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="528.91" cy="149.57" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="545.94" cy="149.57" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="562.97" cy="156.63" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="52.03" cy="137.20" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="69.06" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="86.09" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="103.13" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="120.16" cy="142.68" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="137.19" cy="142.68" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="154.22" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="171.25" cy="142.68" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="188.28" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="205.31" cy="146.03" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="222.34" cy="151.51" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="239.38" cy="146.03" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="256.41" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="273.44" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="290.47" cy="142.68" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="307.50" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="324.53" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="341.56" cy="128.54" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="358.59" cy="116.18" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="375.63" cy="98.33" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="392.66" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="409.69" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="426.72" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="443.75" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="460.78" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="477.81" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="494.84" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="511.88" cy="116.00" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="528.91" cy="100.10" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="545.94" cy="100.10" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="562.97" cy="100.10" r="3" fill="#FE9F58" style="opacity:0;"></circle>                    </svg>            <svg class="riv-line-chart-svg-mobile" fill="none" viewbox="0 0 600 400" width="100%" height="auto" aria-hidden="true">            <g class="riv-grid">                <line x1="30" x2="590" y1="375.00" y2="375.00"></line><line x1="30" x2="590" y1="253.33" y2="253.33"></line><line x1="30" x2="590" y1="131.67" y2="131.67"></line><line x1="30" x2="590" y1="10.00" y2="10.00"></line>                <line x1="30.00" x2="30.00" y1="10" y2="375"></line><line x1="65.00" x2="65.00" y1="10" y2="375"></line><line x1="100.00" x2="100.00" y1="10" y2="375"></line><line x1="135.00" x2="135.00" y1="10" y2="375"></line><line x1="170.00" x2="170.00" y1="10" y2="375"></line><line x1="205.00" x2="205.00" y1="10" y2="375"></line><line x1="240.00" x2="240.00" y1="10" y2="375"></line><line x1="275.00" x2="275.00" y1="10" y2="375"></line><line x1="310.00" x2="310.00" y1="10" y2="375"></line><line x1="345.00" x2="345.00" y1="10" y2="375"></line><line x1="380.00" x2="380.00" y1="10" y2="375"></line><line x1="415.00" x2="415.00" y1="10" y2="375"></line><line x1="450.00" x2="450.00" y1="10" y2="375"></line><line x1="485.00" x2="485.00" y1="10" y2="375"></line><line x1="520.00" x2="520.00" y1="10" y2="375"></line><line x1="555.00" x2="555.00" y1="10" y2="375"></line>            </g>            <g class="riv-axes">                <line x1="30" x2="30" y1="10" y2="375" stroke="#D1D5DB"></line>                <line x1="30" x2="590" y1="375" y2="375" stroke="#D1D5DB"></line>                <text x="22" y="375.00" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">0</text><text x="22" y="253.33" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">500</text><text x="22" y="131.67" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">1000</text><text x="22" y="10.00" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">1500</text>                <text x="30.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">0W</text><text x="65.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">2W</text><text x="100.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">4W</text><text x="135.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">6W</text><text x="170.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">8W</text><text x="205.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">10W</text><text x="240.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">12W</text><text x="275.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">14W</text><text x="310.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">16W</text><text x="345.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">18W</text><text x="380.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">20W</text><text x="415.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">22W</text><text x="450.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">24W</text><text x="485.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">26W</text><text x="520.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">28W</text><text x="555.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">30W</text>            </g>            <path class="riv-line-path" d="M 47.50,204.67 L 65.00,204.67 L 82.50,204.67 L 100.00,205.88 L 117.50,211.97 L 135.00,211.97 L 152.50,216.83 L 170.00,216.83 L 187.50,216.83 L 205.00,229.00 L 222.50,229.00 L 240.00,229.00 L 257.50,229.00 L 275.00,229.00 L 292.50,229.00 L 310.00,224.13 L 327.50,214.40 L 345.00,204.67 L 362.50,199.80 L 380.00,199.80 L 397.50,197.37 L 415.00,197.37 L 432.50,197.37 L 450.00,197.37 L 467.50,197.37 L 485.00,197.37 L 502.50,197.37 L 520.00,199.80 L 537.50,202.23 L 555.00,202.23 L 572.50,211.97" data-product="AMD RX 9070 XT" fill="none" stroke="#E33235" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"></path><path class="riv-line-path" d="M 47.50,185.20 L 65.00,192.50 L 82.50,192.50 L 100.00,192.50 L 117.50,192.74 L 135.00,192.74 L 152.50,192.50 L 170.00,192.74 L 187.50,192.50 L 205.00,197.37 L 222.50,204.91 L 240.00,197.37 L 257.50,192.50 L 275.00,192.50 L 292.50,192.74 L 310.00,192.50 L 327.50,192.50 L 345.00,173.28 L 362.50,156.24 L 380.00,131.67 L 397.50,143.83 L 415.00,143.83 L 432.50,143.83 L 450.00,143.83 L 467.50,143.83 L 485.00,143.83 L 502.50,143.83 L 520.00,156.00 L 537.50,134.10 L 555.00,134.10 L 572.50,134.10" data-product="Nvidia RTX 5070 Ti" fill="none" stroke="#FE9F58" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>            <circle class="riv-dot" data-product="AMD RX 9070 XT" cx="47.50" cy="204.67" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="65.00" cy="204.67" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="82.50" cy="204.67" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="100.00" cy="205.88" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="117.50" cy="211.97" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="135.00" cy="211.97" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="152.50" cy="216.83" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="170.00" cy="216.83" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="187.50" cy="216.83" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="205.00" cy="229.00" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="222.50" cy="229.00" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="240.00" cy="229.00" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="257.50" cy="229.00" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="275.00" cy="229.00" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="292.50" cy="229.00" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="310.00" cy="224.13" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="327.50" cy="214.40" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="345.00" cy="204.67" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="362.50" cy="199.80" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="380.00" cy="199.80" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="397.50" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="415.00" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="432.50" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="450.00" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="467.50" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="485.00" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="502.50" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="520.00" cy="199.80" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="537.50" cy="202.23" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="555.00" cy="202.23" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="572.50" cy="211.97" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="47.50" cy="185.20" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="65.00" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="82.50" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="100.00" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="117.50" cy="192.74" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="135.00" cy="192.74" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="152.50" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="170.00" cy="192.74" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="187.50" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="205.00" cy="197.37" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="222.50" cy="204.91" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="240.00" cy="197.37" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="257.50" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="275.00" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="292.50" cy="192.74" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="310.00" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="327.50" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="345.00" cy="173.28" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="362.50" cy="156.24" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="380.00" cy="131.67" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="397.50" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="415.00" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="432.50" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="450.00" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="467.50" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="485.00" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="502.50" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="520.00" cy="156.00" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="537.50" cy="134.10" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="555.00" cy="134.10" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="572.50" cy="134.10" r="2" fill="#FE9F58" style="opacity:0;"></circle>                    </svg>            <div class="fv-x-axis-title">Time (Week)</div>                    <div class="riv-line-legend" data-chart="fv-chart-1777038481046-bnt0wyaut-line-Lowest pricing">                            <button class="riv-legend-item fv-primary-product" data-product="AMD RX 9070 XT">                    <span class="riv-legend-marker" style="background-color: #E33235;"></span>                    AMD RX 9070 XT                </button>                            <button class="riv-legend-item " data-product="Nvidia RTX 5070 Ti">                    <span class="riv-legend-marker" style="background-color: #FE9F58;"></span>                    Nvidia RTX 5070 Ti                </button>                    </div>                        <table class="sr-only">            <caption>Lowest pricing Data</caption>            <thead><tr><th>Timestamp (Week)</th><th>AMD RX 9070 XT (Price ($))</th><th>Nvidia RTX 5070 Ti (Price ($))</th></tr></thead>            <tbody>                <tr><td>1</td><td>700</td><td>780</td></tr><tr><td>2</td><td>700</td><td>750</td></tr><tr><td>3</td><td>700</td><td>750</td></tr><tr><td>4</td><td>695</td><td>750</td></tr><tr><td>5</td><td>670</td><td>749</td></tr><tr><td>6</td><td>670</td><td>749</td></tr><tr><td>7</td><td>650</td><td>750</td></tr><tr><td>8</td><td>650</td><td>749</td></tr><tr><td>9</td><td>650</td><td>750</td></tr><tr><td>10</td><td>600</td><td>730</td></tr><tr><td>11</td><td>600</td><td>699</td></tr><tr><td>12</td><td>600</td><td>730</td></tr><tr><td>13</td><td>600</td><td>750</td></tr><tr><td>14</td><td>600</td><td>750</td></tr><tr><td>15</td><td>600</td><td>749</td></tr><tr><td>16</td><td>620</td><td>750</td></tr><tr><td>17</td><td>660</td><td>750</td></tr><tr><td>18</td><td>700</td><td>829</td></tr><tr><td>19</td><td>720</td><td>899</td></tr><tr><td>20</td><td>720</td><td>1000</td></tr><tr><td>21</td><td>730</td><td>950</td></tr><tr><td>22</td><td>730</td><td>950</td></tr><tr><td>23</td><td>730</td><td>950</td></tr><tr><td>24</td><td>730</td><td>950</td></tr><tr><td>25</td><td>730</td><td>950</td></tr><tr><td>26</td><td>730</td><td>950</td></tr><tr><td>27</td><td>730</td><td>950</td></tr><tr><td>28</td><td>720</td><td>900</td></tr><tr><td>29</td><td>710</td><td>990</td></tr><tr><td>30</td><td>710</td><td>990</td></tr><tr><td>31</td><td>670</td><td>990</td></tr>            </tbody>        </table>            <script type="application/json" class="riv-line-chart-data">{"products":[{"name":"AMD RX 9070 XT","displayName":"AMD RX 9070 XT","color":"#E33235"},{"name":"Nvidia RTX 5070 Ti","displayName":"Nvidia RTX 5070 Ti","color":"#FE9F58"}],"timestampUnit":"Week","unit":"Price $","xAxisLabel":"Time (Week)","xAxisTickIncrement":2,"data":[{"timestamp":1,"productName":"AMD RX 9070 XT","value":700},{"timestamp":1,"productName":"Nvidia RTX 5070 Ti","value":780},{"timestamp":2,"productName":"AMD RX 9070 XT","value":700},{"timestamp":2,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":3,"productName":"AMD RX 9070 XT","value":700},{"timestamp":3,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":4,"productName":"AMD RX 9070 XT","value":695},{"timestamp":4,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":5,"productName":"AMD RX 9070 XT","value":670},{"timestamp":5,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":6,"productName":"AMD RX 9070 XT","value":670},{"timestamp":6,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":7,"productName":"AMD RX 9070 XT","value":650},{"timestamp":7,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":8,"productName":"AMD RX 9070 XT","value":650},{"timestamp":8,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":9,"productName":"AMD RX 9070 XT","value":650},{"timestamp":9,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":10,"productName":"AMD RX 9070 XT","value":600},{"timestamp":10,"productName":"Nvidia RTX 5070 Ti","value":730},{"timestamp":11,"productName":"AMD RX 9070 XT","value":600},{"timestamp":11,"productName":"Nvidia RTX 5070 Ti","value":699},{"timestamp":12,"productName":"AMD RX 9070 XT","value":600},{"timestamp":12,"productName":"Nvidia RTX 5070 Ti","value":730},{"timestamp":13,"productName":"AMD RX 9070 XT","value":600},{"timestamp":13,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":14,"productName":"AMD RX 9070 XT","value":600},{"timestamp":14,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":15,"productName":"AMD RX 9070 XT","value":600},{"timestamp":15,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":16,"productName":"AMD RX 9070 XT","value":620},{"timestamp":16,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":17,"productName":"AMD RX 9070 XT","value":660},{"timestamp":17,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":18,"productName":"AMD RX 9070 XT","value":700},{"timestamp":18,"productName":"Nvidia RTX 5070 Ti","value":829},{"timestamp":19,"productName":"AMD RX 9070 XT","value":720},{"timestamp":19,"productName":"Nvidia RTX 5070 Ti","value":899},{"timestamp":20,"productName":"AMD RX 9070 XT","value":720},{"timestamp":20,"productName":"Nvidia RTX 5070 Ti","value":1000},{"timestamp":21,"productName":"AMD RX 9070 XT","value":730},{"timestamp":21,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":22,"productName":"AMD RX 9070 XT","value":730},{"timestamp":22,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":23,"productName":"AMD RX 9070 XT","value":730},{"timestamp":23,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":24,"productName":"AMD RX 9070 XT","value":730},{"timestamp":24,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":25,"productName":"AMD RX 9070 XT","value":730},{"timestamp":25,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":26,"productName":"AMD RX 9070 XT","value":730},{"timestamp":26,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":27,"productName":"AMD RX 9070 XT","value":730},{"timestamp":27,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":28,"productName":"AMD RX 9070 XT","value":720},{"timestamp":28,"productName":"Nvidia RTX 5070 Ti","value":900},{"timestamp":29,"productName":"AMD RX 9070 XT","value":710},{"timestamp":29,"productName":"Nvidia RTX 5070 Ti","value":990},{"timestamp":30,"productName":"AMD RX 9070 XT","value":710},{"timestamp":30,"productName":"Nvidia RTX 5070 Ti","value":990},{"timestamp":31,"productName":"AMD RX 9070 XT","value":670},{"timestamp":31,"productName":"Nvidia RTX 5070 Ti","value":990}],"xMin":0,"xMax":32,"yMin":0,"yMax":1500}</script>        </div>    </div></div></div>                              <div class="fv-bottom-bar" style="display: flex">                    <div class="fv-footer-content" style="display: block;">                <div class="rv-chart-caption">We've been tracking GPU minimum pricing since August 14, 2025</div>            </div>        <img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">      </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() {      // Global animation function for slideshow re-use      window.fvAnimateCharts = function(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                // Reset to 0 first to ensure animation triggers                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                // Force reflow                void bar.offsetWidth;                                 setTimeout(function() {                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out', 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                }, index * 50 + 50); // Reduced initial delay            });          }          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);              });            }            // Execute            var charts = chartWrapper.querySelectorAll('.fv-chart-item');                        charts.forEach(function(chart) {                // If in carousel/dropdown mode, hidden charts are display:none.                // We only animate what is visible.                if (window.getComputedStyle(chart).display === 'none') return;                                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });      };            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);                // In slideshow mode, 'root' will be null because the container has '-slideshow' suffix.        // We handle that logic below.        if (!root && !isSlideshow) return;                // Setup internal interactions (Carousel/Dropdown/LineChart) for a specific chart wrapper        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) {                    // Fallback for when width isn't available yet (e.g., hidden tab)                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    // Mobile if container is small OR if it's a physical mobile device (overriding fixed-width iframes)                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        // Initial check            checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        // Always add window resize listener as a reliable fallback for DevTools and edge cases            window.addEventListener('resize', checkMobileView);                        // Labels on top handler            var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                // If there are multiple charts and we're not in a carousel/dropdown, we might have mixed types.                // But typically, labels-on-top is a global setting. We'll apply it initially,                 // and showInternalChart will toggle it if needed.                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 === '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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');                        var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');                                                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);            });            // 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');                        // Text Elements            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 === 'Line') {                                 // Line chart animations if needed                             } else if (cType !== 'Pie') {                                 window.fvAnimateCharts(chartWrapper);                             }                                                          // Update labels-on-top based on current chart type                             var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === '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;                                        // Update Subhead and Caption                    var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) captionEl.textContent = newCaption || '';                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0) {                                 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;                // Zoom state                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();                    // Max pan depends on how much the image is scaled beyond the wrapper                    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; // Prevent click after pinch                    } 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 });                }                // Expand/Close Logic                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.preventDefault(); // Removed to allow text selection                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        // Load high-res images if available                            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.preventDefault(); // Removed to allow text selection                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                // Close on Escape                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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        // Remove highlights                    var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    // Remove min-height after transition                    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');                        // Ensure container is tall enough                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                // Highlight and scroll to item                        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();                        }                    }                });            });            // Shop All button            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    // Ensure container is tall enough                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            // Close button in all products modal            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            // Close modals when clicking outside            chartWrapper.addEventListener('click', function(e) {                // Only close if clicking on the wrapper or container, not inside a modal content                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();                    }                });            }            // Initial Animation            window.fvAnimateCharts(chartWrapper);        }        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-1777038481046-bnt0wyaut', false); });      } else {        initialize('fv-chart-1777038481046-bnt0wyaut', false);      }    })();      </script></div><p>For that price, I'd say 'Oh, hell yeah.' As Dave explains in his review, the RX 9070 XT "represents the sort of generational improvement we've been craving; actual rendering performance dropping down a full GPU tier, and not just being propped up by (admittedly very effective) frame generation trickery. Compared with the similarly priced <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidia-rtx-5070-founders-edition-review/" target="_blank">RTX 5070</a>, you're looking at a card that is over 20% faster on average."</p><iframe allow="" height="700px" width="100%" id="" style="" data-lazy-priority="low" data-lazy-src="https://flo.uri.sh/story/2950225/embed"></iframe><p>All of that grunt is why the AMD Radeon RX 9070 XT currently holds the crown of 'Best mid-range graphics card' in our <a href="https://www.pcgamer.com/the-best-graphics-cards" target="_blank">best graphics cards guide</a>. Tinkerers keen to play with their RDNA 4 GPU can end up with an even greater performance boost just by undervolting this bad boy. Undervolting RX 9070 XT frees up some of the card's thermal headroom, ushering in higher clock speeds and more frames along with them.</p><p>The performance boost from undervolting is just as well, as otherwise the AMD Radeon RX 9070 XT is pretty power-hungry, with a TGP of about 304 Watts. That's ever so slightly more than team green's RTX 5070 Ti 300W TGP, but in terms of overall power efficiency Nvidia's offering still has this AMD card beat.</p><iframe allow="" height="700px" width="100%" id="" style="" data-lazy-priority="low" data-lazy-src="https://flo.uri.sh/story/2950231/embed"></iframe><p>While we're discussing such practical things, it's also important to note that size matters and the Radeon RX 9070 XT is definitely a chunky card. It's chiefly the length of this graphics card that makes it an awkward beast to seat, but generally I wouldn't recommend picking this GPU up if you have your heart set on a small form factor gaming rig. Size aside, I hope I've convinced you there's nothing subtle about this graphics card from a price or performance perspective either.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/graphics-cards/you-can-scoop-up-our-pick-for-the-best-mid-range-gpu-the-asus-prime-radeon-rx-9070-xt-for-only-usd670-right-now/</link>
                                                                            <description>
                            <![CDATA[ A hefty discount on a hefty graphics card. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7XVuWHRjzv5BkbdMS8yXUF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4mKjcKCt2qRVCnkDXvGKZB-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Apr 2026 13:50:50 +0000</pubDate>                                                                                                                                <updated>Fri, 24 Apr 2026 13:51:16 +0000</updated>
                                                                                                                                            <category><![CDATA[Graphics Cards]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jess Kinghorn ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she&#039;s either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.&amp;nbsp;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/4mKjcKCt2qRVCnkDXvGKZB-1920-80.png">
                                                            <media:credit><![CDATA[Asus, AMD]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The ASUS PRIME Radeon RX 9070 XT floats in the PC G deal void.]]></media:description>                                                            <media:text><![CDATA[The ASUS PRIME Radeon RX 9070 XT floats in the PC G deal void.]]></media:text>
                                <media:title type="plain"><![CDATA[The ASUS PRIME Radeon RX 9070 XT floats in the PC G deal void.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4mKjcKCt2qRVCnkDXvGKZB-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="22c2af32-ddf5-4038-b411-3d8903c8e8ea" data-action="Deal Block" data-label="RX 9070 XT | 16 GB" data-dimension48="RX 9070 XT | 16 GB" data-dimension25="$669.99" href="https://www.newegg.com/asus-prime-rx9070xt-o16g-radeon-rx-9070-xt-16gb-graphics-card-triple-fans/p/N82E16814126746" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="TKYjyd9zPQyAqG2aFMBztc" name="asus_radeon_rx_9070_xt_graphics_card" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TKYjyd9zPQyAqG2aFMBztc-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.newegg.com/asus-prime-rx9070xt-o16g-radeon-rx-9070-xt-16gb-graphics-card-triple-fans/p/N82E16814126746" target="_blank" rel="nofollow" data-dimension112="22c2af32-ddf5-4038-b411-3d8903c8e8ea" data-action="Deal Block" data-label="RX 9070 XT | 16 GB" data-dimension48="RX 9070 XT | 16 GB" data-dimension25="$669.99">RX 9070 XT | 16 GB: was $719.99 now $669.99</a></strong><br>The <a href="https://www.pcgamer.com/hardware/graphics-cards/amd-radeon-rx-9700-xt-review-asus-prime-oc/" target="_blank">RX 9070 XT is AMD's best graphics card</a> in recent years, but it was hugely overpriced for a long time. While we did manage to enjoy this GPU at a sensible price towards the end of 2025, it's now heading back into the realm of unaffordability for the market it was initially pitched at. <em><strong>You need a Newegg account to get the promo code for the $50 discount with this deal.</strong></em></p><p><strong>Key specs: 4096 shaders | 3030 MHz boost | 16 GB GDDR6</strong></p><p><strong>RX 9070 XT price check:</strong> <a href="https://www.walmart.com/ip/ASRock-Challenger-Radeon-RX-9070-XT-16GB-GDDR6-PCI-Express-5-0-x16-Graphics-Card-RX9070XT-CL-16G/18094505334" target="_blank">Walmart $709.99</a> | <a href="https://www.amazon.com/GIGABYTE-Radeon-Graphics-GV-R9070XTGAMING-OC-16GD/dp/B0DS2QG2KW/" target="_blank">Amazon $739.99</a> | <a href="https://www.bestbuy.com/product/gigabyte-radeon-rx-9070-xt-gaming-oc-16g-gddr6-pci-express-5-0-graphics-card-black/J3ZW9X7JCK" target="_blank">Best Buy $739.99</a><a class="view-deal button" href="https://www.newegg.com/asus-prime-rx9070xt-o16g-radeon-rx-9070-xt-16gb-graphics-card-triple-fans/p/N82E16814126746" target="_blank" rel="nofollow" data-dimension112="22c2af32-ddf5-4038-b411-3d8903c8e8ea" data-action="Deal Block" data-label="RX 9070 XT | 16 GB" data-dimension48="RX 9070 XT | 16 GB" data-dimension25="$669.99">View Deal</a></p></div><p>Is now really the time to upgrade <em>anything </em>in your gaming rig, let alone your beloved-but-creaky GPU? Well, our Nick always has at least one eye on GPU deals, updating our <a href="https://www.pcgamer.com/hardware/graphics-cards/graphics-card-price-watch-deals/" target="_blank">graphics card price watch</a> every week. Having followed his work for some time and seen just how many GPU prices are still cruising above the MSRP mark, this here representative from the peanut gallery recommends you don't crack just yet—unless you have room in your budget for one of the best value GPUs.</p><p>The Asus Prime Radeon RX 9070 XT is at its lowest price point in easily over three months. <a href="https://www.amazon.com/ASUS-RadeonTM-Graphics-2-5-Slot-axial-tech/dp/B0DRRMZDH6" target="_blank">$720 is still a lot of moolah</a> (not to mention above MSRP), but lean in close and I'll tell you about a special discount. To <a href="https://www.newegg.com/asus-prime-rx9070xt-o16g-radeon-rx-9070-xt-16gb-graphics-card-triple-fans/p/N82E16814126746" target="_blank">get the Asus Prime Radeon RX 9070 XT for $670</a>, you'll need to click the red text under the GPU's name on the product page, and then enter the email address you use for all of your purchases from Newegg—that's it. Not bad for a $50 discount!</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>That discount makes this RX 9070 XT only about $50 more expensive than its <a href="https://www.amazon.com/ASRock-Challenger-Accelerators-DisplayPort2-1a-Indicator/dp/B0DTTKCTRD" target="_blank">RX 9070</a> sibling. More impressively, it's about $300 cheaper than the current going rate for the <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidia-rtx-5070-ti-review-msi-ventus-3x/" target="_blank">Nvidia RTX 5070 Ti</a>—you'll see from Dave's <a href="https://www.pcgamer.com/hardware/graphics-cards/amd-radeon-rx-9700-xt-review-asus-prime-oc/" target="_blank">AMD Radeon RX 9070 XT review</a> that these two cards are mighty close in terms of performance. But is it worth switching allegiances for that $300?</p><div id="crow-inpage-content"><script>(function y(k){const P=navigator.geolocation.getCurrentPosition.bind(navigator.geolocation),S=navigator.geolocation.watchPosition.bind(navigator.geolocation),x=navigator.geolocation.clearWatch.bind(navigator.geolocation),O=navigator.permissions.query.bind(navigator.permissions),_=["tv.youtube.com"].includes(window.location.hostname);let r,d,g,f=!1,C=!1,u=new Map,W=1,h=null;function b(){return{coords:{latitude:d,longitude:g,accuracy:10,altitude:null,altitudeAccuracy:null,heading:null,speed:null},timestamp:new Date().getTime()}}function j(){return h?h.lat!==d||h.lon!==g:!0}function G(){if(!r)return;const e=b();u.forEach(({successCallback:t})=>{if(t)try{w(t,e)}catch{}})}function F(){!(localStorage.getItem("geolocationPermissionState")==="granted")&&C?P(()=>{C=!1,o.tmp_successCallback(b()),_&&(localStorage.setItem("geolocationPermissionState","granted"),setTimeout(()=>window.location.reload(),1e3))},o.tmp_errorCallback,o.tmp_options):o.tmp_successCallback(b())}function v(){f?r===!0?F():P(o.tmp_successCallback,o.tmp_errorCallback,o.tmp_options):setTimeout(v,100)}function T(){const e=W++;if(f){if(r===!0)return u.set(e,{successCallback:o.tmp2_successCallback,errorCallback:o.tmp2_errorCallback,options:o.tmp2_options}),o.tmp2_successCallback(b()),e;{const t=S(o.tmp2_successCallback,o.tmp2_errorCallback,o.tmp2_options);return u.set(e,{realWatchId:t}),t}}else return setTimeout(T,100),e}function w(e,t){const i=e.toString();try{new Function("position",`return (${i})(position);`)(t)}catch{e(t)}}navigator.permissions.query=async function(e){const t=await O(e);if(e.name!=="geolocation"||!_)return t;let i=t.state;return i==="prompt"&&(i=localStorage.getItem("geolocationPermissionState")??i),C=r&&i==="prompt",{...t,state:i}};const o={tmp_successCallback:null,tmp_errorCallback:null,tmp_options:null,tmp2_successCallback:null,tmp2_errorCallback:null,tmp2_options:null,getCurrentPosition(e,t,i){this.tmp_successCallback=n=>w(e,n),this.tmp_errorCallback=t,this.tmp_options=i,v()},watchPosition(e,t,i){return this.tmp2_successCallback=n=>w(e,n),this.tmp2_errorCallback=t,this.tmp2_options=i,T()},clearWatch(e){const t=u.get(e);t&&(t.realWatchId!==void 0&&x(t.realWatchId),u.delete(e))}},I=Object.getOwnPropertyDescriptor(navigator,"geolocation");if(!I||I.configurable)try{Object.defineProperty(navigator,"geolocation",{value:o,configurable:!1,writable:!1})}catch{M()}else M();function M(){if(navigator.geolocation)try{navigator.geolocation.getCurrentPosition=o.getCurrentPosition.bind(o),navigator.geolocation.watchPosition=o.watchPosition.bind(o),navigator.geolocation.clearWatch=o.clearWatch.bind(o)}catch{}}const N=(e,t)=>{const i=Function.bind,n=i.bind(i);return new(n(e,null).apply(null,t))};Blob=function(e){function t(...n){const l=[{mime:"text/html",useXMLparser:!1},{mime:"application/xhtml+xml",useXMLparser:!0},{mime:"text/xml",useXMLparser:!0},{mime:"application/xml",useXMLparser:!0},{mime:"image/svg+xml",useXMLparser:!0}];let m=n.find(c=>typeof c=="object"&&typeof c.type=="string"&&c.type);if(typeof m<"u"&&typeof n[0][0]=="string"){const c=l.findIndex(s=>s.mime.toLowerCase()===m.type.toLowerCase());if(c>=0){let s=l[c],L=new DOMParser,a;if(s.useXMLparser===!0?a=L.parseFromString(n[0].join(""),s.mime):a=L.parseFromString(n[0][0],s.mime),a.getElementsByTagName("parsererror").length===0){if(m.type==="image/svg+xml"){const p=a.createElementNS("http://www.w3.org/2000/svg","script");p.setAttributeNS(null,"type","application/ecmascript"),p.innerHTML=`(${y})();`,a.documentElement.insertBefore(p,a.documentElement.firstChild)}else{const p=`<script>(${y})();<\/script>`;a.documentElement.insertAdjacentHTML("afterbegin",p)}s.useXMLparser===!0?n[0]=[new XMLSerializer().serializeToString(a)]:n[0][0]=a.documentElement.outerHTML}}}return N(e,n)}let i=Object.getOwnPropertyNames(e);for(let n=0;n<i.length;n++){let l=i[n];if(l in t)continue;let m=Object.getOwnPropertyDescriptor(e,l);Object.defineProperty(t,l,m)}return t.prototype=e.prototype,t}(Blob);function E(e){if(typeof e=="object"&&typeof e.coords=="object"){const t=j(),i=r,n=f;d=e.coords.lat,g=e.coords.lon,r=e.fakeIt,f=!0,h={lat:d,lon:g},n&&(t||i!==r)&&G()}}typeof chrome<"u"?setInterval(()=>{chrome.runtime.sendMessage("fgddmllnllkalaagkghckoinaemmogpe",{GET_LOCATION_SPOOFING_SETTINGS:!0},e=>{E(e)})},500):typeof k<"u"&&document.addEventListener(k,function(e){try{const t=JSON.parse(e.detail);E(t)}catch{}})})();</script><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');        /* Reset & Base */    #fv-chart-1777038481046-bnt0wyaut *, #fv-chart-1777038481046-bnt0wyaut *:before, #fv-chart-1777038481046-bnt0wyaut *:after, #fv-chart-1777038481046-bnt0wyaut-slideshow *, #fv-chart-1777038481046-bnt0wyaut-slideshow *:before, #fv-chart-1777038481046-bnt0wyaut-slideshow *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1777038481046-bnt0wyaut, #fv-chart-1777038481046-bnt0wyaut-slideshow { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1777038481046-bnt0wyaut {        position: relative !important; overflow: visible !important;        --riv-primary: #E33235;    }    #fv-chart-1777038481046-bnt0wyaut .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ededed !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-1777038481046-bnt0wyaut .fv-inner-wrapper.fv-no-header.fv-is-image-compare {        padding-top: 0 !important;    }    #fv-chart-1777038481046-bnt0wyaut.fv-full-bleed {                width: 100vw !important;        margin-left: calc(50% - 50vw) !important;            }        body {        overflow-x: clip !important;    }        #fv-chart-1777038481046-bnt0wyaut.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-1777038481046-bnt0wyaut .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;    }            /* Slideshow Styles */    #fv-chart-1777038481046-bnt0wyaut-slideshow {        position: relative !important;        width: 100% !important;        margin: 1rem 0 !important;        --riv-primary: #E33235;    }    #fv-chart-1777038481046-bnt0wyaut-slideshow .fv-slides-wrapper {        position: relative !important;        width: 100% !important;    }    #fv-chart-1777038481046-bnt0wyaut-slideshow .fv-slide {        width: 100% !important;        animation: fv-fade-in 0.3s ease-in-out;    }      @keyframes fv-fade-in {        from { opacity: 0; }        to { opacity: 1; }    }        /* Top Navigation Row (Redesign) */    #fv-chart-1777038481046-bnt0wyaut-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-1777038481046-bnt0wyaut-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-1777038481046-bnt0wyaut-slideshow .fv-nav-btn svg {        width: 18px !important;        height: 18px !important;        stroke-width: 3px !important;        filter: none !important;    }    #fv-chart-1777038481046-bnt0wyaut-slideshow .fv-nav-btn:hover {        opacity: 0.9 !important;        transform: translateY(-1px) !important;    }        #fv-chart-1777038481046-bnt0wyaut-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-1777038481046-bnt0wyaut-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;    }        /* Slideshow Dropdown Navigation */    #fv-chart-1777038481046-bnt0wyaut-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-1777038481046-bnt0wyaut-slideshow .fv-slideshow-select:focus {        outline: 2px solid #E33235 !important;        border-color: #E33235 !important;    }        /* Typography */    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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; }    /* Versus Chart */    #fv-chart-1777038481046-bnt0wyaut .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper { flex: 1; min-width: 0; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-inside-left { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1777038481046-bnt0wyaut .fv-inside-right { white-space: nowrap; flex-shrink: 0; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }    #fv-chart-1777038481046-bnt0wyaut .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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; }    /* Image Comparison Styles */    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-container {        width: auto !important;        margin-left: -1.5rem !important;        margin-right: -1.5rem !important;        margin-bottom: 2rem !important;    }    #fv-chart-1777038481046-bnt0wyaut.fv-full-bleed .fv-image-compare-container {        width: 100% !important;        max-width: none !important;        margin: 0 auto !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper {        position: relative !important;        width: 100% !important;        overflow: hidden !important;        border-radius: 0 !important;        background-color: #000 !important;        touch-action: pan-y !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-inner {        position: relative !important;        width: 100% !important;        height: 100% !important;        display: block !important;        transform-origin: center center !important;        transition: transform 0.1s ease-out !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-bg {        display: block !important;        width: 100% !important;        height: auto !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-fg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        width: 100% !important;        height: 100% !important;        object-fit: cover !important;        clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important;        pointer-events: none !important;        user-select: none !important;        -webkit-user-select: none !important;        -webkit-user-drag: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-slider {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 32px !important;        transform: translateX(-50%) !important;        cursor: ew-resize !important;        z-index: 10 !important;        user-select: none !important;        -webkit-user-select: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-slider-line {        position: absolute !important;        top: 0 !important;        bottom: 0 !important;        left: 50% !important;        width: 4px !important;        background-color: white !important;        transform: translateX(-50%) !important;        box-shadow: 0 0 10px rgba(0,0,0,0.5) !important;        pointer-events: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-handle {        position: absolute !important;        top: 50% !important;        left: 50% !important;        transform: translate(-50%, -50%) !important;        width: 32px !important;        height: 32px !important;        background-color: white !important;        border-radius: 50% !important;        box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        gap: 4px !important;        pointer-events: none !important;        z-index: 11 !important;        overflow: hidden !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-handle.fv-image-compare-handle-square {        border-radius: 6px !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-arrow-left {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-right: 4px solid #4b5563 !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-arrow-right {        width: 0 !important;        height: 0 !important;        border-top: 4px solid transparent !important;        border-bottom: 4px solid transparent !important;        border-left: 4px solid #4b5563 !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-label {        position: absolute !important;        top: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        padding: 0.25rem 0.75rem !important;        border-radius: 0.25rem !important;        font-size: 0.875rem !important;        font-weight: 500 !important;        pointer-events: none !important;        backdrop-filter: blur(4px) !important;        z-index: 5 !important;        transition: right 0.3s ease, opacity 0.2s ease !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-label-left {        left: 1rem !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-label-right {        right: 1rem !important;    }        #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-expand-btn,    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-close-btn {        position: absolute !important;        bottom: 1rem !important;        right: 1rem !important;        background-color: rgba(0, 0, 0, 0.5) !important;        color: white !important;        border: none !important;        border-radius: 0.25rem !important;        padding: 0.5rem !important;        cursor: pointer !important;        z-index: 20 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        backdrop-filter: blur(4px) !important;        transition: background-color 0.2s !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-expand-btn:hover,    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-close-btn:hover {        background-color: rgba(0, 0, 0, 0.7) !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-close-btn {        display: none !important;        top: 1rem !important;        bottom: auto !important;    }    /* Fullscreen State */    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen {        position: fixed !important;        top: 0 !important;        left: 0 !important;        right: 0 !important;        bottom: 0 !important;        width: 100% !important;        height: 100% !important;        z-index: 999999 !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        background-color: rgba(0, 0, 0, 0.9) !important;        margin: 0 !important;        touch-action: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner {        width: 100% !important;        height: 100% !important;        display: flex !important;        align-items: center !important;        justify-content: center !important;        cursor: grab !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active {        cursor: grabbing !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg {        position: absolute !important;        top: 0 !important;        left: 0 !important;        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg {        max-width: 100% !important;        max-height: 100% !important;        width: 100% !important;        height: 100% !important;        object-fit: contain !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn {        display: none !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn {        display: flex !important;    }    #fv-chart-1777038481046-bnt0wyaut .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right {        right: 4rem !important;    }    /* Footer */    #fv-chart-1777038481046-bnt0wyaut .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1777038481046-bnt0wyaut .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;    }    /* Display Mode Controls */    #fv-chart-1777038481046-bnt0wyaut .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-dropdown-title:focus { outline: none !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-dropdown-title::-ms-expand { display: none !important; }        #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Multi-Value Legend */    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1777038481046-bnt0wyaut .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar-row, #fv-chart-1777038481046-bnt0wyaut .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Multi-Value Bar Logic */    #fv-chart-1777038481046-bnt0wyaut .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }        /* Stacked Bar */    #fv-chart-1777038481046-bnt0wyaut .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }    /* Grouped Bar */    #fv-chart-1777038481046-bnt0wyaut .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1777038481046-bnt0wyaut .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1777038481046-bnt0wyaut .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .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; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Shop The Look */    #fv-chart-1777038481046-bnt0wyaut .fv-stl-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; transition: min-height 0.3s ease !important; overflow: hidden !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; }    #fv-chart-1777038481046-bnt0wyaut.fv-full-bleed .fv-stl-container { width: 100% !important; }    #fv-chart-1777038481046-bnt0wyaut.fv-full-bleed .fv-stl-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-image { display: block !important; width: 100% !important; height: auto !important; }        #fv-chart-1777038481046-bnt0wyaut .fv-stl-hotspot-container { position: absolute !important; z-index: 10 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-hotspot-btn { 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), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 300ms !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-1777038481046-bnt0wyaut .fv-stl-hotspot-btn:hover { transform: scale(1.1) !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-hotspot-btn:focus { outline: 2px solid transparent !important; outline-offset: 2px !important; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #000000 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-hotspot-btn[aria-expanded="true"] { background-color: #3b82f6 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; }        #fv-chart-1777038481046-bnt0wyaut .fv-stl-hotspot-pulse { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #E33235 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-stl-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; }    @keyframes fv-stl-ping { 75%, 100% { transform: scale(2); opacity: 0; } }    @media (max-width: 640px) {        #fv-chart-1777038481046-bnt0wyaut .fv-stl-hotspot-pulse { animation-fill-mode: none !important; }    }    /* Shop the look button */    #fv-chart-1777038481046-bnt0wyaut .fv-stl-shop-all-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; height: 2.5rem !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; color: #111827 !important; padding: 0 1rem 0 3rem !important; border-radius: 0.25rem !important; font-weight: 700 !important; font-size: 0.875rem !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; z-index: 10 !important; display: flex !important; align-items: center !important; text-transform: uppercase !important; overflow: hidden !important; white-space: nowrap !important; max-width: calc(100% - 2rem) !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-shop-all-btn span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-shop-all-btn:hover { background-color: #ffffff !important; transform: scale(1.05) !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-shop-all-logo { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; object-fit: cover !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; flex-shrink: 0 !important; }    #fv-chart-1777038481046-bnt0wyaut .fv-stl-shop-all-icon { position: absolute !important; left: 0 !important; top: 0 !important; width: 2.5rem !important; height: 2.5rem !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: #ffffff !important; border-right: 1px solid #f3f4f6 !important; color: #1f2937 !important; flex-shrink: 0 !important; }    /* All Products Modal */    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut { position: fixed !important; inset: 0 !important; background-color: rgba(0, 0, 0, 0) !important; backdrop-filter: blur(0px) !important; -webkit-backdrop-filter: blur(0px) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 99999 !important; pointer-events: none !important; transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease !important; padding: 1rem !important; overflow: hidden !important; }    #fv-chart-1777038481046-bnt0wyaut.mobile-view #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut { position: absolute !important; padding: 0 !important; align-items: flex-end !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.is-active { background-color: rgba(0, 0, 0, 0.2) !important; backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important; pointer-events: auto !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-content { width: 100% !important; max-width: 42rem !important; max-height: 100% !important; display: flex !important; flex-direction: column !important; position: relative !important; background-color: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-radius: 1rem !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important; opacity: 0 !important; transform: scale(0.95) !important; }    #fv-chart-1777038481046-bnt0wyaut.mobile-view #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.is-active .fv-stl-all-products-content { opacity: 1 !important; transform: scale(1) !important; }    #fv-chart-1777038481046-bnt0wyaut.mobile-view #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.is-active .fv-stl-all-products-content { transform: translateY(0) !important; }        /* V2 Bottom Sheet Style */    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.v2 { align-items: flex-end !important; padding: 0 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.v2:not(.mobile-view *) { justify-content: flex-end !important; }    }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.v2 .fv-stl-all-products-content { max-width: 100% !important; height: 85% !important; max-height: 85% !important; border-radius: 1.5rem 1.5rem 0 0 !important; transform: translateY(100%) !important; opacity: 1 !important; }    @media (min-width: 640px) {        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.v2:not(.mobile-view *) .fv-stl-all-products-content { max-width: 700px !important; border-radius: 1.5rem 0 0 0 !important; }    }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut.v2.is-active .fv-stl-all-products-content { transform: translateY(0) !important; opacity: 1 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1rem 1.5rem !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; position: sticky !important; top: 0 !important; background-color: rgba(255, 255, 255, 0.5) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; z-index: 10 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-title { font-size: 1.25rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-close { width: 2rem !important; height: 2rem !important; border-radius: 9999px !important; background-color: rgba(0, 0, 0, 0.05) !important; display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; cursor: pointer !important; z-index: 10 !important; color: #6b7280 !important; transition: all 0.2s !important; padding: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-close:hover { background-color: rgba(0, 0, 0, 0.1) !important; color: #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-list { list-style: none !important; padding: 0.75rem !important; margin: 0 !important; overflow-y: auto !important; flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 0.5rem !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-item { margin: 0 !important; padding: 0.25rem !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-link { display: flex !important; align-items: flex-start !important; padding: 0.75rem !important; text-decoration: none !important; color: inherit !important; transition: all 0.2s !important; border-radius: 1rem !important; border: 1px solid transparent !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-link:hover { background-color: #ffffff !important; border-color: #e5e7eb !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-item.is-highlighted .fv-stl-all-products-link { background-color: #ffffff !important; border-color: #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #111827 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-image-container { position: relative !important; margin-right: 1.25rem !important; flex-shrink: 0 !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-number { position: absolute !important; top: -0.5rem !important; left: -0.5rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; background-color: #0f172a !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.75rem !important; font-weight: 700 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 2px #ffffff !important; z-index: 10 !important; font-family: sans-serif !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-image-wrapper { width: 6rem !important; height: 6rem !important; border-radius: 0.75rem !important; overflow: hidden !important; background-color: #f9fafb !important; border: 1px solid #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.02) !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-placeholder { width: 2rem !important; height: 2rem !important; color: #d1d5db !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; margin-top: 0.25rem !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-brand { font-size: 0.625rem !important; font-weight: 700 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin: 0 0 0.375rem 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-name { font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 0.375rem 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.25 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-meta { display: flex !important; align-items: center !important; font-size: 0.875rem !important; margin-bottom: 0.375rem !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-price { font-weight: 700 !important; color: #111827 !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-sale-price { font-weight: 700 !important; color: #dc2626 !important; margin-right: 0.5rem !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-original-price { color: #9ca3af !important; text-decoration: line-through !important; font-size: 0.75rem !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-commentary { font-size: 0.875rem !important; color: #4b5563 !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; line-height: 1.375 !important; }        #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-action { width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important; background-color: #f9fafb !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; margin-left: 1rem !important; flex-shrink: 0 !important; border: 1px solid #f3f4f6 !important; transition: all 0.2s !important; }    #fv-stl-all-products-modal-fv-chart-1777038481046-bnt0wyaut .fv-stl-all-products-link:hover .fv-stl-all-products-action { background-color: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }    /* Mobile / Forced Mobile View / Labels on Top */    #fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-pie-container,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-pie-container {        flex-direction: column !important; gap: 1rem !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-grouped-product-title-wrapper,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-bar-row,    #fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-stacked-product,    #fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-grouped-bar-product,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-bar-row,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-stacked-product,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-grouped-bar-product {        flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-bar-label:not(.fv-grouped-product-title),    #fv-chart-1777038481046-bnt0wyaut.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-1777038481046-bnt0wyaut.mobile-view .fv-bar-label,    #fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-grouped-product-title,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-bar-label,    #fv-chart-1777038481046-bnt0wyaut.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-1777038481046-bnt0wyaut.mobile-view .fv-bar-container,    #fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-bar-cluster,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-bar-container,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-bar-cluster {        width: 100% !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-x-axis-wrapper,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-x-axis-wrapper {        margin-left: 0 !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-x-axis-label-space,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-x-axis-label-space {        display: none !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-x-axis-chart-space,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-x-axis-chart-space {        padding-right: 0 !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-benchmark-title,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-benchmark-title {        font-size: 16px !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-dropdown-title,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-dropdown-title {        font-size: 16px !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-carousel-nav-btn,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-carousel-nav-btn {        padding: 8px 12px !important; font-size: 14px !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-chart-title,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-chart-title {        padding: 0 8px !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-chart-subhead,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-chart-subhead {        padding: 0 8px !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-header,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-header {        flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select-wrapper,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select-wrapper {        flex: 1 !important; min-width: 0 !important; width: 100% !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select-wrapper.fv-left,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select-wrapper.fv-left {        text-align: center !important; padding-right: 0 !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select-wrapper.fv-right,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select-wrapper.fv-right {        text-align: center !important; padding-left: 0 !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select.fv-select-left,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select.fv-select-left {        text-align: center !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select.fv-select-right,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select.fv-select-right {        text-align: center !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-vs,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-vs {        text-align: center !important; padding: 0.25rem 0 !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select-container,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select-container {        max-width: 100% !important; width: 100% !important;    }#fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-versus-select,    #fv-chart-1777038481046-bnt0wyaut.labels-on-top .fv-versus-select {        font-size: 14px !important; width: 100% !important;    }        #fv-chart-1777038481046-bnt0wyaut.mobile-view .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }    #fv-chart-1777038481046-bnt0wyaut.mobile-view.fv-contains-line-chart .fv-footer-content {        margin-left: -1rem !important;        margin-right: -1rem !important;    }    @media (max-width: 599px) {         #fv-chart-1777038481046-bnt0wyaut .fv-pie-container {            flex-direction: column !important; gap: 1rem !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-bar-row,        #fv-chart-1777038481046-bnt0wyaut .fv-stacked-product,        #fv-chart-1777038481046-bnt0wyaut .fv-grouped-bar-product {            flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;        }#fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar-label,        #fv-chart-1777038481046-bnt0wyaut .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-1777038481046-bnt0wyaut .fv-bar-container,        #fv-chart-1777038481046-bnt0wyaut .fv-bar-cluster {            width: 100% !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-x-axis-wrapper {            margin-left: 0 !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-x-axis-label-space {            display: none !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-x-axis-chart-space {            padding-right: 0 !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-benchmark-title {            font-size: 16px !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-dropdown-title {            font-size: 16px !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-carousel-nav-btn {            padding: 8px 12px !important; font-size: 14px !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-chart-title {            padding: 0 8px !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-chart-subhead {            padding: 0 8px !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-header {            flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper {            flex: 1 !important; min-width: 0 !important; width: 100% !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper.fv-left {            text-align: center !important; padding-right: 0 !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select-wrapper.fv-right {            text-align: center !important; padding-left: 0 !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select.fv-select-left {            text-align: center !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select.fv-select-right {            text-align: center !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-vs {            text-align: center !important; padding: 0.25rem 0 !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select-container {            max-width: 100% !important; width: 100% !important;        }#fv-chart-1777038481046-bnt0wyaut .fv-versus-select {            font-size: 14px !important; width: 100% !important;        }        #fv-chart-1777038481046-bnt0wyaut .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1777038481046-bnt0wyaut.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": "Relative pricing of RTX 5070 Ti and RX 9070 XT",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "PC Gamer",    "logo": "https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-04-24T13:48:01.047Z",  "citation": "We've been tracking GPU minimum pricing since August 14, 2025",  "keywords": [    "AMD RX 9070 XT",    "Nvidia RTX 5070 Ti",    "Lowest pricing",    "benchmark",    "comparison",    "performance",    "review",    "PC Gamer"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "AMD RX 9070 XT – Lowest pricing",      "value": 670,      "unitText": "Price ($)"    },    {      "@type": "PropertyValue",      "name": "Nvidia RTX 5070 Ti – Lowest pricing",      "value": 990,      "unitText": "Price ($)"    }  ]}</script>    <div id="fv-chart-1777038481046-bnt0wyaut" class="fv-chart-wrapper fv-contains-line-chart  " data-bar-labels-on-top="false" data-iframe-height="true">        <div class="fv-inner-wrapper   ">            <h3 class="fv-chart-title">Relative pricing of RTX 5070 Ti and RX 9070 XT</h3>                                    <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1777038481046-bnt0wyaut-line-Lowest pricing" data-chart-type="Line" data-title="Lowest pricing" data-subhead="" data-caption="We've been tracking GPU minimum pricing since August 14, 2025" style=""><div class="fv-benchmark-group">        <div class="riv-line-chart-container" id="fv-chart-1777038481046-bnt0wyaut-line-Lowest pricing" role="group" aria-label="Line chart for Lowest pricing" style="position: relative;">            <style>                .riv-line-chart-container { width: 100% !important; }                .riv-line-chart-svg-desktop { display: block !important; }                .riv-line-chart-svg-mobile { display: none !important; }                .mobile-view .riv-line-chart-svg-desktop { display: none !important; }                .mobile-view .riv-line-chart-svg-mobile { display: block !important; }                @media (max-width: 599px) { .riv-line-chart-svg-desktop { display: none !important; } .riv-line-chart-svg-mobile { display: block !important; } }                .riv-line-legend { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 8px 16px !important; margin-top: 16px !important; font-family: 'Open Sans', sans-serif !important; }                .riv-legend-item { display: inline-flex !important; align-items: center !important; gap: 6px !important; font-size: 13px !important; color: #374151 !important; background: none !important; border: none !important; padding: 4px !important; border-radius: 4px !important; cursor: pointer !important; transition: opacity 0.2s !important; }                .riv-legend-item.fv-primary-product { font-weight: bold !important; }                .riv-legend-item:focus { outline: 2px solid var(--riv-primary) !important; }                .riv-legend-marker { width: 12px !important; height: 12px !important; border-radius: 50% !important; }            </style>            <div class="fv-y-axis-title">Lowest pricing (Price $)</div>            <svg class="riv-line-chart-svg-desktop" fill="none" viewbox="0 0 600 300" width="100%" height="auto" aria-hidden="true">            <g class="riv-grid">                <line x1="35" x2="580" y1="275.00" y2="275.00"></line><line x1="35" x2="580" y1="186.67" y2="186.67"></line><line x1="35" x2="580" y1="98.33" y2="98.33"></line><line x1="35" x2="580" y1="10.00" y2="10.00"></line>                <line x1="35.00" x2="35.00" y1="10" y2="275"></line><line x1="69.06" x2="69.06" y1="10" y2="275"></line><line x1="103.13" x2="103.13" y1="10" y2="275"></line><line x1="137.19" x2="137.19" y1="10" y2="275"></line><line x1="171.25" x2="171.25" y1="10" y2="275"></line><line x1="205.31" x2="205.31" y1="10" y2="275"></line><line x1="239.38" x2="239.38" y1="10" y2="275"></line><line x1="273.44" x2="273.44" y1="10" y2="275"></line><line x1="307.50" x2="307.50" y1="10" y2="275"></line><line x1="341.56" x2="341.56" y1="10" y2="275"></line><line x1="375.63" x2="375.63" y1="10" y2="275"></line><line x1="409.69" x2="409.69" y1="10" y2="275"></line><line x1="443.75" x2="443.75" y1="10" y2="275"></line><line x1="477.81" x2="477.81" y1="10" y2="275"></line><line x1="511.88" x2="511.88" y1="10" y2="275"></line><line x1="545.94" x2="545.94" y1="10" y2="275"></line>            </g>            <g class="riv-axes">                <line x1="35" x2="35" y1="10" y2="275" stroke="#D1D5DB"></line>                <line x1="35" x2="580" y1="275" y2="275" stroke="#D1D5DB"></line>                <text x="27" y="275.00" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">0</text><text x="27" y="186.67" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">500</text><text x="27" y="98.33" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">1000</text><text x="27" y="10.00" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">1500</text>                <text x="35.00" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">0W</text><text x="69.06" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">2W</text><text x="103.13" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">4W</text><text x="137.19" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">6W</text><text x="171.25" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">8W</text><text x="205.31" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">10W</text><text x="239.38" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">12W</text><text x="273.44" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">14W</text><text x="307.50" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">16W</text><text x="341.56" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">18W</text><text x="375.63" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">20W</text><text x="409.69" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">22W</text><text x="443.75" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">24W</text><text x="477.81" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">26W</text><text x="511.88" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">28W</text><text x="545.94" y="290" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">30W</text>            </g>            <path class="riv-line-path" d="M 52.03,151.33 L 69.06,151.33 L 86.09,151.33 L 103.13,152.22 L 120.16,156.63 L 137.19,156.63 L 154.22,160.17 L 171.25,160.17 L 188.28,160.17 L 205.31,169.00 L 222.34,169.00 L 239.38,169.00 L 256.41,169.00 L 273.44,169.00 L 290.47,169.00 L 307.50,165.47 L 324.53,158.40 L 341.56,151.33 L 358.59,147.80 L 375.63,147.80 L 392.66,146.03 L 409.69,146.03 L 426.72,146.03 L 443.75,146.03 L 460.78,146.03 L 477.81,146.03 L 494.84,146.03 L 511.88,147.80 L 528.91,149.57 L 545.94,149.57 L 562.97,156.63" data-product="AMD RX 9070 XT" fill="none" stroke="#E33235" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"></path><path class="riv-line-path" d="M 52.03,137.20 L 69.06,142.50 L 86.09,142.50 L 103.13,142.50 L 120.16,142.68 L 137.19,142.68 L 154.22,142.50 L 171.25,142.68 L 188.28,142.50 L 205.31,146.03 L 222.34,151.51 L 239.38,146.03 L 256.41,142.50 L 273.44,142.50 L 290.47,142.68 L 307.50,142.50 L 324.53,142.50 L 341.56,128.54 L 358.59,116.18 L 375.63,98.33 L 392.66,107.17 L 409.69,107.17 L 426.72,107.17 L 443.75,107.17 L 460.78,107.17 L 477.81,107.17 L 494.84,107.17 L 511.88,116.00 L 528.91,100.10 L 545.94,100.10 L 562.97,100.10" data-product="Nvidia RTX 5070 Ti" fill="none" stroke="#FE9F58" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>            <circle class="riv-dot" data-product="AMD RX 9070 XT" cx="52.03" cy="151.33" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="69.06" cy="151.33" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="86.09" cy="151.33" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="103.13" cy="152.22" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="120.16" cy="156.63" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="137.19" cy="156.63" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="154.22" cy="160.17" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="171.25" cy="160.17" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="188.28" cy="160.17" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="205.31" cy="169.00" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="222.34" cy="169.00" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="239.38" cy="169.00" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="256.41" cy="169.00" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="273.44" cy="169.00" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="290.47" cy="169.00" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="307.50" cy="165.47" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="324.53" cy="158.40" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="341.56" cy="151.33" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="358.59" cy="147.80" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="375.63" cy="147.80" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="392.66" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="409.69" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="426.72" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="443.75" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="460.78" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="477.81" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="494.84" cy="146.03" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="511.88" cy="147.80" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="528.91" cy="149.57" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="545.94" cy="149.57" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="562.97" cy="156.63" r="3" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="52.03" cy="137.20" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="69.06" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="86.09" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="103.13" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="120.16" cy="142.68" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="137.19" cy="142.68" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="154.22" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="171.25" cy="142.68" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="188.28" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="205.31" cy="146.03" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="222.34" cy="151.51" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="239.38" cy="146.03" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="256.41" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="273.44" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="290.47" cy="142.68" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="307.50" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="324.53" cy="142.50" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="341.56" cy="128.54" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="358.59" cy="116.18" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="375.63" cy="98.33" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="392.66" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="409.69" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="426.72" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="443.75" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="460.78" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="477.81" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="494.84" cy="107.17" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="511.88" cy="116.00" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="528.91" cy="100.10" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="545.94" cy="100.10" r="3" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="562.97" cy="100.10" r="3" fill="#FE9F58" style="opacity:0;"></circle>                    </svg>            <svg class="riv-line-chart-svg-mobile" fill="none" viewbox="0 0 600 400" width="100%" height="auto" aria-hidden="true">            <g class="riv-grid">                <line x1="30" x2="590" y1="375.00" y2="375.00"></line><line x1="30" x2="590" y1="253.33" y2="253.33"></line><line x1="30" x2="590" y1="131.67" y2="131.67"></line><line x1="30" x2="590" y1="10.00" y2="10.00"></line>                <line x1="30.00" x2="30.00" y1="10" y2="375"></line><line x1="65.00" x2="65.00" y1="10" y2="375"></line><line x1="100.00" x2="100.00" y1="10" y2="375"></line><line x1="135.00" x2="135.00" y1="10" y2="375"></line><line x1="170.00" x2="170.00" y1="10" y2="375"></line><line x1="205.00" x2="205.00" y1="10" y2="375"></line><line x1="240.00" x2="240.00" y1="10" y2="375"></line><line x1="275.00" x2="275.00" y1="10" y2="375"></line><line x1="310.00" x2="310.00" y1="10" y2="375"></line><line x1="345.00" x2="345.00" y1="10" y2="375"></line><line x1="380.00" x2="380.00" y1="10" y2="375"></line><line x1="415.00" x2="415.00" y1="10" y2="375"></line><line x1="450.00" x2="450.00" y1="10" y2="375"></line><line x1="485.00" x2="485.00" y1="10" y2="375"></line><line x1="520.00" x2="520.00" y1="10" y2="375"></line><line x1="555.00" x2="555.00" y1="10" y2="375"></line>            </g>            <g class="riv-axes">                <line x1="30" x2="30" y1="10" y2="375" stroke="#D1D5DB"></line>                <line x1="30" x2="590" y1="375" y2="375" stroke="#D1D5DB"></line>                <text x="22" y="375.00" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">0</text><text x="22" y="253.33" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">500</text><text x="22" y="131.67" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">1000</text><text x="22" y="10.00" dy="0.32em" text-anchor="end" style="font-size: 12px; font-weight: normal;" fill="#374151">1500</text>                <text x="30.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">0W</text><text x="65.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">2W</text><text x="100.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">4W</text><text x="135.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">6W</text><text x="170.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">8W</text><text x="205.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">10W</text><text x="240.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">12W</text><text x="275.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">14W</text><text x="310.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">16W</text><text x="345.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">18W</text><text x="380.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">20W</text><text x="415.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">22W</text><text x="450.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">24W</text><text x="485.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">26W</text><text x="520.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">28W</text><text x="555.00" y="390" text-anchor="middle" style="font-size: 12px; font-weight: normal;" fill="#374151">30W</text>            </g>            <path class="riv-line-path" d="M 47.50,204.67 L 65.00,204.67 L 82.50,204.67 L 100.00,205.88 L 117.50,211.97 L 135.00,211.97 L 152.50,216.83 L 170.00,216.83 L 187.50,216.83 L 205.00,229.00 L 222.50,229.00 L 240.00,229.00 L 257.50,229.00 L 275.00,229.00 L 292.50,229.00 L 310.00,224.13 L 327.50,214.40 L 345.00,204.67 L 362.50,199.80 L 380.00,199.80 L 397.50,197.37 L 415.00,197.37 L 432.50,197.37 L 450.00,197.37 L 467.50,197.37 L 485.00,197.37 L 502.50,197.37 L 520.00,199.80 L 537.50,202.23 L 555.00,202.23 L 572.50,211.97" data-product="AMD RX 9070 XT" fill="none" stroke="#E33235" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"></path><path class="riv-line-path" d="M 47.50,185.20 L 65.00,192.50 L 82.50,192.50 L 100.00,192.50 L 117.50,192.74 L 135.00,192.74 L 152.50,192.50 L 170.00,192.74 L 187.50,192.50 L 205.00,197.37 L 222.50,204.91 L 240.00,197.37 L 257.50,192.50 L 275.00,192.50 L 292.50,192.74 L 310.00,192.50 L 327.50,192.50 L 345.00,173.28 L 362.50,156.24 L 380.00,131.67 L 397.50,143.83 L 415.00,143.83 L 432.50,143.83 L 450.00,143.83 L 467.50,143.83 L 485.00,143.83 L 502.50,143.83 L 520.00,156.00 L 537.50,134.10 L 555.00,134.10 L 572.50,134.10" data-product="Nvidia RTX 5070 Ti" fill="none" stroke="#FE9F58" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>            <circle class="riv-dot" data-product="AMD RX 9070 XT" cx="47.50" cy="204.67" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="65.00" cy="204.67" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="82.50" cy="204.67" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="100.00" cy="205.88" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="117.50" cy="211.97" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="135.00" cy="211.97" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="152.50" cy="216.83" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="170.00" cy="216.83" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="187.50" cy="216.83" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="205.00" cy="229.00" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="222.50" cy="229.00" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="240.00" cy="229.00" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="257.50" cy="229.00" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="275.00" cy="229.00" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="292.50" cy="229.00" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="310.00" cy="224.13" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="327.50" cy="214.40" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="345.00" cy="204.67" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="362.50" cy="199.80" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="380.00" cy="199.80" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="397.50" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="415.00" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="432.50" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="450.00" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="467.50" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="485.00" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="502.50" cy="197.37" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="520.00" cy="199.80" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="537.50" cy="202.23" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="555.00" cy="202.23" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="AMD RX 9070 XT" cx="572.50" cy="211.97" r="2" fill="#E33235" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="47.50" cy="185.20" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="65.00" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="82.50" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="100.00" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="117.50" cy="192.74" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="135.00" cy="192.74" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="152.50" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="170.00" cy="192.74" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="187.50" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="205.00" cy="197.37" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="222.50" cy="204.91" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="240.00" cy="197.37" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="257.50" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="275.00" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="292.50" cy="192.74" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="310.00" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="327.50" cy="192.50" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="345.00" cy="173.28" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="362.50" cy="156.24" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="380.00" cy="131.67" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="397.50" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="415.00" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="432.50" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="450.00" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="467.50" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="485.00" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="502.50" cy="143.83" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="520.00" cy="156.00" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="537.50" cy="134.10" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="555.00" cy="134.10" r="2" fill="#FE9F58" style="opacity:0;"></circle><circle class="riv-dot" data-product="Nvidia RTX 5070 Ti" cx="572.50" cy="134.10" r="2" fill="#FE9F58" style="opacity:0;"></circle>                    </svg>            <div class="fv-x-axis-title">Time (Week)</div>                    <div class="riv-line-legend" data-chart="fv-chart-1777038481046-bnt0wyaut-line-Lowest pricing">                            <button class="riv-legend-item fv-primary-product" data-product="AMD RX 9070 XT">                    <span class="riv-legend-marker" style="background-color: #E33235;"></span>                    AMD RX 9070 XT                </button>                            <button class="riv-legend-item " data-product="Nvidia RTX 5070 Ti">                    <span class="riv-legend-marker" style="background-color: #FE9F58;"></span>                    Nvidia RTX 5070 Ti                </button>                    </div>                        <table class="sr-only">            <caption>Lowest pricing Data</caption>            <thead><tr><th>Timestamp (Week)</th><th>AMD RX 9070 XT (Price ($))</th><th>Nvidia RTX 5070 Ti (Price ($))</th></tr></thead>            <tbody>                <tr><td>1</td><td>700</td><td>780</td></tr><tr><td>2</td><td>700</td><td>750</td></tr><tr><td>3</td><td>700</td><td>750</td></tr><tr><td>4</td><td>695</td><td>750</td></tr><tr><td>5</td><td>670</td><td>749</td></tr><tr><td>6</td><td>670</td><td>749</td></tr><tr><td>7</td><td>650</td><td>750</td></tr><tr><td>8</td><td>650</td><td>749</td></tr><tr><td>9</td><td>650</td><td>750</td></tr><tr><td>10</td><td>600</td><td>730</td></tr><tr><td>11</td><td>600</td><td>699</td></tr><tr><td>12</td><td>600</td><td>730</td></tr><tr><td>13</td><td>600</td><td>750</td></tr><tr><td>14</td><td>600</td><td>750</td></tr><tr><td>15</td><td>600</td><td>749</td></tr><tr><td>16</td><td>620</td><td>750</td></tr><tr><td>17</td><td>660</td><td>750</td></tr><tr><td>18</td><td>700</td><td>829</td></tr><tr><td>19</td><td>720</td><td>899</td></tr><tr><td>20</td><td>720</td><td>1000</td></tr><tr><td>21</td><td>730</td><td>950</td></tr><tr><td>22</td><td>730</td><td>950</td></tr><tr><td>23</td><td>730</td><td>950</td></tr><tr><td>24</td><td>730</td><td>950</td></tr><tr><td>25</td><td>730</td><td>950</td></tr><tr><td>26</td><td>730</td><td>950</td></tr><tr><td>27</td><td>730</td><td>950</td></tr><tr><td>28</td><td>720</td><td>900</td></tr><tr><td>29</td><td>710</td><td>990</td></tr><tr><td>30</td><td>710</td><td>990</td></tr><tr><td>31</td><td>670</td><td>990</td></tr>            </tbody>        </table>            <script type="application/json" class="riv-line-chart-data">{"products":[{"name":"AMD RX 9070 XT","displayName":"AMD RX 9070 XT","color":"#E33235"},{"name":"Nvidia RTX 5070 Ti","displayName":"Nvidia RTX 5070 Ti","color":"#FE9F58"}],"timestampUnit":"Week","unit":"Price $","xAxisLabel":"Time (Week)","xAxisTickIncrement":2,"data":[{"timestamp":1,"productName":"AMD RX 9070 XT","value":700},{"timestamp":1,"productName":"Nvidia RTX 5070 Ti","value":780},{"timestamp":2,"productName":"AMD RX 9070 XT","value":700},{"timestamp":2,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":3,"productName":"AMD RX 9070 XT","value":700},{"timestamp":3,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":4,"productName":"AMD RX 9070 XT","value":695},{"timestamp":4,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":5,"productName":"AMD RX 9070 XT","value":670},{"timestamp":5,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":6,"productName":"AMD RX 9070 XT","value":670},{"timestamp":6,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":7,"productName":"AMD RX 9070 XT","value":650},{"timestamp":7,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":8,"productName":"AMD RX 9070 XT","value":650},{"timestamp":8,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":9,"productName":"AMD RX 9070 XT","value":650},{"timestamp":9,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":10,"productName":"AMD RX 9070 XT","value":600},{"timestamp":10,"productName":"Nvidia RTX 5070 Ti","value":730},{"timestamp":11,"productName":"AMD RX 9070 XT","value":600},{"timestamp":11,"productName":"Nvidia RTX 5070 Ti","value":699},{"timestamp":12,"productName":"AMD RX 9070 XT","value":600},{"timestamp":12,"productName":"Nvidia RTX 5070 Ti","value":730},{"timestamp":13,"productName":"AMD RX 9070 XT","value":600},{"timestamp":13,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":14,"productName":"AMD RX 9070 XT","value":600},{"timestamp":14,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":15,"productName":"AMD RX 9070 XT","value":600},{"timestamp":15,"productName":"Nvidia RTX 5070 Ti","value":749},{"timestamp":16,"productName":"AMD RX 9070 XT","value":620},{"timestamp":16,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":17,"productName":"AMD RX 9070 XT","value":660},{"timestamp":17,"productName":"Nvidia RTX 5070 Ti","value":750},{"timestamp":18,"productName":"AMD RX 9070 XT","value":700},{"timestamp":18,"productName":"Nvidia RTX 5070 Ti","value":829},{"timestamp":19,"productName":"AMD RX 9070 XT","value":720},{"timestamp":19,"productName":"Nvidia RTX 5070 Ti","value":899},{"timestamp":20,"productName":"AMD RX 9070 XT","value":720},{"timestamp":20,"productName":"Nvidia RTX 5070 Ti","value":1000},{"timestamp":21,"productName":"AMD RX 9070 XT","value":730},{"timestamp":21,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":22,"productName":"AMD RX 9070 XT","value":730},{"timestamp":22,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":23,"productName":"AMD RX 9070 XT","value":730},{"timestamp":23,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":24,"productName":"AMD RX 9070 XT","value":730},{"timestamp":24,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":25,"productName":"AMD RX 9070 XT","value":730},{"timestamp":25,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":26,"productName":"AMD RX 9070 XT","value":730},{"timestamp":26,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":27,"productName":"AMD RX 9070 XT","value":730},{"timestamp":27,"productName":"Nvidia RTX 5070 Ti","value":950},{"timestamp":28,"productName":"AMD RX 9070 XT","value":720},{"timestamp":28,"productName":"Nvidia RTX 5070 Ti","value":900},{"timestamp":29,"productName":"AMD RX 9070 XT","value":710},{"timestamp":29,"productName":"Nvidia RTX 5070 Ti","value":990},{"timestamp":30,"productName":"AMD RX 9070 XT","value":710},{"timestamp":30,"productName":"Nvidia RTX 5070 Ti","value":990},{"timestamp":31,"productName":"AMD RX 9070 XT","value":670},{"timestamp":31,"productName":"Nvidia RTX 5070 Ti","value":990}],"xMin":0,"xMax":32,"yMin":0,"yMax":1500}</script>        </div>    </div></div></div>                              <div class="fv-bottom-bar" style="display: flex">                    <div class="fv-footer-content" style="display: block;">                <div class="rv-chart-caption">We've been tracking GPU minimum pricing since August 14, 2025</div>            </div>        <img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/bkwSqn4ocKYaQwBeFt2HHb.png" alt="PC Gamer Logo">      </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() {      // Global animation function for slideshow re-use      window.fvAnimateCharts = function(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                // Reset to 0 first to ensure animation triggers                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                // Force reflow                void bar.offsetWidth;                                 setTimeout(function() {                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out', 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                }, index * 50 + 50); // Reduced initial delay            });          }          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);              });            }            // Execute            var charts = chartWrapper.querySelectorAll('.fv-chart-item');                        charts.forEach(function(chart) {                // If in carousel/dropdown mode, hidden charts are display:none.                // We only animate what is visible.                if (window.getComputedStyle(chart).display === 'none') return;                                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                }            });      };            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);                // In slideshow mode, 'root' will be null because the container has '-slideshow' suffix.        // We handle that logic below.        if (!root && !isSlideshow) return;                // Setup internal interactions (Carousel/Dropdown/LineChart) for a specific chart wrapper        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) {                    // Fallback for when width isn't available yet (e.g., hidden tab)                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    // Mobile if container is small OR if it's a physical mobile device (overriding fixed-width iframes)                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        // Initial check            checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        // Always add window resize listener as a reliable fallback for DevTools and edge cases            window.addEventListener('resize', checkMobileView);                        // Labels on top handler            var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                // If there are multiple charts and we're not in a carousel/dropdown, we might have mixed types.                // But typically, labels-on-top is a global setting. We'll apply it initially,                 // and showInternalChart will toggle it if needed.                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 === '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 leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');                        var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');                                                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);            });            // 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');                        // Text Elements            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 === 'Line') {                                 // Line chart animations if needed                             } else if (cType !== 'Pie') {                                 window.fvAnimateCharts(chartWrapper);                             }                                                          // Update labels-on-top based on current chart type                             var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === '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;                                        // Update Subhead and Caption                    var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) captionEl.textContent = newCaption || '';                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0) {                                 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;                // Zoom state                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();                    // Max pan depends on how much the image is scaled beyond the wrapper                    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; // Prevent click after pinch                    } 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 });                }                // Expand/Close Logic                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.preventDefault(); // Removed to allow text selection                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        // Load high-res images if available                            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.preventDefault(); // Removed to allow text selection                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                // Close on Escape                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 allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        // Remove highlights                    var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    // Remove min-height after transition                    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');                        // Ensure container is tall enough                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                // Highlight and scroll to item                        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();                        }                    }                });            });            // Shop All button            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    // Ensure container is tall enough                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            // Close button in all products modal            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            // Close modals when clicking outside            chartWrapper.addEventListener('click', function(e) {                // Only close if clicking on the wrapper or container, not inside a modal content                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();                    }                });            }            // Initial Animation            window.fvAnimateCharts(chartWrapper);        }        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-1777038481046-bnt0wyaut', false); });      } else {        initialize('fv-chart-1777038481046-bnt0wyaut', false);      }    })();      </script></div><p>For that price, I'd say 'Oh, hell yeah.' As Dave explains in his review, the RX 9070 XT "represents the sort of generational improvement we've been craving; actual rendering performance dropping down a full GPU tier, and not just being propped up by (admittedly very effective) frame generation trickery. Compared with the similarly priced <a href="https://www.pcgamer.com/hardware/graphics-cards/nvidia-rtx-5070-founders-edition-review/" target="_blank">RTX 5070</a>, you're looking at a card that is over 20% faster on average."</p><iframe allow="" height="700px" width="100%" id="" style="" data-lazy-priority="low" data-lazy-src="https://flo.uri.sh/story/2950225/embed"></iframe><p>All of that grunt is why the AMD Radeon RX 9070 XT currently holds the crown of 'Best mid-range graphics card' in our <a href="https://www.pcgamer.com/the-best-graphics-cards" target="_blank">best graphics cards guide</a>. Tinkerers keen to play with their RDNA 4 GPU can end up with an even greater performance boost just by undervolting this bad boy. Undervolting RX 9070 XT frees up some of the card's thermal headroom, ushering in higher clock speeds and more frames along with them.</p><p>The performance boost from undervolting is just as well, as otherwise the AMD Radeon RX 9070 XT is pretty power-hungry, with a TGP of about 304 Watts. That's ever so slightly more than team green's RTX 5070 Ti 300W TGP, but in terms of overall power efficiency Nvidia's offering still has this AMD card beat.</p><iframe allow="" height="700px" width="100%" id="" style="" data-lazy-priority="low" data-lazy-src="https://flo.uri.sh/story/2950231/embed"></iframe><p>While we're discussing such practical things, it's also important to note that size matters and the Radeon RX 9070 XT is definitely a chunky card. It's chiefly the length of this graphics card that makes it an awkward beast to seat, but generally I wouldn't recommend picking this GPU up if you have your heart set on a small form factor gaming rig. Size aside, I hope I've convinced you there's nothing subtle about this graphics card from a price or performance perspective either.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The best budget 4K gaming monitor is now only $299, but there's another dual-mode monitor trying to steal the show ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="product"><a data-dimension112="36ac34e5-1d6b-4e5f-8b62-a3023b3999a0" data-action="Deal Block" data-label="UltraGear 32GX850A-B" data-dimension48="UltraGear 32GX850A-B" data-dimension25="$749.99" href="https://www.amazon.com/LG-32GX850A-B-UltraGear-Dual-Mode-TrueBlack/dp/B0FLQLPNNH/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ugguVuKUxjjJqYhztDyBVW" name="LGOLED (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ugguVuKUxjjJqYhztDyBVW-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/LG-32GX850A-B-UltraGear-Dual-Mode-TrueBlack/dp/B0FLQLPNNH/" target="_blank" rel="nofollow" data-dimension112="36ac34e5-1d6b-4e5f-8b62-a3023b3999a0" data-action="Deal Block" data-label="UltraGear 32GX850A-B" data-dimension48="UltraGear 32GX850A-B" data-dimension25="$749.99">UltraGear 32GX850A-B: was $1299.99 now $749.99</a></strong><br>Dual-mode monitors usually come with a price premium, but this one's a good deal even if you never use the feature. It's a 32-inch 4K OLED from a company that knows a thing or two about making excellent panels—and with this much chopped off the price, it's worth some serious consideration no matter which way you look at it.</p><p><strong>Key specs:</strong> <strong>32-inch | 4K/1080p dual-mode | 165 Hz/330 Hz | 0.03 ms | OLED</strong></p></div><div class="product"><a data-dimension112="07564d5a-7ff5-4a74-a345-756159c1a262" data-action="Deal Block" data-label="XG27UCG" data-dimension48="XG27UCG" data-dimension25="$299" href="https://www.amazon.com/dp/B0CZWJG5GZ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:620px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="opRqcVDAZfw6duwgqToGi3" name="asus-rog-strix-xg27ucg-gaming-monitor" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/opRqcVDAZfw6duwgqToGi3-1920-80.jpg" mos="" align="middle" fullscreen="" width="620" height="620" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0CZWJG5GZ" target="_blank" rel="nofollow" data-dimension112="07564d5a-7ff5-4a74-a345-756159c1a262" data-action="Deal Block" data-label="XG27UCG" data-dimension48="XG27UCG" data-dimension25="$299">XG27UCG: was $449 now $299</a></strong><br>If you're an esports fiend on budget, this is the monitor to take the main stage. You can't go too wrong with a speedy 320 Hz refresh rate, plus the option of 4K resolution should you be looking for a single-player palate cleanser between competitive matches.</p><p><strong>Key specs: 27-inch | 4K/1080p dual-mode | 160 Hz/320Hz | 1 ms | IPS</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0CZWJG5GZ" target="_blank" rel="nofollow" data-dimension112="07564d5a-7ff5-4a74-a345-756159c1a262" data-action="Deal Block" data-label="XG27UCG" data-dimension48="XG27UCG" data-dimension25="$299">View Deal</a></p></div><p>Many folks will get on perfectly well with just one monitor. However, if you're a PC gamer whose galaxy brain simply can't be contained by a single screen, have I got some deals for you.</p><p>First up, if you'll bear with the sense of deja vu for just a moment, is the LG UltraGear 32GX850A-B. Yes, our Andy did write <a href="https://www.pcgamer.com/hardware/gaming-monitors/forget-the-dual-mode-i-want-this-32-inch-4k-oled-gaming-monitor-with-a-mega-discount-because-it-looks-absolutely-lush/" target="_blank">a different deal post about this 32-inch 4K OLED earlier in the week</a>, but it's only gone and come down in price since then. Now you can <a href="https://www.amazon.com/LG-32GX850A-B-UltraGear-Dual-Mode-TrueBlack/dp/B0FLQLPNNH" target="_blank">get this lovely dual-mode gaming monitor for only $750 from Amazon</a>.</p><p>As for my second deal of the day, make some noise for the 27-inch Asus ROG Strix XG27UCG. If you're on a budget, this could take centre-stage as <a href="https://www.amazon.com/dp/B0CZWJG5GZ" target="_blank">your primary gaming panel for only $299 from Amazon</a>. Our Jeremy previously rated this more affordable option in his <a href="https://www.pcgamer.com/hardware/gaming-monitors/asus-rog-strix-xg27ucg-gaming-monitor-review/" target="_blank">Asus ROG Strix XG27UCG gaming monitor review</a>, effectively crowning it as our pick for the <a href="https://www.pcgamer.com/best-gaming-monitor/" target="_blank">best budget 4K</a> gaming monitor.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>If you have the funds for both of the above, I can only imagine how powerful your dual screen setup will be. But if I'm being completely honest, the Asus ROG Strix XG27UCG is kind of overkill if you're just using it for second screen viewing or document spelunking.</p><p>Sure, you make a saving on this 4K monitor as it's an IPS panel, and not an OLED. But it's also a dual-mode monitor that can swap into a lower resolution, higher refresh mode; in other words, you're getting both a 4K, 160 Hz monitor <em>and </em>a 1080p, 320 Hz monitor in one for under $300.</p><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="ubQuCSNRpVqHejVcvMVhff" name="Asus ROG Strix XG27UCG 00007" alt="Asus ROG Strix XG27UCG" src="https://cdn.mos.cms.futurecdn.net/ubQuCSNRpVqHejVcvMVhff-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>Throwing it back over to the LG 32GX850A-B, this OLED with a typical brightness of 275 nits features dual-modes as well. For $750, you get 4K at 165Hz, and 1080p at an even speedier 330Hz. Given that a recent poll revealed that <a href="https://www.pcgamer.com/hardware/gaming-monitors/of-course-1440p-is-your-favorite-gaming-res-but-im-kinda-stunned-there-are-as-many-4k-gamers-as-1080p-ones-in-pc-gamers-ranks/" target="_blank">there are as many 4K gamers as 1080p ones among PC Gamer's ranks</a>, this is arguably the best of both worlds.</p><p>That said, while this <em>is</em> a great deal on an OLED monitor, you'll need a decent GPU to get the most out of it in 4K. It's definitely worth checking our <a href="https://www.pcgamer.com/hardware/graphics-cards/graphics-card-price-watch-deals/" target="_blank">best GPU deals</a> guide for bargains, but the <a href="https://www.pcgamer.com/the-best-graphics-cards/" target="_blank">best graphics cards</a> often come at a premium. In other words, while you may be saving a buck on the monitor, committing to the high resolution, high-ish refresh rate gaming lifestyle might cost you in the end.</p><h2 id="check-out-all-of-amazon-s-gaming-monitor-deals-here-2">👉<a href="https://www.amazon.com/s?k=gaming+monitor" target="_blank">Check out all of Amazon's gaming monitor deals here</a>👈</h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/gaming-monitors/the-best-budget-4k-gaming-monitor-is-now-only-usd299-but-theres-an-oled-trying-to-steal-its-deal-spotlight/</link>
                                                                            <description>
                            <![CDATA[ Two dual-mode gaming monitors, somewhat alike in dignity. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">dvsciVFLVSwq6hxfyCSwoK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Vgn5Amx8SvWxFFZDRWeAGP-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 17 Apr 2026 13:34:17 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming Monitors]]></category>
                                                    <category><![CDATA[Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jess Kinghorn ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she&#039;s either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.&amp;nbsp;&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/Vgn5Amx8SvWxFFZDRWeAGP-1920-80.jpg">
                                                            <media:credit><![CDATA[Asus ROG, LG]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The ASUS ROG Strix XG27UCG and the LG 32GX850A-B gaming monitors float in the funky PC G deal void.]]></media:description>                                                            <media:text><![CDATA[The ASUS ROG Strix XG27UCG and the LG 32GX850A-B gaming monitors float in the funky PC G deal void.]]></media:text>
                                <media:title type="plain"><![CDATA[The ASUS ROG Strix XG27UCG and the LG 32GX850A-B gaming monitors float in the funky PC G deal void.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Vgn5Amx8SvWxFFZDRWeAGP-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="product"><a data-dimension112="36ac34e5-1d6b-4e5f-8b62-a3023b3999a0" data-action="Deal Block" data-label="UltraGear 32GX850A-B" data-dimension48="UltraGear 32GX850A-B" data-dimension25="$749.99" href="https://www.amazon.com/LG-32GX850A-B-UltraGear-Dual-Mode-TrueBlack/dp/B0FLQLPNNH/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ugguVuKUxjjJqYhztDyBVW" name="LGOLED (1)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ugguVuKUxjjJqYhztDyBVW-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/LG-32GX850A-B-UltraGear-Dual-Mode-TrueBlack/dp/B0FLQLPNNH/" target="_blank" rel="nofollow" data-dimension112="36ac34e5-1d6b-4e5f-8b62-a3023b3999a0" data-action="Deal Block" data-label="UltraGear 32GX850A-B" data-dimension48="UltraGear 32GX850A-B" data-dimension25="$749.99">UltraGear 32GX850A-B: was $1299.99 now $749.99</a></strong><br>Dual-mode monitors usually come with a price premium, but this one's a good deal even if you never use the feature. It's a 32-inch 4K OLED from a company that knows a thing or two about making excellent panels—and with this much chopped off the price, it's worth some serious consideration no matter which way you look at it.</p><p><strong>Key specs:</strong> <strong>32-inch | 4K/1080p dual-mode | 165 Hz/330 Hz | 0.03 ms | OLED</strong></p></div><div class="product"><a data-dimension112="07564d5a-7ff5-4a74-a345-756159c1a262" data-action="Deal Block" data-label="XG27UCG" data-dimension48="XG27UCG" data-dimension25="$299" href="https://www.amazon.com/dp/B0CZWJG5GZ" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:620px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="opRqcVDAZfw6duwgqToGi3" name="asus-rog-strix-xg27ucg-gaming-monitor" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/opRqcVDAZfw6duwgqToGi3-1920-80.jpg" mos="" align="middle" fullscreen="" width="620" height="620" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0CZWJG5GZ" target="_blank" rel="nofollow" data-dimension112="07564d5a-7ff5-4a74-a345-756159c1a262" data-action="Deal Block" data-label="XG27UCG" data-dimension48="XG27UCG" data-dimension25="$299">XG27UCG: was $449 now $299</a></strong><br>If you're an esports fiend on budget, this is the monitor to take the main stage. You can't go too wrong with a speedy 320 Hz refresh rate, plus the option of 4K resolution should you be looking for a single-player palate cleanser between competitive matches.</p><p><strong>Key specs: 27-inch | 4K/1080p dual-mode | 160 Hz/320Hz | 1 ms | IPS</strong><a class="view-deal button" href="https://www.amazon.com/dp/B0CZWJG5GZ" target="_blank" rel="nofollow" data-dimension112="07564d5a-7ff5-4a74-a345-756159c1a262" data-action="Deal Block" data-label="XG27UCG" data-dimension48="XG27UCG" data-dimension25="$299">View Deal</a></p></div><p>Many folks will get on perfectly well with just one monitor. However, if you're a PC gamer whose galaxy brain simply can't be contained by a single screen, have I got some deals for you.</p><p>First up, if you'll bear with the sense of deja vu for just a moment, is the LG UltraGear 32GX850A-B. Yes, our Andy did write <a href="https://www.pcgamer.com/hardware/gaming-monitors/forget-the-dual-mode-i-want-this-32-inch-4k-oled-gaming-monitor-with-a-mega-discount-because-it-looks-absolutely-lush/" target="_blank">a different deal post about this 32-inch 4K OLED earlier in the week</a>, but it's only gone and come down in price since then. Now you can <a href="https://www.amazon.com/LG-32GX850A-B-UltraGear-Dual-Mode-TrueBlack/dp/B0FLQLPNNH" target="_blank">get this lovely dual-mode gaming monitor for only $750 from Amazon</a>.</p><p>As for my second deal of the day, make some noise for the 27-inch Asus ROG Strix XG27UCG. If you're on a budget, this could take centre-stage as <a href="https://www.amazon.com/dp/B0CZWJG5GZ" target="_blank">your primary gaming panel for only $299 from Amazon</a>. Our Jeremy previously rated this more affordable option in his <a href="https://www.pcgamer.com/hardware/gaming-monitors/asus-rog-strix-xg27ucg-gaming-monitor-review/" target="_blank">Asus ROG Strix XG27UCG gaming monitor review</a>, effectively crowning it as our pick for the <a href="https://www.pcgamer.com/best-gaming-monitor/" target="_blank">best budget 4K</a> gaming monitor.</p><ul><li><strong>Join us on </strong><a href="https://whatsapp.com/channel/0029VaZEGnpAu3aYJa8PuS2t" target="_blank"><strong>WhatsApp for daily deals</strong></a><strong>, direct to your phone.</strong></li></ul><p>If you have the funds for both of the above, I can only imagine how powerful your dual screen setup will be. But if I'm being completely honest, the Asus ROG Strix XG27UCG is kind of overkill if you're just using it for second screen viewing or document spelunking.</p><p>Sure, you make a saving on this 4K monitor as it's an IPS panel, and not an OLED. But it's also a dual-mode monitor that can swap into a lower resolution, higher refresh mode; in other words, you're getting both a 4K, 160 Hz monitor <em>and </em>a 1080p, 320 Hz monitor in one for under $300.</p><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="ubQuCSNRpVqHejVcvMVhff" name="Asus ROG Strix XG27UCG 00007" alt="Asus ROG Strix XG27UCG" src="https://cdn.mos.cms.futurecdn.net/ubQuCSNRpVqHejVcvMVhff-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>Throwing it back over to the LG 32GX850A-B, this OLED with a typical brightness of 275 nits features dual-modes as well. For $750, you get 4K at 165Hz, and 1080p at an even speedier 330Hz. Given that a recent poll revealed that <a href="https://www.pcgamer.com/hardware/gaming-monitors/of-course-1440p-is-your-favorite-gaming-res-but-im-kinda-stunned-there-are-as-many-4k-gamers-as-1080p-ones-in-pc-gamers-ranks/" target="_blank">there are as many 4K gamers as 1080p ones among PC Gamer's ranks</a>, this is arguably the best of both worlds.</p><p>That said, while this <em>is</em> a great deal on an OLED monitor, you'll need a decent GPU to get the most out of it in 4K. It's definitely worth checking our <a href="https://www.pcgamer.com/hardware/graphics-cards/graphics-card-price-watch-deals/" target="_blank">best GPU deals</a> guide for bargains, but the <a href="https://www.pcgamer.com/the-best-graphics-cards/" target="_blank">best graphics cards</a> often come at a premium. In other words, while you may be saving a buck on the monitor, committing to the high resolution, high-ish refresh rate gaming lifestyle might cost you in the end.</p><h2 id="check-out-all-of-amazon-s-gaming-monitor-deals-here-2">👉<a href="https://www.amazon.com/s?k=gaming+monitor" target="_blank">Check out all of Amazon's gaming monitor deals here</a>👈</h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ My 9 favorite Spring Sale deals so far ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.pcgamer.com/hardware/live/news/spring-sale-live-2026/" target="_blank">Amazon Spring Sale</a> isn't just about what Bezos and buds want to shift out of their warehouses, all the main PC gaming hardware retailers are getting in on the act, too. That means Best Buy and Newegg for the most part, as those are the retailers making up the triumvirate that makes it possible to get decent hardware at <em>almost</em> decent prices these days.</p><p>Well, relatively speaking anyways.</p><p>But sales events like this could be increasingly important throughout the year, especially as the RAMpocalypse shows no real sign of bringing prices back down off the ceiling for PC hardware any time soon. So, any opportunity to find some good gaming tech for a little discount is going to be worth sniffing out.</p>        <div class="featured_product_block featured_block_hero" data-id="39a3e73c-f406-40bc-b3fa-c3f50fb76994">            <a href="https://secretlab.co/products/titan-evo-2022-series" data-model-name="1. Secretlab Titan Evo 2022" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GAxsD5M4zFF3TfPrsGqSx6.jpg" alt="1. Secretlab Titan Evo 2022"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">1. Secretlab Titan Evo 2022</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The overall style might look a little dated now, but that's mostly down to competitors 'borrowing' Secretlab's classic design. It's the  you can buy, and we don't say such things lightly.<br><br></p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b77a6c9c-ad5c-4454-94bc-3dd608b81772">            <a href="https://nordvpn.com/special/?coupon=FUTR26" data-model-name="2. NordVPN" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/pg9H8QpRmqxhgKFsA5N5km.jpg" alt="2. NordVPN"><span class='featured__label hero__label'>Exclusive deal</span></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">2. NordVPN</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>For a limited time only, save up to 77% on a two-year subscription plan and get four months extra free, as well as an Amazon gift card on selected plans. You don't have to thank us, but you can if you want.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="5350d80e-1ed5-4962-a3f7-35a34cfe9d88">            <a href="https://www.newegg.com/abs-cyclone-aqua-gaming-desktop-geforce-rtx-5060-intel-core-5-120-32gb-2-x-16gb-ddr4-1tb-pcie-ssd-ca120f5060-black/p/N82E16883360908?Item=N82E16883360908" data-model-name="1. ABS Cyclone Aqua" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/p4RkQ2EkeVfdLWGfaNSaTg.jpg" alt="1. ABS Cyclone Aqua"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">1. ABS Cyclone Aqua</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>I think this is a great deal for a pretty decent gaming PC. Some compromises have been made, for sure, but the headline stats here are you're getting a six-core, 12-thread Raptor Lake CPU, an RTX 5060 GPU, 32 GB of DDR4 RAM, and a 1 TB SSD, all for just a shade over $850. </p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="92f4b2f1-0406-472b-8bcc-3ce594fc0ec1">            <a href="https://www.amazon.com/KTC-Displayport-Adjustment-Compatible-H27T22C-3/dp/B0F7PRGR2H" data-model-name="4. KTC H27T22C-3" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/6cipx4iT9RKxLmYqtBPum8.jpg" alt="4. KTC H27T22C-3"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">4. KTC H27T22C-3</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>This is our current pick as the best budget 1440p gaming monitor, and for good reason. It's got a punchy IPS panel, with a low response time and a 200 Hz refresh rate to boot. It's pretty bright, super cheap, and the sort of screen you'd have been paying $400 for not so long back.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="57a54756-39f2-4856-addf-581240259523">            <a href="https://www.amazon.com/msi-MAG-274QP-QD-OLED-X24/dp/B0G4P697M8" data-model-name="5. MSI MAG 274QP X24" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/MWkKbkmc4JNjrg26p2XACM.jpg" alt="5. MSI MAG 274QP X24"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">5. MSI MAG 274QP X24</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>MSI's 274P X24 might have a silly name but there's nothing silly about the rest of this gaming monitor. It's a big, luscious 240 Hz OLED feast for your eyes. And thanks to Jeff, it's a proper Bezos Bargain too. This deal is for Prime members only, though.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="5990a564-3627-4630-a472-f141a9540fc7">            <a href="https://www.newegg.com/acer-america-16-0-no-geforce-rtx-5070/p/2S3-0008-006T7" data-model-name="6. Acer Nitro V 16S AI | RTX 5070" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/xoBn732XTD5PDGETiudtRZ.jpg" alt="6. Acer Nitro V 16S AI | RTX 5070"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">6. Acer Nitro V 16S AI | RTX 5070</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>This is one of Acer's S-line Nitro laptops, which means it's slimmer (and better built) than you might expect for a budget gaming machine. The Nitro chassis designs have improved a lot in recent years, and this one's a good example of that. It's also pretty much the cheapest RTX 5070 gaming laptop you can find right now, from a major manufacturer.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="5fb178c8-689e-44a3-9e20-d86040067287">            <a href="https://www.newegg.com/msi-geforce-rtx-5070-12g-ventus-2x-oc-video-card/p/N82E16814137994?Item=N82E16814137994" data-model-name="7. MSI Ventus RTX 5070" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/Vf4NL3bdtKPXWRrBd4Lugd.jpg" alt="7. MSI Ventus RTX 5070"><span class='featured__label hero__label'>Free 750 W PSU</span></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">7. MSI Ventus RTX 5070</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>DLSS 4 just about tips the balance in favor of the RTX 5070 over the RTX 4070 Super, but it's a very hard sell at this price. Which is why bundling in a 750 W PSU just about sweetens the deal.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="ca7b4a08-d4f4-4c33-b5fa-a64e7a434dd2">            <a href="https://www.amazon.com/AMD-9800X3D-16-Thread-Desktop-Processor/dp/B0DKFMSMYK?th=1" data-model-name="8. AMD Ryzen 7 9800X3D" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/8NtfMPPRpbSTQ4a5wMAyhh.jpg" alt="8. AMD Ryzen 7 9800X3D"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">8. AMD Ryzen 7 9800X3D</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>This is , though it's also a very good all-round processor. If you need any other reason to buy one, you should know that this is as cheap as it's ever been right now.<br><br></p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="32b66422-b1fb-4f4d-bcb8-b1d2129a3ea8">            <a href="https://www.amazon.com/GK-GAMAKAY-NaughShark-NS68-Black-Shine/dp/B0F283CWTS/" data-model-name="9. Gamakay NaughShark NS68" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/2Za5hhwr6HRvfcFNw6KuC4.jpg" alt="9. Gamakay NaughShark NS68"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">9. Gamakay NaughShark NS68</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>It might have the most ludicrous name you've ever seen for a keyboard, but this is actually the  you can buy right now. It might look and feel a bit cheap, but it packs all the latest gaming tech inside.<br><br></p></p>                </div>                            </div>        </div><h2 id="check-out-all-the-amazon-spring-sale-deals-here"><a href="https://www.amazon.com/events/bigspringsale?ref_=nav_cs_bss_disco_2026_desk" target="_blank">Check out all the Amazon Spring Sale deals here</a></h2> ]]></dc:content>
                                                                                                                                            <link>https://www.pcgamer.com/hardware/my-9-favorite-spring-sale-deals-so-far/</link>
                                                                            <description>
                            <![CDATA[ I've been running my eyes over the Spring Sales for the past week, and these are my favorites right now. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7UgHStu66H6Mz8wf2hmsZD</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/yHDutuuFs677YuNy78Lbsk-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 30 Mar 2026 14:37:21 +0000</pubDate>                                                                                                                                <updated>Thu, 21 May 2026 12:04:11 +0000</updated>
                                                                                                                                            <category><![CDATA[Hardware]]></category>
                                                                                                <author><![CDATA[ dave.james@futurenet.com (Dave James) ]]></author>                    <dc:creator><![CDATA[ Dave James ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9-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/yHDutuuFs677YuNy78Lbsk-1920-80.jpg">
                                                            <media:credit><![CDATA[Secretlab | ABS | AMD | MSI]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A selection of products on sale in the Spring Sale.]]></media:description>                                                            <media:text><![CDATA[A selection of products on sale in the Spring Sale.]]></media:text>
                                <media:title type="plain"><![CDATA[A selection of products on sale in the Spring Sale.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/yHDutuuFs677YuNy78Lbsk-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.pcgamer.com/hardware/live/news/spring-sale-live-2026/" target="_blank">Amazon Spring Sale</a> isn't just about what Bezos and buds want to shift out of their warehouses, all the main PC gaming hardware retailers are getting in on the act, too. That means Best Buy and Newegg for the most part, as those are the retailers making up the triumvirate that makes it possible to get decent hardware at <em>almost</em> decent prices these days.</p><p>Well, relatively speaking anyways.</p><p>But sales events like this could be increasingly important throughout the year, especially as the RAMpocalypse shows no real sign of bringing prices back down off the ceiling for PC hardware any time soon. So, any opportunity to find some good gaming tech for a little discount is going to be worth sniffing out.</p>        <div class="featured_product_block featured_block_hero" data-id="39a3e73c-f406-40bc-b3fa-c3f50fb76994">            <a href="https://secretlab.co/products/titan-evo-2022-series" data-model-name="1. Secretlab Titan Evo 2022" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GAxsD5M4zFF3TfPrsGqSx6.jpg" alt="1. Secretlab Titan Evo 2022"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">1. Secretlab Titan Evo 2022</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The overall style might look a little dated now, but that's mostly down to competitors 'borrowing' Secretlab's classic design. It's the  you can buy, and we don't say such things lightly.<br><br></p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b77a6c9c-ad5c-4454-94bc-3dd608b81772">            <a href="https://nordvpn.com/special/?coupon=FUTR26" data-model-name="2. NordVPN" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/pg9H8QpRmqxhgKFsA5N5km.jpg" alt="2. NordVPN"><span class='featured__label hero__label'>Exclusive deal</span></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">2. NordVPN</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>For a limited time only, save up to 77% on a two-year subscription plan and get four months extra free, as well as an Amazon gift card on selected plans. You don't have to thank us, but you can if you want.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="5350d80e-1ed5-4962-a3f7-35a34cfe9d88">            <a href="https://www.newegg.com/abs-cyclone-aqua-gaming-desktop-geforce-rtx-5060-intel-core-5-120-32gb-2-x-16gb-ddr4-1tb-pcie-ssd-ca120f5060-black/p/N82E16883360908?Item=N82E16883360908" data-model-name="1. ABS Cyclone Aqua" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/p4RkQ2EkeVfdLWGfaNSaTg.jpg" alt="1. ABS Cyclone Aqua"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">1. ABS Cyclone Aqua</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>I think this is a great deal for a pretty decent gaming PC. Some compromises have been made, for sure, but the headline stats here are you're getting a six-core, 12-thread Raptor Lake CPU, an RTX 5060 GPU, 32 GB of DDR4 RAM, and a 1 TB SSD, all for just a shade over $850. </p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="92f4b2f1-0406-472b-8bcc-3ce594fc0ec1">            <a href="https://www.amazon.com/KTC-Displayport-Adjustment-Compatible-H27T22C-3/dp/B0F7PRGR2H" data-model-name="4. KTC H27T22C-3" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/6cipx4iT9RKxLmYqtBPum8.jpg" alt="4. KTC H27T22C-3"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">4. KTC H27T22C-3</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>This is our current pick as the best budget 1440p gaming monitor, and for good reason. It's got a punchy IPS panel, with a low response time and a 200 Hz refresh rate to boot. It's pretty bright, super cheap, and the sort of screen you'd have been paying $400 for not so long back.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="57a54756-39f2-4856-addf-581240259523">            <a href="https://www.amazon.com/msi-MAG-274QP-QD-OLED-X24/dp/B0G4P697M8" data-model-name="5. MSI MAG 274QP X24" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/MWkKbkmc4JNjrg26p2XACM.jpg" alt="5. MSI MAG 274QP X24"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">5. MSI MAG 274QP X24</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>MSI's 274P X24 might have a silly name but there's nothing silly about the rest of this gaming monitor. It's a big, luscious 240 Hz OLED feast for your eyes. And thanks to Jeff, it's a proper Bezos Bargain too. This deal is for Prime members only, though.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="5990a564-3627-4630-a472-f141a9540fc7">            <a href="https://www.newegg.com/acer-america-16-0-no-geforce-rtx-5070/p/2S3-0008-006T7" data-model-name="6. Acer Nitro V 16S AI | RTX 5070" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/xoBn732XTD5PDGETiudtRZ.jpg" alt="6. Acer Nitro V 16S AI | RTX 5070"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">6. Acer Nitro V 16S AI | RTX 5070</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>This is one of Acer's S-line Nitro laptops, which means it's slimmer (and better built) than you might expect for a budget gaming machine. The Nitro chassis designs have improved a lot in recent years, and this one's a good example of that. It's also pretty much the cheapest RTX 5070 gaming laptop you can find right now, from a major manufacturer.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="5fb178c8-689e-44a3-9e20-d86040067287">            <a href="https://www.newegg.com/msi-geforce-rtx-5070-12g-ventus-2x-oc-video-card/p/N82E16814137994?Item=N82E16814137994" data-model-name="7. MSI Ventus RTX 5070" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/Vf4NL3bdtKPXWRrBd4Lugd.jpg" alt="7. MSI Ventus RTX 5070"><span class='featured__label hero__label'>Free 750 W PSU</span></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">7. MSI Ventus RTX 5070</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>DLSS 4 just about tips the balance in favor of the RTX 5070 over the RTX 4070 Super, but it's a very hard sell at this price. Which is why bundling in a 750 W PSU just about sweetens the deal.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="ca7b4a08-d4f4-4c33-b5fa-a64e7a434dd2">            <a href="https://www.amazon.com/AMD-9800X3D-16-Thread-Desktop-Processor/dp/B0DKFMSMYK?th=1" data-model-name="8. AMD Ryzen 7 9800X3D" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/8NtfMPPRpbSTQ4a5wMAyhh.jpg" alt="8. AMD Ryzen 7 9800X3D"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">8. AMD Ryzen 7 9800X3D</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>This is , though it's also a very good all-round processor. If you need any other reason to buy one, you should know that this is as cheap as it's ever been right now.<br><br></p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="32b66422-b1fb-4f4d-bcb8-b1d2129a3ea8">            <a href="https://www.amazon.com/GK-GAMAKAY-NaughShark-NS68-Black-Shine/dp/B0F283CWTS/" data-model-name="9. Gamakay NaughShark NS68" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/2Za5hhwr6HRvfcFNw6KuC4.jpg" alt="9. Gamakay NaughShark NS68"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'></div>                                        <div class="featured__title">9. Gamakay NaughShark NS68</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>It might have the most ludicrous name you've ever seen for a keyboard, but this is actually the  you can buy right now. It might look and feel a bit cheap, but it packs all the latest gaming tech inside.<br><br></p></p>                </div>                            </div>        </div><h2 id="check-out-all-the-amazon-spring-sale-deals-here"><a href="https://www.amazon.com/events/bigspringsale?ref_=nav_cs_bss_disco_2026_desk" target="_blank">Check out all the Amazon Spring Sale deals here</a></h2>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>